inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

fetch join

미해결

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

[질문 내용] 강의를 보면 즉시로딩을 사용하면 값을 다 가져오기는 하나 N+1의 영향 때문에 그걸 막아주려고 사용하는게 fetch join인 것으로 이해하는데요 만약 이게 맞다면 강의 를 봣을때 즉시로딩을 사용하지말고 무조건 지연로딩만 사용 해야 한다면 fetch join은 즉시로딩을 쓸때만 쓰는거니 프로젝트를 할때에는 즉시로딩이 필요가 없으니 사용 할 필요가 없는건가요?

  • java
  • jpa
형종 댓글 1 좋아요 0 조회수 118

고아객체 질문입니다.

미해결

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

안녕하세요. 섹션 9-3 질문입니다. 고아 객체 주의할 점에 특정 엔터가 개인 소유할 때 사용하는 것인데, 개인 소유가 아니고 다른 엔티티가 참조할 때 문제가 있나요? 예를 들어 부모 엔터티를 삭제하면 고아객체인 자식 엔터티도 삭제가 될 텐데 어차피 삭제할 때 자식 엔터티의 id(pk)를 보고 삭제를 할텐데 다른 엔터티가 참조해도 영향이 없지 않나요? 감사합니다.

  • java
  • jpa
oniic 댓글 1 좋아요 0 조회수 72

강의자료 안열림

미해결

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

중급 강의자료만 이렇게 열리는 이유가 뭘까요??

  • java
  • 객체지향
ㅇㄱㅇㄱ 댓글 2 좋아요 0 조회수 142

강의자료 안열림

미해결

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

왜 강의 소스코드가 인텔리제이에서 안열리죠??? 중급만 안열리네요

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

반복문 강의 질문

해결됨

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

13분 10초대 코드 질문입니다! 이 코드에서 2단 출력 결과는 i=10일 때 2 * 10 = 20까지 출력하는게 맞을까요?

  • python
  • java
  • c
  • 정보처리기사
김강식 댓글 1 좋아요 0 조회수 178

폰트어썸이 안되요..

미해결

HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)

여기까지 작성하였는데 질문중에 폰트어썸관련질문보고 주신링크인 cdnjs.com 에 4.7버전이 없고 다6.대 버전입니다.. 또한 https://fontawesome.bootstrapcheatsheets.com/# 보내주셨던 링크에서 복사해서 썼지만 이렇게 아무것도 뜨지 않습니다ㅠㅠ

  • HTML/CSS
  • jquery
qorgksmf5151 댓글 2 좋아요 1 조회수 535

데이터베이스 이해와 실습 관련 오류 질문

미해결

기획자님 이 정도 웹 개발은 배워보면 어떨까요? [이론+실습]

