inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

@Value 추가 시 에러 발생

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

학습 관련 질문을 최대한 상세히 남겨주세요! 고민 과정도 같이 나열해주셔도 좋습니다. 먼저 유사한 질문이 있었는지 검색해보세요. 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 좋아요 수 구현 부분 강의를 듣고 따라하던 도중 문제가 생겼습니다. ArticleLikeCount의 엔티티에서 version에 @Version을 붙이고 난 후, 테이블의 값을 모두 삭제하고 나서 테스트를 돌리면 에러가 발생합니다. 계속해서.. Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): 위 에러가 계속 발생하네요. 테스트는 like 메서드를 실행했습니다. 이상하게도 강사님 코드로는 정상 작동이 되어서, 그대로 복사해서 붙여넣기로 가져와서 돌려보면 안되네요. 테이블에 데이터가 이미 존재하면 그때부터는 정상적으로 되는 것 같은데, 테이블이 비어있으면 에러가 발생합니다 ㅜㅜ 혹시라도 확인하실 수 있도록 제 프로젝트 파일을 압축해서 올려놓은 링크 공유하겠습니다. ㅜㅜ https://drive.google.com/file/d/1H9UR9UXZhgmBH-XrXoXPc2-dgrixF7b-/view?usp=drive_link

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
박상훈 댓글 4 좋아요 0 조회수 403

java -jar jpashop-0.0.1-SNAPSHOT.jar 예외발생

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

20분 47초경에서 정체중입니다. 위와같은 오류가 계속 발생중입니다. 위는 project structure입니다 인텔리제이에서 그냥실행했을떄는 잘 작동합니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
peter 댓글 2 좋아요 0 조회수 112

java -jar hello-spring-0.0.1-SNAPSHOT.jar 까지 가는 경로 질문

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 현재 cmd에서 C:\Users\choiminseok>cd study C:\Users\choiminseok\study>cd hello-spring C:\Users\choiminseok\study\hello-spring>gradlew 이렇게 쳐서 build successful이 나왔고 C:\Users\choiminseok\study\hello-spring>gradlew build 이렇게 입력해서 마찬가지로 build successful이 나왔습니다. 이제 여기서 java -jar hello-spring-0.0.1-SNAPSHOT.jar 이런게 보이는 쪽으로 가야하는데 뭘 입력하면 되나요? 강사님은 ls -arlth를 입력해 뭔가 나오는데 저는 ls를 입력하면 'ls'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 나옵니다. 해결방법 알려주세요 참고로 윈도우입니다.

  • java
  • spring
  • mvc
  • spring-boot
최민석 댓글 1 좋아요 0 조회수 198

프론트에서 페이지네이션 count 계산법 질문드립니다!

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

페이지 번호 공식은 다음 버튼 활성화 유무만 판단하는 거고 이전 버튼 유무는 프론트에서'만' 제어하는 걸까요? 프론트에서도 페이지 번호 공식을 알고 있는걸까요? 2:50초 11~20번 페이지에 있을때 프론트에서 계산한값(601) == 백엔드에서 내려준 값(601) => 같으므로 '다음' 버튼 활성화 프론트에서 계산한값(601) == 백엔드에서 내려준 값(500) => 601 미만 이므로 '다음' 버튼 비활성화 (강의 넘 재밌어요. 게임 하는거 보다 재밌다..)

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
soap 댓글 2 좋아요 0 조회수 221

build 질문

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. C:\Users\choiminseok\study\hello-spring>gradlew build ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Files\Java\Java\jdk-17 Please set the JAVA_HOME variable in your environment to match the location of your Java installation. 이렇게 cmd에서 오류가 나서 환경변수에서 jdk-17에 맞게 설정해줘야한다는 이해했습니다. 근데 제가 jdk-23을 다운을 받아서 23으로 환경변수를 설정해놨는데 ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Files\Java\Java\jdk-17 계속 이렇게 뜨는데 directory가 17말고 23으로 가게 하고싶은데 방법이 있을까요?

  • java
  • spring
  • mvc
  • spring-boot
최민석 댓글 1 좋아요 0 조회수 234

윈도우 build 오류

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 윈도우를 쓰고 있어서 cmd를 켠 후 C:\Users\choiminseok\study\hello-spring>gradlew.bat 이렇게 입력하니 아래와 같이 뜨는데 왜 그런가요? ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Files\Java\Java\jdk-17 Please set the JAVA_HOME variable in your environment to match the location of your Java installation. gradlew를 입력했을때도 똑같이 나와요 C:\Users\choiminseok\study\hello-spring>gradlew ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Files\Java\Java\jdk-17 Please set the JAVA_HOME variable in your environment to match the location of your Java installation.

  • java
  • spring
  • mvc
  • spring-boot
