inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

엔티티 조회와 fetch join 의 경우 이런 상황일 때 유의하여 사용하면 될까요?

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 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 을 사용하면 되는건가요?

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

스프링부트 부분은 리뉴얼되진 않은건가요?

미해결

코드로 배우는 React 19 with 스프링부트 API서버

안녕하세요. 강의가 리뉴얼 되었다고 해서 다시 보고있습니다. 리뉴얼 해주셔서 감사합니다. 혹시 리액트 부분만 리뉴얼 되고 스프링부트 부분은 리뉴얼 된 부분이 없는건가요? 감사합니다.

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
tjdwnsdks 댓글 1 좋아요 0 조회수 109

const 변수와 컴포넌트의 차이

미해결

만들면서 배우는 리액트 : 기초

안녕하세요, 강의 잘듣고 있습니다. const 변수로 선언된 태그를 컴포넌트화 시키셨는데 const와 컴포넌트의 차이가 궁금합니다! 즉, const는 변수이고 컴포넌트는 함수라고 인지하면 되는지 궁금합니다. 답변 부탁드려요. 감사합니다.

  • javascript
  • react
  • const
  • 컴포넌트
비버러버 댓글 1 좋아요 0 조회수 107

iOS 가상키보드 대응

미해결

웹 개발자의 연봉을 올려주는 하이브리드앱 with Expo 프레임워크

iOS 디바이스에서 input 요소에 포커스가 되면 가상키보드가 나타나면서 다음과 같은 문제가 발생합니다: 문제 상황 : 가상키보드가 올라오면서 웹뷰의 전체 document가 위로 이동 position: fixed 로 설정한 헤더, 바텀 버튼 등의 엘리먼트들이 함께 올라가면서 고정 위치를 유지하지 못함 시도해본 해결방법 : 가상 인풋(virtual input) 방식 적용 → 효과 없음 Visual Viewport API 활용 → 해결되지 않음 질문 : 이 문제를 해결할 수 있는 효과적인 방법이 있을까요? 특히 iOS Safari 웹뷰 환경에서 position: fixed 엘리먼트가 가상키보드의 영향을 받지 않고 제자리를 유지할 수 있는 방법을 찾고 있습니다.

  • react
  • react-native
  • next.js
  • expo
프롱이 댓글 1 좋아요 0 조회수 799

인터럽트 상태에 대하여

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, 인터럽트 - 시작 2 강의를 수강하다 궁금한 점이 생겨 여쭤보게 되었습니다. 강의 내용 중 'work 스레드는 TIMED_WAITING 상태에서 RUNNABLE 상태로 변경되고 InterruptedException 예외를 처리하면서 반복문을 탈출한다. work 스레드는 인터럽트 상태가 되었고, 인터럽트 상태이기 때문에 인터럽트 예외가 발생한다. 인터럽트 상태에서 인터럽트 예외가 발생하면 work 스레드는 다시 작동하는 상태가 된다. 따라서 work 스레드의 인터럽트 상태는 종료된다. work 스레드의 인터럽트 상태는 false로 변경된다.' 부분에 대해 여쭤보고 싶습니다. 전반적인 내용은 이해가 되는데, '상태' 라는 표현에 대해 이해가 잘 되질 않습니다. 앞 부분 스레드 생명 주기에서 스레드의 상태는 new, runnable, blocked, waiting, timed_waiting, terminated가 있다고 학습했는데, 여기에서 나오는 '인터럽트 상태'는 스레드의 생명 주기에 등장하는 상태와는 독립적으로 봐야하는 상태일까요 ? '인터럽트 상태'가 스레드의 생명 주기에서 등장하는 스레드의 상태 중 하나인지 혼동되어 여쭤봅니다.

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