안녕하세요~ 데이터베이스 이해와 실습 CRUD 실습을 진행하다가 오류로 인하여 다음차시 진행이 불가하여 질문드립니다. PS C:\Users\폴더이름\Desktop\database> node db.js Error: querySrv ENOTFOUND _mongodb._ tcp.cluster0.mongodb.net at QueryReqWrap.onresolve [as oncomplete] (node:internal/dns/promises:291:17) { errno: undefined, code: 'ENOTFOUND', syscall: 'querySrv', hostname: '_mongodb._ tcp.cluster0.mongodb.net ' 관련하여 챗GPT에 오류 내용을 검색해본 후 원인 및 해결방법에 대해 아래 내용을 얻을 수 있었는데요 인터넷 연결 확인: 인터넷 연결이 정상적으로 이루어지고 있는지 확인하세요. 특히, 네트워크에 제한이 있거나 프록시 서버를 사용하는 경우 문제가 발생할 수 있습니다. DNS 설정 문제: DNS 설정 문 제로 인해 _mongodb._tcp.cluster0.mongodb.net 도메인이 해결되지 않을 수 있습니다. DNS 서버를 Google Public DNS(8.8.8.8, 8.8.4.4)로 변경하여 문제가 해결되는 지 확인해보세요. Windows에서 DNS 설정 변경 방법: 제어판 > 네트워크 및 인터넷 > 네트워크 및 공유 센터 > 어댑터 설정 변경 으로 이동합니다. 사용 중인 네트워크 연결을 마우스 오른쪽 버튼으로 클릭하고 속성 을 선택합니다. 인터넷 프로토콜 버전 4 (TCP/IPv4) 를 선택한 후 속성 을 클릭합니다. 하단에 있는 다음 DNS 서버 주소 사용 을 선택하고, 8.8.8.8 과 8.8.4.4 를 입력합니다. 설정을 저 장하고 다시 시도해보세요. MongoDB Atlas의 클러스터 주소 확인: cluster0.mongodb.net 이 아니라 클러스터의 정확한 호스트명을 사용하고 있는지 확인하세요. MongoDB Atlas에서 클러스터의 연결 문자열을 다시 복사하여 확인하세요. Atlas UI에서 데이터베이스 > Connect > Connect Your Application을 선택하고, 제공된 연결 문자열을 확인하세 요. 예를 들어: bash 코드 복사 mongodb+srv://<username>:<password>@cluster0.mongodb.net/test?retryWrites=true&w=majority useUnifiedTopology 옵션 사용: 최신 버전의 MongoDB 드라이버를 사용하고 있는지 확인하고, useUnifiedTopology 옵션이 활성화되어 있는지 확인하세요. javascript 코드 복사 const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); 방화벽 또는 네트워크 제한: 회사 네트워크나 특정 ISP에서 DNS 쿼리 또는 MongoDB Atlas에 대한 연결을 제한할 수 있습니다. 이런 경우, 다른 네트워크(예: 휴대폰 핫스팟)에서 시도해보거나, 네트워크 관리자에게 문의하세요. SRV 레코드 대신 표준 연결 문자열 사용: SRV 레코드( mongodb+srv:// ) 대신 표준 MongoDB 연결 문자열( mongodb:// )을 시도해보세요. SRV 레코드를 지원하지 않는 네트워크 환경에서 표준 연결이 문제를 해결할 수 있습니다. 현재 회사에서 지급한 노트북으로 진행하여 보안상 문제가 있어 작업이 불가한건지.. 위 내용을 읽어봐도 명확하지 않아 질문드립니다.

  • HTML/CSS
  • javascript
  • vue.js
  • node.js
  • mongodb
  • 소프트스킬
yeji.kim27 댓글 1 좋아요 0 조회수 236

상속받지 않은 클래스 객체 생성

해결됨

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 예외 처리가 필요한 이유1 - 시작 강의 7분대에 NetworkServiceV0 클래스에서 sendMessage 메서드 안에 NetworkClinetV0 클래스 객체를 생성하는데 지금까지 배운 내용으로는 상속을 받지 않고서 저렇게 타 클래스의 객체를 생성하는 건 처음 봐서요! 그래서 찾아봤더니 이게 의존성 주입(DI)이라는데 제가 알맞게 이해한 것인지, 또한 이 기법에 대해서 추가적인 설명을 여쭤보고 싶습니다! 이전에 배운 내용인데 제가 모르고 있는 것은 아닌 거죠?

  • java
  • 객체지향
클레어몬트 댓글 2 좋아요 0 조회수 123

abstract 상속

해결됨

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

3분 50초 출력값을 봤을 때, 부모가 먼저 안태어나도 되는건가요?

  • python
  • java
  • c
  • 정보처리기사
꿈나무 댓글 1 좋아요 0 조회수 146

SSL설정하는 부분이 안보입니다.

해결됨

구글 애드센스 수익형 워드프레스 블로그 만들기

Security 부분에 SSL 설정하는 부분이 안보이는데 바뀐건가요? 설정한적에 없는데 설정이 되어있기는 합니다.

  • HTML/CSS
  • wordpress
  • php
  • 웹-디자인
  • 반응형-웹
명우 댓글 2 좋아요 1 조회수 272

진도 문의

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

104개 강의 다들은거 같은데, 103개 완료라고만 뜹니다. 확인 방법이 있을까요?

  • java
  • 코딩-테스트
kyujong.roh 댓글 1 좋아요 0 조회수 95

orderList() 관련 질문입니다

미해결

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

orderController - orderList()에서 파라미터로 @ModelAttribute("orderSearch") OrderSearch orderSearch를 바인딩하여 전달하는데, 이 orderSearch 객체가 어디서 객체를 가져와서 바인딩되는지 모르겠습니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
서현진 댓글 2 좋아요 0 조회수 179

for반복문을 임의로 바꿔 봤는데 오류가 나는 이유를 모르겠어요

미해결

김영한의 실전 자바 - 기본편

안녕하세요 실전 자바 기본편 섹션3 기본형과 참조형 문제와 풀이부분에서 for (int i = 0; i < orders.length; i++) { System.out.println((i + 1) + "번째 주문 정보를 입력하세요."); System.out.println("상품명: "); String productName = scanner.nextLine(); System.out.println("가격: "); int price = scanner.nextInt(); System.out.println("수량: "); int quantity = scanner.nextInt(); scanner.nextLine(); orders[i] = createOrder(productName, price, quantity); } for 반복문을 for(ProductOrder order : orders) { System.out.println("상품명을 입력하세요: "); String productName = scanner.nextLine(); System.out.println("가격을 입력하세요: "); int price = scanner.nextInt(); System.out.println("갯수를 입력하세요: "); int quantity = scanner.nextInt(); scanner.nextLine(); order = createOrder(productName, price, quantity); } 이렇게 고쳤봤더니 createOrder 메소드에서 order변수값이 null이라면서 오류가 나는데요.. 혹시 order변수에 null값이 들어가면서 오류가 나는 이유가 뭔지 알수있을까요?

  • java
  • 객체지향
nimbus 댓글 1 좋아요 0 조회수 116

영상 속 문제 파일 요청드립니다.

해결됨

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

선생님 안녕하세요. 오늘 재접수 했습니다. 열기가 대단한 지 두시간 반만에 집근처는 모두 마감이라 한시간 내외의 거리로 접수했어요 지난번에 요청드렸었던 내용으로 재 요청 드립니다. 영상에서 사용하신 문제를 다시 풀어볼 수가 없어서요(종이로 써가면서..) 영상 캡쳐도 안되더라고요 문제 모음집 파일 요청 드립니다.

  • python
  • java
  • c
  • 정보처리기사
이성미 댓글 1 좋아요 0 조회수 233

Scanner 문자열 (한글)

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

Scanner 함수 예제풀이중 문자열로 입력을 받게해야하는데 한글은 입력이 안됩니다 뭐가 문제일까요????

  • java
  • 객체지향
유동곤 댓글 2 좋아요 0 조회수 208

부모쓰레드 개념 질문입니다.

미해결

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

안녕하세요, 강의 중, 모든 쓰레드는 직접적으로 만들 수 없고 메인쓰레드에 의해서 생성이 된다고 하셨던 부분에 대해서 궁금한 점이 있어서 질문을 남깁니다. 자바 말고 스프링의 경우에도 1개의 메인쓰레드가 N개의 요청에 따른 스레드를 생성해주는 구조일까요? 요청당 1개의 스레드를 차지하는데 이 경우에는 어떻게 되는지 궁금합니다 ~

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
황보협 댓글 1 좋아요 0 조회수 210

자바 예외처리 할때 쓴 주석질문이요

해결됨

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 자바 예외 처리 하면서 본 주석이 궁금해 져서 질문을 남깁니다. 영한님이 throws을 보여주려고, 마우스에 callThrow() 된 것을 보고 (사진 참조) 다른것은 어떻게 될까 해서 그래서 다른 것도 마우스에 되보니, 사진처럼 되엇습니다. 보니까 초록색 주석이 이런 역할을 하더라고요. 그래서 궁금해진 점이 초록색 주석 처럼, 이런 식의 주석이 또 있나요? 그리고 영상을 보니까 단축키를 안쓰고, 타이핑을 하던데, 혹 단축키 같은 게 있을까요? 추가1 : 너무 유용해 보여서요. 추가2 : 글이 좀 너무 이상해서(도둑놈 심보..여서) 수정 하였 습니다. 답변 부탁 드립니다.

  • java
  • 객체지향
생각하는자 댓글 2 좋아요 1 조회수 343

MemberRepositoryTest 부분에서 오류가 나요

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 커뮤니티 보면서 같은오류들 따라해봤는데 잘 안되네요 오류코드: No matching tests found in any candidate test task. Requested tests: Test pattern jpabook.jpashop.MemberRepositoryTest.testMember in task :test * 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.10/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation. BUILD FAILED in 12s 4 actionable tasks: 1 executed, 3 up-to-date

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
나상민 댓글 3 좋아요 0 조회수 540

56강에 대한 질문입니다(BoundedMain).

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] package thread.bounded; import static util.MyLogger.log; public class ProducerTask implements Runnable { private BoundedQueue queue; private String request; public ProducerTask(BoundedQueue queue, String request) { this.queue = queue; this.request = request; } @Override public void run() { log("[생산 시도] " + request + " -> " + queue); log("[생산 완료] " + request + " -> " + queue); } } package thread.bounded; import static util.MyLogger.log; public class ConsumerTask implements Runnable { private BoundedQueue queue; public ConsumerTask(BoundedQueue queue) { this.queue = queue; } @Override public void run() { log("[소비 시도] ? <- " + queue); String data = queue.take(); log("[소비 완료] " + data + " <- " + queue); } } package thread.bounded; public interface BoundedQueue { void put(String data); String take(); } package thread.bounded; import java.util.ArrayList; import java.util.List; import static util.MyLogger.log; import static util.ThreadUtils.sleep; public class BoundedMain { public static void main(String[] args) { // 1. BoundedQueue 선택 BoundedQueue queue = new BoundedQueueV1(2); // 2. 생산자, 소비자 실행 순서 선택, 반드시 하나만 선택! producerFirst(queue); // 생산자 먼저 실행 //consumerFirst(queue); // 소비자 먼저 실행 } private static void producerFirst(BoundedQueue queue) { log("== [생산자 먼저 실행] 시작, " + queue.getClass().getSimpleName() + " =="); List<Thread> threads = new ArrayList<>(); startProducer(queue, threads); printAllState(queue, threads); startConsumer(queue, threads); printAllState(queue, threads); log("== [생산자 먼저 실행] 종료, " + queue.getClass().getSimpleName() + " =="); } private static void consumerFirst(BoundedQueue queue) { log("== [소비자 먼저 실행] 시작, " + queue.getClass().getSimpleName() + " =="); List<Thread> threads = new ArrayList<>(); startConsumer(queue, threads); printAllState(queue, threads); startProducer(queue, threads); printAllState(queue, threads); log("== [소비자 먼저 실행] 종료, " + queue.getClass().getSimpleName() + " =="); } private static void startProducer(BoundedQueue queue, List<Thread> threads) { System.out.println(); log("생산자 시작"); for (int i = 1; i <= 3; i++) { Thread producer = new Thread(new ProducerTask(queue, "data" + i), "producer" + i); threads.add(producer); producer.start(); sleep(100); } } private static void startConsumer(BoundedQueue queue, List<Thread> threads) { System.out.println(); log("소비자 시작"); for (int i = 1; i <= 3; i++) { Thread consumer = new Thread(new ConsumerTask(queue), "consumer" + i); threads.add(consumer); consumer.start(); sleep(100); } } private static void printAllState(BoundedQueue queue, List<Thread> threads) { System.out.println(); log("현재 상태 출력, 큐 데이터: " + queue); for (Thread thread : threads) { log(thread.getName() + ": " + thread.getState()); } } } package thread.bounded; import java.util.ArrayDeque; import java.util.Queue; import static util.MyLogger.log; public class BoundedQueueV1 implements BoundedQueue { private final Queue<String> queue = new ArrayDeque<>(); private final int max; public BoundedQueueV1(int max) { this.max = max; } @Override public synchronized void put(String data) { if (queue.size() == max) { log("[put] 큐가 가득 참, 버림: " + data); return; } queue.offer(data); } @Override public synchronized String take() { if (queue.isEmpty()) { return null; } return queue.poll(); } @Override public String toString() { return queue.toString(); } } C:\Users\lgh80\.jdks\temurin-21.0.4\bin\java.exe --enable-preview "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=52674:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\java-adv1\out\production\java-adv1 thread.bounded.BoundedMain 09:38:16.411 [ main] == [생산자 먼저 실행] 시작, BoundedQueueV1 == 09:38:16.413 [ main] 생산자 시작 09:38:16.424 [producer1] [생산 시도] data1 -> [] 09:38:16.425 [producer1] [생산 완료] data1 -> [] 09:38:16.531 [producer2] [생산 시도] data2 -> [] 09:38:16.532 [producer2] [생산 완료] data2 -> [] 09:38:16.642 [producer3] [생산 시도] data3 -> [] 09:38:16.642 [producer3] [생산 완료] data3 -> [] 09:38:16.752 [ main] 현재 상태 출력, 큐 데이터: [] 09:38:16.754 [ main] producer1: TERMINATED 09:38:16.754 [ main] producer2: TERMINATED 09:38:16.754 [ main] producer3: TERMINATED 09:38:16.755 [ main] 소비자 시작 09:38:16.757 [consumer1] [소비 시도] ? <- [] 09:38:16.757 [consumer1] [소비 완료] null <- [] 09:38:16.864 [consumer2] [소비 시도] ? <- [] 09:38:16.865 [consumer2] [소비 완료] null <- [] 09:38:16.974 [consumer3] [소비 시도] ? <- [] 09:38:16.975 [consumer3] [소비 완료] null <- [] 09:38:17.085 [ main] 현재 상태 출력, 큐 데이터: [] 09:38:17.085 [ main] producer1: TERMINATED 09:38:17.086 [ main] producer2: TERMINATED 09:38:17.086 [ main] producer3: TERMINATED 09:38:17.086 [ main] consumer1: TERMINATED 09:38:17.087 [ main] consumer2: TERMINATED 09:38:17.087 [ main] consumer3: TERMINATED 09:38:17.087 [ main] == [생산자 먼저 실행] 종료, BoundedQueueV1 == Process finished with exit code 0 이런 식으로 출력이 뜨는데 강의 내용에 나와있는 로그 창이랑 많이 달라서 강의 코드랑도 비교해봤는데 어디에서 문제가 있는 건지 잘 모르겠습니다.

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
lgh8079 댓글 2 좋아요 0 조회수 224

인기 태그

인프런 TOP Writers

주간 인기글