안녕하세요. 선생님 강의 감사한 마음으로 잘 듣고 있습니다! MemberJpaRepositoryTest를 테스트 마친 후 MemberRepository의 Test를 생성하려고 하면 자꾸 MemberJpaRepositoryTest파일만 보일뿐 생성이 되지 않습니다... 어서 해결하고 진도 나가고 싶은데 해결이 되지 않네요.. 어떤 문제점인지 잘 모르겠어서 질문 남깁니다!!
첫번째 while문에서 && 연산자를 활용해서 종료되고 그 다음 코드에서 while문 두개를 작성하지 않고 첫번째 while문에서 ||연산자를 사용해서 그냥 하나의 while문으로 작성해도 되는 건가요? 효율성에 차이가 있는 건지 궁금합니다. function solution(arr1, arr2) { let answer = []; const n = arr1.length; const m = arr2.length; let p1 = 0; let p2 = 0; while (p1 < n || p2 < m) { if (arr1[p1] < arr2[p2]) { answer.push(arr1[p1++]); } else { answer.push(arr2[p2++]); } } return answer; } let a = [1, 3, 4, 5, 7, 8, 10]; let b = [2, 3, 6, 7, 9, 10, 11]; console.log(solution(a, b));
안녕하세요, 항상 좋은 강의 감사합니다. offset기반의 페이지네이션의 성능이 데이터가 많을 수록 떨어지기 때문에 데이터가 적거나 간단하게 사용할 필요성이 있는 곳이 아니라면, cursor 기반 페이지네이션을 사용하는 것으로 공부했는데, 실무에서도 사용을 하는지 궁금합니다.
벌크 연산 수행 후 em.flush(), em.clear() 를 통해 동기화 해주셨는데 벌크 연산 작업 과 다른 비즈니스 로직의 타이밍이 일치하게 될 경우 (이 때 서로 같은 엔티티를 다루는 케이스가 있다고 가정) 비즈니스 로직에서 예를 들어 어떤 포인트를 100 올려주는 로직이 실행되고 (user a) + 어떤 (user b)는 포인트 100 감소 벌크 연산에서는 포인트가 3000이상인 경우 30% 증가라는 작업이 이루어 질때, (비즈니스 로직이 먼저 진행 사건이라고 가정, 근데 타이밍이 애매하게 걸치면) 위의 비즈니스 로직이 적용되기 전에 포인트 벌크 작업이 진행될 수 도 있을 것 같습니다. (예시가 좀 좋지 않은것 같긴한데요) 이런 케이스를 막기 위해서는 user a와 b의 결과가 적용될 수 있도록 em.flush(), em.clear()의 동기화 작업을 먼저하고 벌크 연산을 해줘야 하나? 라는 생각이 들었는데 이런 케이스에서는 벌크 작업 후 동기화해도 문제가 없을까요?
추석은 잘 쉬셨는지요 ? 추석 연휴에도 질문을 드렸는데 , 강의 동영상 하단에 있는 데이터 다운로드 링크는 오래되어서 공공데이터 포털에서 삭제되어서 자료를 찾을 수 없습니다 . 해서 예전에 다운로드 받으신 두 종류의 csv 파일을 이메일 등으로 보내어 주십시오 . 그래야 실습을 따라서 해 보지 않겠습니까 ? 감사합니다 . 최 종 석 드림 .
안녕하세요, 지금까지 강의 잘 보았습니다! 1분48초에 테슬라 주가 정보를 tsla 변수에 할당하고 이전코드를 복사 붙여넣기 하는 과정에서 df가 그대로 사용된 부분이 있어서 알려드립니다. qf = cf.QuantFIg(df) --> qf = cf.QuantFIg(tsla)가 되어야 할 거 같네요! 좋은 강의 감사합니다 ~
안녕하세요 제로초님!! .env 파일로 패스워드 설정해서 진행중에 있는데 백엔드 서버 3085번 포트에서 작동중 (node:15456) UnhandledPromiseRejectionWarning: SequelizeAccessDeniedError: Access denied for user 'root'@'localhost' (using password: YES) at ConnectionManager.connect (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:118:17) at processTicksAndRejections (internal/process/task_queues.js:93:5) at async ConnectionManager._connect (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:318:24) at async C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:250:32 at async ConnectionManager.getConnection (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:280:7) at async C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\sequelize.js:613:26 at async MySQLQueryInterface.createTable (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\dialects\abstract\query-interface.js:225:12) at async Function.sync (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\model.js:1300:5) at async Sequelize.sync (C:\Users\com\vue강좌\vuesns\ch1\back\node_modules\sequelize\lib\sequelize.js:793:35) (Use `node --trace-warnings ...` to show where the warning was created) (node:15456) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1) (node:15456) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code. 이렇게 비밀번호가 잘못됬다는 에러가 떠서 확인해보니 .env 파일이 아래 보시다시피 빈 파일마냥 .env 파일이 활성화가 되어있지 않습니다 ㅜ 아이콘 모양이 제로초님과 다름니다 ㅜ 구글링 해보니 root 폴더에 있어야 한다 하는데 ch1/back 폴더에 잘 위치해 있는데 왜 활성화가 안되는지 모르겠습니다 ㅜ npm i dotenv 통해서 설치도 하였고 "dotenv" : "^10.0.0" , config.js에 const dotenv = require ( 'dotenv' ) dotenv . config (); 잘 받아왔는데 무슨 문제 인지 모르겠습니다ㅜ!
user-service에서 application.yml에 server.port를 0으로 하고 bootstrap.yml에 spring.cloud.config.uri에 http://127.0.0.1:8888/를 적었는데 자꾸만 embedded tomcat port가 랜덤 포트가 아닌 8888로 초기화되어 포트 중복으로 오류가 발생합니다 ㅜ 이러한 현상은 apigateway-service에서도 마찬가지이며 bootstrap.yml에 따로 server.port: 0을 추가해도 해결되지 않습니다 대신 먼저 user-service와 apigateway-service를 실행시키고 나서 그 다음에 config-server를 실행시키면 3개 다 오류 없이 정상 실행 되며 user-service는 랜덤 포트에, apigateway-service는 8000 포트에 정상적으로 띄워집니다. 다만 이상한 것은, 유레카 대시보드에 apigateway 또는 user-service의 이름이 CONFIG-SERVICE로 덮어 씌워집니다. user-service와 apigateway-service 둘 다 아래와 같은 bootstrap.yml로 실행하였습니다 spring : cloud : config : uri : http://127.0.0.1:8888 name : config-server # profiles: # active: dev 이렇게 편법으로라도 정상 실행을 시키고 postman으로 테스트를 진행하면 비정상 응답을 줍니다 이틀 째 이것만 디버깅하느라 진도를 못 나가고 있네요ㅠ 추가) 그나마 다행인 건, config-service의 spring.config.server를 git으로 할 땐 위와 같은 오류가 발생하는데, native으로 하면 문제 없이 잘 되네요
안녕하세요 선생님 강의를 최근 수강하기 시작한 알고리즘 초보자입니다. 문제를 푸는 과정에서 아예 풀지 못하거나 제 코드보다 선생님의 코드가 더 효율적이고 우수한 경우에 그 코드를 곱씹어서 이해하고 다시 그 코드를 따라해보는 것으로도 공부가 될까요? 또 문제가 막혔을 때 1~2일 정도 고민하고 도저히 풀리지 않을 때 선생님의 강의를 보고 있습니다. 이정도 고민이면 충분한가요? 선생님이 정보 올림피아드 학생들을 가르치면서 조언해주신 공부방법을 알려주신다면 정말 감사하겠습니다. 제가 알고리즘 공부는 처음이라 틀렸을 경우 어떻게 복습하고 공부하는지 잘 모릅니다. 긴 글 읽어주셔서 감사합니다.