묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
컬렉션값 명시적 조인 질문드립니다
안녕하세요. 컬렉션값 명시적 조인에 대해서 select t.members.username from Team t 는 실패하고, select m.username from Team t join t.members m 은 성공한다고 하셨는데, 여기서 해당 jpql을 실행했을때 변환되는 SQL에 대해서 이해가 가지않는 부분이 있어서 구글링을 통해 찾아보면서 아래와 같이 정리해봤는데, 이렇게 이해하는게 맞을까요?? select t.members.username from Team t 형태로 하면 안된다. 대신에 select m.username from Team join t.members m 형태로 해야한다. select m.username from Team join t.members m를 실행하면 SELECT m.username FROM team t JOIN member m ON t.id = m.team_id 쿼리로 변환되서 실행된다.여기서,1.t.members가 member로 변환되는 이유는 컬렉션 필드 members의 제네릭 타입이 Member이기 때문이다. t.members는 Team 객체가 갖는 List<Member> 컬렉션이다. 이 컬렉션은 결국 Member 엔티티에 해당하는 테이블, 즉 member 테이블의 여러 행들을 의미한다. 따라서 JPA는 join t.members를 Member 엔티티 대상으로 join하는것으로 해석하고, SQL에서는 member 테이블로 변환된다. 2.ON t.id = m.team_id가 추가되는 이유는 Team의 members와 Member의 team이 연관관계인 상태이기 때문이다. 3.from 뒤에는 엔티티객체만 적을수 있는데, join 뒤에는 엔티티객체뿐만 아니라 엔티티객체의 연관필드도 적을수 있다. 하지만 이때는 반드시 경로표현식 형태인 .을 통해 나타내야한다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
단위테스트, 통합 테스트, 시스템 테스트...
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]제가 부트캠프에서 프로젝트를 진행할 때 테스트 코드를 짜긴 했었는데 거의 지식 없이 짰던지라 controller랑 service만 단위 테스트로 짰고 통합 테스트는 안 했습니다.단위 테스트는 class 단위 어노테이션에 SpringBootTest를 안 쓰는게 맞는건가요? 제가 그렇게 했었거든요.@SpringBootTest는 통합 테스트일 때만 쓰는 건지, 어떤 경우에 쓰는 어노테이션인 지 궁금합니다.
-
해결됨(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
9강 반복문+조건문 문제풀이 강의 중 20분대
안녕하세요 강의 듣다가 질문 남기게 되었습니다제목대로 20분대에서 이중 for문 문제에 대한 질문점이 있습니다.i=3일때, j는 1, 2, 3일때로 설명해주셨는데, 3의 배수이면 j는 4까지도 가능하니 한개 더 카운트가 되야하는게 아닐까요? 제 짤막한 지식으로는 이해가 안되서 질문드립니다..ㅎㅎ 감사합니다
-
해결됨토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
도메인 모델의 화살표는 특별한 의미가 있을까요?
draw.io에서 도메인 모델을 설명해주시는 부분에 대해서 질문드립니다.도표의 다른 선들은 모두 화살표가 없는데, 수강은 회원과 강의 모델로 화살표가 있어서 어떤 의미인지 궁금합니다.
-
미해결김영한의 실전 자바 - 중급 2편
개 타입 반환 시 set?
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]AnimalHospitalMainV0의 개 타입 반환 주석 밑에dogHospital.set(dog);을 또 하는 이유가 있나요?개 병원 주석 밑에 dogHospital.set(dog);가 이미 있는데 중복이 아닌지..??
-
해결됨(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
이론 통합 파일 10페이지에서 MUI?
이론 통합 파일 10페이지에서6.화면설계 에 3번!메뉴를 기반으로 작업할 수 있는 환경은?답이 MUI(Menu User Interface)라고 되어있던데, MUI가 아니고 GUI 아닌가요??ㅠㅠ
-
해결됨(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
같지만 다른 것들 8:40 질문이 있습니다.
예제에서는 equals 함수를 새로 만들어서 person1과 person2를 비교하는 상황이라 true가 나오는 것으로 이해했습니다.그럼 equals 함수를 따로 만들지 않은 상태에서 person1과 person2를 equals로 비교하면 그 경우에는 true가 나오나요 false가 나오나요?
-
해결됨(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
상속질문
디폴트 생성자 호출할때 질문있습니다.예를들어부모 클래스자식클래스메인클래스이런식으로 구성되어있다고할때 메인에서 자식의 디폴트생성자를호출하면 1.먼저 부모 클래스의 디폴트생성자를호출하고2.자식클래스의 디폴트 생성자를 호출하지않습니까?3.그후에 메인으로 다시돌아가고요. 근대 여기서 자식클래스 디폴트생성자 내용에 super();이렇게 되어있으면부모 디폴트-자식디폴트-부모디폴트-메인이런식으로 되나요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
프로젝트 생성의 실행
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/[질문 내용]여기에 질문 내용을 남겨주세요.질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/ 프로젝트 생성의 13:24의 실행이 되지 않습니다.Cause: class java.util.concurrent.ExecutionException cannot be cast to class java.lang.RuntimeException (java.util.concurrent.ExecutionException and java.lang.RuntimeException are in module java.base of loader 'bootstrap')java.lang.IllegalArgumentException: Could not create problems-report directory '/build/reports/problems'* Try:> Run with --stacktrace option to get the stack trace.> Run with --info or --debug option to get more log output.> Run with --scan to get full insights.> Get more help at https://help.gradle.org.Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.For more on this, please refer to https://docs.gradle.org/8.13/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.BUILD FAILED in 55ms1 actionable task: 1 executed 두가지의 오류가 뜨는데 어떻게 해결해야할까요?
-
해결됨(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
4:02 반복문 질문입니다
for문에서 i가 14가 되는 순간 널문자를 만나서 for문을 빠져나오게 되는데 메인함수에서 i를 따로 초기화한 값이 없기 때문에 i에 14가 유지되어서 myCar.mode[i] = '\0'; 이 식에 14가 들어가게 되는건가요?for문을 빠져나오는 순간 i는 따로 초기화가 되는 것이 아닌가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JUnit5 테스트시 DB 구동
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]현재 주문 기능 테스트에서 JUnit5를 이용하여 테스트 중입니다. 앞선 강의(회원 기능 테스트)에서 JUnit으로 테스트할때 메모리 DB 사용한다고 application.yml 을 test 쪽에 복사해서 사용할때도 url: jdbc:h2:mem:testdb 부분을 주석해도 돌아간다고 했었던 것으로 기억이 납니다. 그래서 TEST 시에는 DB를 연결 안해도 무방하다고 생각하고 있었는데요.오늘 주문 기능 테스트시 DB 끄고 했더니 에러가 나서 DB 연결했더니 정상적으로 동작합니다. TEST에서도 DB를 연결해주어야 하는 걸까요?
-
해결됨(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
함수와 재귀함수 (v2) 내용 배열 관련 질문
안녕하세요 함수와 재귀함수 (v2) 내용 중에 23:33 대신 주소값은 배열의 첫번째를 가리킬 것이다 라는 것만 알고 계시면 되겠습니다 여기서 배열의 첫번째 줄을 가르킨다고 말씀 하셨는데여 그러면 배열의 첫번째면 t 를 가르키게 되는데 여기서 출력할 때 %s(문자열)을 출력 하라고 해서 출력 값이 this is string2 인가요? 그러면 만약 %c를 출력 하라고 하였을 때 문자열 첫번째인 t 를 출력하면 되는건가요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
헥사고날 아키텍처에서 Specification 패턴과 Strategy 패턴을 함께 사용하는 것이 적절할까요?
안녕하세요, 토비님 강의 정말 잘 보고 있습니다.하나 궁금한 점이 있어서 질문드립니다.헥사고날 아키텍처(Hexagonal Architecture)를 도입할 때, Specification 패턴과 Strategy 패턴을 함께 사용하는 것에 대해 어떻게 생각하시나요?좋은 선택이 될 수 있을지, 아니면 둘 중 하나만 선택해서 사용하는 것이 더 나은 접근일지 고민하고 있습니다.두 패턴을 함께 사용하는 사례나 장단점에 대해 조언해주시면 감사하겠습니다.
-
해결됨(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
57:26에 포인터 관련 질문입니다
maxVal 함수에서 int *arr이 배열을 가져옴으로써 arr은 1의 주소를 갖게되는데int max = maxVal(arr, size-1); 에서int max = maxVal(1의주소, 4);가 되면 그다음 maxVal( ,3); 여기에서 앞 부분에 뭐가 들어가게 되는 건가요? 그리고 어떻게 배열이 계속 들어가게 되나요?
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
likeCount, viewCount 등을 처음부터 같이 생성하지 않는 이유가 있을까요?
학습 관련 질문을 최대한 상세히 남겨주세요!고민 과정도 같이 나열해주셔도 좋습니다.먼저 유사한 질문이 있었는지 검색해보세요.인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.안녕하세요! 수업 잘 듣고 있습니다.댓글 수나 조회수 쪽에서,likeCount, viewCount가 없는 경우 init을 통해 생성해주는 방식을 사용하고 있는데, 처음부터 게시글과 게시글의 조회수 객체를 같이 생성하는 방식을 사용하지 않는 이유가 있을까요?게시글이 있다면 게시글 조회수 객체도 같이 존재하고, 이 둘의 객체 생명주기는 같아야 한다고 생각하는데,강의가 순차적으로 진행됨에 따라 이전에 db에 생성된 값들이 존재하기 때문에 이렇게 하신건지 궁금합니다!! 그리고 처음부터 같이 생성할 수 있다면 다른 프로젝트에서 그 방법을 선택하는 게 나을까요? 감사하빈다!!
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
이건 문제가 너무 모호한거같은데, 실제로 코딩테스트에서도 이렇게 설명해주나요?
문제 아무리 붙잡고 있어도 다 틀렸다고 나오길래 보니까 아예 다른 얘기를 하고 계셨네요. 지금 예시는 정확히 문자열과 특수문자가 대칭하는 예시만 있는데, 저것만 봐서는 문제가 되게 모호하네요. 원래 이런식으로 예시를 보여주나요? 잘 몰라서요.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
기본 키 매핑
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]jpa 를 사용할때 id 값으로 영속성 컨텍스트를 분별하는데 사용하기 떄문에 persist 할때 미리 insert 쿼리를 사용하는걸로 알고 있는데 그럼 다른 트랜잭션 단위에서 동일한 행위를 하면 이미 auto_increment로 값이 올라가 있는 상태에서 다른 트랜잭션 작업 단위가 rollback 하게 되면 그럼 auto_increment 가 중간에 값이 비게 되는건가요? 비게 된다면 데이터가 삭제되거나 문제가 있다고 인식할수 있을것 같은데? 이럴때는 어떻게 하나요?
-
해결됨윤파고의 정보처리기사 DB/프로그래밍 All-In-One
6:07
업데이트 명령어 설명해주실때 name=test 라고 되어있는데 test에 작은따옴표가 붙어야되는거 아닌가요?? 다른 예시에서는 그렇게 나와서요.
-
해결됨(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
조건문 반복문 예제 마지막 문제 28:34
해당 문제는 코드를 i, j=1부터 노가다로 푸는게 아니라, 코드해석으로 풀어서 결과값이 i=10, j=21이렇게 바로 나오는걸까요?
-
해결됨기초 탄탄! 독하게 시작하는 Java - Part 2 : OOP와 JVM
String 객체가 하나 더 생성되는 이유가 궁금합니다
강사님 안녕하세요."[실습] MyString 클래스 생성자 다중 정의" 강의 6:21 설명에서 생성자에서 this.setString(param)을 실행할 경우, String 객체가 하나 더 생성된다 하셨습니다.저는 여기서 param이 객체 참조를 넘겨주어서 따로 객체가 생성되지 않을 것이라 생각했는데 혹시 어떤 이유로 생성되는지 궁금합니다.