최민석 댓글 1 좋아요 0 조회수 275

localhost:8080 연결할 수 없음이 떠요

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 이렇게 해두고 서버 재시작 누르고 확인해봐도 연결할 수 없다고 뜹니다. C:\Users\choiminseok\.jdks\corretto-17.0.13\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2024.1.4\lib\idea_rt.jar=5957:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2024.1.4\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\choiminseok\OneDrive\Desktop\inflearn\inflearnSpringstart\hello-spring\out\production\classes;C:\Users\choiminseok\OneDrive\Desktop\inflearn\inflearnSpringstart\hello-spring\out\production\resources;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-thymeleaf\3.4.2\8dcb10dc369c51639b32bcc2a423fd5625c299f4\spring-boot-starter-thymeleaf-3.4.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\3.4.2\cf1c8efe77dccf221acf5f0ce9cc24c718c0ca44\spring-boot-starter-web-3.4.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\3.4.2\9d914208449fce99a67d3def60957cdcc98b552a\spring-boot-starter-3.4.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.thymeleaf\thymeleaf-spring6\3.1.3.RELEASE\4b276ea2bd536a18e44b40ff1d9f4848965ff59c\thymeleaf-spring6-3.1.3.RELEASE.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-json\3.4.2\e413d51228ddaf6a9644533987faa0ae6e18fe47\spring-boot-starter-json-3.4.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\6.2.2\9b1aeb179ba9667bc78a4a5cec4ec8087db404d7\spring-webmvc-6.2.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework\spring-web\6.2.2\bd2ef98bf98b6ecf8dd29106ae27b7515524c21\spring-web-6.2.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\3.4.2\c50511dba751ffe7df320d27c6875feb2745654e\spring-boot-autoconfigure-3.4.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\3.4.2\b2514201ba6b838bd638a51619515501c5baefea\spring-boot-3.4.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\3.4.2\be7631ab8d3cb2a6a3c9981dcaa6d0867c964772\spring-boot-starter-logging-3.4.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\6.2.2\94269e888dc979e75a1a1b9600d7153d72e6a7f1\spring-core-6.2.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\2.3\936b36210e27320f920536f695cf1af210c44586\snakeyaml-2.3.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.thymeleaf\thymeleaf\3.1.3.RELEASE\51474f2a90b282ee97dabcd159c7faf24790f373\thymeleaf-3.1.3.RELEASE.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\2.0.16\172931663a09a1fa515567af5fbef00897d3c04\slf4j-api-2.0.16.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jsr310\2.18.2\7b6ff96adf421f4c6edbd694e797dd8fe434510a\jackson-datatype-jsr310-2.18.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.module\jackson-module-parameter-names\2.18.2\72960cb3277347a748911d100c3302d60e8a616a\jackson-module-parameter-names-2.18.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jdk8\2.18.2\9ed6d538ebcc66864e114a7040953dce6ab6ea53\jackson-datatype-jdk8-2.18.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.18.2\deef8697b92141fb6caf7aa86966cff4eec9b04f\jackson-databind-2.18.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\6.2.2\aa01a7faa3694983339ca7e45619860ef34052d6\spring-context-6.2.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\6.2.2\2a1a445d4cd8e5fe2311df04fc25c0bc54bd2ce4\spring-aop-6.2.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\6.2.2\ec8ee520ff7b147de8ac04d330848d468253f84d\spring-beans-6.2.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\6.2.2\20164dd3a70d0048185cf02bb1b097b22e73d820\spring-expression-6.2.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\io.micrometer\micrometer-observation\1.14.3\cd66186a1fe8465dc732d9514bade1104044b56d\micrometer-observation-1.14.3.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-classic\1.5.16\113979db51dfad6dc895b34460d7b7ff64ffe7d2\logback-classic-1.5.16.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-to-slf4j\2.24.3\da1143e2a2531ee1c2d90baa98eb50a28a39d5a7\log4j-to-slf4j-2.24.3.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.slf4j\jul-to-slf4j\2.0.16\6d57da3e961daac65bcca0dd3def6cd11e48a24a\jul-to-slf4j-2.0.16.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\6.2.2\1fbbb0b2e85c6eac7c366c5eed5b124785f05ac8\spring-jcl-6.2.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.attoparser\attoparser\2.0.7.RELEASE\e5d0e988d9124139d645bb5872b24dfa23e283cc\attoparser-2.0.7.RELEASE.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.unbescape\unbescape\1.1.6.RELEASE\7b90360afb2b860e09e8347112800d12c12b2a13\unbescape-1.1.6.RELEASE.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.18.2\985d77751ebc7fce5db115a986bc9aa82f973f4a\jackson-annotations-2.18.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.18.2\fb64ccac5c27dca8819418eb4e443a9f496d9ee7\jackson-core-2.18.2.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\io.micrometer\micrometer-commons\1.14.3\bf17f05dd6343d36ecc31076197a962cfdf46131\micrometer-commons-1.14.3.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-core\1.5.16\4f17700f046900aea2fadf115e2d67fec921f7fd\logback-core-1.5.16.jar;C:\Users\choiminseok\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.24.3\b02c125db8b6d295adf72ae6e71af5d83bce2370\log4j-api-2.24.3.jar hello.hello_spring.HelloSpringApplication . ____ _ __ _ _ /\\ / ___'_ __ _ ( )_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.4.2) 2025-02-14T17:51:51.150+09:00 INFO 24936 --- [hello-spring] [ main] h.hello_spring.HelloSpringApplication : Starting HelloSpringApplication using Java 17.0.13 with PID 24936 (C:\Users\choiminseok\OneDrive\Desktop\inflearn\inflearnSpringstart\hello-spring\out\production\classes started by choiminseok in C:\Users\choiminseok\OneDrive\Desktop\inflearn\inflearnSpringstart\hello-spring) 2025-02-14T17:51:51.153+09:00 INFO 24936 --- [hello-spring] [ main] h.hello_spring.HelloSpringApplication : No active profile set, falling back to 1 default profile: "default" 2025-02-14T17:51:52.245+09:00 WARN 24936 --- [hello-spring] [ main] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) 2025-02-14T17:51:52.363+09:00 INFO 24936 --- [hello-spring] [ main] h.hello_spring.HelloSpringApplication : Started HelloSpringApplication in 1.931 seconds (process running for 4.824) Process finished with exit code 0 이게 콘솔에서 나온 값이구요

  • java
  • spring
  • mvc
  • spring-boot
