안녕하세요 질문드리고 싶은 것이 있어 글을 남기게 되었습니다. v1에서 Order 와 Member 가 지연로딩으로 되어 있기 때문에 실제 엔티티 대신 프록시가 존재하고, jackson 라이브러리는 프록시 객체를 json 으로 어떻게 생성하는지 모르기 때문에 Hibernate5JakartaModule 을 스프링 빈으로 등록한다고 이해했습니다. 그리고 v2 를 실행할 때 Hibernate5JakartaModule 을 제거하고 실행했을 때 정상적으로 응답되는 것을 확인했습니다. 그래서 제가 이해한 바로는 Entity 를 직접 반환하는 v1 의 경우에는 지연로딩 때문에 프록시 객체가 존재하고, 이를 jackson 라이브러리가 읽을 수 없어 Hibernate5JakartaModule 을 추가했지만, v2 의 경우에는 Entity 를 직접 반환하는 것이 아닌 DTO 를 반환하기 때문에 지연로딩으로 인한 프록시 객체가 있어도 DTO는 jackson 라이브러리가 읽을 수 있는 객체이기 때문에 제거해도 정상적으로 동작한다고 이해했습니다. 혹시 제가 이해한 것이 맞는지 궁금합니다....ㅠㅠ 항상 잘 듣고 있습니다. 감사합니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의에서는 Member의 필드에 id와 name이 있고, 이를 다시 Map으로 묶어서 사용하고 있습니다. save()가 정상적으로 처리되면 Map에는 key의 id값과 Member필드의 id값이 서로 같은 값으로 중복 저장되게 되는데요, 이렇게 설계하신 이유를 알고 싶습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 클래스, 클래스의 필드나 메서드의 접근 제어자를 설정해줄 때, 어떤 것들을 private로 하고 어떤 것들을 public으로 설정하는 것이 바람직한지를 알고 싶습니다. 일관적인 기준이 있나요? 예를 들어, MemoryMemberRepository는 public이고 store는 private으로 설정해주셨는데, 그 이유를 알고 싶습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 강의 코드랑 똑같이 적었는데이 세 코드에서 오류가 떠요 Cannot access japabook.jpashop.domain.Order이라고 오류가 납니다.오류 코드 링크 첨부하겠습니다 https://drive.google.com/file/d/12M-uypQ20bE0SY4jNOyJii3ZBDtSpgT6/view?usp=sharing
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 오류 내용은 아래와 같습니다. FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'hello-spring'. > Could not resolve all files for configuration ':classpath'. > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.2. Required by: project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.2 > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.2.2 was found. The consumer was configured to find a library for use during runtime, compatible with Java 11, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.5' but: 제 생각에는 프로젝트에의 자바와 맥북에서 기본으로 잡혀있는? 자바 버젼이 맞지 않아서 발생하는 문제 같습니다. inteliJ에서 설정되어 있는 자바 openjdk-21 Oracle Open JDK 21 맥북 터미널에서 확인한 자바 (java -version) openjdk version "11.0.19" 2023-04-18 LTS OpenJDK Runtime Environment Corretto-11.0.19.7.1 (build 11.0.19+7-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.19.7.1 (build 11.0.19+7-LTS, mixed mode) 인터넷 검색으로 어찌 어찌 환경변수? 를 아래와 같이 수정을 하고 적용을 해봤지만 같은 오류가 발생합니다.
백엔드 개발자로서성능 개선과 부하 테스트 등은 어느 시점에 하는 것이 좋나요? 제가 사이드 프로젝트를 하면서 필요할 때 듣고 바로 적용해보며 정리를 하려고 하는데 프로젝트 시작 전에 먼저 들어 놓고 신경 쓰며 개발을 해야 할 지, 개발 중에 적용 해야 할 지 개발 완료 후에 해야 할 지 감이 안 잡히네요.
안녕하세요. 성능 최적화 관련 학습을 하고 있습니다. 혹시 성능 측정, 모니터링 방법에 관련한 설명 부분이나 강의가 있을까요? 강의 작업들을 수행함으로 인해 얼마나 처리시간이 단축되는지 확인을 해보고싶은데 그런 부분은 개인적으로 따로 학습을 해야하는지, 아니면 잘 정리된 수업이 있는지 궁금합니다.
만약에 주문이라는 내용이 실제로 많이 필요하지 않고 서로 구매 여부만 판단하고 싶을 때 제가 생각했을 때 Member과 Item 사이의 중간 테이블만 만들어서 외래키로만 조회를 하면서 구매 여부를 판단해도 되지 않을 까 싶은데 그러면 문제점이 무엇인지도 알고 싶습니다. 마지막으로는 중간 테이블에는 @ManyToOne을 수업에서 제공하신대로 작성해였는데, Member입장에서 중간 테이블을 조회하게 되면 DB가 뻥튀기 되기도 하고, member 테이블에서 굳이 item 어떤 것을 샀는지나 주문이 어떤것인지를 더하면 뭔가 멤버라는 엔티티의 기본 속성들을 회손하는것 같아서 @OneToMany를 제거하려고 하는데 2개의 일대다 에서 모두 제거해도 괜찮은지 여쭙고 싶습니다.
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] https://drive.google.com/file/d/1GmEDrs703xOvPzwZo3G7XQ8PomDtwyqn/view?usp=drive_link jpa로 회원가입 테스트를 하려고하는데 실패합니다.. properties의 ddl-auto를 create로 수정하는것으로 해결할수있지만 설정을 변경하는것은 아닌것같아서 질문드립니다. @Transactional이 원인인가 의심스럽습니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의 내용을 듣고 제가 따로 프로젝트를 만들어서 비교를 해 보았는데 @Entity @DynamicInsert @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class User { @Id private String id; // 이메일 형식 @Column(nullable = false) private String password; @Column(nullable = false) private String name; @Column(nullable = false, unique = true) private String nickname; @Column(nullable = false, unique = true) private String phone; @CreationTimestamp @Column(nullable = false) private LocalDateTime createAt; @Enumerated(EnumType.STRING) @ColumnDefault("'NORMAL'") private UserStatus status; // 이미지 변수 (프로필 사진) public User(String id, String password, String name, String nickname, String phone) { this.id = id; this.password = password; this.name = name; this.nickname = nickname; this.phone = phone; } } @Test public void basicCRUD() { User user1 = new User("user1","123","kk","sssss","123213213"); User user2 = new User("user2","1321","dd","dddd","21312412412421"); userRepository.save(user1); userRepository.save(user2); //단건 조회 검증 User findUser1 = userRepository.findById(user1.getId()).get(); User findUser2 = userRepository.findById(user2.getId()).get(); assertThat(findUser1).isEqualTo(user1); assertThat(findUser2).isEqualTo(user2); 테스트를 실행 시켜보니 Expected :com.clickpick.domain.User@51577fc8 Actual :com.clickpick.domain.User@4dbeae45 오류가 발생하였습니다. 강사님의 강의를 따라했을 땐 동일하다고 하였는데 저의 예시로 해보니 동일하지 않다고 나오는데 어느부분에서 차이점이 생긴지 알고싶습니다 참고로 repository는 public interface UserRepository extends JpaRepository<User, String> { } 입니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] https://drive.google.com/file/d/1p8Pzk72m4puS8geRyfhQr4N1LEmijVeI/view?usp=drive_link 멤버서비스인티그레이션테스트에서 오류가 발생합니다. 오류메시지는 org.springframework.transaction.TransactionSystemException: JDBC rollback failed Caused by: java.sql.SQLException: Connection is closed java.lang.IllegalStateException: java.sql.SQLException: Connection is closed 와 같이 발생합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 다음과 같이 오류가 발생하는데 어떻게 해야하나요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 프로젝트 다운설정 인텔리J 프로젝트 설정 오류 내용 : 아래 내용보다 길지만 첫줄과 마지막 줄만 첨부 합니다. 1. 초기 2. 마지막 제가 어떤 부분을 고쳐야 할까요? 자바 기본 배우고 바로 넘어왔는데 처음 부터 막히니 막막하네요..;;;
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
5강을 듣다가 제 화면과 강사 선생님과 화면이 달라서 프로젝트를 삭제 했습니다. 그런 뒤 다시 프로젝트를 오픈했는데 저런 화면이 뜨면서 실행되지 않고 오류가 생깁니다. 프로젝트를 삭제하고 캐쉬도 삭제 하고, 심지어 인텔리제이도 삭제해봤는데 여전히 저런 화면이 뜹니다. 어떻게 해야되나요?
안녕하세요 이번에 강의를 완강하고 스프링을 이용한 프로젝트를 해보려고합니다. 해보고 싶은 건 잠금화면 단어장 앱입니다. 휴대폰을 키면 나오는 잠금화면에 단어장에서 랜덤한 단어가 나와서 단어를 복습할 수 있고 제가 단어를 직접 등록할 수도 있고, 검색할 수도 있도록 만들고 싶습니다. 제가 생각하기로는 스프링 웹 서버를 휴대폰에 띄우고, DB도 휴대폰 내부 메모리에 띄우도록 작업하려고 하는데. 이게 가능한 것인지 궁금합니다. 또한 안드로이드 스튜디오를 써서 개발할 생각인데 안드로이드 스튜디오로 스프링 프로젝트를 생성하는 것부터 어떻게 해야할지 감이 잘 오지 않습니다. 제가 정말 개발초보라 질문이 두서 없지만 어떻게 해야할지 조언 부탁드립니다. 참고할만한 자료도 있으면 부탁드리겠습니다..!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] https://drive.google.com/file/d/1h-MGfbVOOqUMAtIrqo7Ys52FE4UnV9Am/view?usp=drive_link MemberRepository를 실행했을 때 오류가 떠요 어쩔 수 없이 뒷강의를 듣다가 앞으로 넘어오게 돼서 Order나 Item, Delivery 클래스들이 만들어져 있는데 이것들 때문일까요?