inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

ArticleDeletedEventHandler

해결됨

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

handle()에 조회 수, 좋아요 수, 댓글 수 캐시도 삭제해주어야 하는데 누락되어야 한다고 생각이 하는데 어떻게 생각하시는지 궁금합니다! 아니면 다른 의도가 있으셨을까요? 강의에서는 생성 시간 및 인기글 캐시만 삭제하고 있습니다!

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
성장하자 댓글 2 좋아요 0 조회수 84

JVM 스레드 TLS 질문

해결됨

기초 탄탄! 독하게 시작하는 Java Part 3(상) : 멀티스레드와 동기화

선생님께서 말씀하시는 TLS는 프로세스의 한정적인 VMS위에서 나뉘어서 사용되는건가요?? Heap area에 비해 다른 영역은 작은걸로 아는데 TLS가 나뉘어서 사용되면 영역이 작아지지 않을까라고 생각되서 질문드립니다!!

  • java
  • jvm
  • lock-free
  • generic
  • multithread
UHO 댓글 1 좋아요 0 조회수 122

TransactionalEventListener 관련 문의드리고자 글 남깁니다.

해결됨

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

안녕하세요, 강사님 늘 강의 잘 듣고 있습니다, 감사합니다 ! 다름이 아니고, @Transactional과 @TransactionalEventListener 설정 관련해 궁금한 사항이 있어서 문의드리게 되었습니다. 강의내용은 @Transactional, @TransactionalEventListener가 전역적으로 선언되었고 outbox 관련 로직만 존재하기 때문에 괜찮지만 제 업무환경에서는 @TrasnactionalEventListener가 사용되면 프로젝트의 모든 @Transactional으로 관련된 내용이 바인딩되기 때문에 이를 scope 별로 구분하는 방법이 필요해보였는데요. 따로 알아보았지만, payload(강의에서는 OutboxEvent) 를 통해 분기처리하는 방법만 보이다보니 혹시 관련하여 TrasnactionalEventListener 어노테이션 필드 혹은 커스텀 어노테이션만으로 구분할 수 있는 방법이 있을까요 ? 문의드리는 가장 큰 이유는 outbox 로직이 필요없는 DB처리에도 TrasnactionalEventListener이 우선은 호출되고 payload를 통해 early return 시키려고 하다보니, 불필요한 리소스 사용을 방지하고 싶어서 문의드리게 되었습니다.

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
자기개발하고싶어요 댓글 2 좋아요 0 조회수 127

Jdbc 관련 강의 및 깃헙 문의

미해결

스프링 시큐리티 OAuth2

안녕하세요. 아래는 강의 자료 캡처입니다. 1, 2, 3, 4 번에 대한 각각의 강의가 없어서 문의 드립니다. 특히, 4번은.. OAuth 2.0 강좌 전체에서 Authorization server 에 직접 DB 나 Nosql 에 연동하는 강의가 없는 것 같아서 꼭 보고 싶은데.. 깃헙에 브랜치마저도 없는 것 같아 문의 드립니다.. 감사합니다.

  • java
  • spring
  • spring-boot
  • oauth
starryeye 댓글 1 좋아요 0 조회수 89

로그인 후 (인증완료) /member/modify 접근불가

미해결

스프링부트를 이용한 웹 프로그래밍: 웹사이트 이렇게 만드는 거예요!

로그인 후 /member/modify 접근할려고하면 302 코드 뜨는데 로그인 인증이 됐는데도 자꾸/member/modify 로 접근하면 로그인폼으로 돌아가는데 뭐가문제일까요 ..?

  • rest-api
  • spring-boot
  • jpa
  • spring-security
  • mybatis
H K 댓글 2 좋아요 0 조회수 113

오타 문의

해결됨

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

안녕하세요! 우선 강의 너무 잘 듣고 있습니다! 강의 자료에서 좋아요 수 설계 부분에서 11:17 1:1 관계이지만, 테이블 비정규화의 필요성을 살펴본 것이다. 이 부분은 1:1 관계이므로 비정규화의 필요성이 있지만, 레코드 락으로 인한 자원 한계를 고려하여 '정규화'의 필요성을 살펴본 것 이 맞지 않나 싶습니다! 혹시 제가 잘못 이해한 부분이 있다면 알려주시면 감사하겠습니다!

  • java
  • mysql
  • spring-boot
  • kafka
  • redis