최민석 댓글 4 좋아요 0 조회수 410

대규모 트래픽 환경에서는 Jpa 보단 서브쿼리를 활용하시나요?

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

22:40에 서브 쿼리를 제시해주셨는데요. 쿼리를 분리하여 애플리케이션 로직으로 풀수 없을때만 nativeQuery를 사용해서 서브쿼리를 즉시 적용하시는 걸까요? 아니면 서브쿼리를 적극적으로 사용하시는 걸까요? 대규모 트래픽 환경에서는 Jpa, Querydsl를 단순한 기능에 사용할때도 조심해서 써야할 것 같아요.. 팀 컨벤션이 도메인을 풍부하게 활용하는 거라면 nativeQuery는 지양해야 할것 같기두 하네요. 지식이 부족해서 가정만 하게 되네요 ㅠ.ㅠ 답변 부탁드립니다~ (반복 학습 필수네요. 강의 1분 1초를 씹고 뜯고 맛보고 즐기면서 공부하겠습니닷!)

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
soap 댓글 2 좋아요 0 조회수 318

v4에서 DTO 전용 리포지토리를 만들 때 유지보수 비용

미해결

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] package jpabook.jpashop.repository.order.simplequery; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Repository; import javax.persistence.EntityManager; import java.util.List; @Repository @RequiredArgsConstructor public class OrderSimpleQueryRepository { private final EntityManager em; public List<OrderSimpleQueryDto> findOrderDtos() { return em.createQuery( "select new jpabook.jpashop.repository.order.simplequery.OrderSimpleQueryDto(o.id, m.name, o.orderDate, o.status, d.address)" + " from Order o" + " join o.member m" + " join o.delivery d", OrderSimpleQueryDto.class) .getResultList(); } } 이 코드 같은 경우 유지보수가 더 좋아졌다고 할 수 있나요? 만약, 다른 도메인 계층에 있는 엔티티가 수정될 경우 오히려 이 부분도 수정해야 하기 때문에 전체적으로 유지보수 비용이 증가한다고도 볼 수 있지 않나요? 원래처럼 일반 리포지토리에 두었을 때 API에 핏하게 설계했기 때문에 API 스펙이 변경될 경우 리포지토리를 수정해야하는 거랑 따로 DTO 전용 리포지토리를 만들었을 때 다른 도메인 계층의 엔티티가 수정되었을 때 이 부분 코드를 수정하는 거랑 유지보수 비용이 어느게 더 적은 지 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
sim2 댓글 1 좋아요 0 조회수 187

