inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

findOrders()에 fetch join 사용하지 않은 이유는 이거인가요?

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] N+1 문제 발생시에는 fetch join 을 사용하고, 컬렉션이 포함된 조회는 XtoOne 도 fetch join 을 유지했었습니다. 이번 강의의 findOrders 에는 fetch join 이 아닌 일반 join 을 사용한 이유는 findOrderItems 에서 OrderItems 를 따로 조회하기 때문에 일반 join 을 사용한건가요? Order -> member 는 ManyToOne Order -> delivery 는 OneToOne 이라서 N+1 문제는 발생하지 않는다고 이해는 하고 있습니다! 컬렉션타입인 OrderItems 는 별개의 쿼리를 이용해서 들고 오기 때문에 XtoOne 연관관계 엔티티를 조회하기 위해 fetch join 을 사용하지 않았다고 이해하면 될까요?

  • java
  • spring
  • spring-boot
  • jpa
6udguin 댓글 1 좋아요 0 조회수 95

JPA 유의점과 V3.1 에 대한 질문입니다!

미해결

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

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. JPA 유의점과 V3.1 에 대한 질문입니다! 지금까지 수업을 들으며 제가 요약한 내용은 Repository 에서 Entity 를 조회한다. 해당 조회에서 N+1이 발생한다면 -> 회원목록을 조회한다면 N+1 이 발생하지 않지만, 회원목록 + 가장 최근에 주문한 상품1개 도 함께 조회를 한다면 N+1 문제가 발생한다. > 목록데이터를 조회하는데, 목록데이터 각각의 PK를 FK로 참조하는 다른 테이블의 데이터를 함께 조회하는데 Lazy 로딩일 경우 N+1 문제가 발생한다. N+1 이 발생할 경우 fetch join 으로 변경한다. 해당 fetch join 쿼리에 컬렉션(리스트 등) 타입이 존재할 경우 select 문에서 컬렉션을 조회하는 쿼리를 지우고, XtoOne 연관관계에 있는 엔티티 조회는 fetch join 을 유지한다. + hibernate.default_batch_fetch_size 설정한다. 이렇게 정리했습니다! 혹시 정정해야하는 부분이 있을까요?? V3.1 에 대한 질문은, 조회쿼리에서 OrderItem은 없지만, Controller 에서의 @Data static class OrderDto { private Long orderId; private String name; private LocalDateTime orderDate; private OrderStatus orderStatus; private Address address; private List<OrderItemDto> orderItems; public OrderDto(Order order) { orderId = order.getId(); name = order.getMember().getName(); orderDate = order.getOrderDate(); orderStatus = order.getStatus(); address = order.getDelivery().getAddress(); orderItems = order.getOrderItems().stream() .map(orderItem -> new OrderItemDto(orderItem)) .collect(toList()); } } @Data static class OrderItemDto { private String itemName; //상품명 private int orderPrice; //주문가격 private int count; //주문수량 public OrderItemDto(OrderItem orderItem) { itemName = orderItem.getItem().getName(); orderPrice = orderItem.getOrderPrice(); count = orderItem.getCount(); } } 여기서 List<OrderItemDto> orderItems 부분으로 인하여 proxy 로 들고 왔던 것을 실제 DB조회를 하여 orderItems 에 값을 채워넣는 게 맞나요?

  • java
  • spring
  • spring-boot
  • jpa
6udguin 댓글 1 좋아요 0 조회수 119

문제풀이 오류 질문

해결됨

이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해

이거 정답이 D 아닌가요?

  • unreal-engine
  • 언리얼-c++
윤주헌 댓글 2 좋아요 0 조회수 107

스프링부트 프로젝트를 위해 자바강의와 스프링부트강의

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오)예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)예 [질문 내용] 안녕하세요. 잘 듣고 있는 수강생입니다. 지금 스프링부트로 프로젝트를 하려고하는데 자바문법기본도 아직 익숙치 않은 상황입니다. 그래서 지금 강의를 자바 기본편부터 듣고 스프링부트강의를 듣는게 나을까요? 아니면 프로젝트를 위해서 스프링부트 강의를 먼저 듣는게 나을까요?

  • java
  • spring
  • mvc
  • spring-boot
우냥 댓글 1 좋아요 0 조회수 86

11:29 C언어 문제

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

