프로젝트를 할때도 그렇고, 이번 강의에서도 그렇고 API를 위해request, response 각각 DTO를 설정해주었습니다. 그러면 API의 개수가 많아지는 경우에도 그에 따라 각각 요청,응답의 DTO를 만들면 너무 복잡해지지는 않을까 하는걱정이 있습니다. 그럼에도 불구하고 DTO를 API 마다 만들어야 하는건가요?
안녕하세요. 강사님 mac os로 이론 pdf보고있는데 뒷쪽 페이지 sql과 조인 정리 부터 글자가 안나옵니다. 윈도우에서 해보니 브라우저 pdf로는 잘나오는데 pdf프로그램으로도 안나오네요. 인코딩 문제이면 맥에서도 볼수있게 pdf재업로드 가능하실까요? 확인 부탁드리겠습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 강의 내용 중 아래 코드를 실행하면, private static void action (Object obj){ if (obj instanceof Dog dog) { dog.sound() ; } else if (obj instanceof Car car){ car.move() ; } } 정상적으로 dog.sound()와 car.move()가 출력이 됩니다. 여기서 문의드릴 사항은 main 메서드에서 따로 Object object = new Dog()와 같이 해주지 않았음에도 if (obj instanceof Dog dog) 부분에서 어떻게 Dog타입의 인스턴스로 Obj가 존재하는 지 확인 되어 확인과 동시에 변수를 선언하여 dog.sound()가 호출 될 수 있는 건가요? 따로 Object object = new Dog()를 해주지 않아도. 일시적 다운캐스팅으로 가능해진 것인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] if (num1 == 0 && num2 == 0) { 대신 if (sum == 0) { 가능한지 궁금합니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 같은 모듈에서만 접근 가능하고 여기서 말하는 모듈은 IDEA Module, Maven project 등등 이라고 하셨는데요 이게 정확한 어디 범위인지 제가 지식이 낮아서 그런지 이해가 잘안됩니다ㅠ 다른 클래스에서는 접근이 가능 한건가요?
이해가 어려운 섹션이나 영상 설명은 질문으로 꼭 남겨주세요. 기출문제를 풀다가 막힌 개념이 있나요? 질문으로 회차나 번호, 개념을 예시로 질문해주세요. 답변에 도움이 됩니다. 이론 문제는 통합본 PDF 파일로 제공될 예정입니다. (6월 중 업로드 예정) 합격을 가르는 것은 역시 코드해석문제. 이론을 외울 시간이 없다면 코드에 익숙해지고, 중요 개념을 몇 가지 외워가면 합격할 수 있습니다. 이 문제 바로 위에 문제에는 생성자 of A를 먼저 출력했는데, 이 문제는 왜 생성자 of AA10이 먼저 출력되었을까요?
문제 1번의 경우 if 구문을 사용할 때 저는 else 를 안 넣고 바로 return 으로 표현했거든요. static <T extends BioUnit> T maxHp(T unit1, T unit2) { if (unit1.getHp() > unit2.getHp()) { return unit1; } return unit2; } 답안엔 else 를 같이 쓰는 것으로 나와서 혹시 else를 쓰고 안 쓰고를 결정하는 메뉴얼이나 혹은 더 좋은 코드의 기준이 있을까요? ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
제가 이해가 안가는 것이 있어 질문드려요 기존 Team 과 Member 예시로 질문할게요 Member가 연관관계의 주인이고 Team 은 객체 상 그저 Member에 대한 참조만 갖는 List<Member> members 만 있는 예시로 질문하겠습니다 public void 연관관계_설정() { //회원1 저장 Member member1 = new Member("member1", "회원1"); em.persist(member1); //회원2 저장 Member member2 = new Member("member2", "회원2"); em.persist(member2); Team team1 = new Team("team1", "팀1"); //연관관계 설정 member1.setTeam(team1); team.getMembers().add(member1); member2.setTeam(team1); team.getMembers().add(member2); em.persist(team1); } 여기서 team.getMembers().add(member1); 은 사실 상 DB를 바꾸지 않는 것인데 예시 상 Member와 Team은 객체 단에서 서로 양방향 참조를 해야하기 때문에 List를 넣어주거잖아요? 그럼 Team 입장에서 List<Members> members는 JPA, 즉 DB 작업과 전혀 상관이 없는 그저 어플리케이션 입장에서 양방향 참조를 해야할 상황(기능)이 있어서 추가된 것인데 왜 어노테이션을 써줘야하는거죠? 어노테이션을 붙이는 이유가 JPA가 해석할 것이 있어서 붙이는거잖아요? 근데 Team의 List<Members> members는 JPA가 해석해봤자 DB를 변경하는 일도 아니고 그저 어플리케이션 계층에서 사용되는 변수인데 왜 JPA 어노테이션(@OneToMany)를 붙이는거죠?? ai 봇 말고 튜터님께서 답변해주시면 감사하겠습니다!!
build and run using, run tests using을 Gradle(default)로 하든 IntelliJ IDEA로 바꾸든 실행은 되는데 작업이 종료가 안되고 계속 돌아갑니다. 위에 오류는 너무 오래 걸려서 중간에 제가 종료하면 뜨는 오류 메세지입니다 5분 넘게 걸리는데 원래그런건지 모르겠습니다 ㅠㅠ 실행도 한 번도 성공한 적도 없습니다 제 노트북 사양이 나빠서 그런걸까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. 해당 강의 11분 44초 쯤 JpaMain 실행 시 INSERT 쿼리가 나가는 것을 볼 수가 있는데 제가 실습해본 결과 detached entity passed to persist: hellojpa.Member 에러가 발생합니다. 에러를 해결하려고 구글링 해본 결과 엔티티에 @GeneratedValue를 사용해서 값을 자동으로 생성하겠다고 선언을 했는데 아이디를 직접 세팅 후 persist를 호출해서 에러가 발생한다고 나와 있어서 JpaMain에서 member.setTeamId(team.getId())를 지우고 실행해봤는데 정상적으로 INSERT 쿼리가 나가는 것을 확인했습니다. 하지만 Member 엔티티에서 @GeneratedValue를 id에만 적용하고 teamId에는 @GeneratedValue를 적용하지 않았는데 해당 에러가 왜 발생한지 잘 모르겠습니다. 해당 에러 및 해결 방법에 대해 알려주시면 감사하겠습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요 연관관계 코드로 쳐보면서 하다가 이상한 부분이 있어서 궁금증이 생겨 질문합니다. Member : N Team : 1 로 Member가 연관관계 주인인 상태로 member와 team 객체의 연관관계를 설정하고 public class Member { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "TEAM_ID") private Team team; } public class Team { @OneToMany(mappedBy = "team") // Member의 team과 연결되어있다. private List<Member> members = new ArrayList<>(); } member 저장후 team 저장시 member insert team insert 가 나간 뒤에 member update 쿼리가 나가는데 이때 member의 모든 필드에 대한 업데이트 쿼리가 나갑니다. Member member = new Member(); member.setUsername("member1"); Team team = new Team(); team.setName("team1"); member.setTeam(team); team.getMembers().add(member); em.persist(member); em.persist(team); em.flush(); em.clear(); 이게 왜이런지 모르겠습니다. member가 먼저 추가되면서 teamId가 설정됬을 텐데 실질적인 team 이 데이터베이스에 없어서 team이 추가된 뒤에 연관관계를 맞추기위해 member의 모든 필드를 update했다고 봐야하나요? 그러면 teamId만 update 해주면 되는데 모든 필드를 업데이트하는 이유가 궁금합니다. 항상 감사합니다.
자바 메모리 구조 강의 9:40 쯤에 제가 제대로 이해한게 맞는지 확인 부탁드립니다. Item1, Item2 인스턴스 2개를 생성하면 name, price, quantity 는 고유한 값을 가지므로 힙 영역에 보관되지만 getName 메서드, getTotalPrice 메서드는 메서드 영역에 보관된다. 이 말이 맞는지 확인 부탁드립니다.