묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
컬렉션 조회 최적화 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예안녕하세요. 강의를 듣다가 제가 컬렉션 조회 최적화에 대해 이해했던 내용을 정리해봤는데 맞는지 확인해주실 수 있을까요??
-
해결됨서버개발자 과제전형 완벽가이드 - 1편
16강 api서버구현 질문있습니다.
16강 api서버구현 질문있습니다.18분 46초에서 인자를 넣는데 mock이라서 의미가 없다는게 어떤 말씀인지 알 수 있을까요? 목킹은 객체를 만드는데 넣을 인자값이 없어서 의미가 없다는 건가요?
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
@StepScope 질문
@Bean public Step systemDestructionStep( SystemInfiltrationTasklet tasklet // Tasklet을 주입받는다 ) { return new StepBuilder("systemDestructionStep", jobRepository) .tasklet(tasklet, transactionManager) .build(); } @Slf4j @Component @StepScope // Tasklet에 StepScope를 달았다 public class SystemInfiltrationTasklet implements Tasklet { private final String targetSystem; public SystemInfiltrationTasklet( @Value("#{jobParameters['targetSystem']}") String targetSystem ) { this.targetSystem = targetSystem; } @Override public RepeatStatus execute(StepContribution contribution, ChunkContext context) { log.info("{} 시스템 침투 시작", targetSystem); return RepeatStatus.FINISHED; } }여기서 @StepScope를 tasklet에 작성하는 이유가 있나요?아래 방식처럼 Step에 @StepScope를 작성하면 안되나요?@Bean @StepScope public Step systemDestructionStep( SystemInfiltrationTasklet tasklet // Tasklet을 주입받는다 ) { return new StepBuilder("systemDestructionStep", jobRepository) .tasklet(tasklet, transactionManager) .build(); }
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
.close()이후 poolSize문제
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]21 버전의 자바를 사용 중입니다. .close()를 하여도 pool의 개수가 0개로 변경되지 않습니다.main 스레드에서 인지하는데 시간이 걸리나 하여 sleep()을 통해 시간의 변화를 줬지만 여전히 동일한 결과값이 도출됩니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
프록시 객체와 엔티티 객체를 연결짓는 부분만 초기화 문의, 초기화란?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]em.getReference() 시 처음으로 영속성 컨텍스트에서 프록시 객체 반환 후 find() 메소드 호출하면 그대로 프록시 객체가 반환되는걸로 이해하였습니다.find()시 실제 DB에 접근하여 데이터를 가져오는데 이를 실제 엔티티에 저장하고프록시 객체와 엔티티 객체를 연결짓는 부분만 초기화?(재설정) 하는건가요?!초기화 라는 용어가 헷갈리고, 실제 DB 데이터를 어떻게 프록시 객체와 연결하는지 궁금합니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
안녕하세요 선생님 게시글 목록 API-페이지 번호 구현 강의에서 질문 있습니다.
안녕하세요 선생님 좋은 강의 감사합니다.저희 articleController에서 readAll 부분을 보면@GetMapping("/v1/articles") public ArticlePageResponse findAll( @RequestParam("boardId") Long boardId, @RequestParam("page") Long page, @RequestParam("pageSize") Long pageSize ) { return articleService.readAll(boardId, page, pageSize); }이런식으로 pageSize를 쿼리 파라미터로 넘겨주도록 설계가 되어 있는데, pageSize라는 파라미터는 값을 받아서 처리하는 것이 아니라, 서버에서 값을 정하고 항상 똑같은 pageSize를 써야하는 것 아닌가요 ??왜 pageSize를 인자로 받는지 이해가 잘가지 않습니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
안녕하세요 ! 강의 잘 듣고 있습니다.
안녕하세요 선생님 강의 잘 듣고 있습니다 .controller를 구현하실때 중복되는 부분을전부 다 쓰신 이유가 따로 있으신가요 ?예를 들어 ArticleController에서@RequestMapping("/v1/articles")public class ArticleController{...}이런식으로 RequestMapping 애노테이션을 붙여 중복을 줄일 수도 있는데 선생님은 전부 다 그냥 쓰셔서 어떤 의도가 있는 것인지가 궁금합니다.
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
DTO 내 생성자 관련 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]@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(Collectors.toList()); } } 생성자 관련한 질문입니다!생성자에서orderItems = order.getOrderItems().stream() .map(orderItem -> new OrderItemDto(orderItem)) .collect(Collectors.toList());이와 같은 코드를 작성하셨는데 ,Dto 에 보통 Lombok 이용해서 생성자 자동생성을 사용하게 되는데, 이것처럼 손으로 작성하게 되면 생성자(Constructor)LomBok 은 사용하지 않는건가요? 아니면 생성자 자동생성 lombok 을 사용하면 위의 손으로 작성한 코드처럼 자동생성이 되는건가요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
엔티티 조회와 fetch join 의 경우 이런 상황일 때 유의하여 사용하면 될까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]V3 예시에서 N+1 문제를 보여주셨습니다. N+1 문제가 발생한 원인과 상황을 설명들으며 생각해보았는데,1.마이페이지 (회원 단건 조회, 회원정보(member), 최근주문(order) ) 이런 데이터만 보여준다면 n+1 문제는 발생하지 않을 거 같습니다.다만1.마이페이지 (회원 단건 조회, 회원정보(member), 최근주문(order) , 최근주문별 배송현황(delivery)) 는[회원조회][최근주문A][최근주문B]이때 각 최근주문별 딜리버리를 조회하여또 쿼리가 많이 나가게 되는 상황이 발생할 거 같습니다.단순한 단건 데이터 조회(내정보)는 엔티티 조회를 사용해도 N+1 문제에서 자유로울 수 있으나 작성자 등의 PK가 전부 다른 데이터 리스트에서의 join 형식 데이터 목록을 조회할 경우 N+1 문제가 자주 발생할 거 같습니다.이럴 때 fetch join 을 사용하면 되는건가요?
-
미해결김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성
인터럽트 상태에 대하여
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]안녕하세요, 인터럽트 - 시작 2 강의를 수강하다 궁금한 점이 생겨 여쭤보게 되었습니다. 강의 내용 중 'work 스레드는 TIMED_WAITING 상태에서 RUNNABLE 상태로 변경되고 InterruptedException 예외를 처리하면서 반복문을 탈출한다.work 스레드는 인터럽트 상태가 되었고, 인터럽트 상태이기 때문에 인터럽트 예외가 발생한다.인터럽트 상태에서 인터럽트 예외가 발생하면 work 스레드는 다시 작동하는 상태가 된다. 따라서 work 스레드의 인터럽트 상태는 종료된다. work 스레드의 인터럽트 상태는 false로 변경된다.' 부분에 대해 여쭤보고 싶습니다.전반적인 내용은 이해가 되는데, '상태' 라는 표현에 대해 이해가 잘 되질 않습니다. 앞 부분 스레드 생명 주기에서 스레드의 상태는new, runnable, blocked, waiting, timed_waiting, terminated가 있다고 학습했는데, 여기에서 나오는 '인터럽트 상태'는 스레드의 생명 주기에 등장하는 상태와는 독립적으로 봐야하는 상태일까요 ? '인터럽트 상태'가 스레드의 생명 주기에서 등장하는 스레드의 상태 중 하나인지 혼동되어 여쭤봅니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderServiceTest에서 assertTrhwos 질문이 있습니다~
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요.안녕하세요.Junit5로 assertThrows테스트를 하고 있습니다.원래는 다른 분들처럼 assertThrows만 작성했습니다. (리턴 없는 형태)테스트는 성공하는데 에러 로그가 전~혀 하나도 뜨지 않습니다.고민하다가 에러 내용을 받아서 soutv로 뿌려줘서 확인했습니다. assertEquals로 비교하는게 맞나요?아니면 제가 모르는 Junit5 사용법이 따로 있는건지요?gpt, 구글 등등 다 검색해봐도 답을 알 수 없어서 고민하다가 질문 올립니다.조언 부탁드립니다 감사합니다~
-
미해결김영한의 실전 자바 - 중급 1편
문제와 풀이 코드
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 혹시 이렇게 코드 작성하는 것도 문제가 없을까요? 만약 년, 월, 일이 모두 바뀌는 거라면 더 간단하게 될 거 같아서요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
ID는 Transactional 으로 rollback이 안되나요 ?
@Transactional 을 써주면Test 후에 data가 반영 되지 않고 rollback 되는거라고 이해했는데요,id 값은 계속 올라가는데 이건 왜그러는걸까요 ..?
-
미해결실전! 스프링 데이터 JPA
RESTful 강의는 안하시는 건지 궁금합니다.
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오)[질문 내용]안녕하세요 강사님.혹시 RESTful 내용에 대해서는 강의를 안하시는지 궁금합니다.제가 지식이 정말 얕고 좁지만 대학 프로젝트를 스프링부트로 진행하다 보면, 정말 어렵고 헷갈리고 갈팡질팡하게 되는 것이 RESTful 내용인 것 같습니다. 방금도 ResponseDTO를 어떻게 설정해야 할지 정답이 없으니 더 머리 아프고 어떻게 하는 것이 좋을까 고민하다가 금방 지쳐버리고 오는 길입니다.강사님이 RESTful에 대해 강의해주신다면 좋을 것 같아 질문글 남깁니다.메뉴얼은 안읽어봤습니다 죄송합니다.감사합니다.
-
해결됨김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션
HttpRequest 헤더 파싱 예제 의문점...
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]예제에서 요청 헤더를 파싱할때 ":" 문자를 기준으로 split 하는데요,이럴때 헤더 라인 중Host: localhost:12345여기서 value 부분에도 ":" 문자가 있어서 ["Host", "localhost", "12345"]배열로 split되고 파싱 과정에서 마지막 "12345" 부분이 소실되는데 문제가 없을까요?
-
해결됨(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
6:45 생성자가 있는지 없는지
유형2의 문제인데요. 생성자가 있는지 없는지 판단하는걸 어떻게 하는거죠?class가 있으면 생성자가 있는 거 아닌가요 ㅠ?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
@ManyToMany는 조인 테이블에 다른 데이터를 추가 관련
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]@ManyToMany는 조인 테이블에 단순히 연결 정보 외 다른 데이터를 추가하기 어렵다고 하셨는데 왜 어려운지... 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
일대일: 대상 테이블에 외래키 단방향
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]이 경우 Locker를 주테이블로 삶아서Member에 있는 Locker locker;를 삭제하고Locker에 Member member;를 추가하면 해결 되는게 맞을까요?!많이 헷갈리네요... 개념이 헷갈리지 않기 위해서는 몇 챕터를 다시 보면 좋을까요?!
-
미해결실전! 스프링 데이터 JPA
동적 테이블에 대한 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.궁금한게 있어서 질문 드립니다.테이블을 년도별로 나누어야 하는 경우예) person2025, person2026파티션 테이블도 있겠지만 장기적으로는 나눠야 한다면,이 경우 하나의 Entity로 테이블을 동적으로 변경 해서 사용하는 방법이 있는지 아니면 Native Query 쿼리로 하는지 실무에서는 어떻게 하는지 궁금합니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
혹시 이건 수학적 사고가 부족한 걸까요?
신발 사이즈를 5씩 증가시킨다고 할 때, 저는 단순히size 변수를 따로 만들어서 250을 저장하고, 그걸 또 배열 인덱스 0번에 저장하고, 그걸 5씩 더해주는 식으로 복잡하게 했는데 정답은 sizeOfshoe[i] = 250 + (5 * i);이 한줄로 끝나버리더라고요.아직 초보 단계라 그런건지 수학적 사고를 잘 못해서 그런지 궁금합니다. 감사합니다!