가장 많이 사용된 회의실

미해결

자바 코딩테스트 - it 대기업 유제

안녕하세요 강사님 강의 잘 듣고 있습니다 강사님 코드를 보면서 드는 의문이 굳이 while문이 필요한 가 입니다. while문에 없어도 어쩌피 if else로직만으로도 잘 답을 가져오는 거 같아서요 혹시 예외 케이스가 있나요? ```java package org.youyk.inflearn.latest.sec03.Problem6; import java.util.*; class Solution7 { public int solution(int n, int[][] meetings){ int answer = 0; int[] rest = new int[n]; // 끝나는 시간, 순번 PriorityQueue<int[]> rooms = new PriorityQueue<>((a,b)->a[0] == b[0] ? a[1]-b[1] : a[0] - b[0]); TreeSet<Integer> roomSet = new TreeSet<>(); for(int i=0;i<n;i++){ roomSet.add(i); } Arrays.sort(meetings,(a,b)->a[0] - b[0]); for(int[] m : meetings){ if(!roomSet.isEmpty()){ int r = roomSet.pollFirst(); rest[r]++; rooms.add(new int[]{m[1],r}); }else{ int[] poll= rooms.poll(); rest[poll[1]]++; rooms.add(new int[]{poll[0] + (m[1] - m[0]), poll[1]}); } } int max=0; for(int i=0;i<n;i++){ if(max<rest[i]){ max = rest[i]; answer = i; } } return answer; } public static void main(String[] args){ Solution7 T = new Solution7(); System.out.println(T.solution(2, new int[][]{{0, 5}, {2, 7}, {4, 5}, {7, 10}, {9, 12}})); System.out.println(T.solution(3, new int[][]{{3, 9}, {1, 10}, {5, 8}, {10, 15}, {9, 14}, {12, 14}, {15, 20}})); System.out.println(T.solution(3, new int[][]{{1, 30}, {2, 15}, {3, 10}, {4, 12}, {6, 10}})); System.out.println(T.solution(4, new int[][]{{3, 20}, {1, 25}, {5, 8}, {10, 15}, {9, 14}, {12, 14}, {15, 20}})); System.out.println(T.solution(2, new int[][]{ {0, 5}, {1, 2}, {2, 3}, {3, 6}, {6, 8} })); } } ```

  • java
  • 코딩-테스트
youngyou1324 댓글 2 좋아요 0 조회수 140

ruby 버전은 꼭 2.7.6을 설치해야 하나요?

미해결

맛집 지도앱 만들기 (React Native & NestJS)

ruby 2.7.6까지 설치하고 npx react-native@0.72.6 init MatjipApp --version 0.72.6 로 프로젝트 생성 중에 cocoapods 오류가 뜹니다 ERROR: Error installing activesupport: There are no versions of activesupport (= 8.0.1) compatible with your Ruby & RubyGems activesupport requires Ruby version >= 3.2.0. The current ruby version is 2.7.6.219. cocoapods 설치중 activesupport을 설치하게 되었는데요. activesupport가 ruby 3.2 이상 버전을 요구한다고 하더군요.. 이 경우에는 어떻게 해결해야 하나요? 루비 버전을 강의와 다르게 올려도 괜찮은가요? 결론은, ruby 버전을 3.2.0 이상으로 설치를 하고 진행하여도 강의 듣는데 문제가 없을지 궁금합니다

  • react-native
  • typescript
  • nestjs
  • react-query
  • zustand
수빈 댓글 2 좋아요 0 조회수 338

XxxResponse를 service 패키지에 두신 이유가 궁금합니다.

해결됨

스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판

XxxRequest / XxxResponse 클래스를 controller 패키지 하위가 아닌 Service 패키지 하위에 두신 이유가 궁금합니다. 의존성 방향을 Controller부터 단방향을 유지하기 위해 하신것으로 유추 하는 바입니다. 하지만 XxxRequest / XxxResponse가 service 패키지 클래스에 있는게 조금 어색해 보여서요. 저는 controller 하위 패키지에 requeset / response를 두고 facade 혹은 service에 클래스로 묶어서 넘길경우 에는는 domain 계층에 만든 dto를 생성해서 넘깁니다. 제가 생각한게 맞는지 답변 부탁드립니다~ (강의 최고입니다. 저만 듣고 싶어요 흙흙)

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
soap 댓글 1 좋아요 0 조회수 198