감스트의웃음노예 댓글 1 좋아요 0 조회수 72

JpaCursorItemReader 질문

미해결

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

이 기본 구현에서 호출하는 getResultList() 는 전체 데이터를 메모리에 한 번에 로딩하므로 실제 스트리밍이 아니며 따라서 타 JPA 구현체 사용 시 주의가 필요하다. 라고 하셨는데 JpaCursorItemReader를 이용하면 모든 데이터를 메모리로 가져오기 때문에 OutOfMemoryError가 날 수 있나요?? 추가로 실무에서는 쿼리가 복잡할텐데 JPA 보단 JDBC를 사용하는 편인가요???

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
이동연 댓글 2 좋아요 1 조회수 209

수정 요청

미해결

떠먹여주는 객체지향 디자인 패턴 - by 얄코

토끼가 나와서 하는 질문이 하나도 안들립니다. 어수룩함을 표현한거 같은데 이상한 말투로 질문을 하는데 전혀 어울리지도 않고 강의 내용에 전혀 도움이 안됩니다.

  • java
  • 객체지향
  • 디자인-패턴
이동환 댓글 5 좋아요 -18 조회수 268

JPA Cretieria와 QueryDSL

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의만 들었을때 JPA Cretieria와 QueryDSL 둘다 JPQL빌더 역할 하는것 같은데 자세한 차이 궁금합니다.

  • java
  • jpa
Wendy Wendy 댓글 1 좋아요 0 조회수 75

값 타입 컬렉션 PK

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] Hibernate: create sequence Member_SEQ start with 1 increment by 50 Hibernate: create table ADDRESS ( MEMBER_ID bigint not null, city varchar(255), zipcode varchar(255) ) Hibernate: create table FAVORITE_FOOD ( MEMBER_ID bigint not null, FOOD_NAME varchar(255) ) Hibernate: create table Member ( MEMBER_ID bigint not null, USERNAME varchar(255), city varchar(255), zipcode varchar(255), primary key (MEMBER_ID) ) Hibernate: alter table if exists ADDRESS add constraint FKsuulxb5rmrxvb83yr43ox86wn foreign key (MEMBER_ID) references Member Hibernate: alter table if exists FAVORITE_FOOD add constraint FKjchfnr69biisfgjdpoe82rpa4 foreign key (MEMBER_ID) references Member 위 그림에서 FAVORITE_FOOD 테이블에서 FOOD_NAME, ADDRESS 테이블에서 CITY, ZIPCODE 가 왜 PK가 되는지 궁금합니다.

  • java
  • jpa
Wendy Wendy 댓글 1 좋아요 0 조회수 69

공부 방향이 궁금합니다.

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 김영한님의 강의를 들으며 꾸준히 공부하는 한 직장인입니다. 현재 로드맵이 나눠져 있는데 혹시 이제까지 나온 김영한님의 모든 강의를 포함하는 로드맵을 추천해 주실 수 있을까요??

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
wjdghks6086 댓글 1 좋아요 0 조회수 148

잘못된 csv 파일

미해결

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

csv 파일 중 프로세스 아이디 정보가 잘못되어있습니다. 실제 SystemFailure의 processId는 Integer인데 csv 파일은 String입니다.

  • java
  • spring
  • spring-boot
  • spring-batch
  • backend
이동연 댓글 2 좋아요 2 조회수 94

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 조회수 94

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

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

미해결

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

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

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

메일 보내는 메서드에서

미해결

스프링부트를 이용한 웹 프로그래밍: 웹사이트 이렇게 만드는 거예요!

MemberEntity updateMember = memberRepository.save(findedMemberEntity); if(updateMember != null) {메일전송} 여기서 if(updateMember != null) 대신 try catch 로 묶어서 하는것도괜찮나요 ?

  • rest-api
  • spring-boot
  • jpa
  • spring-security
  • mybatis
H K 댓글 1 좋아요 0 조회수 94

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 조회수 253

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

미해결

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

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

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

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 조회수 149

인기 태그

인프런 TOP Writers

주간 인기글