묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
MemberService의 join관련 질문
MemberService.java @Transactional public Long join(Member member) { validationDuplicateMember(member); memberRepository.save(member); return member.getId(); }join이 호출되었을 때 insert into member (city, street, zipcode, name, member_id) values (?, ?, ?, ?, ?) 이렇게 로그가 남는데 h2는 IDENTITY를 사용하기 때문에 member_id는 null로 가는게 맞지 않나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
AddreesEntity 업데이트 쿼리 관련 질문
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]강의 내용에서 설명하신 부분과는 조금 거리가 있는 내용인 것 같습니다만... 의문점이 풀리지 않아서 질문을 남겨 봅니다. 1:N 단방향 연관관계에 대한 질문이 더 맞을 것 같습니다.강의에서 addressEntity 엔티티와의 연관관계를 OneToMany , 연관관계의 주인을 1쪽에 두셨는데, 쿼리를 보면 addressEntity 에 대한 insert 쿼리가 cascade 때문에 같이 날아가는데 이 시점에서 이미 member_id 즉 addressEntity 입장에서 fk 값이 되는 이 값을 이미 알고 있는걸까요 ? 만약 그렇다면 update 코드는 왜 또한번 jpa 에서 날리는 건지 궁금합니다. 연관관계 주인쪽의 값 변동에 따른 jpa의 추적 메커니즘상 쿼리가 한번 더 날아가는 것일까요 ?
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
테스트가 실패해요
하다가 안돼서 깃허브 소스 복붙하고 돌려도 테스트가 실패해요.
-
미해결김영한의 실전 자바 - 기본편
super2main에서 classB()생성자 안에 this(a, 0)말고 super()도 생략되어 있는거 아닌가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]여기에 질문 내용을 남겨주세요. 상속 강의 마지막 부분에 public class ClassB extends ClassA{ public ClassB(int a){ this(a, 0); // 기본 생성자 생략 가능 System.out.println("ClassB 생성자 a = " + a); } public ClassB(int a, int b){ super(); // 기본 생성자 생략 가능 System.out.println("ClassB 생성자 a = " + a +" b = " + b); } } 여기서 ClassB(int a) 생성자에 super()가 생략되어 있는거 아닌가요? public class Super2Main{ public static void main(String[] args){ ClassB classB = new ClassB(100); } }제가 이해한 바로는new ClassB(100) 호출시 ClassB(int a) 안에 생략된 super()가 호출되고 this(a, 0)이 실행되고 ClassB(int a, int b)안에 super()가 실행되고 나머지 실행되고 ClassB(int a)에 나머지 코드가 실행돼서 "ClassA 생성자"가 두번 호출되어야하는게 아닌가 해서요.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
테스트 코드 작성
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.강사님께서 테스트 케이스를 작성할 때 앞의 테스트가 뒤의 테스트에 영향을 미치는 것을 방지하기 위해 clearStore()를 작성하시고 사용하셨는데 다형성에 의해서 MemberRepository memberRepository = new MemberRepositoryImpl();// 전자이와 같이 쓰는 것으로 알고 있는데 clearStore()를 적용하기 위해서 코드를 직접 구현체 클래스의 타입으로 바꾸셔서 아래와 같이 작성을 하시고 테스트하셨습니다.MemberRepositoryImpl memberRepository = new MemberRepositoryImpl();// 후자MemberRepository 인터페이스에 clearStore()를 써주게 되면 직접 기능 구현을 할 때 당연히 이 추상 메서드가 쓰일 일은 없지만 테스트 케이스를 작성할땐 쓰이고 안 써주면 테스트 케이스를 작성할 때 후자처럼 작성을 해야하잖아요...?어느 것이 더 좋은 방법이라고 할 수 있을까요? 강사님 방법을 100% 신뢰하면 되는 것일까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
batchsize와 in 쿼리 관련해서 질문드립니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]order와 orderItem의 예시의 경우 스트림의 map으로 order를 OrderDto로 바꾸는 과정에서 OrderDto의 생성자로 order 객체가 들어간 후 oderItem.getItem().getName()을 호출하면서 in 쿼리가 나가는 것 같은데 여기서 이해가 안 가는 부분이 있습니다. 조회된 order의 컬렉션이 매개변수로 넘어가는 것도 아니고 스트림은 원소를 하나씩 처리하는 것으로 알고 있는데 어떻게 조회된 모든 order의 아이디를 알고 in절 안에 넣을 수 있는 것인가요?강의를 보면 orderItem을 찾는 in 쿼리가 한 번만 나가는데 이건 첫 in 쿼리를 통해 모든 정보를 조회해서 이후에는 1차 캐시에서 조회 가능하기 때문에 그런 것인가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
스프링부트 html 질문
강의 html에서는 CRUD 버튼을 js로 제어 하신 것 같은데html에서 <form action="/postuser" method="POST">이런 식으로 작성하고 어노테이션마다 /user부분을 다르게 해줘도 가능한가요?
-
미해결실전! 스프링 데이터 JPA
Jpa(Hibernate)가 올라오는 과정을 공부해 보고 싶습니다.
안녕하세요 Spring Data jpa 이용해서 프로젝트를 하던중 웹 검색을 하다가 아래와 같이 사용할 수 있다는 것을 알게 되었습니다.public interface ItemRepository<T extends Item> extends JpaRepository<T, Long> {} public interface BookRepository extends JpaRepository<Book, Long> {} public interface AlbumRepository extends JpaRepository<Album, Long> {} public interface MovieRepository extends JpaRepository<Movie, Long> {}Item을 상속받은 객체를 repository ItemRepository 에 넣으면 잘 들어갑니다.더 신기한 것은 Item객체를 상속 받은 Book객체를 BookRepository에서 찾을 수 있습니다. 아마 내부적으로 Jpa(hibernate)에서 엔티티에 있는 어노테이션을 뒤져서 조인 전략을 사용한 것이라는 사실을 애플리케이션 시작 전에 알고 있을텐데, 정확히 어떤 방식으로 이것을 귀신같이 알고 있는 건지 잘 이해가 되지 않습니다.(item객체인지만 알 수 있을텐데, 어떻게 BookRepsoitory에도 나머지 데이터를 넣어주는지 너무 궁금합니다.)DataJpa나 하이버네이트 관련 메뉴얼도 많이 찾아 보았는데, 내부적으로 작동하는 것에 대해서는 크게 설명하지 않고 사용법만 있어서 해당 부분 키워드나 방법이라도 알 수 있지 않을까 싶어서 질문 드립니다. 그리고 위의 예제는 아래 블로그에서 찾을 수 있었는데, 강의에 있던 내용이라고 댓글에 적혀 있었는데요제가 빼먹은 건가 싶어서 열심히 책과 모든 강의를 찾아보았지만.. 저는 찾을 수 없었는데요, 혹시라도 강의에서 언급 하시고 넘어가셨다면 해당 부분이라도 알고 싶습니다.블로그 링크는 아래와 같습니다.https://jyami.tistory.com/23 감사합니다.
-
미해결김영한의 실전 자바 - 기본편
한글 깨짐 현상
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요.메인클래스 실행 시 사진과 같이 한글이 깨져서 나옵니다.구글링 해서 나온 방법대로 해봐도 안돼서 질문 드립니다.수정할 때마다 인텔리제이 재접속도 해봤습니다.혹시 몰라 수업자료 받은 파일도 실행해봤는데 똑같이 깨져서 나왔습니다.
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 13 질문입니다.
public class _Quiz_13 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("속담 퀴즈입니다. 빈 칸에 알맞은 말을 입력하세요. (주관식)"); System.out.println("-----------------------------------------------------"); try (BufferedReader br = new BufferedReader(new FileReader("saying.txt"))) { String line; while ((line = br.readLine()) != null) { System.out.println(line); System.out.print("정답 입력 ==> "); String answer = br.readLine(); String input = sc.next(); if (input.equals(answer)) { System.out.println("정답입니다!!"); } else { System.out.println("틀렸습니다. 정답은 " + answer + "입니다."); } } } catch (IOException e) { throw new RuntimeException(e); } System.out.println("-----------------------------------------------------"); System.out.println("모든 퀴즈가 완료되었습니다."); System.out.println("수고하셨습니다."); } }퀴즈 13 질문입니다.해당 문제 풀어본 결과입니다. 강의에서 알려주신 부분이랑 다른 부분이 있는데혹시 제가 만든 코드가 올바른 코드인지 알려 주실 수 있을까요?그리고 알려주신 정답이랑 비교했을 때 어떤 코드가 보다 차후 실제 업무에서 적합한 코드인지도 알려주셨으면 좋겠습니다.감사합니다 !추가적으로 강의 내에서는 try-catch 구문 안에 모든 문장 ( 속담 퀴즈입니다 ~ 수고하셨습니다) 을 넣어주셨는데 혹시 안에 있는 거랑 밖에 있는 게 어떤 차이가 있나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
EntityManager관련 질문
@Repository @RequiredArgsConstructor public class MemberRepository { private final EntityManager em; 안녕하세요 EntityManager을 위처럼 주입받을 때 주입시점이 MemberRepository에 @Repository가 있으므로 MemberRepository가 스프링 빈에 등록되고 의존관계 주입을 할 때인가요? 그렇기 때문에 더더욱 @Repository가 필요한가요?
-
미해결김영한의 실전 자바 - 중급 1편
자바 중급2 강의
영한님..자바 중급2강의 조금만 더빠르게 출시좀 안되실까요ㅠㅠ
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈13 질문입니다.
public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("속담 퀴즈입니다. 빈 칸에 알맞은 말을 입력하시오. (주관식)"); System.out.println("-----------------------------------------------------"); try (BufferedReader br = new BufferedReader(new FileReader("saying.txt"))) { String line; while ((line = br.readLine()) != null) { String answer = br.readLine(); String input = sc.next(); System.out.println(line); System.out.print("정답 입력 ==> "); if (input.equals(answer)) { System.out.println("정답입니다!!!"); } else { System.out.println("틀렸습니다. 정답은 " + answer); } } } catch (IOException e) { throw new RuntimeException(e); } System.out.println("-----------------------------------------------------"); System.out.println("모든 퀴즈가 완료되었습니다."); System.out.println("수고하셨습니다."); } }퀴즈 13 질문입니다. 해당 문제 풀어본 결과입니다. 강의에서 알려주신 부분이랑 다른 부분이 있는데혹시 제가 만든 코드가 올바른 코드인지 알려 주실 수 있을까요?그리고 알려주신 정답이랑 비교했을 때 어떤 코드가 보다 차후 실제 업무에서 적합한 코드인지도 알려주셨으면 좋겠습니다.감사합니다 !
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
1대다 양방향 관계에서 질문있습니다
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예2. 인프런의 질문 게시판과 자주 하는 질문에없는 내용인가요? (예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예[질문 내용]1대다 양방향 관계가 있다면 필연적으로 List<다쪽 엔티티> lists=new ArrayList<>();가 존재합니다. 그런데 만약에 일쪽에서 조회하면 저장한 순서대로 나오는게 보장이 될까요?? 예를 들면 List<ResponseDto> dtos =new ArrayList<>();team.getMembers().stream.forEach(m->{ dtos.add(ResponseDto.from(m)) ;}뭐 이런식으로 하면 처음에 team 에 들어간 멤버 순서대로 dto 에 들어가는 그런 느낌일까요?? 잘 나오다가 순서대로 안나오는 경우가 있어서 질문드립니다. ㅠ
-
미해결김영한의 실전 자바 - 기본편
this()에 관하여 질문 있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.이 부분에서 this()는 생성자 내부에서 자신의 생성자를 호출할 수 있다. this는 인스턴스 자신의 참조값을 가르킨다고 했는데 위의 생성자가 메인메소드에서 호출될때랑 밑에 생성자가 호출될때는 생성되는 객체가 다르고 결국 참조값도 다르잖아요? 그러면 여기서 궁금한게생성자 내부에서 자신의 생성자를 호출하는게 밑에 매개변수로 3개를 받는 생성자를 말하는건가요?자신의 참조값이라는게 밑에 생성자가 호출되면서 생성되는 객체의 참조값을 말하는건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
배포 환경에서 db 분리 질문
안녕하세요 영한님! 항상 강의 정말 잘 듣고 있습니다!gradle build를 진행할 때 테스트 코드를 수행하는 걸로 알고 있습니다.테스트 코드는 운영 db가 아닌 테스트용 db를 통해 수행하도록 하는게 맞을까요? 생각하고 있는 방법은1. test/resources에 application.yml을 추가해서 테스트 코드는 인메모리 db (h2)를 통해 수행 2. ec2 안에 테스트용 mysql 컨테이너를 띄워두고 mysql을 통해 테스트 코드 수행이렇게 2가지 방식을 생각중인데 맞는 방법일까요??
-
미해결김영한의 실전 자바 - 중급 1편
동일성과 동등성
1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세안녕하세요 영한님 이 강의만 기다렸습니다. ^^ 다름이 아니라 동일성과 동등성 강의를 듣고 있는데기본적으로 equals는public boolean equals(Object obj) { return (this == obj); }따로 오버라이딩 하지 않는 한기본적으로 == 로 비교를 합니다.그렇다면 기본적으로 객체간에 비교를 할때equals 로 비교로 하는 습관을 기르는게 좋은걸까요 ? 왜 이렇게 생각하냐면 == 로 비교할지 equals 로 비교할지생각하면 따로 오버라이딩을 하지 않는한 어차피 equals 로 비교해도 == 로 비교로 해주고만약에 오버라이딩을 했다면 그에 맞는 객체간에 equals로 비교를 하기 때문에 이렇게 생각이드는데제가 놓치고 있는 부분이 있는걸까요 ?
-
미해결스프링 웹 MVC
7:58 예제 코드 찾는 법
안녕하세요 기선님!기선님의 스프링 강좌 재탕하고 있습니다.7:58 부분에 스프링의 테스트 코드 예제는 보통 어떻게 검색하여 찾으시는건가요?그냥 깃허브에서 검색하셨는지 꿀팁이 있다면 알려주시면 감사하겠습니다.!
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
수업질문입니다
제가 자바를 공부하던 중 챕터7 Class강의 부분에서 자바의 특징으로 높은 '재사용성'이라고 배웠습니다. 제가 이해를 잘못하고 있는 것인지는 잘 모르겠지만, 다른 언어에서도 재사용성이 높지 않나요?
-
해결됨윤재성의 자바 기반 안드로이드 앱개발 Part 4 - 실전프로젝트
25강 영상 소리가 24강과 똑같아요.
수정 부탁드립니다.