안녕하세요. 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분이라도 강의 듣고 코딩 연습을 할려고 노력하다 보니 완강이 되었습니다. 고급편과 스프링 입문도 같이 하면서 백엔드 개발도 할 수 있는 시간을 기대합니다. 자료구조는 좀 재미(?)가 없었지만 나중에 필요한 내용이므로 잊어버리지 않고 기억하도록 하겠습니다. 좋은 강의 감사합니다.
안녕하세요! 지금까지 수업을 윈도우 노트북으로 듣고 있었습니다. 그런데 노트북에 문제가 생겨 새로운 노트북으로 구매 후 파일을 옮기려고 하는데 이번에 구매한 노트북 운영체제 맥os입니다. 간편하게 옮기고 빠르게 실행 할 수 있는 방법이 있을까요?? 일단 node, npm, yarn까지 다운 받은 상태 입니다.
현재 2주 free같은데 claude3.5 3.7 4 등등 모든 버전에서 코드짜는게 안되고 Anthropic's latest models are currently only available to paid users. Please upgrade to a paid plan to use these models. (Request ID: aec9ae0d-5eb4-4514-a54e-478383ef2f0a) 라고 뜹니다. Free users can only use GPT 4.1 or Auto as premium models (Request ID: 849c6230-8e63-4751-9b03-9def2bab9e86) 라고 뜰 때도 있고요
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
생성자에서 필드에 의존성 주입하면 예를 들어 컨트롤러 생성자를 만들때 서비스 필드에 의존성 주입해주면 그때는 @Autowired가 자동으로 존재한다고 했는데 이 @Autowired 는 생성자의 파라미터를 전부 빈으로 등록시켜주는건가요? 만약 그렇다고 한다면 생성자의 파라미터가 객체가 아닌 경우는 어떻게 되는건가요? 혹시 객체 타입 파라미터만 빈으로 등록시켜주고 객체가 아닌 파라미터는 빈으로 등록시켜주지 않나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 아니오 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] [SpringBoot 3.x] ```java plugins { id 'java' id 'org.springframework.boot' version '3.5.4' id 'io.spring.dependency-management' version '1.1.7' } group = 'study' version = '0.0.1-SNAPSHOT' java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'com.github.gavlyukovskiy:p6spy-spring-boot-starter:1.9.0' runtimeOnly 'com.h2database:h2' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //Querydsl 추가 implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api" } tasks.named('test') { useJUnitPlatform() } clean { delete file('src/main/generated') } ``` 강의파일에 있는 그대로 build.gradle 설정 완료후 compileJava를 진행하면 build/generated/sources/annotationProcessor/java/main/study/querydsl/entity/QHello.java 까지 생성이 됩니다. 하지만, build and run using : intellij Run tests using : intellij 로 변경하면 Q타입 인식이 안됩니다. 1. 버전 변경 진행 2. Annotation Processor enable 체크 확인 3. projectStructure -> modules -> build 부분 source 체크 진행 3가지 모든 과정을 진행해보았는데 동일했습니다. 이럴때는 Run as intellij 가 아닌 Gradle로 두어서 진행해야 할까요?
next.js에서 제공하는 Request Memoization 기능은 같은 엔드포인트 경로로 여러 개의 요청이 들어왔을 때 하나의 요청으로 캐싱해주는걸로 알고있습니다. 이와 관련해서 3가지 궁금증이 있습니다. Request Memoization 기능은 같은 페이지 한정인가요. 아님 프로젝트 전역에 적용되는걸까요?? 예를 들어 /dashboard 와 /home 두 페이지 모두에서 getUserInfo 라는 fetch 함수를 호출한다면 이 경우도 Request Memoization 이 적용되는건가요. 만약 같은 엔드포인트지만 넘겨주는 파라미터가 다를 경우도 Request Memoization이 적용되나요? axios를 사용한다면 Request Memoization 기능을 활용할 수 없는걸로 알고있는데 react에서 제공하는 cache 함수를 사용하면 동일한 효과를 기대할 수 있나요? 감사합니다!!
next.js에서 제공하는 Request Memoization 기능은 같은 엔드포인트 경로로 여러 개의 요청이 들어왔을 때 하나의 요청으로 캐싱해주는걸로 알고있습니다. 이와 관련해서 3가지 궁금증이 있습니다. Request Memoization 기능은 같은 페이지 한정인가요. 아님 프로젝트 전역에 적용되는걸까요?? 예를 들어 /dashboard 와 /home 두 페이지 모두에서 getUserInfo 라는 fetch 함수를 호출한다면 이 경우도 Request Memoization 이 적용되는건가요. 만약 같은 엔드포인트지만 넘겨주는 파라미터가 다를 경우도 Request Memoization이 적용되나요? axios를 사용한다면 Request Memoization 기능을 활용할 수 없는걸로 알고있는데 react에서 제공하는 cache 함수를 사용하면 동일한 효과를 기대할 수 있나요? 감사합니다!!
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? ( 예 /아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? ( 예 /아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? ( 예 /아니오) [질문 내용] 해당 그림에서 왼쪽 박스는 new ElectricCar()를 호출했을 때 생성되는 참조값 x001으로 스택영역에 보관되는 electricCar = x001 인 것이고, 오른쪽의 박스는 x001을 참조값으로 가지는 객체의 메서드 (Car의 move()와 ElectricCar의 change())가 보관된 메서드 영역을 뜻하는 것인가요? (섹션10 상속 문제) Album album = new Album("앨범1", 15000, "seo")을 호출할 때, album = x001이라는 변수와 참조값이 스택영역에 저장됩니다. 이때 "앨범1" 즉 Strin name과 15000 즉 int price는 Album의 부모인 Item의 생성자 매개변수입니다. 최종적으로 힙 영역의 x001위치에 Album 객체가 생성되어 name = "앨범1", price = 15000, artist = "seo" 필드값이 들어있을 것입니다. 그렇다면 이때 이 필드값들이 위 그림의 오른쪽 박스처럼 x001 이라는 참조값을 가지는 하나의 Album 객체안에 Item("앨범1", 15000)과 Album(artist)로 각각 존재하는 것인가요? (하나의 객체이지만 그 안에 Item 파트와 Album 파트로 각각 존재하는 것인지) 결론적으로 힙 영역 객체가 Item의 필드2개와 Album의 필드1개를 모두 가지고 있는 단일 객체로 존재하는 것이고, 스택 영역에는 그 객체를 가리키는 참조값이 저장되는 구조가 맞는지 여쭤보고싶습니다.
러버블과 n8n과 같은 것을 연동하는 이유는 무엇일까요? 러버블로 프로젝트 제작을 해봤는데요. 유뷰트 스크립트를 가져오려고 외부 라이브러리를 설치해서 스크립트를 가져오게 하는 방법을 사용하려고 하고 있는데요. 계속 스크립트를 가져오지 못하고 있습니다. 이와 같은 경우는 러버블이 할 수 없는 영역이라고 봐야 할까요?
1. 현재 학습 진도 몇 챕터/몇 강을 수강 중이신가요? 5-15. 비동기 처리 - 대표적인 사례 (22분~23분) 여기까지 이해하신 내용은 무엇인가요? 여러개의 알림을 전송 할 때 비동기로 알림을 전송하게 된다면 n개의 알림을 1개의 알림을 전송하는 시간과 같은 시간으로 전송할수 있다. 2. 어려움을 겪는 부분 어느 부분에서 막히셨나요? 100만개의 알림을 1개의 알림 전송 시간으로 보내려면 어떻게 해야하나요? 3. 시도해보신 내용 문제 해결을 위해 어떤 시도를 해보셨나요? 제 생각에는 메세지 큐를 중간에 두어서 100만개의 알림을 일단 메세지 큐에 넣고 알림 서버의 리소스를 고려해서 토픽?을 주면 될거 같은데 맞나요? 갑자기 궁금해져서 질문드립니다! 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다!