묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결백엔드 개발자 성능 개선 초석 다지기
nGrinder 실습 중 발생하는 오류
nGrinder에서 script를 작성하고 validate하면 정상적으로 수행 되는 것이 아닌 아래와 같은 오류가 발생합니다.구글링을 통해서 얻은 정보로는 자바 11버전을 사용하라 하였지만 현재 자바 11 버전을 사용하고 있기에 기존에 다른 분들의 오류 해결과는 맞지 않아 질문을 남깁니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
메서드 구현부 이동
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. 컴포넌트 스캔과 자동 의존관계 설정 영상 학습중 강사님은 메서드에 파란 밑줄이 그어져 클릭하면 구현부로 바로 이동 하는 걸 봤는데 제 인텔리제이 코드에는 밑줄이 그어지지 않아 클릭을 해도 이동이 안됩니다. 저는 command + b 단축키로 이동하는데 혹시 저렇게 뜨게 할려면 어떻게 해야 하는지 알 수 있을까요저는 ultimate 버전을 사용중인데도 안 뜨네요
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
객체지향 코드
안녕하세요, 강사님 덕분에 자바를 공부하는데 조금 수월해진 수강생입니다.객체지향을 공부하면서 자신이 작성한 코드가 정말 좋은 코드인지 항상 보는데 어떤건 바로 눈에 띄는데 어떤건 바로 눈에 안 띄어 작성한 코드가 좋은 코드인지 잘 판단하기 어려운 단계에서는 어떻게 스스로 리뷰를 해야 좋은지 여쭙고싶습니다
-
해결됨김영한의 실전 자바 - 기본편
중급편 완강 후 스프링
방금 중급편 오픈 예정 글을 보고 왔습니다!혹시 중급편에서 예외처리와 제네릭 컬렉션에 관해서 공부 후에 고급편 듣지 않고 바로 스프링으로 넘어가도 되나요?!
-
미해결실전! Querydsl
QueryDSL 환경 설정 질문
안녕하세요, QueryDSL 환경 설정 관련하여 질문드립니다.사진과 같이 QueryDSL 관련한 라이브러리들을 받기 위해 설정했는데요. build.gradle 새로고침을 아무리해도Gradle -> Tasks -> other -> compileQuerydsl에서 compileQuerydsl이 보이지 않습니다. 문제가 뭘까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
연관관계 편의메서드 개인질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 있긴한데 좀 다릅니다3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]연관관계 편의메서드와 관련된 질문입니다.public void setMember(Member member) { this.member = member; member.getOrders().add(this);}public void addOrderItem(OrderItem orderItem) { orderItems.add(orderItem); orderItem.setOrder(this);}public void setDelivery(Delivery delivery) { this.delivery = delivery; delivery.setOrder(this);}공부하던 도중 일대다, 다대일, 일대일 연관관계 매서드가 모두 다른 것을 발견했습니다. 제 궁금증은 다대일에서는 왜 meber.getOrders().add(this)로 세팅하고 일대일이나 다대일에서는 orderItem.setOrder(this)로 세팅하는지 궁금한 것 입니다.커뮤니티에 관련 질문을 찾던 도중 jpa 기본편을 보시라고 하셨는데 위치를 못 찾겠습니다. 알려주시면 감사하겠습니다.추가로 제가 자바의 List의 메소드에 대한 이해가 부족해서 모르는가 싶기도 한데 그게 맞을까요?
-
미해결김영한의 실전 자바 - 기본편
클래스와 인스턴스
클래스와 데이터 챕터에서클래스를 커스텀 데이터 구조, 그리고 인스턴스를 데이터 구조를 메모리에 올려 놓은 실체라고 이해해도 괜찮을까요? 제 표현에 제가 이해하지 못한 부분이 있지 않을까해서 질문드립니다.
-
해결됨스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
html의 name을 보고 어떻게 member.java가 아닌memberform.java의 name으로 연결을 시켜주는건가요??
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]어떻게 creatememberform.html의 name만 보고 스프링이 controller의 memberform name필드에 넣어줄수 있는것인지 궁금합니다. domain의 member.java에도 같은 이름의 name 필드가 있는데 이것도 같은 private 변수여서요.. package hello.hellospring.domain; public class Member { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
-
미해결자바 동시성 프로그래밍 [리액티브 프로그래밍 Part.1]
interrupt() 강의 보다 정말 궁금한게 생겨서 문의 남깁니다.
안녕하세요 강사님강의를 듣다가 이상한 것을 발견하여 문의 드립니다. Java Thread Fundamentals - 스레드 기본 API > interrupt() 강의중 InterruptExample 부분의 샘플 코드를 작성하고 테스트 및 정리를 하고 있습니다. 제가 현업에서 사용하는 JDK 11 을 사용해서 연습중에 이상한 현상을 발견하였습니다.JDK 17에서는 문제 없음을 확인하였습니다. 먼저 코드 구현체 부분입니다.public class TreadInterrupt { public static void main(String[] args) throws InterruptedException { Thread t1 = new Thread(() -> { System.out.println("thread 1 start"); System.out.println("thread 1 isInterrupted() = " + Thread.currentThread().isInterrupted()); }); Thread t2 = new Thread(() -> { System.out.println("thread 2 start"); t1.interrupt(); System.out.println("thread 1 isInterrupted() = " + t1.isInterrupted()); System.out.println("thread 2 isInterrupted() = " + Thread.currentThread().isInterrupted()); }); t2.start(); Thread.sleep(1000); t1.start(); t1.join(); t2.join(); System.out.println("작업 완려"); } } Thread#interrupt(), Thread#isInterrupted() 의 jdk 11과 17 버전입니다. // jdk 11 public class Thread { public boolean isInterrupted() { return isInterrupted(false); } @HotSpotIntrinsicCandidate private native boolean isInterrupted(boolean ClearInterrupted); public void interrupt() { if (this != currentThread()) { this.checkAccess(); synchronized(this.blockerLock) { Interruptible b = this.blocker; if (b != null) { this.interrupt0(); b.interrupt(this); return; } } } this.interrupt0(); } private native void interrupt0(); } // jdk 17 public class Thread { private volatile boolean interrupted; public boolean isInterrupted() { return interrupted; } public void interrupt() { if (this != Thread.currentThread()) { checkAccess(); // thread may be blocked in an I/O operation synchronized (blockerLock) { Interruptible b = blocker; if (b != null) { interrupted = true; interrupt0(); // inform VM of interrupt b.interrupt(this); return; } } } interrupted = true; // inform VM of interrupt interrupt0(); } }위 코드와 같이 jdk 17 은 Thread 객체 내 interrupted 필드를 둠으로써 인터럽트의 상태를 관리하지만 jdk 11 같은 경우에는 native 메서드를 이용해서 인터럽트의 상태를 관리하는 것을 확인할 수 있었습니다. 이 때 jdk 11에서 위 코드를 실행시키면 결과가 아래 와 같이 출력되는것을 확인하였습니다. thread 2 start thread 1 isInterrupted() = false thread 2 isInterrupted() = false thread 1 start thread 1 isInterrupted() = false 작업 완려프로세스 실행을 반복하거나 sleep 의 시간을 늘려보아도 항상 아래와 같은 동일한 결과가 나왔습니다. 하지만 이 코드를 디버그 모드를 이용해서 동작시킨 경우 완전히 다른 결과가 나왔습니다.break point 는 t1.interrupt() 부분에 걸었으며 실제 인터럽트 내부 코드 동작 부분은 확인하지 않고 F8 을 이용해서 코드라인을 프로세스가 종료할 때 까지 넘김thread 2 start thread 1 start thread 1 isInterrupted() = true thread 1 isInterrupted() = true thread 2 isInterrupted() = false위는 실제로 디버그 모드로 동작 시켰을때 처리 결과입니다. 아무리 생각해도 동일한 코드, 동일한 로직인데 디버그 모드일때 정상적으로 출력되고 일반적으로 실행하였을때 인터럽트의 상태가 모두 false 가 나온다는 것이 이해되지 않아 문의 남겨봅니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 org.hibernate.orm.jdbc.bind: trace관련 질문
강의 보았을때 org.hibernate.orm.jdbc.bind: trace을 추가하면 insert 구문을 트레이스에서 볼 수 있었는데 제가 하니까 다른 형태로 나와서 질문 남깁니다.이것은 왜 그런 것일까요?혹시모르니 yml파일 내용도 첨부해 봅니다.spring: datasource: url: jdbc:h2:~/jpashop username: sa password: driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create properties: hibernate: # show-sql: true format_sql: true logging: level: org.hibernate.orm.jdbc.bind: trace org.hibernate.SQL: debug
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
SQL 코멘트가 안떠요ㅠ
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 코드를 똑같이 따라 쳤는데 어디가 잘못된건지 저는 이렇게 안떠요ㅠhttps://drive.google.com/file/d/1Z8uINUoGutGqTWrXVTGka5UpbhWsbZMo/view?usp=sharing링크 공유합니다.
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
안녕하세요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]sdkman 를 사용하긴 합니다만. Vendor 가 Corretto 여도 상관 없을까요?Oracle 도 있고 해서요
-
미해결김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
실행시 오류가 뜹니다.
안녕하세요. 현재 8강 까지 잘 따라오고 있는 학생입니다.방학동안 수강을 하다가 이번에 대학교에서 자바프로그래밍 수업도 같이 듣게 되었습니다.오늘 첫 수업에서 교수님은 이클립스를 사용하셨습니다. 그래서 저 또한 이클립스를 설치했습니다.문제는 이클립스 설치 이 후 김영한님 강의를 공부할려고 인텔리제이를 실행한 결과, 오류가 뜨면서 실행이 되지않습니다.아래는 문제가 되는 코드입니다. /Users/hyungkey/Library/Java/JavaVirtualMachines/openjdk-21.0.2/Contents/Home/bin/java -javaagent:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar=50023:/Applications/IntelliJ IDEA CE.app/Contents/bin -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -p /Users/hyungkey/Desktop/JavaStudy/java-start/out/production/java-start -m test/scanner.ex.ScannerWhileEx4Error occurred during initialization of boot layerjava.lang.module.FindException: Error reading module: /Users/hyungkey/Desktop/JavaStudy/java-start/out/production/java-startCaused by: java.lang.module.InvalidModuleDescriptorException: CommentJava.class found in top-level directory (unnamed package not allowed in module)Process finished with exit code 1 어떠한 문제인지 파악되지 않습니다.
-
미해결김영한의 실전 자바 - 기본편
질문이요 ㅠㅠ
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]해당 Data2 클래스에서 Counter.count를 써줬는데Counter.count를 사용하기 전에 Counter counter = new Counter(); 를 작성해야 Counter의 멤버변수를 사용할수있는 것 아닌가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
세타 조인이 안되요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요?예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의 내용과 그대로 세타조인을 따라 했는데 query나온 것을 보니 cross join이 없어요그리고 left join도 처음 sql에서는 left join이 나오는데번역된 sql에서는 left join이 생략되는데 jpa가 최적화를 한 것일까요?
-
미해결김영한의 실전 자바 - 기본편
인터페이스 질문입니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]인터페이스를 사용하는 이유는 알겠는데InterfaceA a = new Child(); 라고하는거랑Child a = new Child(); 라고 하는거랑 똑같은 결과를 얻는데명시적으로 InterfaceA a = new Child(); 라고 기재하는 버릇을 들이는게 나은건가요?
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 에 저장이 안 되는 거 같은데 문제가 무엇일까요??
안녕하세요! 강의를 수강하고 있는 수강생입니다. 홈페이지는 정상 작동이 되는데, h2에 mbmer가 저장이 되지 않습니다. 뭐가 문제인지 알 수 있을까요?<MemberFormController>
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
문제6번 컴파일에러 질문 드립니다!
안녕하세요!입력에 대한 출력값은 문제의 요구사항에 맞게 나오는데 계속 컴파일 에러가 뜹니다.import java.util.Scanner; public class Main { public String solution(String str){ if (str == null || str.isBlank()){ return str; } StringBuilder sb = new StringBuilder(); for (char c : str.toCharArray()) { if (sb.indexOf(String.valueOf(c)) == -1) { sb.append(c); } } System.out.println("sb :" + sb.toString()); return sb.toString(); } public static void main(String[] arg){ Main T = new Main(); Scanner kb = new Scanner(System.in); String str = kb.nextLine(); System.out.println(T.solution(str)); } } 어느 부분이 문제가 되는건지 알려주시면 정말 감사하겠습니다!
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Domain model패턴에서 생성메서드 로직 구현시 setter문제 질문있습니다.
이 부분이 생성메서드 부분인데요..대부분 setter를 사용하여 서비스계층에서 해야 할 로직을 엔터티 내에서 처리하고 있는데영한 선생님께서 강조하시는 setter를 열어두지 않는다면(필요에 따라서는 열어두라고 하셧는데...) 어떤식으로 처리하는지 도저히 감이 잡히지 않네요..ㅜ 이 부분 설명해주시는 강의 챕터가 따로 있을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
ORDERS 테이블과 ITEM 테이블
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]배송, 카테고리 추가 - ERD에서, ORDERS 테이블과 ITEM 테이블이 다대다 관계라서 ORDER_ITEM 이라는 테이블을 새로 둔건가요?ORDERS-ORDER_ITEM: 일대다ITEM-ORDER_ITEM: 일대다이런 관계로 다대다 관계를 풀어낸게 맞나요?