gets(n)이 n을 입력받는 함수라는 거 이해했고, 근데 name() 에 ()가 있어서 () 에 홍길동을 입력받는건가요? name이 똑같이 n에다가 덮어쓴다는게 뭘 보고 알 수 있는건가요?

  • python
  • java
  • c
  • 정보처리기사
snow4532 댓글 2 좋아요 0 조회수 111

406 Not Acceptable에러 발생

해결됨

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

현재 테스트 코드 작성하고 있는데 다음과 같이 에러 발생합니다. 코드 package board.article.api; import board.article.service.request.ArticleCreateRequest; import board.article.service.response.ArticleResponse; import lombok.AllArgsConstructor; import lombok.Getter; import org.junit.jupiter.api.Test; import org.springframework.web.client.RestClient; public class ArticleApiTest { RestClient restClient = RestClient.create("http://localhost:9000"); @Test void createTest() { ArticleResponse response = create(new ArticleCreateRequest( "hi", "my content", 1L, 1L )); System.out.println("response = " + response); } ArticleResponse create(ArticleCreateRequest request) { return restClient.post() .uri("/v1/articles") .body(request) .retrieve() .body(ArticleResponse.class); } @Getter @AllArgsConstructor static class ArticleCreateRequest { private String title; private String content; private Long writerId; private Long boardId; } @Getter @AllArgsConstructor static class ArticleUpdateRequest { private String title; private String content; } } 에러 > Task :common:snowflake:compileJava UP-TO-DATE > Task :common:snowflake:processResources NO-SOURCE > Task :common:snowflake:classes UP-TO-DATE > Task :common:snowflake:jar UP-TO-DATE > Task :service:article:compileJava > Task :service:article:processResources UP-TO-DATE > Task :service:article:classes > Task :service:article:compileTestJava > Task :service:article:processTestResources NO-SOURCE > Task :service:article:testClasses org.springframework.web.client.HttpClientErrorException$NotAcceptable: 406 Not Acceptable: "{"timestamp":"2025-05-29T06:00:40.838+00:00","status":406,"error":"Not Acceptable","path":"/v1/articles"}" at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:118) at org.springframework.web.client.StatusHandler.lambda$defaultHandler$3(StatusHandler.java:86) at org.springframework.web.client.StatusHandler.handle(StatusHandler.java:146) at org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.applyStatusHandlers(DefaultRestClient.java:672) at org.springframework.web.client.DefaultRestClient.readWithMessageConverters(DefaultRestClient.java:195) at org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.readBody(DefaultRestClient.java:659) at org.springframework.web.client.DefaultRestClient$DefaultResponseSpec.body(DefaultRestClient.java:605) at board.article.api.ArticleApiTest.create(ArticleApiTest.java:26) at board.article.api.ArticleApiTest.createTest(ArticleApiTest.java:15) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) at java.base/java.util.ArrayList.forEach(ArrayList.java:1596) > Task :service:article:test ArticleApiTest > createTest() FAILED org.springframework.web.client.HttpClientErrorException$NotAcceptable at ArticleApiTest.java:26 1 test completed, 1 failed > Task :service:article:test FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':service:article:test'. > There were failing tests. See the report at: file:///C:/Users/zxc86/Desktop/study/springboot/board/service/article/build/reports/tests/test/index.html * Try: > Run with --scan to get full insights. BUILD FAILED in 4s 6 actionable tasks: 3 executed, 3 up-to-date gpt에서는 accept 설정이 없어서 그렇다는데 강사님 코드에는 없어서요 원인이 뭘까요?

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
Gwangseok Lee 댓글 2 좋아요 0 조회수 258

배치 애플리케이션 패키지 구조

미해결

죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.

현재 배치 강의를 20퍼 정도 수강 했는데, 배치 애플리케이션을 만들 때 step, job 등 여러 클래스가 있을 텐데 어떤 패키지 구조로 만드는지 궁금합니다.

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
terry9611 댓글 2 좋아요 1 조회수 295

mac 사용자 폴더 생성 경로 변경

해결됨

기초 탄탄! 독하게 시작하는 Java Part 3(하) : 소켓과 파일 I/O

