[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 앞선 로직으로 1차 캐시에 (이름: entity, 값: 10), ...이 저장되어 있다고 가정합니다. (스냅샷) 벌크 연산을 수행하여 모든 DB 로우 값을 5씩 곱합니다. 연산을 마치면, 1차 캐시에는 (entity, 10), ... DB에는 (entity, 50), ...과 같은 값이 저장되어 있을 것입니다. 제가 알기로, flush()는 스냅샷과 비교하여 1차 캐시의 변경 사항을 DB에 반영합니다. (실행하여도 1차 캐시에는 변함이 없습니다) 그렇다면 만약 벌크 연산 후 flush, clear를 연달아 실행하면 1차 캐시의 값이 벌크 연산을 덮어씌워 값이 오염되는 것 아닌가요? 따라서 flush -> 벌크 연산 -> clear가 맞는 호출 순서가 아닐까 궁금합니다.
MemberRegisterTest를 진행할 때 @SpringBootTest를 사용해서 테스트를 진행했는데요 서비스 테스트에는 @ExtendWith(MockitoExtension.class)를 사용하는 경우를 많이 봤습니다 헥사고날 아키텍처에서는 애플리케이션과 도메인이 중심이 되기 때문에 서비스에서 @SpringBootTest를 사용한걸까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] -> 강의 메뉴얼에 자세히 나와있다고 타 수강생분 25년도 07월 28일 문의글에 답변 남겨주셨는데, 강의 메뉴얼이 어디있을까요..??
[질문 내용] 안녕하세요! 기본편과 심화 3편에서 객체 지향 프로그래밍에 대한 정의가 다른 거 같은데 어떻게 이해하면 좋을지 여쭤봅니다. 기본편 3번쨰 pdf 19페이지에는 객체 지향 프로그래밍은 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식이다. 즉, "무엇을" 중심으로 프로그래밍 한다. 이렇게 정의되어 있는데 고급 3편 13 함수형 프로그래밍 파트에서는 객체지향이 어떻게에 속한다고 되어있고, 무엇을은 함수형 프로그래밍과 관련되어있다고 설명되어있습니다. 저 또한 메서드나 필드 들을 하나의 객체로 모으고 객체들이 어떻게 상호작용할지가 더 맞다고 생각하는데 기본편의 정의가 무엇을 이라고 써져 있는게 어떤 의미인지 궁금합니다.
public String chatMessage(String message) { return chatClient.prompt() .user(message) .call() .chatResponse() .getResult() .getOutput() .getText(); } 선생님 현재 스프링 ai 1.0.1버전을 사용중입니다. 그러면 getText()가 아닌 getContent()를 사용해서 프롬프트를 생성해야되는거 아닌가요?! 왜 getConetent()를 사용할 수 없는걸까요?!
안녕하세요. ApiControllerAdvice에서 하나의 Handler 메서드에서 아래 2개 Exeception 타입을 처리하시도록 변경하셨는데요. - DuplicateEmailException - DuplicateProfileException 이렇게 할 경우, 아래와 같이 두 Exception의 공통 타입인 RuntimeException 객체로 파라미터를 받아야 하는거 아닐까요? @ExceptionHandler({DuplicateEmailException.class, DuplicateProfileException.class}) public ProblemDetail duplicateExceptionHandler(RuntimeException e) { return getProblemDetail(HttpStatus.CONFLICT, e); } 감사합니다.
안녕하세요. Member와 MemberDetail의 연관관계 주인이 바뀐게 아닌가 싶습니다. 비록 1:1 관계이고, 두 객체 인스턴스가 동시에 생성되고 테이블에 영속화 되게끔 설정된 거는 맞지만, 논리적으로 Member 엔터티가 상위 엔터티이고, MemberDetail이 하위 엔터티가 맞는 것 같아요. 추후 Member 엔터티를 참조하는 다른 엔터티가 만들어질텐데, MemberDetail을 참조하는게 아니라 Member를 참조해야 하고요. 관련한 의견 부탁 드립니다. 감사합니다.
안녕하세요. 도메인 영역에 @Entity, @Query 애너테이션을 사용하는게 문제가 없다는 내용과 이유를 강의에서도, 질문&답변에서도 잘 설명해 주셨고, 모두 확인했습니다. 동일한 이유로, 강의에서 DuplicateEmailException에 @ResponseStatus 애너테이션 사용 시, 의존성 문제에 대해서 언급한 부분도, JPA 애너테이션을 사용할 수 있다는 동일한 근거로 허용되어도 문제가 없는게 아닐까요? 물론, @ResponseStatus 사용 시에 상태 코드 외에 추가적인 메시지 설정이 불가능하다는 등 단점이 있어서 사용하지는 않겠지만요. 그저 기술 의존성 침투 관점에서 궁금해서 문의 드립니다. 감사합니다.
직장을 다니면서 틈틈히 1일 10분이라도 강의 듣고 코딩 연습을 할려고 노력하다 보니 완강이 되었습니다. 고급편과 스프링 입문도 같이 하면서 백엔드 개발도 할 수 있는 시간을 기대합니다. 자료구조는 좀 재미(?)가 없었지만 나중에 필요한 내용이므로 잊어버리지 않고 기억하도록 하겠습니다. 좋은 강의 감사합니다.
강좌에서 언급한대로 직접 세팅하기보다는 그냥 settings/ts 폴더 클론받아서 하시는 것을 추천드립니다. 직접 세팅하기에는 버전이 자꾸 달라져서 세팅법이 바뀌고, 입문자분들한테는 버겁습니다. 폴더가 많아서 헷갈리니 back 폴더는 백엔드 용으로 남겨두시고, setting/ts 폴더를 front 폴더로 바꾼 뒤 나머지 폴더는 전부 지워버리세요. 라는 말씀에 따라 다음과 같이 세팅을 했는데, alecture 폴더로 들어가 npm init 을 하라고 하시는 부분이 이해가 어렵습니다.
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
생성자에서 필드에 의존성 주입하면 예를 들어 컨트롤러 생성자를 만들때 서비스 필드에 의존성 주입해주면 그때는 @Autowired가 자동으로 존재한다고 했는데 이 @Autowired 는 생성자의 파라미터를 전부 빈으로 등록시켜주는건가요? 만약 그렇다고 한다면 생성자의 파라미터가 객체가 아닌 경우는 어떻게 되는건가요? 혹시 객체 타입 파라미터만 빈으로 등록시켜주고 객체가 아닌 파라미터는 빈으로 등록시켜주지 않나요?