OrderServiceTest에서 assertTrhwos 질문이 있습니다~

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. Junit5로 assertThrows테스트를 하고 있습니다. 원래는 다른 분들처럼 assertThrows만 작성했습니다. (리턴 없는 형태) 테스트는 성공하는데 에러 로그가 전~혀 하나도 뜨지 않습니다. 고민하다가 에러 내용을 받아서 soutv로 뿌려줘서 확인했습니다. assertEquals로 비교하는게 맞나요? 아니면 제가 모르는 Junit5 사용법이 따로 있는건지요? gpt, 구글 등등 다 검색해봐도 답을 알 수 없어서 고민하다가 질문 올립니다. 조언 부탁드립니다 감사합니다~

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
김아란 댓글 1 좋아요 0 조회수 68

문제와 풀이 코드

미해결

김영한의 실전 자바 - 중급 1편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 혹시 이렇게 코드 작성하는 것도 문제가 없을까요? 만약 년, 월, 일이 모두 바뀌는 거라면 더 간단하게 될 거 같아서요.

  • java
  • 객체지향
minongy (minongy) 댓글 1 좋아요 0 조회수 74

ID는 Transactional 으로 rollback이 안되나요 ?

미해결

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

@Transactional 을 써주면 Test 후에 data가 반영 되지 않고 rollback 되는거라고 이해했는데요, id 값은 계속 올라가는데 이건 왜그러는걸까요 ..?

  • java
  • spring
  • mvc
  • spring-boot
혜진 댓글 1 좋아요 0 조회수 90

RESTful 강의는 안하시는 건지 궁금합니다.

미해결

실전! 스프링 데이터 JPA

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (아니오) [질문 내용] 안녕하세요 강사님. 혹시 RESTful 내용에 대해서는 강의를 안하시는지 궁금합니다. 제가 지식이 정말 얕고 좁지만 대학 프로젝트를 스프링부트로 진행하다 보면, 정말 어렵고 헷갈리고 갈팡질팡하게 되는 것이 RESTful 내용인 것 같습니다. 방금도 ResponseDTO를 어떻게 설정해야 할지 정답이 없으니 더 머리 아프고 어떻게 하는 것이 좋을까 고민하다가 금방 지쳐버리고 오는 길입니다. 강사님이 RESTful에 대해 강의해주신다면 좋을 것 같아 질문글 남깁니다. 메뉴얼은 안읽어봤습니다 죄송합니다. 감사합니다.

  • java
  • spring
  • spring-boot
  • jpa
Alal11 댓글 2 좋아요 0 조회수 175

HttpRequest 헤더 파싱 예제 의문점...

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 예제에서 요청 헤더를 파싱할때 ":" 문자를 기준으로 split 하는데요, 이럴때 헤더 라인 중 Host: localhost:12345 여기서 value 부분에도 ":" 문자가 있어서 ["Host", "localhost", "12345"] 배열로 split되고 파싱 과정에서 마지막 "12345" 부분이 소실되는데 문제가 없을까요?

  • java
  • 네트워크
  • 객체지향
정신차려 댓글 1 좋아요 0 조회수 118

6:45 생성자가 있는지 없는지

해결됨

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

유형2의 문제인데요. 생성자가 있는지 없는지 판단하는걸 어떻게 하는거죠? class가 있으면 생성자가 있는 거 아닌가요 ㅠ?

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

6.3 ~ 6.4 search 페이지에서 문제가 있습니다.

해결됨

한 입 크기로 잘라먹는 Next.js