String tmpPath = "C:/Tmp"; mac은 예제에 있는 경로가 맞지 않아 아래 에러가 발생합니다. Caused by: java.io.IOException: No such file or directory 그래서 올바른 홈 경로를 변경해줘야 합니다. 아래의 경로로 변경 String tmpPath = System.getProperty("user.home") + "/Temp"; 이렇게 경로를 바꿔주시면 /Users/{username} 경로에 정상적으로 생성됩니다. 혹시 모르는 분이 계실까봐 작성해둡니다.

  • java
  • 네트워크
  • tcpsocket
강윤수 댓글 2 좋아요 1 조회수 153

createNewFile() 멱등성

해결됨

기초 탄탄! 독하게 시작하는 Java Part 3(하) : 소켓과 파일 I/O

방금 예제를 여러번 실행하면 어떻게 되는지 궁금해서 몇번 실행해봤는데, 최초에 생성된 시간 그대로 파일이 유지돼있네요. 파일 생성만 하고 또 실행 -> 파일 바뀌지 않음 생성된 파일 수정하고 또 실행 -> 파일 바뀌지 않음(수정한 내용이 그대로 있음) 확인해보니 createNewFile() 는 true와 false를 반환하여 false일 때에는 생성을 하지 않고 있네요. 해당 함수는 멱등성을 보장한다고 해야되는지 아닌지 궁금합니다. 그런데 멱등성을 보장한다고 하기엔 안에 내용을 유지시켜주지는 않는거 같네요. 완전한 멱등성이라고 하면 수정된 내용도 없어지고 아무것도 없는 파일로 바뀌어야 되는거 아닐까 생각이 들어서 명확하게 확신이 없어서 질문 드립니다.

  • java
  • 네트워크
  • tcpsocket
강윤수 댓글 2 좋아요 0 조회수 98

잘못 작성

해결됨

기초 탄탄! 독하게 시작하는 Java Part 3(하) : 소켓과 파일 I/O

잘못 작성

  • java
  • 네트워크
  • tcpsocket
댓글 2 좋아요 0 조회수 124

28분 23년1회 java문제 다시

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

설명을 들어서 a=10 static.b = a 니까 static.b++의 출력값은 10이고, 이후 11이 된다고 이해를 했는데, 그러면 그 아래 출력값 a가 10 이면 그대로 똑같이 10이 아니라 왜 st.a는 class Static의 20을 가져오나요? 두번째 출력값은 바로 위 출력값에서 계산된 걸 가져왔는데 네번째 출력값은 왜 가장 위의 클래스 거를 가지고 오는지 개념이 이해가 안됩니다

  • python
  • java
  • c
  • 정보처리기사
snow4532 댓글 2 좋아요 1 조회수 91

28분 문제..

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

28분대에 있는 23년 1회 JAVA 문제인데요. 출력값 처음에 Static.b++는 a=10 static.b=a 때문에 출력값 10인 건 이해가 되고, st.b는 왜 0이 아니고, 11인지 이해가 안되고.. 마지막 출력값 st.a은 왜 10이 아니고 20인지 이해가 안되네요. 기출문제부터 따라가기 너무 힘든데 이거 강의를 다시 들어야하나요? 혼자서 문제를 풀면 문제 설명하는 흐름대로 생각이 잘 안나는 것 같아요

  • python
  • java
  • c
  • 정보처리기사
snow4532 댓글 2 좋아요 0 조회수 82

13:40 di가 ..

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

질문이 2개인데요... 문제 풀이영상을 보면 sum + (input[a][b]) * di ; input[a][b]에 %10을 넣으면 뭐 때문에 순차적으로 0 , 10, 100, 1000, 00000, 100000 이렇게 되는지 이해가 안되고, 2번째는 di가 1부터 시작을 하고 di*2면 2,4,6,8,10 이렇게 커지는거 아닌가요? 그렇다면 2의2승 2의3승 2의4승 2의5승 이렇게 커지지 않으니까 계산이 안되는 것 같은데 ㅠ.. 좀 어렵네요

  • python
  • java
  • c
  • 정보처리기사
snow4532 댓글 2 좋아요 0 조회수 84

인덱스 데이터 흐름