카프카를 도입하고 난 뒤 로그로 보여지는 장점을 발견하지 못하고 있습니다.

미해결

실습으로 배우는 선착순 이벤트 시스템

안녕하세요 강사님. 강의 마지막에 API서브모듈에서 직접 MySQL로 여러 쓰레드가 JPA save를 통해 INSERT하는 과부하가 발생하던 것을 카프카를 통해서 처리량을 조절할 수 있다고 말씀하셨습니다. 카프카를 사용하는 것만으로도 처리량이 조절된다는 뜻이 잘 이해가 가지 않습니다. 특히 컨슈머서브모듈에서 보여지는 로그를 확인해보면 여전히 단 건으로 SQL들이 전송되는 것을 확인할 수 있었는데요. 배치방식으로 여러 SQL을 한데 모아 한번에 SQL횟수를 줄여주는 것을 기대했으나 그렇지 않아 어떤 원리로 처리량이 줄어드는 것인지 이해를 못했습니다ㅠㅠ

  • java
  • docker
  • spring-boot
  • kafka
  • redis
창신동 장첸 댓글 2 좋아요 0 조회수 190

네트워크 프로그램 배포가 궁금해서요

해결됨

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의를 보다가 문득 궁금해서 질문드려요. 네트워크 강의 코드를 작성할 때, 하나의 프로젝트 폴더에 Server, Client 코드를 작성해서 각각 실행시키는데요. 만약, 이 프로그램을 배포한다고 가정하면 Server.jar 파일과 Client.jar 파일를 각각 만들고 고객한테는 Client.jar 파일만 배포하면 되는거겠죠? Client.jar 파일에는 Client 코드만 있으면 되고 Server.jar 에는 Session, SessionManager, Server 코드를 포함하고 있으면 될 것 같은데..

  • java
  • 네트워크
  • 객체지향
댓글 1 좋아요 0 조회수 129

mvc1편에서 스프링부트 설치한적이 있는데 또 해야하나요?

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. spring mvc1편에서 스프링부트 설치한적이 있는데 또 해야하나요? 설치할때 artifact name부분이 다르긴 합니다 mvc1편에서는 artifact, name이 servlet이였고 입문에서는 hello-spring이고 packagename도 다르네요 새로 설치해야할까요?

  • java
  • spring
  • mvc
  • spring-boot
최민석 댓글 2 좋아요 0 조회수 220

42강 고양이끼리 소통 댓글 구현 중 Schema hasn't been registered for model 'comments' 에러 해결

미해결

탄탄한 백엔드 NestJS, 기초부터 심화까지

async findAll() { const CommentsModel = mongoose.model('comments', CommentsSchema); const result = await this.catModel .find() .populate('comments', CommentsModel); return result; } cats.repository 파일 github에 되어있는 건 이렇게 되어있습니다. 그런데 에러 발생 이유는 모르겠으나 Nest 버전 차이로 보임 constructor(@InjectModel(Cat.name) private readonly catModel: Model<Cat>) {} async findAll() { const result = await this.catModel.find().populate('comments'); return result; } 위처럼 바꿔주고 cats.schema에서 ref: 'comments' => 'Comments' 변경 _CatSchema.virtual('comments', { ref: 'Comments', localField: '_id', foreignField: 'info', }); _CatSchema.set('toObject', { virtuals: true }); _CatSchema.set('toJSON', { virtuals: true }); export const CatSchema = _CatSchema; 이렇게 해주니 해결 되었습니다

  • node.js
  • mongodb
  • express
  • nestjs
  • ssr
havenothorn 댓글 1 좋아요 0 조회수 94

MemberRepositoryTest를 junit5용으로 고쳤는데 오류가발생합니다 + junit4를 사용해야만 할까요?

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

https://drive.google.com/file/d/1PBHzDQJ0Odvh2KWMa_BTOu3PZqHrMJkj/view?usp=drive_link MemberRepositoryTest를 실행하면 이렇게 됩니다. junit5로 하고 있는데 이런식으로 오류가 발생합니다. JPA와 DB 설정, 동작확인 13분경까지 들었습니다. JpashopApplication를 실행해도 오류가 발생하기 시작했습니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
peter 댓글 2 좋아요 0 조회수 109