import BookItem from "@/app/components/book-item"; import BookListSkeleton from "@/app/components/skeleton/book-list-skeleton"; import { fetchSearchBooks } from "@/app/lib/fetch-search-books"; import { Suspense } from "react"; // export const dynamic = "force-dynamic"; // 특정 페이지 유형을 강제로 설정하는 dynamic 세그먼트 옵션 // 1. auto - 아무것도 강제하지 않는 옵션, 기본형 // 2. force-dynamic - dynamic 페이지를 강제하는 옵션 // 3. force-static - static 페이지를 강제하는 옵션 // 4. error - static 페이지를 강제하지만 이로 인해 오류가 발생할 것으로 예상되면 빌드과정에서 오류를 발생하는 옵션 async function SearchResult({ q }: { q: string }) { const searchBooks = await fetchSearchBooks(q); return ( <> {searchBooks.map((book) => { return <BookItem key={book.id} {...book} />; })} </> ); } export default async function Page({ searchParams, }: { searchParams: { q?: string }; }) { return ( <Suspense fallback={<BookListSkeleton count={3} />}> <SearchResult q={searchParams.q || ""} /> </Suspense> ); } 스켈레톤 UI를 적용하고 있는데 속도를 3g로 하고 새로고침을 해도 Suspence가 작동하지 않고 페이지가 랜더링 됩니다. 그리고 터미널에서 이런 에러가 발생하고 있습니다. Error: Route "/search" used `searchParams.q`. `searchParams` should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis at Page (src/app/(with-searchbar)/search/page.tsx:31:37) 29 | return ( 30 | <Suspense fallback={<BookListSkeleton count={3} />}> > 31 | <SearchResult q={searchParams.q || ""} /> | ^ 32 | </Suspense> 33 | ); 34 | } GET /search?q=%ED%95%9C 200 in 47ms SearchResult가 서버 컴포넌트로 만들어져 있어서 서버에서 이미 만들어 가져오기 때문에 fallback이 적용되지 않는건가요? SearchResult를 클라이언트 컴포넌트로 바꿔야지 해결되는 문제인가요?

  • react
  • typescript
  • next.js
wl990 댓글 2 좋아요 0 조회수 166

@ManyToMany는 조인 테이블에 다른 데이터를 추가 관련

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] @ManyToMany는 조인 테이블에 단순히 연결 정보 외 다른 데이터를 추가하기 어렵다고 하셨는데 왜 어려운지... 궁금합니다.

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

클라이언트 컴포넌트 렌더 시점에 대한 질문

해결됨

한 입 크기로 잘라먹는 Next.js

궁금한 내용 "NextJS에서 클라이언트 컴포넌트도 SSR을 수행하는데, 상호작용이 불가능한 정도의 SSR을 수행하여 리액트 트리를 구성하여 HTML을 만들고, HTML과 함께 클라이언트에 자바스크립트 번들 형태(하이드레이션 용도)로 전달된다." 라고 알고 있는데 맞는 말일까요? 그렇다면, '첫 페이지 로드 시'에만 1번과 같이 동작하고 첫 페이지가 아닌 '다른 페이지'에 들어갈 땐 CSR처럼(JS번들을 클라이언트에게 전달하여 브라우저 단에서 리액트 생명주기 시작) 동작한다면, 강의 중 나온 SearchBar 컴포넌트는 빌드 단계에 렌더링되는 컴포넌트 안에 있다하더라도 CSR될 것인데 Suspense로 래핑하여 클라이언트 단에서 렌더링이 되게끔 강제할 필요가 없지 않나요? 클라이언트 컴포넌트로 선언된 페이지 컴포넌트(create 페이지)가 next/link를 통해 프리패칭된 것을 네트워크 탭을 통해 확인했습니다. 다만, 클라이언트 페이지 컴포넌트 임에도 RSC Playload로 가져온 것을 확인했는데, 이것은 왜 그런 걸까요? 첫 페이지 로드 이후 페이지 이동 시에 CSR로 동작한다하더라도 진입하는 페이지의 RSC Payload와 JS번들은 주기적으로 서버로부터 가져와야하지 않나요? 아래의 그림에는 JS 실행 전에 서버로부터 가져오는 단계가 보이지 않는데 프리 패칭 과정이 생략된 걸까요?

  • react
  • typescript
  • next.js
김진우 댓글 2 좋아요 0 조회수 68