해결됨

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 3-6. 쿼리플랜이란? 여기까지 이해하신 내용은 무엇인가요? 옵티마이저가 스토리지 엔진으로부터 가장 효율적으로 데이터를 가져오기 위해 쿼리플랜을 작성한다는 것을 이해했습니다. 2. 어려움을 겪는 부분 어떤 개념이 헷갈리시나요? 이때 인덱스를 참고해서 데이터를 가져온다면 이 인덱스는 메모리에 올라와 있는 상태인가요?? 아니면 디스크에 있는 인덱스를 확인하고 디스크에서 데이터를 가져오는 건가요? 데이터를 가져오는 전체적인 흐름이 궁금합니다! 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 에러가 발생했다면 어떤 에러인가요? 현재 작성하신 코드를 공유해주세요 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다!

  • java
  • spring
  • mysql
  • redis
  • 이력서
모깅 댓글 3 좋아요 0 조회수 117

섹션5_25 조건 And, Or에서

미해결

[LV3 : 기술편] 게임스킬 만들기 - 기획, 아트 누구나 만드는 블루프린트

1:22초 쯤 스킵이 된거 같은데 TargetActor는 어떻게 만드는건가요? 5:22초에 GrabSucceed 커스텀 이벤트에서 나오는 애 같은데 전 이렇게만 떠요 ㅜㅜ 커스텀 이벤트에서 변수를 만드는게 아닌건가요? 이것때문에 막혔습니다 ㅜ

  • unreal-engine
  • ue-blueprint
Ii!il!i! 댓글 1 좋아요 0 조회수 53

.Net과 .Nuget오류

미해결

[켠김에 출시까지] UE5 다크앤다커 스타일의 익스트랙션 RPG (D1)

D1.uproject에 오른쪽 마우스 클릭 후, Generate Visual Studio ProjectFiles를 선택하면 해당 오류가 발생합니다. 어떻게 해결해야할지 모르겠습니다. .Net이랑 Nuget때문에 문제가 발생하네요. 제가 평소 5.5.4버전을 이용하는데 이번에 루키스 선생님이 말씀하신 방법으로 D1.uproject를 언리얼엔진에서 5.4.4로 변경 하고 해당 D1.uproject의 오론쪽을 클릭해서 Generate Visual Studio ProjectFiles를 실행해서 VisualStudio를 키려고하는데 켜지지가 않습니다. 도와주세요. 혼자서 하려니 문제를 도저히 찾을 수가 없네요.. 아래는 챗gpt한테 물어보고서 들은 해결책인데 저는 5.5.4랑 5.4.4 버전을 모두 다 이용해야 하는 게임개발 취업생이라서요. 어떻게해야 해당 문제를 해결하고 5.5.4언리얼엔진버전을 이용하는 동시에 선생님의 D1프로젝트를 5.4.4버전으로 오류없이 실행할 수 있을까요.

  • c++
  • unreal-engine
  • dedicated-server
  • 언리얼-c++
정영기 댓글 2 좋아요 0 조회수 370

애니메이션 블루프린트 AnimGraph 내부 Land State 질문

해결됨

이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해

안녕하세요 애니메이션 블루프린트의 AnimGraph > MainStateMachine > Land(State) 에서요 Apply Additive 를 사용하지않고 그냥 WarriorLand 애니메이션을 연결하고 플레이해보았습니다 플레이 시 움직임등 잘되고 점프하고 착지 Land State 시점에 캐릭터가 사라져 버리는데 딱 이부분만 바뀌었을뿐인데 왜그런지 모르겠습니다 ㅠㅠ

  • unreal-engine
  • ue-blueprint
  • 언리얼-c++
Jethro Yang 댓글 2 좋아요 0 조회수 127

https://github.com/joneconsulting/eshop 소스

미해결

마이크로서비스 디자인 패턴 완벽 가이드

강의에 나온 https://github.com/joneconsulting/eshop 강의 공개 후에도 비공개 레포지토리로 보이는데요 어디서 확인가능할까요

  • java
  • spring-cloud
  • 디자인-패턴
  • msa
  • patterns
검은흑사 댓글 2 좋아요 0 조회수 181

후속 강의 언제나오나요??

해결됨

2. [언리얼 시스템 연구 과정] UE5 스파르타 클래스: 심화편

GTA모작 너무 기대됩니다. 여름 방학 시즌에 딱 맞춰서 수강할 수 있다면 참 좋을 것 같은데...

  • unreal-engine
  • ue-blueprint
최성우 댓글 2 좋아요 0 조회수 71

인기 태그

인프런 TOP Writers

주간 인기글