묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
inheritance startegy 선택시 고려사항
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]조인 전략 or 단일 테이블 전략 중 고민해서 맞는걸 사용한다고 하셨는데 기준이 있을까요?저 같은 경우도 현업에서 (jpa x) 조인 형식을 취할지 아니면 단일 테이블 형식을 선택할지는 강의에서 말씀하신 추후 확장성 및 데이터가 저장될 양 등 그냥 간단히 생각하고 정하는데 혹시 영한님만의 방법이 따로잇나요? 데이터를 많이 넣어보고 성능을 테스트 한다든지 어떤 방법을 사용해서 전략을 선택하시는지 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Entity 동등성 비교
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.Entity는 영속성 컨텍스트 내에서 동등성을 보장하니깐 equals 재정의할 필요 없이 그냥 == 비교 해도 되나요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
패키지 구분에 대해 궁금한게 있습니다
요즘은 domain별로 패키지를 나눈다고 들었는데 강의에서는 역할별로 패키지를 나누고 있어서요.어떻게 나누는게 좋은건가요?!\
-
미해결Spring Boot와 React로 배우는 초간단 REST API 게시판 만들기
스프링부트 서버 에러나요
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.2026-04-28T17:27:55.938+09:00 ERROR 27483 --- [prac] [ main] o.s.b.d.LoggingFailureAnalysisReporter :
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
RepositoryTest의 패키지 위치가 domain인 이유
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요, 영한님.ItemRepositoryTest 파일의 위치가 hello.iitemservice.repository가 아니라, hello.iitemservice.domain임을 확인했습니다.제 생각으로는 단순 패키지 구조 오타로 인해 domain에 위치된 것이라고 여겨지는데요. 혹시 의도적으로 domain 패키지 하위에 두신 건지 궁금합니다!
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
도메인 모델에서 관계와 규칙을 구분하는 방법
안녕하세요. 도메인 모델을 설명하는 부분에서 관계와 규칙을 온라인 서점 운영 예시로 간단히 언급해주셨습니다.강의를 들으면서 실제 업무 도메인에 관계와 규칙을 구분지으며 간단히 개인 실습을 해보았는데요.적다보니 어느샌가 관계에 규칙이 섞이기도 하더라고요. 문득 이런 생각이 들었습니다. '관계와 규칙의 차이는 무엇인가?'관계와 규칙을 명확하게 구분지으려면 어떤 기준을 갖고 생각해야할까요? 관계는, DB 모델에 워낙 익숙하다보니 하나의 OO은 여러 OOO을 갖는다. 이쪽으로 먼저 생각이 흐르기도 하고요. 예시로 들어주신 것을 보면 관계는, '비즈니스에서 관계'라는 생각이 듭니다. 규칙은 데이터를 변경할 때 필요한 조건이라고 생각하면 될까요?토비님 의견이 궁금합니다.
-
미해결RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
16 강의 메세지 retryCount의 의도
retryCount가 전역에서 작동하는것이 좀 수상하네요. 각 메세지의 retryCount를 세어야 할 것 같은데 저렇게 두면 혹시 메세지들이 들어오면 숫자가 마구 이랬다 저랬다 할 가능성은 없나요? 이를테면 메세지 두세개가 들어왔는데 첫번째는 실패 두번째 메세지 실패 세번째 성공 이런 경우 첫번째 메세지가 성공할때까지 sync하게 작동하여 완전 처리될때까지 두번째 메세지는 아예 실행되지 않는것인가요? 아니면 평행하게 동시에 실행되는거라 저 코드가 좀 잘못된 건가요?
-
해결됨Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기
JPA Repository 질문이 있습니다!
안녕하세요!기존 PostRepository를 사용하다가 JPA 도입으로 JpaPostRepository가 새로 생겼는데, JpaPostRepository 클래스에 재구현을 하기 위해 default 메서드를 추가했는데 그 방법이 아닌 PostRepositoryImpl 와 같은 구현체를 만들어서 구현해도 무방할까요? 실무에서는 어떤 방식이 더 자주 사용 되는지 궁금합니다.
-
해결됨Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기
페이지네이션 처리를 쿼리에서 하는 방식 질문
안녕하세요. 강의 잘 보고 있습니다.여기서 페이지네이션 구현을 values 데이터값을 가져와서 Java단 코드내에서 stream을 사용하여 페이징 처리를 하고 있는데, 만약 데이터를 DB에서 가져온 데이터라면 쿼리에서 페이징 처리(limit, offset)를 하는게 더 효율적일까요?
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
UserService, CertificationService 책임 분리 기준 질문
UserService 가 회원 생성이라는 유즈케이스를 담당하는데, 인증 url 생성이나 메일 발송 정책까지 함께 가지고 있기 때문에 책임이 섞여있다고 판단하여 CertificationService 를 분리하신걸까요? 단순히 외부 의존성 분리하려는 목적보다는 인증메일 정책 이라는 별도의 변경 이유를 분리하려는 의도가 맞는지 궁금합니다
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
실무 조언 관련 질문입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]실무 조언으로 묵시적 조인 대신 명시적 조인을 사용하라는 부분에 대해 질문이 있습니다. 단일 값 경로 표현식이나 컬렉션 값 경로 표현식을 사용하면 무조건 내부 조인이 발생하는데 명시적 조인을 쓰라는 것이 어떤 의미인지 잘 모르겠습니다. 어차피 발생할 조인을 겉으로 드러내서 내부 조인이 발생하는 지점이라도 명시하자 라는 의미로 말씀하신걸까요?아니면 다른 개선책이 있어서 명시적으로 조인을 사용하라고 하시는걸까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
sdk 설정 오류
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.이렇게 오류가 떠서 jdk oracle을 다운 받고sdk도 설정하고IVM도 설정했습니다. 자바 스프링 버전은 최신 버전인 4.0.5 대신 강의 자료에서 3.x인 최신버전을 선택하라길래 3.5.13.을 선택했습니다. 무슨 문제일까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
H2데이터베이스 파일 생성
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]H2 데이터베이스 파일 생성방법 강의자료에서는 저장된 설정이 server가 아닌 embedded로 되어있는데 어떤것을 따라야할까요?
-
미해결실전! Querydsl
SpringBoot 4.X에서의 Querydsl 설정
plugins { id 'java' id 'org.springframework.boot' version '4.0.5' id 'io.spring.dependency-management' version '1.1.7' id "com.ewerk.gradle.plugins.querydsl" version "1.0.10" } group = 'study' version = '0.0.1-SNAPSHOT' description = 'querydsl202604' java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-h2console' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-webmvc' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-data-jpa-test' testImplementation 'org.springframework.boot:spring-boot-starter-webmvc-test' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' // test 롬복 testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' // Querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor 'com.querydsl:querydsl-apt:5.0.0:jakarta' annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } clean { delete file('src/main/generated') } // querydsl 추가 def querydslDir = layout.buildDirectory.dir("generated/querydsl").get().asFile querydsl { jpa = true querydslSourcesDir = querydslDir } sourceSets { main.java.srcDir querydslDir } configurations { querydsl.extendsFrom compileClasspath } compileQuerydsl { options.annotationProcessorPath = configurations.querydsl }이렇게 하면 build 폴더에도 Q붙은 엔티티들 나오고요.테스트 코드 짤 때도 Q붙은 엔티티들 불러올 수 있습니다. 참고하세요.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
REQUIRES_NEW 해결 방법에 대해서 질문있습니다!!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]전체 롤백을 방지하기 위해 REQUIRES_NEW를 사용하면 된다고 하셨는데 그럼 Service의 트랜잭션과는 완전히 분리되는건가요??MemberRepository가 롤백이 발생해서전체 서비스가 롤백되야 하지만서비스가 호출한 LogRepository가 커밋을 하는 경우도 발생하지 않나요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
오탈자 - @Transactional
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. 영한님.프로젝트 환경설정 - JPA와 DB 설정, 동작확인 오탈자 제보합니다.강의에서는 Spring을 사용하고 있기 때문에Spring의 org.springframework.transaction.annotation.Transactional을 사용하셨지만수업자료는 jakarta.transaction.Transactional을 사용하고 있습니다.[1. 프로젝트 환경설정 | JPA와 DB 설정, 동작확인]import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.annotation.Rollback; import org.springframework.transaction.annotation.Transactional;import문 수정 내용입니다. 감사합니다.
-
미해결스프링부트를 이용한 웹 프로그래밍: 웹사이트 이렇게 만드는 거예요!
Dto와 Entity 사용 관련 질문
안녕하세요, 57강 관련 질문입니다. Dto 클래스를 완전히 없애버리고 Entity만 사용하는 건 불가능한 건가요? Entity가 DB 관련 어노테이션을 가지고 있다는 점을 제외하면 Dto 클래스와 굉장히 유사한 형태인데, 이 두 개를 왜 꼭 따로 정의하고 사용해야 하는 것인지 이해가 잘 안 갑니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
서브쿼리 강의에서 ALL 예시 관련 질문드립니다.
select o from Order o where o.orderAmount > ALL(select p.stockAmount from Product p)ALL 예제가 강의록에 위와같이 되어있던데요.이게 아래 sql 문처럼 서브쿼리에 MAX 적용한 거랑 동일한 결과를 내는 걸까요??select o from Order o where o.orderAmount > (select MAX(p.stockAmount) from Product p)
-
해결됨Spring Boot, AWS로 백엔드 서비스 한 사이클 완성하기
EC2 실습 중 docker-compose / docker ps 실행 시 권한 오류 문의
안녕하세요, 강사님.실습 자료대로 진행 중인데 EC2에서 docker-compose up -d, docker ps -a 같은 명령을 실행할 때 permission denied while trying to connect to the Docker daemon socket 오류가 발생해서 문의드립니다.확인해보니 현재 제 계정(ec2-user)은 docker 그룹에 포함되어 있지 않고, /var/run/docker.sock는 root docker 권한으로 되어 있어서 sudo를 붙여야만 명령이 실행되고 있습니다.혹시 강사님 실습 환경에서는 이미 docker 그룹 설정이 되어 있어서 sudo 없이 진행이 가능했던 것인지,아니면 제가 중간에 빠뜨린 설정 단계가 있는지 궁금합니다.현재는 sudo docker-compose up -d, sudo docker ps -a처럼 sudo를 붙이면 진행은 되는데,실습 의도상 계속 sudo를 사용해도 괜찮은지 확인 부탁드립니다.감사합니다.
-
미해결스프링부트를 이용한 웹 프로그래밍: 웹사이트 이렇게 만드는 거예요!
application.properties 작성 관련 질문
안녕하세요, 강의 잘 듣고 있습니다. '데이터베이스 연동하기 - I' 강의에서 application.properties 파일에spring.datasource.password=1234로 작성하셨는데, 실제로 프로젝트를 할 때에도 이렇게 비밀번호를 직접 노출하는 방식으로 작성을 하나요? 뭔가 비밀번호이다 보니 코드로 이렇게 노출시키면 안 될 것 같은 느낌이 들어서 궁금합니다!