일대일: 대상 테이블에 외래키 단방향

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 이 경우 Locker를 주테이블로 삶아서 Member에 있는 Locker locker;를 삭제하고 Locker에 Member member;를 추가하면 해결 되는게 맞을까요?! 많이 헷갈리네요... 개념이 헷갈리지 않기 위해서는 몇 챕터를 다시 보면 좋을까요?!

  • java
  • jpa
Wendy Wendy 댓글 2 좋아요 0 조회수 101

expo, cli 선택 중 고민이있습니다..

해결됨

아바타 커뮤니티앱 만들기 (React Native Expo)

안녕하세요, 강사님. 좋은 강의 감사히 듣고 있습니다! 현재 실제 앱 출시를 목표로 개발을 시작하려고 하는데, Expo와 CLI 중 어떤 방식으로 진행할지 고민 중입니다. 공식 문서에서도 Expo를 권장하고 있고, Prebuild 기능 덕분에 대부분의 네이티브 라이브러리도 사용할 수 있고, 성능 최적화도 많이 이루어진 것으로 알고 있습니다. CLI와 Expo 사이의 런타임 성능이나 최종 번들 용량 차이에 대한 정확한 비교 자료가 부족해 선택이 쉽지 않은 상황입니다. 강사님께서 CLI와 Expo를 모두 사용해보셨을 때, 두 방식 간에 실제 체감되는 성능이나 앱 용량 차이가 유의미했는지 궁금합니다. 만약 차이가 크다면 CLI를 선택하는 쪽이 맞을 것 같기도 한데, 강사님의 의견이 듣고 싶습니다. 감사합니다!

  • javascript
  • react
  • react-native
  • typescript
  • react-query
freshour 댓글 2 좋아요 1 조회수 136

동적 테이블에 대한 질문

미해결

실전! 스프링 데이터 JPA

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 궁금한게 있어서 질문 드립니다. 테이블을 년도별로 나누어야 하는 경우 예) person2025, person2026 파티션 테이블도 있겠지만 장기적으로는 나눠야 한다면, 이 경우 하나의 Entity로 테이블을 동적으로 변경 해서 사용하는 방법이 있는지 아니면 Native Query 쿼리로 하는지 실무에서는 어떻게 하는지 궁금합니다.

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

제가 빌드한 앱이 실행되지 않아요

미해결

React Native with Expo: 제로초에게 제대로 배우기

npm ls react "react": "19.0.0", npm ls react-native "react-native": "0.79.2", npm ls expo = "expo": "~53.0.9", 문제: expo go 앱에서 제가 빌드한 앱을 실행하면 로딩이 계속되다가 위와 같은 화면이 뜹니다. 터미널에서도 에러를 찾을 수 없어서 이렇게 질문 드립니다.

  • react
  • react-native
  • 하이브리드-앱
  • typescript
  • expo
changseog8701 댓글 1 좋아요 0 조회수 133

혹시 이건 수학적 사고가 부족한 걸까요?

미해결

나도코딩의 자바 기본편 - 풀코스 (20시간)

신발 사이즈를 5씩 증가시킨다고 할 때, 저는 단순히 size 변수를 따로 만들어서 250을 저장하고, 그걸 또 배열 인덱스 0번에 저장하고, 그걸 5씩 더해주는 식으로 복잡하게 했는데 정답은 sizeOfshoe[i] = 250 + (5 * i); 이 한줄로 끝나버리더라고요. 아직 초보 단계라 그런건지 수학적 사고를 잘 못해서 그런지 궁금합니다. 감사합니다!

  • java
  • 객체지향
geforce3080ti 댓글 2 좋아요 0 조회수 181

const filteredToDos = getFilterData() 호출하는 유

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

강의 내용중 12분 00초 정도에 나옵니다. const filteredToDos = getFilterData(); 리랜더링 될 때마다, 해당 함수를 호출하여 결과값을 저장하라는데,,, 이게 무슨말일까요 ???

  • javascript
  • react
  • node.js
정예은 댓글 2 좋아요 0 조회수 115

인기 태그

인프런 TOP Writers

주간 인기글