묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
객체타입은 값타입인가요? 엔티티타입인가요?
안녕하세요. 강의에서,값 타입에서, 기본타입은 == 비교를 해도되는데,그 외에 객체타입이나 임베디드타입은 equals를 재정의해서 사용하여 비교해야한다.라고 말씀하셨습니다. 앞서 강의에서도 객체타입이라는 단어가 나오는데, 객체타입은 엔티티 타입으로 분류가 되나요? 아니면 값타입으로 분류가 되나요?엔티티 타입인거 같기도하고.. 값타입인거 같기도해서.. 어떤것으로 분류되는것인지 이유가 궁금합니다...ㅠㅠ값타입은 기본값타입, 임베디드타입, 컬렉션값타입이 있다고 앞선 강의에서 말씀해주셨는데, 그럼 강의에서 나오는 Address 객체타입은 어디에 속하는것인가요 ..?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
10강 mysql 연결오류
맥북으로 다시 복습중인데 connection test를 누르면 DBMS: MySQL (no ver.) Case sensitivity: plain=mixed, delimited=exact[28000][1045] Access denied for user 'root'@'localhost' (using password: YES). 이 오류가 계속 뜹니다. mysql 서버를 재시작 하기도 해보고 비밀번호도 다시 변경 해보기도 하는데 안되네요 ㅠㅠ 왜 이럴까요??
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
6강 복습중에 질문 있습니다
GetAPI를 만들때는 dto에 생성자를 만들었는데왜 post때는 생성자를 만들지 않나요?
-
미해결Practical Testing: 실용적인 테스트 가이드
36:40 초 부근에 tearDown 없어도 통과하는 이유가 궁금해요
@DisplayName("신규 상품을 등록한다. 상품번호는 가장 최근 상품의 상품번호에서 1 증가한 값이다.") @Test void createProduct() { // given Product product = createProduct("001", HANDMADE, SELLING, "아메리카노", 4000); productRepository.saveAll(List.of(product)); ProductCreateRequest request = ProductCreateRequest.builder() .type(HANDMADE) .sellingStatus(SELLING) .name("카푸치노") .price(5000) .build(); // when ProductResponse productResponse = productService.createProduct(request); // then assertThat(productResponse) .extracting("productNumber", "type", "sellingStatus", "name", "price") .contains("002", HANDMADE, SELLING, "카푸치노", 5000); } @DisplayName("상품이 하나도 없는 경우 상품을 등록하면 상품번호는 001 이다.") @Test void createProductWhenProductIsEmpty() { // given ProductCreateRequest request = ProductCreateRequest.builder() .type(HANDMADE) .sellingStatus(SELLING) .name("카푸치노") .price(5000) .build(); // when ProductResponse productResponse = productService.createProduct(request); // then assertThat(productResponse) .extracting("productNumber", "type", "sellingStatus", "name", "price") .contains("001", HANDMADE, SELLING, "카푸치노", 5000); } private Product createProduct(String productNumber, ProductType type, ProductSellingStatus sellingStatus, String name, int price) { return Product .builder() .productNumber(productNumber) .type(type) .sellingStatus(sellingStatus) .name(name) .price(price) .build(); }강사님 화면에서는 tearDown 메소드를 추가해야지 두 메소드 모두 통과하는 것으로 나오는데, 저는 tearDown 메소드 작성 전에도 둘다 통과로 나오던데.. 뭐가 잘못된걸까요??
-
미해결고성능 JPA & Hibernate (High-Performance Java Persistence)
섹션1 - Github Repository 실습 관련
Github Repository에서 Master branch를 내려받고 강의대로 mvn clean test-compile 을 실행하면 java: cannot find symbol 에러가 발생하네요.m1 맥 환경에서 아래와 같은 오류가 발생합니다. cannot find symbol symbol: class Category_ location: package com.vladmihalcea.hpjp.hibernate.query.recursive.category.model
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
출력 로그가 저랑 많이 다른데.. 해결 방법좀 알려주세요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오) 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 아니오3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예[질문 내용]여기에 질문 내용을 남겨주세요. 강의 내용과 달리 테스트를 실행하면 저는 영한님과 다르게 로그가 출력이 되는데요, 이 부분은 어떻게 설정을 하나요? 저도 찾아보고 있는데 아직 찾지 못하여 질문 남깁니다! 저는 Test Result 아래로 페키지도 출력이 안되고 로그도 너무 다르게 출력이되네요.. 강의와 맞추고 싶은데 방법좀 알려주시면 감사하겠습니다!
-
미해결고성능 JPA & Hibernate (High-Performance Java Persistence)
질문 올려도 되는지..?
여기 내용에서 대부분 통합 테스트시 h2 디비 인메모리 기반으로 테스트를 하는게 아니라,,docker 기반 mysql 설치후에 볼륨을 tmpfs 로 마운트한다음에 해도 빠르다는건가요,,?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
다대다를 일대다,다대일로 풀어낼 때 항상 양방향?
링크위 질문의 AI 답변을 보면 다대다를 일대다,다대일로 풀어낼 때 양방향 매핑이 되어야 한다고 하였습니다. 근데 Member나 Product 입장에서 MemberProduct 를 알 필요가 없으면 단방향으로 해도 되지 않나요?
-
해결됨RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기
NotificationMessage가 필요한 이유 질문
학습중 궁금한 것은 언제든 문의 하세요.질문을 최대한 자세히 남겨주시면 반드시 답변 드리도록 하겠습니다.추가로 알고 싶은 내용도 요청해주시면 강의 자료를 업데이트 해서 제공할 예정입니다.Pub-Sub 모델을 이용한 실시간 알림 part2에 질문이 있습니다 ! package com.example.messagequeue.step2.step2; public class NotificationMessage { private final String message; public NotificationMessage() { message = ""; } public NotificationMessage(String message) { this.message = message; } public String getMessage(){ return message; } }짊여기에서 NotificationMessage DTO를 만들어주셧는데, 뭐 때문에 만드신걸까요 ? 직렬화, 역직렬화와 관련이 있는거 같은데, 잘 이해가 안되네요 ㅎㅎ 답변 주시면 감사드리겠습니다 !
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
joinColumns, inverseJoinColumns
@JoinTable 에서 joinColumns와 inverseJoinColumns 속성은컬럼명을 직접 정하기 위함이고해당 속성들이 없을 때는 컬럼명이 자동으로 설정 되는 것이라고 보면 될까요?
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
app.host 관련 질문이 있습니다
dev 프로퍼티 파일에 app.host 를 정의하지 않고 dev 환경으로 실행후, 메일을 보낼시 host 값이 http://localhost:8080 으로 어떻게 넣어지는건가요? dev 프로퍼티 파일에 정의가 안되어 있으면 local 프로퍼티 파일을 참조하게 되는것인가요...?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
MySQL 연결 오류
태현님 안녕하세요 좋은 강의 잘 듣고 있습니다. 수강하면서 실습 진행하면서 3번 정도 mysql 연결 오류가 발생해서 gpt를 통해 해결해보려고도 하고 구글링도 해보았지만 근본적인 해결이 안되어 고민 끝에 질문 남깁니다.우선, 문제 상황을 말씀드리면mysql 설치 후 인텔리제이에서 연결도 잘되어 실습을 진행하다 [S1009] !AuthenticationProvider. BadAuthenticationPlugin! 라는 메시지가 뜹니다.mysql 8.0 CLI-Unicode 에 들어가서 초기에 설정한 비밀번호를 입력하면 바로 unicode가 종료되어 진입 조차 불가능합니다.cmd 실행하여 mysql -u root -p 명령을 입력해서 정확한 비밀번호를 입력하면 ERROR 2059 (HY000): Authentication plugin 'auth_gssapi_client' cannot be loaded: ÁöÁ¤µÈ ¸ðµâÀ» ãÀ» ¼ö ¾ø½À´Ï´Ù. 에러 메시지가 뜹니다.최후의 수단으로 mysql 관련 모든 파일 및 프로그램 삭제 후 재설치하여 인텔리제이 연동해서 실습이 정상적으로 진행이 되다가 랩탑을 몇 번 껐다 키면 위의 문제가 반복됩니다. 왜 저런 문제가 발생하고, 어떻게 해야 해결이 가능할까요..?지금까지는 완전 삭제 및 재설치하여 db 테이블 구성을 처음부터 다 다시 하면서 실습을 어떻게든 따라했지만 근본적인 해결책을 찾고 싶어 질문 드립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
주문취소문의
주문취소 부분에 cancel()을 실행하면 왜 db업데이트가 되는지 이해가잘안갑니다 .주문을 저장할때처럼 엔티티매니저에서 persist를 해주어야 commit되는게 아닌가요 ?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
멀티모듈 질문
혹시 강의에 멀티모듈구조 설정하는 방법이 있을까요 ? 하나의 프로젝트에서 무듈별로 나누는 방법은 제공하지 않겠죠 ?
-
해결됨코드로 배우는 React 19 with 스프링부트 API서버
목록처리(2)에서 페이지 넘버 버튼을 누르면 표시되는 목록이 10개로 안 나옵니다
위 사진들과 같이 각 페이지에 항목이 10개씩 표시되어야 하는데 페이지 버튼의 숫자대로 표시되고 있습니다.ListConponent.js쪽이 이상한가 싶어서 찾아봐도 뭐가 문제인지 모르겠습니다.혹시 참고 자료 필요하신 게 있으시다면 말씀 부탁드리겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
엔티티타입의 의미
안녕하세요. 단어의 의미가 조금 모호한거같아서 질문드립니다.엔티티타입은 @Entity가 붙은 클래스의 타입을 의미하는것인가요? 아니면 @Entity가 붙은 클래스로 만든 객체를 의미하는것인가요?
-
해결됨Spring Boot를 활용하여 채팅 플랫폼 만들어보기
서비스 구동하며 테스트와 디버깅하기 - 1 에서 기동하는 방법
서비스 구동하며 테스트와 디버깅하기 - 1에서 기동하는 방법을 알려주실 수 있을까요?? 강의에서 갑자기 포트번호가 왜 3000으로 설정되어 나오는지도 모르겠고, start.sh로 실행시켜서 localhost:7002로 하면이렇게 나옵니다... /register 이건 어디서 설정하는 건가요?? 대체 뭐가 문제인걸까요..ㅠㅠ
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
jpa batchsize 관련 문의입니다
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)네2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)네3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]이해가 잘 되었는 지 확인하고 싶어서 질문 드립니다팀마다 100개의 맴버가 있고 팀이 400개가 있다고 가정하고 다음 명령을 실행 한다면String jpql = "select t from Team t"; List<Team> result = em.createQuery(jpql, Team.class) .setFirstResult(0) .setMaxResults(3) .getResultList();result.forEach(team -> { System.out.println("teamname = " + team.getName() + ", team = " + team); team.getMembers().forEach(member -> { //페치 조인으로 팀과 회원을 함께 조회해서 지연 로딩 발생 안함 System.out.println("-> username = " + member.getName() + ", member = " + member); }); });1.배치 사이즈를 적용하지 않은 경우em.createQuery 실행으로 400개의 팀이 영속성 컨텍스트에 로딩된다스트림에서 팀 내부의 맴버에 접근시 멤버를 영속성 컨텍스트에 로딩 하기위한 쿼리가 날아간다. 이 쿼리는 한 팀당 팀에 소속된 멤버를 로딩한다따라서 1+400개의 쿼리가 날아간다2. 배치 사이즈(100)을 적용한 경우em.createQuery 실행으로 400개의 팀이 영속성 컨텍스트에 로딩된다스트림에서 팀 내부의 멤버에 접근 하면 해당 팀의 멤버가 로딩되지 않은 것을 확인한다영속성 컨텍스에 존재하는, 멤버가 로딩되지 않은 팀들의 id를 배치 사이즈 즉 100개 만큼 수집한다.수집된 팀 ID들을 사용하여 하나의 IN 쿼리를 날려 해당 팀들의 멤버들을 한 번에 로딩한다이후 다른 팀의 getMembers()가 호출되면, 아직 멤버가 로딩되지 않은 팀들의 ID를 다시 수집하여 IN 쿼리를 날리는 과정을 반복한다총 1+4 만큼 쿼리가 날아간다이 시나리오가 정확한지 알고 싶습니다!
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 컨텍스트 역할
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요! 매번 좋은 강의 감사드립니다!영속성 컨텍스트는 메모리 구조인데, 캐시와 버퍼 역할을 모두 한다고 이해해도 될까요?캐시는 자주 사용하는 데이터에 빠르게 접근할 수 있는 속도 향상이 목적이고,버퍼는 입출력을 잠깐 모아두는 임시 저장소 개념입니다.영속성 컨텍스트가 둘 다의 역할을 한다고 볼 수 있을까요?
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
업로드 파일 보여주기(교재 191~199) 관련 질문
위 그림은 교재 195페이지 내용입니다.localhost:8080으로는 교재의 내용대로 잘 실행이 되었습니다.그래서, 지금은 aws beanstalk에서(localhost:8080이 아니 aws 서버)에서 윗 부분을 실행 시켜볼려고 하니, 3가지에 부딪혔는데...당장 내 서버(aws서버)의 upload폴더는 어디에서 볼 수 있으며,어떻게 upload 폴더에 aaa.jpg를 올리며,'localhost:8080/api/products/view/aaa.jpg 대신에 "beanstalk도메인/api/products/view/내파일이름"으로 위의 사진 처럼 실행시킬 수 있는지위 3가지에 대해서 정중히 질문드립니다.(수정 추가) 지금 aws RDS 의 CRUD는 원활히 이루어지고 있습니다.