묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결코딩으로 학습하는 GoF의 디자인 패턴
옵저버 패턴 예제 관련 질문 드립니다.
강의 10분경에 Subscriber interface에 getName이 없어 User class를 사용하신다고 이야기 주신 부분에 대한 질문입니다. 생각하기에는 Subscriber interface에 getName abstract method를 선언하여 사용하면 될 듯 한데, User를 사용한 이유가 있을까요? 이렇게 사용하는 것이 더 좋은 형태인건지 여부가 궁금해서 질문드립니다. 언제나 좋은 강의 감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
테스트 에러
다른분들 에러 내용 확인해보고 설정 다 변경했는데 계속 오류가 뜹니다 이런오류가 뜨는데 어떤 부분이 잘못된 걸까요?
-
미해결시스템엔지니어가 알려주는 리눅스 기초편 Bash Shell Script
/dev/null 에 관해서 질문이요
"curl -o /dev/null ~" 에 경우에 아웃풋 파일을 굳이 /dev/something 이런식으로 해서 아웃풋 파일을 처리하는건가여? 예를들어 /dev/null 이면 그냥 -o 를 지정 안해주면 되지않을까요? 이런식으로 아웃풋 파일을 처리하는 이유가있을까요?
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
DB 조회를 통한 사용자 정보 참조
안녕하십니까 강사님! 질문있습니다 :) 강의를 보기전에 이번 실습에서의 제목 "현재 인증된 사용자 정보 참조" 를 보고 제가 직접 구현해 본 코드입니다. 혹시 이 방법이 강의에서 구현한 방법과 코드나 성능적인 부분에서 안좋은 점이 있는 지 궁금합니다. (예를들면 DB 를 조회하는 부분이 있기 때문에 성능면에서 좀 더 안좋다 ?) 아니면 큰 차이가 없기 때문에 그냥 사용해도되는지도 궁금합니다.
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
cctv만들기 질문입니다ㅓ.
from skimage.metrics import compare_ssim 작동이 안됩니다. 그래서 아래의 문장을 대체제로 같고왔습니다. from skimage.metrics import structural_similarity as compare_ssim 그런데 화면이 연속으로 찍히지 않고 한장만 찍힙니다. 칭 닫기를 누르면 다음 화면으로 넘어가는데 연속으로 찍히지 않아 질문드립니다.
-
미해결리액트로 나만의 블로그 만들기(MERN Stack)
postDetail scss 문제
안녕하세요. 지금 게시글 상세보기 강의 듣고 있는데 강사님과 똑같이 코드를 쳤는데 레이아웃의 버튼 배치나 사이즈가 똑같이 안됩니다. node-scss node-loadr 도 다 설치되었는데 무엇이 문제일까요.. haeder.js 부분도 이상하게 보입니다. 상세보기 화면 client/package.json { "name": "client", "version": "0.1.0", "private": true, "dependencies": { "@babel/core": "7.12.3", "@babel/plugin-transform-react-jsx": "^7.14.9", "@babel/plugin-transform-react-jsx-self": "^7.14.9", "@ckeditor/ckeditor5-adapter-ckfinder": "^31.0.0", "@ckeditor/ckeditor5-alignment": "^31.0.0", "@ckeditor/ckeditor5-autoformat": "^31.0.0", "@ckeditor/ckeditor5-basic-styles": "^31.0.0", "@ckeditor/ckeditor5-block-quote": "^31.0.0", "@ckeditor/ckeditor5-build-balloon": "^31.0.0", "@ckeditor/ckeditor5-build-classic": "^31.0.0", "@ckeditor/ckeditor5-build-inline": "^31.0.0", "@ckeditor/ckeditor5-dev-utils": "^25.4.5", "@ckeditor/ckeditor5-dev-webpack-plugin": "^25.4.5", "@ckeditor/ckeditor5-easy-image": "^31.0.0", "@ckeditor/ckeditor5-editor-balloon": "^31.0.0", "@ckeditor/ckeditor5-editor-classic": "^31.0.0", "@ckeditor/ckeditor5-essentials": "^31.0.0", "@ckeditor/ckeditor5-font": "^31.0.0", "@ckeditor/ckeditor5-heading": "^31.0.0", "@ckeditor/ckeditor5-image": "^31.0.0", "@ckeditor/ckeditor5-indent": "^31.0.0", "@ckeditor/ckeditor5-link": "^31.0.0", "@ckeditor/ckeditor5-list": "^31.0.0", "@ckeditor/ckeditor5-media-embed": "^31.0.0", "@ckeditor/ckeditor5-paragraph": "^31.0.0", "@ckeditor/ckeditor5-paste-from-office": "^31.0.0", "@ckeditor/ckeditor5-react": "^3.0.3", "@ckeditor/ckeditor5-table": "^31.0.0", "@ckeditor/ckeditor5-theme-lark": "^31.0.0", "@ckeditor/ckeditor5-typing": "^31.0.0", "@ckeditor/ckeditor5-upload": "^31.0.0", "@fortawesome/fontawesome-svg-core": "^1.2.36", "@fortawesome/free-solid-svg-icons": "^5.15.4", "@fortawesome/react-fontawesome": "^0.1.16", "@pmmmwh/react-refresh-webpack-plugin": "0.4.3", "@svgr/webpack": "5.5.0", "@testing-library/jest-dom": "^5.11.4", "@testing-library/react": "^11.1.0", "@testing-library/user-event": "^12.1.10", "@typescript-eslint/eslint-plugin": "^4.5.0", "@typescript-eslint/parser": "^4.5.0", "axios": "^0.23.0", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.0", "babel-loader": "8.1.0", "babel-plugin-named-asset-import": "^0.3.7", "babel-preset-react-app": "^10.0.0", "bfj": "^7.0.2", "bootstrap": "^5.1.3", "camelcase": "^6.1.0", "case-sensitive-paths-webpack-plugin": "2.3.0", "connected-react-router": "^6.9.1", "css-loader": "4.3.0", "dotenv": "8.2.0", "dotenv-expand": "5.1.0", "eslint": "^7.11.0", "eslint-config-react-app": "^6.0.0", "eslint-plugin-flowtype": "^5.2.0", "eslint-plugin-import": "^2.22.1", "eslint-plugin-jest": "^24.1.0", "eslint-plugin-jsx-a11y": "^6.3.1", "eslint-plugin-react": "^7.21.5", "eslint-plugin-react-hooks": "^4.2.0", "eslint-plugin-testing-library": "^3.9.2", "eslint-webpack-plugin": "^2.5.2", "file-loader": "6.1.1", "fs-extra": "^9.0.1", "history": "^4.7.2", "html-webpack-plugin": "4.5.0", "identity-obj-proxy": "3.0.0", "jest": "26.6.0", "jest-circus": "26.6.0", "jest-resolve": "26.6.0", "jest-watch-typeahead": "0.6.1", "mini-css-extract-plugin": "0.11.3", "node-sass": "^4.14.1", "optimize-css-assets-webpack-plugin": "5.0.4", "pnp-webpack-plugin": "1.6.4", "postcss-flexbugs-fixes": "4.2.1", "postcss-loader": "3.0.0", "postcss-normalize": "8.0.1", "postcss-preset-env": "6.7.0", "postcss-safe-parser": "5.0.2", "prompts": "2.4.0", "raw-loader": "^3.1.0", "react": "^17.0.2", "react-app-polyfill": "^2.0.0", "react-bootstrap": "^2.0.1", "react-dev-utils": "^11.0.3", "react-dom": "^17.0.2", "react-helmet": "^6.1.0", "react-redux": "^7.2.5", "react-refresh": "^0.8.3", "react-router-dom": "^5.3.0", "reactstrap": "^8.10.0", "redux": "^4.1.1", "redux-saga": "^1.1.3", "resolve": "1.18.1", "resolve-url-loader": "^3.1.2", "sass-loader": "^10.0.5", "semver": "7.3.2", "style-loader": "1.3.0", "terser-webpack-plugin": "4.2.3", "ts-pnp": "1.2.0", "url-loader": "4.1.1", "web-vitals": "^1.0.1", "webpack": "4.44.2", "webpack-dev-server": "3.11.1", "webpack-manifest-plugin": "2.2.0", "workbox-webpack-plugin": "5.1.4" }, "scripts": { "start": "node scripts/start.js", "build": "node scripts/build.js", "test": "node scripts/test.js" }, "eslintConfig": { "extends": [ "react-app", "react-app/jest" ] }, "proxy": "http://localhost:700", "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "jest": { "roots": [ "<rootDir>/src" ], "collectCoverageFrom": [ "src/**/*.{js,jsx,ts,tsx}", "!src/**/*.d.ts" ], "setupFiles": [ "react-app-polyfill/jsdom" ], "setupFilesAfterEnv": [], "testMatch": [ "<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}", "<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}" ], "testEnvironment": "jsdom", "testRunner": "C:\\Users\\skylm\\vscode\\blog\\client\\node_modules\\jest-circus\\runner.js", "transform": { "^.+\\.(js|jsx|mjs|cjs|ts|tsx)$": "<rootDir>/config/jest/babelTransform.js", "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js", "^(?!.*\\.(js|jsx|mjs|cjs|ts|tsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js" }, "transformIgnorePatterns": [ "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|mjs|cjs|ts|tsx)$", "^.+\\.module\\.(css|sass|scss)$" ], "modulePaths": [], "moduleNameMapper": { "^react-native$": "react-native-web", "^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy" }, "moduleFileExtensions": [ "web.js", "js", "web.ts", "ts", "web.tsx", "tsx", "json", "web.jsx", "jsx", "node" ], "watchPlugins": [ "jest-watch-typeahead/filename", "jest-watch-typeahead/testname" ], "resetMocks": true }, "babel": { "presets": [ "react-app" ] } } postDetail.js import React, { useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { Helmet } from 'react-helmet'; import { POST_DETAIL_LOADING_REQUEST, POST_DELETE_REQUEST, USER_LOADING_REQUEST } from '../../redux/types'; import { Col, Row, Button } from 'reactstrap'; // import {Col, Row, Button} from 'react-bootstrap'; import { CKEditor } from "@ckeditor/ckeditor5-react"; import { Link } from 'react-router-dom'; import { GrowingSpinner } from '../../components/spinner/Spinner'; import {FontAwesomeIcon} from '@fortawesome/react-fontawesome'; import { faPencilAlt, faCommentDots, faMouse, } from "@fortawesome/free-solid-svg-icons"; import BalloonEditor from "@ckeditor/ckeditor5-editor-balloon/src/ballooneditor"; import { editorConfiguration } from '../../components/editor/EditorConfig'; const PostDetail = (req) => { const dispatch = useDispatch(); const { postDetail, creatorId, title, loading} = useSelector((state) => state.post); const { userId, userName } = useSelector((state) => state.auth); console.log(req, "postDetail REQ"); useEffect(() => { dispatch({ type : POST_DETAIL_LOADING_REQUEST, payload : req.match.params.id, }); //작성자만 삭제 버튼 보이게 dispatch({ type : USER_LOADING_REQUEST, payload : localStorage.getItem("token") }); }, []); const onDeleteClick = () => { dispatch({ //작성자만 게시글 삭제 type : POST_DELETE_REQUEST, payload : { id : req.match.params.id, toekn : localStorage.getItem("token") } }); }; const EditButton = ( <> <Row className="d-flex justify-content-center pb-3"> <Col className="col-md3 mr-md-3"> <Link to="/" className="btn btn-primary btn-block"> 홈 </Link> </Col> <Col className="col-md3 mr-md-3"> <Link to={`/post/${req.match.params.id}/edit`} className="btn btn-success btn-block"> 수정 </Link> </Col> <Col className="col-md3"> <Button className="btn-block btn-danger" onClick={onDeleteClick}> 삭제 </Button> </Col> </Row> </> ) const HomeButton = ( <> <Row className="d-flex justify-content-center pb-3"> <Col className="col-sm-12 com-md-3"> <Link to="/" className="btn btn-primary btn-block"> 홈 </Link> </Col> </Row> </> ); const Body = ( <> {userId === creatorId ? EditButton : HomeButton} <Row className="border-bottom border-top border-primary p-3 mb-3 d-flex justify-content-between"> {(() => { if (postDetail && postDetail.creator) { return ( <> <div className="font-weight-bold text-big"> <span className="mr-3"> <Button color="info"> {postDetail.category.categoryName} </Button> </span> {postDetail.title} </div> <div className="align-self-end">{postDetail.creator.name}</div> </> ); } })()} </Row> {postDetail && postDetail.comments ? ( <> <div className="d-flex justify-content-end align-items-baseline small"> <FontAwesomeIcon icon={faPencilAlt} /> <span> {postDetail.date}</span> <FontAwesomeIcon icon={faCommentDots} /> <span>{postDetail.comments.length}</span> <FontAwesomeIcon icon={faMouse} /> <span>{postDetail.views}</span> </div> <Row className="mb-3"> <CKEditor editor={BalloonEditor} data={postDetail.contents} config={editorConfiguration} disabled="true" /> </Row> </> ) : ( <h1>hi</h1> )} </> );; return ( <div> <Helmet title={`Post | ${title}`} /> {loading === true ? GrowingSpinner : Body } </div> ); }; export default PostDetail; header.js import React from 'react'; import {Row, Col} from 'reactstrap'; // import {Row, Col} from 'react-bootstrap'; const Header = () => { return ( <div id="page-header" className="mb-3"> <Row> <Col md="6" sm="auto" className="text-center m-auto"> </Col> </Row> </div> ) }; export default Header; server package.json { "name": "blog", "version": "1.0.0", "main": "index.js", "scripts": { "dev": "nodemon ./server/server.js --exec babel-node --ignore './client'" }, "author": "heymi", "license": "ISC", "keywords": [], "description": "", "dependencies": { "aws-sdk": "^2.1016.0", "babel-watch": "^7.6.0", "bcryptjs": "^2.4.3", "cors": "^2.8.5", "dotenv": "^8.2.0", "express": "^4.17.1", "helmet": "^3.22.0", "hpp": "^0.2.3", "jsonwebtoken": "^8.5.1", "moment": "^2.26.0", "mongoose": "^5.9.18", "multer": "^1.4.3", "multer-s3": "^2.10.0", "node-sass": "^6.0.1", "path": "^0.12.7", "sass-loader": "^12.2.0" }, "devDependencies": { "@babel/cli": "^7.10.1", "@babel/core": "^7.10.2", "@babel/node": "^7.10.1", "@babel/polyfill": "7.10.1", "@babel/preset-env": "^7.10.2", "babel-loader": "^8.1.0", "morgan": "^1.10.0", "nodemon": "^2.0.4" }, "repository": { "type": "git", "url": "git+https://github.com/jazzyfact/my-blog-site.git" }, "bugs": { "url": "https://github.com/jazzyfact/my-blog-site/issues" }, "homepage": "https://github.com/jazzyfact/my-blog-site#readme" }
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
이해2
1번째 했던 질문이랑 연결됩니다. 해당영상 11:30에 dispatch는 loginRequestAction 인데 11:34에서 LOG_IN_REQUEST의 액션이 실행되는 이유는 액션 생성기에서 먼저 와서 해당 type을 saga에서 찾는걸까요 ? 그리고 다시 saga의 리턴값을 data에 담아서 그걸 다시생성기로 가져가고 생성기에 type을 reducre에 action으로 전달하여 action case에 맞는 state로 store 변경 와 진짜 한 8번은 돌려본것같네요 ㅠㅠㅠ 힘드네요..
-
미해결스프링 기반 REST API 개발
안녕하세요 강사님. ObjectMapper가 @Autowired 못읽어오는데 어디서 잘못된건지 모르겠습니다.
안녕하세요. 강의 매우 잘 듣고 있습니다 ! 다름이 아니라 @WebMvcTest 을 빼고 @AutoConfigureMockMvc 를 사용했을 떄, @Autowired ObjectMapper objectMapper;이 쪽에서 에러가 발생하는데 어디쪽을 보면 될까요..?Could not autowire. No beans of 'ObjectMapper' type found.감사합니다.
-
미해결운영체제 공룡책 강의
안녕하세요 퀴즈 11 2번 문제 질문입니다.
안녕하세요, 좋은 강의를 올려주시고 질문도 이렇게 받아주셔서 먼저 감사합니다. 다름이 아니라 제가 퀴즈 11-2번(10.8)문제를 푸는데 LRU 알고리즘으로 페이지 부재를 계산하는데 이 과정에 있어서 질문 드립니다. 1 2 3 4 5 3 4 1 6 7 8 7 8 9 5 4 5 4 2 <- 이걸 계산하면 1o 2o 3o 4o 5o 3 4 1o 6o 7o 8o 7 8 9o 5o 4o 5 4 2o 이렇게 총 13번의 페이지 부재가 일어나는 것 아닌가요? 제가 뭔갈 착각하고 있는건지 모르겠어서 질문드립니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
선생님 제가 이해한게 맞을까요 ?
지금 saga쪼개고 리듀서 연결하기 까지 본상태인데... 1. 이벤트등록 2. view에서 dispatch로 해당액션 호출 3. addPost함수실행 4. addPostApi 값실행 5. 결국엔 api값받아와서 addPost에서 해당값으로 트라이/캣츠 실행해서 해당 구문안에서 설정된 액션의 데이터를 data객체에 담아놓고 reducer에서 설정 정한 ADD_POST_SUCCESS란 액션생성기 이름이 있다면 이쪽으로 담은 data가오고 액션생성기 type에서 리듀서로 case retrun처리 state 변경
-
미해결타입스크립트 입문 - 기초부터 실전까지
인터페이스와 함수의 차이
인터페이스에서는 프로퍼티가 많은걸 구조적으로 크다고 말씀하셨는데 인터페이스에서는 구조적으로 작은게 큰거에 호환이 안되었습니다. 그런데 함수는 반대로 파라미터가 많은 즉 구조적으로 넒은 함수가 구조적으로 작은 함수랑 호환이 되었습니다. 왜 그런건가요? 어떻게 이해해야 될지 모르겠습니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
질문
리팩토링 state 속성 적용부분에서 in this.$store.state.todoItems" 아부분을 쓰고 나면 todoITems를 끌어오지 못하고 에러가 납니다. 이것때문에 더이상 진행을 못하고 있습니다...
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
세션쿠키 용어 질문입니다.
용어에 대해서 제가 정확히 알고 있는게 맞는지 궁금하여 질문드립니다. 세션쿠키라는 용어는 단순히 "세션으로 처리하는 쿠키"라고 생각해도 될까요?
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
RecyclerView Item Click 부분에서 webUrl 연결 부분에서 앱 꺼짐현상
webUrl 연결하는부분에서 마지막에 webView.loadUrl(getUrl.toString()) 하고 마무리 하신뒤에 앱을 실행시켜서 테스트해주시는데 거기까지는 똑같이 나오는데 마지막에 URL이 연결되서 실행하는 화면이 아예 나오지 않고 그냥 흰색화면으로만 나타나고있습니다 혹시 어떻게 해결해야할까요? 에뮬레이터를 삭제하고 다시 설정해서 실행시켜도 같은현상이 반복되고 있습니다..
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
bean not found 문제
test클래스에서 MemberRepository 빈이 없다고 나오네요 Could not autowire. No beans of 'MemberRepository' type found. @Repository를 사용하면서 빈으로 자동등록되는거 아닌가요 왜 없다고 나오죠 ㅠㅠ 리빌드해도 안되고
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
@ControllerAdvice이 작동을 안해서 질문을 드립니다.
@ControllerAdvice 부분입니다. @ControllerAdvicepublic class ExceptionHandle { @ExceptionHandler(MethodArgumentNotValidException.class) public ResponseEntity<List<ValidResult>> validHandle(MethodArgumentNotValidException e){ return new ResponseEntity<>(makeValidResult(e.getBindingResult()), HttpStatus.INTERNAL_SERVER_ERROR); } private List<ValidResult> makeValidResult(BindingResult bindingResult){ List<ValidResult> list = new ArrayList<>(); for (FieldError error : bindingResult.getFieldErrors()) { ValidResult validResult = new ValidResult(PropertyNamingUtils.changeBySnake(error.getField()), error.getDefaultMessage()); list.add(validResult); } return list; } 그리고 컨트롤러 부분은 RestController@RequiredArgsConstructorpublic class DeliveryCtrl { private final DeliveryService delService; @PostMapping("/api/v1/fenote/pdtmng/deliveries") public ResponseEntity<?> addDelivery(HttpServletRequest req, @Valid @RequestBody DeliveryVO deliveryVO) { ShopSession shopSession = (ShopSession) WebUtils.getSessionAttribute(req, "shopSession"); DeliverySeVO vo = delService.addDelivery(shopSession, deliveryVO); return new ResponseEntity<>(vo.getDelVO(), HttpStatus.OK); } 이부분인데요 테스트코드로 @valid에 걸리게끔 계속 시도하는데status 400 만 내보내고 @ControllerAdvice부분이 실행되지가 않습니다....몇시간째 이유를 찾고 구글링해도 나오지 않아 결국 여기서 질문을드립니다
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
vuex까지 처리된 완성파일을 받고 싶습니다.
강의를 보면서 따라 하는데 vuex에서 막혀서요 부탁드립니다.
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
내년 실기준비
내년 실기를 준비해야되는데요 블라켓츠는 이제 사용하지않나요? vsc로 연습하면될까요? 완전 초보인데 이강의 1강부터 따라가면될까요? 초보가 접근하기 쉬운 방법 좀 부탁드립니다...
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
선생님, 질문이 있습니다.
선생님, 늘 강의 잘 듣고 있습니다. 1) 결론적으로 (None,784)로 표기되는 이유가 프로그래머가 Batch_size를 어떻게 가져갈 지 모르기 때문에 None으로 표기하는 것일 뿐인가요? 2) 이게 맞다면, Input X는 만일 Batch_size가 32로 설정이 되어 있다면 세로 784, 가로 32가 되는 것이라고 이해를 해도 되는 것이죠? 저는 이 강의를 듣는 도중 (28,28)을 Flatten을 통해 784로 변환을 하면, 어 그럼 한 장(열벡터) 대해서만 Network를 통과시키는 것인가?라고 생각을 하고 있었는데, 강의가 20분이 띡 되는 순간 그게 아님을 깨달았습니다. 제가 제대로 이해하고 있는게 맞을까요? 제가 이해한 것이 맞다는 전제 하에, 3) dot연산을 위하여 (Batch_size,784)에 대한 그 W[1](1층에서의 가중치 배열)사이즈가 (784,100)이 되는 것으로 이어질 수 있나요? 그래서 78400이 나오는 것이구요(bias제외)4) 이게 표기가 약간 헷갈리는데 shape가 (세로의 길이,가로의 길이)가 아니라 (가로의 길이,세로의 길이)인 것인가요? 아뭔가 여기서 또 논리적으로 맞아떨어져야하니 혼동이 살짝 되는군요 ㅜㅜ tmp = np.array([[1,2,3],[4,5,6]]) tmp.shape 하면 (2,3)이 나오는 것으로 보아 (row,col)의 통상적인 뜻으로 이해할 수 있는데 이게 흐름이 딱 들어맞으려면 (784,Batch_size)로 이해가 되어야할텐데 그렇게 되면 제가 여태 이해한 것과 양립할 수 없게 되는 결과로 이어져서 답답합니다. 오늘 잠을 못잘 것 같습니다ㅜ 5) tensorflow.keras.metrics 에는 Accuracy 말고도 F1_score나 그 재현율 정밀도 기반으로 만들어지는 다른 것들을 포함하고 있는 것이죠? 감사합니다ㅜㅜ!
-
미해결스프링 핵심 원리 - 기본편
질문있습니다!
DiscountPolicy를 앞에서 아래와 같이 작성하였었는데 private final DiscountPolicy discountPolicy = new FixDiscountPolicy(); RateDiscountPolicy를 이처럼 작성하지 않고 DiscountPolicy discountPolicy = new RateDiscountPolicy(); 이처럼 작성한 이유는 무엇인가요? 위와 같이 작성해도 문제가 없는 것인지 궁금합니다! RateDiscountPolicy discountPolicy = new RateDiscountPolicy();