[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 여기에 질문 내용을 남겨주세요. aspect3 로 test 를 돌렸을 때 자꾸 트랜잭션 aop 가 먼저 실행 되길래 무엇이 잘못인지 보다가 doTransaction 이걸 -> dioTransaction 로 작성을 했길래 수정을 하고 실행 했더니 log 가 먼저 나오는걸 확인할수 있었습니다. 메서드 이름으로 실행 순서가 변경 되는 매커니즘도 있나요 ?
1. 강의 내용과 관련된 질문인가요?예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요, dto에 대해서 질문드리고 싶어 남깁니다. order 테이블에는 연관관계 필드가 있는데 orderDto에서는 연관관계 필드를 제외한 데이터들이 필드로 들어가있습니다. 보통 Dto를 작성할 때는 엔티티 연관관계 필드들은 양방향 편의 메서드같은것으로 수정하고 dto에서는 int, String같은 기본 필드들만 받는것이 일반적일까요 ? 스프링부트 1 버전에서 가급적 단방향 연관관계로 설계하라 하셨는데, 단방향으로 설계하게 되면 연관관계 편의 메서드를 작성하지 않을텐데 이때는 dto필드에 엔티티까지 작성하는지 궁금합니다. 좋은 강의 제공해주셔서 감사드립니다 !
[질문] MVC 패턴을 어느 단위로 쪼개서 적용을 해야하는지 궁금합니다. URL이 나뉜다면 적용 각 기능마다 적용 예를 든다면 회원 관련 로직으로 저장,조회,삭제 등이 있는데 각각의 기능마다 MVC를 적용해서 저장 버튼 클릭 -> 저장 로직 실행 후 모델에 정보를 담아서 뷰로 전달 조회 버튼 클릭 -> 조회 로직 실행 후 모델에 정보를 담아서 뷰로 전달 인 것인지 아니라면 저장,조회,삭제를 같은 자바 클래스에서 로직 수행, 모델에 담은 후 각각 뷰로 전달인지 궁금합니다!
킬구형 안녕! 지금 실무에서 Spring Batch를 사용해서 배치 기능 구현하고 있는데 궁금한 점이 있어. 강의의 예제 코드들을 보다보면 Job에 필요한 항목들을 따로 클래스 파일로 빼서 구현하지 않고 JobConfig 클래스 내에서 이너 클래스로 구현하던데 특별한 이유가 있을까!? @Slf4j public static class BrainwashProcessor implements ItemProcessor<InFearLearnStudents, BrainwashedVictim> { 강의가 너무 재밌어서 점심시간에도 공부 중이야 ㅎㅎ
안녕하세요 토비님 배운 내용을 바탕으로 기존 프로젝트 구조를 변경하는 연습하고 있습니다. 기존 프로젝트가 멀티 모듈로 되어있어 멀티모듈 구조는 그대로 가져가고 싶은데 분리한다면 어떻게 나누어야 할까요? 모듈을 두개로 나누어 api와 core로 구성했는데 adapter, application, domain를 api 모듈에 adapter core 모듈에 application, domain 이렇게 구성하였는데 이렇게 구분해도 괜찮은지 잘 모르겠습니다
부모 클래스 타입에, 자식클래스의 생성자를 주입하는 상황에대해 궁금한게 생겨 질문드립니다. 부모 클래스 타입으로 선언된 인스턴스는 자식 클래스에게만 있는 메서드를 사용하지 못하는거로 알고있는데요, 그렇다면 만약에 여러 인터페이스를 implement 받은 클래스라면, 이떄는 생성자 주입방식을 쓰면 안되는게 아닌가 하는 의문이 들어 질문드립니다. 예를 들면 아래와 같이 구현된 A에 대해서 public class A implements D, E { ... 코드 생략 } 아래 처럼 생성자 주입을 한다면, 이 a 인스턴스는 E 인터페이스에 정의된 메서드들은 사용하지 못하는게 아닌가해서 여쭤보고자합니다. ( 실제 클래스들을 보면 다중상속을 받은 경우에도 생성자 주입방식을 잘 쓰고 있는것 같아 이부분이 궁금합니다.. ) .. 코드 생략 D a = new A(); .. 코드생략
앞서 예제로 했던 FrontController의 코드에서는 handlerMapping에서 url에 해당하는 구현체가 핸들러여서 구현체가 곧 핸들러로 이해하고 있었습니다. ai한테 물어보니까 RequestMapping에서의 핸들러는 메소드가 핸들러라 설명하더라구요. 맞는지 궁금합니다. 그럼 RequestMapping을 이용한 핸들러의 알맞는 어댑터는 무조건 RequestMappingHandlerAdapter가 사용되는건가요?
개발자님 안녕하세요. 혹시 Transaction Demo 관련 소스에서 강의에서 비즈니스 로직을 밑에 부분에 넣으면 되는 걸까요? 제공된 pdf 파일 소스는 잘렸는데, 소스는 어디서 참조 할수 있나요? Transaction Demn 소스 부분에서 if (!records.isEmpty()) { producer.beginTransaction(); for (ConsumerRecord<Ingeger, String> record: records) { /*** 이 부분에 비즈니스 로직이 들어 가면 되는걸까요? 강의에서의 비즈니스 로직이 들어 가면 될까여? ***/ ... } getRemainingRecords() 함수랑 getOffsetToCommit() 함수를 알고 싶습니다. shudown()은 어떻게 되어 있나요? consumer.subscribe(singleton(inputTopic), this); 에서 this로 override 하라고 검색에서 알려 주는데 소스를 알수 있나여?
1. 현재 학습 진도 6챕터를 모두 끝낸 후 해당 내용을 직접 프로젝트에 적용하고 있습니다. hot key 문제를 해결하기 위해 DCL을 적용하여 중복 DB 접근을 방지할 수 있습니다. 2. 어려움을 겪는 부분 현재 프로젝트는 외부 API인 LLM을 통해 경제 요약 리포트를 만들어주는 서비스입니다. 이때 리포트 생성 시 60s~120s가 소요되어 만들어진 리포트들을 캐싱해놓고 사용하려 합니다. 레디스 리모트 캐시를 적용하려 하는데, hot key 문제를 방지하기 위해 락을 획득한 후에도 반드시 캐시를 한 번 더 확인하는 방식을 적용 즉 DCL 을 적용하려 하는데, 이때 락을 획득하지 못한 애들은 일정 시간후에 다시 락 획득을 시도해야 합니다. 그런데 지금 디비에 접근하고 LLM을 통해 리포트를 생성하는 task가 넉넉하게 1-2분정도 걸리는데, 이 때문에 락 획득 재시도 간격을 너무 길게 잡아버리면 ux가 저하되고 그렇다고 너무 짧게 잡으면 요청 실패가 빈번하게 발생하게 됩니다. 그렇다고 또 시도횟수를 늘리면 또 서비스에 부하가 발생할 수 있을 것 같고 또 시도횟수를 짧게 하면 데이터를 받아오지 못하는 상황이 빈번하게 발생하여 고민중입니다. 3. 시도해보신 내용 현재는 재시도 횟수 1000번에 랜덤 지터 200~300ms로 잡았는데 혹시 이런 경우에는 어떻게 해결하면 좋을지 인사이트 부탁드립니다. https://github.com/Dockerel/DataStreams-BE/pull/2/files#diff-8865d84ecad53d37da0cb105068fad66b3f780ff3a9d11b61df86287646e51c3 작성한 코드 깃허브 링크를 첨부해드립니다. 감사합니다.
jsp를 이용해서 회원 등록하는 것은 servlet을 사용하는 게 아닌거죠? save.jsp를 보면 MemberRepository memberRepository = MemberRepository.getInstance(); String username = request.getParameter("username"); int age = Integer.parseInt(request.getParameter("age")); Member member = new Member(username, age); memberRepository.save(member); 강의 속에선 request라는 변수를 그냥 쓸 수 있도록 지원했다는 게 무슨 말인지 모르겠습니다. request 변수는 어디서 온 건가요? servlet의 service의 request 파라미터를 쓴거라면 jsp도 servlet을 이용하는 건가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 스프링 처음 공부하고있습니다. 한번 듣고 어려워서 자바부터 다시 다지고 재도전 하는 중입니다. 생각보다 소요시간이 오래 걸려서 이게 제 길이 아닌건지, 공부 방법이 잘못된건지 질문드립니다.. 강의 1시간 짜리를 듣는다고 했을 때, 4~5시간은 걸립니다 실습에, 복습에, 이해 안가는 코드 공부까지 같이 하는 중입니다.. 이해가 안가서 멈추고 계속 보느라 더 오래 걸리는 것 같아요. 그래도 시간 투자하니 조금은 알 것 같긴 합니다만.. 그치만.. 이게 맞을까요,,?? ㅠㅠ
개발자님 안녕하세요 결제 승인 메시지 발행 영상에서 권장되는 cdc 방식에 문의 드립니다. Outbox 테이블을 cdc 방식으로 kafka로 전송 하면 되는 걸까여? 이 방식을 적용 하면, 스케줄러로 Outbox를 다시 읽어서 전송 한는 로직은 진행 하지 않아도 될까여? cdc방식으로 db log를 읽어서 전속 하는 방식은 기존에 kafka로 전송 하고, 응답으로 record를 받아서, 잘 받았는지 여부를 체크 하지 않는데, cdc 방식은 잘 전달 되었다고 가정 하고 진행 하는 걸까요?