```java public Long join(Member member) { validateDuplicateMember(member); memberRepository.save(member); return member.getId(); } ``` 회원 가입 로직을 위에 보이시는 구현처럼 구현하셨는데 ```java public Long save (Member member){ em .persist(member) ; return member.getId() ; } ``` save로직은 리턴값을 getId로 리턴해주는 로직이 있어 ```java public Long join (Member member) { validateDuplicateMember(member) ; return memberRepository .save(member) ; } ``` 저는 save를 호출하고 리턴받은 getID를 그대로 리턴해 주었습니다. 해당 방법을 사용하지 않은 이유는 getId를 리턴해준다 라는 의미를 명시적으로 하기위해서 저렇게 표현을 해주신 건가요?? 항상 좋은 강의 감사합니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 선생님. 강의 잘 듣고 있습니다. 버츄얼박스로 서버 1,2를 실행 시킨 상태에서 도메인으로 접속해봤으나 연결할 수 없음으로 떠서 IP주소로 접속해서 진행했습니다. 포트를 입력해도, 지워도 연결이 안되더라구요. 도메인 주소 대신 계속 IP주소를 사용해도 다음 목차들을 진행하는데 문제가 없을까요?
해당 강의보면 데이터베이스에 날짜가 잘못들어가서 강의를찍자나요? 해당 데이터베이스 강의처럼 db 직접확인하려면 어디로 들어가서 볼수 있나요? (파이참기준) plugin으로 따로 설치 한것 아닌것처럼보이고 원래 접근할 수 있는것으로 gui 식으로 접근하는것 처럼보이는데 어떻게 위 강의처럼 db에 접근해서 확인했는지 방법 알려주시면 감사하겠습니다!
안녕하세요. 영한님 강의 잘듣고있습니다. 그런데 질문이 하나있습니다. 지금까지 강의해주신내용은 오직 스프링만 사용한건가요? 만약 스프링부트를 사용하는 회사에 취업할경우 지금까지 사용했던 것들은 쓰지않고 다른걸 쓰는지 궁금합니다. 지금 제가 공부하는게 스프링부트랑 관련이 있는지 질문드리고 싶습니다!
쿠버네티스 대시보드를 잘 사용하지 않는 이유가 대시보드에서 시크릿이라던지 값들이 쉽게 보여져서 보안적으로 위험하다고 말씀하셨는데, 혹시 대시보드가 아니고 리눅스 쉘에서는 저 값들이 별도로 암호화 되어 있거나 별도의 권한 제어가 있나요??? 그게 아니라면 혹시 관련해서 또 다른 보안적인 안전한 요소가 있을까요?
안녕하세요. 질문드립니다. 1. 아래와 같이 하면 안되는 이유는 무엇인가요? if ( 97 <= num <= 122 ) 2. 아래와 같이 해도 답이 나오는 데 괜찮은지요? for ( let x of str ) { let num = x . charCodeAt (); if ( num >= 97 && num <= 122 ) x = String . fromCharCode ( num - 32 ); answer += x ; }
sqlite 설치중에 아래와 같은 오류가 계속해서 발생하는데 검색해서 해결방법을 찾아봐도 안되네요 ㅠㅠ --------------------------------------------------------------------------------- D:\Inflearn\grab-market-server>npm install sqlite3@5.0.0 npm WARN deprecated node-pre-gyp@0.11.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future npm WARN deprecated tar@2.2.2: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap. npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 npm WARN deprecated har-validator@5.1.5: this library is no longer supported npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. > sqlite3@5.0.0 install D:\Inflearn\grab-market-server\node_modules\sqlite3 > node-pre-gyp install --fallback-to-build node-pre-gyp WARN Using request for node-pre-gyp https download node-pre-gyp WARN Pre-built binaries not installable for sqlite3@5.0.0 and node@14.17.5 (node-v83 ABI, unknown) (falling back to source compile with node-gyp) node-pre-gyp WARN Hit error write EPROTO 16668:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:c:\ws\deps\openssl\openssl\ssl\record\ssl3_record.c:332: gyp ERR! UNCAUGHT EXCEPTION gyp ERR! stack Error: spawn UNKNOWN gyp ERR! stack at ChildProcess.spawn (internal/child_process.js:403:11) gyp ERR! stack at spawn (child_process.js:667:9) gyp ERR! stack at execFile (child_process.js:319:17) gyp ERR! stack at VisualStudioFinder.findVisualStudio2017OrNewer (C:\Users\6804977\AppData\Roaming\npm\node_modules\node-gyp\lib\find-visualstudio.js:140:17) gyp ERR! stack at VisualStudioFinder.findVisualStudio (C:\Users\6804977\AppData\Roaming\npm\node_modules\node-gyp\lib\find-visualstudio.js:62:10) gyp ERR! stack at findVisualStudio (C:\Users\6804977\AppData\Roaming\npm\node_modules\node-gyp\lib\find-visualstudio.js:12:10) gyp ERR! stack at C:\Users\6804977\AppData\Roaming\npm\node_modules\node-gyp\lib\configure.js:83:9 gyp ERR! stack at FSReqCallback.oncomplete (fs.js:180:23) gyp ERR! System Windows_NT 10.0.17763 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\6804977\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "configure" "--fallback-to-build" "--module=D:\\Inflearn\\grab-market-server\\node_modules\\sqlite3\\lib\\binding\\napi-v3-win32-x64\\node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=D:\\Inflearn\\grab-market-server\\node_modules\\sqlite3\\lib\\binding\\napi-v3-win32-x64" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=3" "--node_napi_label=napi-v3" "--python=/usr/local/bin/python3" gyp ERR! cwd D:\Inflearn\grab-market-server\node_modules\sqlite3 gyp ERR! node -v v14.17.5 gyp ERR! node-gyp -v v8.2.0 gyp ERR! Node-gyp failed to build your package. gyp ERR! Try to update npm and/or node-gyp and if it does not help file an issue with the package author. node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Users\6804977\AppData\Roaming\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=D:\Inflearn\grab-market-server\node_modules\sqlite3\lib\binding\napi-v3-win32-x64\node_sqlite3.node --module_name=node_sqlite3 --module_path=D:\Inflearn\grab-market-server\node_modules\sqlite3\lib\binding\napi-v3-win32-x64 --napi_version=8 --node_abi_napi=napi --napi_build_version=3 --node_napi_label=napi-v3 --python=/usr/local/bin/python3' (7) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (D:\Inflearn\grab-market-server\node_modules\sqlite3\node_modules\node-pre-gyp\lib\util\compile.js:83:29) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:400:28) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1055:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5) node-pre-gyp ERR! System Windows_NT 10.0.17763 node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "D:\\Inflearn\\grab-market-server\\node_modules\\sqlite3\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd D:\Inflearn\grab-market-server\node_modules\sqlite3 node-pre-gyp ERR! node -v v14.17.5 node-pre-gyp ERR! node-pre-gyp -v v0.11.0 node-pre-gyp ERR! not ok Failed to execute 'C:\Program Files\nodejs\node.exe C:\Users\6804977\AppData\Roaming\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=D:\Inflearn\grab-market-server\node_modules\sqlite3\lib\binding\napi-v3-win32-x64\node_sqlite3.node --module_name=node_sqlite3 --module_path=D:\Inflearn\grab-market-server\node_modules\sqlite3\lib\binding\napi-v3-win32-x64 --napi_version=8 --node_abi_napi=napi --napi_build_version=3 --node_napi_label=napi-v3 --python=/usr/local/bin/python3' (7) npm WARN grab-market-server@1.0.0 No description npm WARN grab-market-server@1.0.0 No repository field. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! sqlite3@5.0.0 install: `node-pre-gyp install --fallback-to-build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the sqlite3@5.0.0 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\6804977\AppData\Roaming\npm-cache\_logs\2021-09-08T05_05_19_376Z-debug.log - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.w2tomwsznga7) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://docs.google.com/document/d/1xCQKit-1V6l6ObeCe49St33RHPzLF_P_c3o7aSDTKs0/edit#heading=h.7dhnp46ven0v) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 다른 html 파일들 보면 form 태그에 action 이랑 method를 지정해주셨는데, orderList에는 지정해주지 않으셨습니다. 근데 버튼을 누르면 작동하는 것을 보고 action이랑 메소드를 지정해주지 않으면 action은 default값이 해당 페이지이고 method는 get인건지 궁금해서 질문드립니다
아직 강의 초기라 잘 이해되지 않는 부분이 있습니다. drop 된다는 의미 버려진다는 것이 데이터를 subsciber에서 모두 처리 못한다는 의미인가요? 그렇다면 유실된 데이터 처리는 어떻게 되는건가요? drop된 데이터를 다시 소비하는 걸로 생각했는데 아닌가요? 감사합니다.
// for문 밖에서 변수를 한번 생성하는 경우 function setCanvasImages() { let imgElem; for (let i = 0; i < sceneInfo[0].values.videoImageCount; i++) { imgElem = new Image(); imgElem.src = `./video/001/IMG_${6726 + i}.JPG`; sceneInfo[0].objs.videoImages.push(imgElem); } } // for문 안에서 변수를 매번 생성하는 경우 function setCanvasImages () { for (let i = 0; i < sceneInfo[0].values.videoImageCount; i++) { const $img = new Image(); $img.src = `../video/001/IMG_${6726 + i}.JPG`; sceneInfo[0].objs.videoImages.push($img); } } 1. 변수를 한번 생성하는 것과 변수를 매번 생성하는 것에 어떤 차이가 있을까요? 2. 함수가 작동하는 시간을 측정하는 방법 console.time('setCanvasImages') function setCanvasImages () { let $img; for (let i = 0; i < sceneInfo[0].values.videoImageCount; i++) { $img = new Image(); $img.src = `../video/001/IMG_${6726 + i}.JPG`; sceneInfo[0].objs.videoImages.push($img); } } setCanvasImages () console.timeEnd('setCanvasImages') 1번의 답이 혹시 작동 시간이 아닐까 해서 console.Time()을 사용해 봤습니다. 그런데 새로고침(shift + f5)할 때마다 측정속도가 달라서 더 모르겠더라구요; 함수 시간을 체크하는 방법이 잘못된 것일까요?
강의 정말 잘 듣고 있습니다. 함수 형성 과정 중에서, 모든 지역의 레코드 수와 각 지역별 전체 레코드 수가 true냐 false에 따라 나오는 결과가 다르게 함수를 만드셨는데, 모든 지역의 레코드 수는(지역별 전체 행을 각각 더한 것이고), 각 지역별 전체 레코드 수는(각 지역별 전체 행)이라서, 이것은 항상 all을 택하지 않는 이상, false가 나오지 않나요? 근데, 여기서 true가 되면 state가 나오니 조금 헷갈리네요