키생성 방식에 따른 성능

미해결

실습으로 배우는 선착순 이벤트 시스템

안녕하세요. 문제점 해결하기 강의에서 실습을 잘 진행했습니다. 실험을 하며 결과를 관측하던 중, @NoArgsConstructor(access = AccessLevel.PROTECTED) @RequiredArgsConstructor @Entity public class Coupon { @Id @GeneratedValue private Long id; } 위와 같이 @GeneratedValue를 적용하면 로그패턴도 달라지고 성능이 급격하게 나빠지더라고요 @Id @GeneratedValue(strategy = GenerationType.IDENTITY) 로 지정하면 실습이 잘 진행됩니다. 왜 이런차이가 발생하는지 알 수 있을까요? strategy를 선택하지 않으면 AUTO이며 이는 mysql에서 IDENTITY를 선택한 것과 같게 나와야하는데 예상과 달라 질문드려봅니다.

  • java
  • docker
  • spring-boot
  • kafka
  • redis
창신동 장첸 댓글 2 좋아요 0 조회수 192

값 타입 컬렉션 대안

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

아래와 같이 엔티티를 만들고, 여기에서 값 타입을 사용하는 것은 임베디드 타입을 사용하는 것과 어떤 차이가 있나요? @Embedded라는 애노테이션을 붙이지 않아서 질문드립니다. 똑같이 엔티티에서 Address 객체를 필드로 갖는데 무슨 차이인가 해서요.

  • java
  • jpa
최재량 댓글 1 좋아요 0 조회수 140

MemberRepositoryTest junit5로 고친후 오류발생 + junit4를 사용해야만 할까요?

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

junt4로 gradle에서 설정하려고 하면 오류가 발생해서 juit5로 하는 중입니다. MemberRepositoryTest를 junit5버전으로 고쳐서 아래의 코드로 실행했는데 오류가 나고 있습니다 import jpabook.jpashop.Member; import jpabook.jpashop.MemberRepository; //import jpabook.jpashop.domain.Member; //import jpabook.jpashop.repository.MemberRepository; import org.assertj.core.api.Assertions; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit.jupiter.SpringExtension; import org.springframework.transaction.annotation.Transactional; @ExtendWith(SpringExtension.class) // JUnit 5 방식 @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional @Rollback(false) public void testMember() { Member member = new Member(); member.setUsername("memberA"); Long savedId = memberRepository.save (member); Member findMember = memberRepository.find(savedId); Assertions.assertThat(findMember.getId()).isEqualTo(member.getId()); Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); Assertions.assertThat(findMember).isEqualTo(member); // JPA 엔티티 동일성 보장 } } 밑에는 오류입니다. Unable to find a @SpringBootConfiguration by searching packages upwards from the test. You can use @ContextConfiguration, @SpringBootTest(classes=...) or other Spring Test supported mechanisms to explicitly declare the configuration classes to load. Classes annotated with @TestConfiguration are not considered. java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration by searching packages upwards from the test. You can use @ContextConfiguration, @SpringBootTest(classes=...) or other Spring Test supported mechanisms to explicitly declare the configuration classes to load. Classes annotated with @TestConfiguration are not considered. at org.springframework.util.Assert.state(Assert.java:79) 1. @SpringBootTest(classes=...) 로 명시적으로 설정 클래스 지정 2. @SpringBootApplication 이 있는 클래스의 위치 확인 3. @ContextConfiguration 을 사용해서 명시적으로 설정 클래스 지정 이세가지를 시도해도 안되고 있습니다. 아니면 juni4룰 사용해야만 할까요? build.gradle에 JUnit4 추가 testImplementation("org.junit.vintage:junit-vintage-engine") { exclude group: "org.hamcrest", module: "hamcrest-core" } 를 하면 Build file 'C:\Users\Peter\Desktop\study\jpashop\build.gradle' line: 45 A problem occurred evaluating root project 'jpashop'. > Could not find method testImplementation() for arguments [org.junit.vintage:junit-vintage-engine, build_55eer8btj8rd1l6xp0yqapa0y$_run_closure6@6e20627f] on root project 'jpashop' of type org.gradle.api.Project. 라고 나옵니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
댓글 3 좋아요 0 조회수 476

인기 태그

인프런 TOP Writers

주간 인기글