묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 배치
스프링 배치 버전 질문
강의에서 사용되는 버전은 Spring Batch 2.5.1이고 최신 스프링 배치는 6 버전 대까지 나온걸로 알고있습니다.그리고, 얼핏 보니 deprecated된 클래스들이 꽤 있던것같은데 (예를들면 SimpleBatchConfiguration 제거, JobBuilderFactory 제거 등), 알아보니 이제 사용자가 더 사용하기 편해졌다(?) 정도인것같습니다. 그래서 질문은 지금 이전버전의 동작방식을 이해해도, 앞으로 나오는 버전들의 동작방식은 그대로인지 아니면 다시 새롭게 배워야할 부분이 많은 지 궁금합니다!
-
미해결K6로 배우는 Spring Boot 부하 테스트 입문
인프럭스에 데이터는 누가 넣는지
인프럭스에 데이터는 누가 넣는지?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
핵사고날 아키텍처 책을 추천해주실 수 있으실까요??
안녕하세요 토비님언제나 헥사고날 아키텍처는 무엇이고 이걸 적용한다는 것이 왜 좋고 왜 필요하다는 것인지궁금했습니다. 이번 강의를 통해서 대략적인 흐름 어떻게 적용할 것인지 어떤 방향으로 작업 해야 하는지 살짝 이해할 수 있었습니다 조금 더 이해도를 높이고 싶은데.. 혹시 토비님께서 추천하시는 서적이 있으실까요??
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@PostMapping("/members/new")가 동작하지 않습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용] 올바르게 작성한 것 같은데 등록 버튼 클릭 시 홈으로 돌아오는 것도, sysout 내용이 콘솔에도 찍히지 않습니다 ㅜㅜ
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
댓글 내용 조회 시 어떤 방식을 선택하실까요?
게시글 조회 기능을 확장하려고 할 때 댓글을 조회하는 방향에 대해 고민이 있어서 질문 남깁니다.게시글 하나를 보는 페이지로 사용자가 이동해서, 게시글의 내용과 댓글들까지 이동한 페이지에서 그려야 할 때 게시글 정보와 해당 게시글의 모든 댓글을 가져오는 기능을 신규로 추가하려고 합니다. 해당 기능의 구현에 대해 2 가지 방향을 고민해봤습니다.게시글처럼 댓글까지 캐싱하는 방법Hot data 로 캐싱된 게시글들의 댓글들을 캐싱하는 것을 고민했을 때, 댓글은 게시글보다 훨씬 많은 양이기 때문에 캐싱에 대한 비용이 너무 커지는 것에 부담이 생기는 문제가 있다고 생각합니다.댓글에 대한 조회는 매번 댓글 서비스에서 조회하는 방법실시간으로 게시물의 댓글을 계속 조회한다면, 조회 서비스에 읽기 부하가 크게 걸릴 것으로 생각합니다. 두 방식 다 장단점이 있다고 생각하는데, 강사님께선 어떤 방식으로 게시글 + 댓글 조회 기능을 구현하실지 의견이 궁금합니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
강의 전에 학습할 내용
해당 강의를 수강하기 전에 사전 학습으로 준비하면 좋은 내용들(MySQL, Redis, Kafka, 시스템 설계 등)에 대해 추천해주실 만한 책이나 강의가 있을까요?저에게는 이 강의가 다소 어렵게 느껴져서, 관련 내용을 따로 공부한 후 다시 수강하고 싶습니다.혹시 강의 내용과 연관되어 쿠케님께서 좋다고 느끼셨던 자료나 도움이 되었던 책, 강의 등이 있다면 공유 부탁드립니다!
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
MemberRegister 질문드립니다.
domain 패키지 안에 activate메서드가 있는데 포트 역할을 하는 MemberRegister 인터페이스에 activate메서드가 또 필요한 이유가 어떤건가요??activate는 외부로 공개될 필요가 없는거 아닌가용??
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
MemberService 코드 작성 중 질의
안녕하세요 실습 중 컴파일 오류가 왜 발생하는지 이해가 안되어 질문 남깁니다. private final MemberRepository memberRepository; private final EmailSender emailSender; private final PasswordEncoder passwordEncoder;해당 코드에서 EmailSender와 PasswordEncoder 부분에서 Could not autowire. No beans of 'EmailSender' type found. 컴파일 오류가 발생합니다. final을 제거하면 컴파일 오류가 발생하지는 않는데요 하지만 github 페이지에 올려주신 소스코드를 보면 현재 영상 시점과 코드 구조가 100% 일치하지는 않지만 스프링 빈 관련 설정을 따로 해준 것 같진 않아보입니다만.. 토비님 영상에서는 오류가 없고 제 코드에서는 컴파일 오류가 나네요. 어떤 시점에 따로 Spring Bean 관련 설정이 되어있는게 있다던가.. 아님 제가 빼먹은 부분이 있다면 알려주실 수 있으신가요? 문제가 되는 부분 전체 코드 첨부드립니다. 시간되실 때 확인 부탁드립니다. 감사합니다. package com.ggne.splearn.application.required; import com.ggne.splearn.domain.Email; /** * 이메일을 발송한다. */ public interface EmailSender { void send(Email email, String subject, String body); }package com.ggne.splearn.domain; public interface PasswordEncoder { String encode(String password); boolean matches(String password, String passwordHash); }
-
해결됨Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
서비스 디스커버리 종류
유레카 외에 최근에 자주 사용되는 서비스 디스커버리는 어떤게 있을까요?
-
해결됨이거 하나로 종결-고품질 리액트와 스프링부트 65시간 풀스택 개발 강의(도커, AWS, GITHUB-ACTIONS)
섹션5 최종프로젝트에는 게시글 작성 수정 이런내용은 빠져있는건가요? 원래 없는건가요?
Q. 수업 영상에서의 질문은 오로지 아래 이메일 주소로 아래 양식과 함께 질문 부탁드립니다.그린 코딩 강사 이메일 주소: canesblack0107@gmail.com이메일 제목 양식 예시[필수]: [인프런-00강좌 질문드립니다.] 안녕하세요. ~~ 질문드립니다.!=> 제가 이메일 외의 인프런트에 질문 카테고리 페이지는 답변이 늦을 수 있습니다. 섹션5 최종프로젝트에는 게시글 작성 수정 이런내용은 빠져있는건가요? 원래 없는건가요?
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
checkDuplicateEmail 메서드와 동시 요청에 관한 질문
안녕하세요 토비님! 좋은 강의 만들어주셔서 잘 듣고 있습니다.작은 질문이 하나 있는데요. checkDuplicateEmail 메서드와 동시 요청에 관한 질문이 있습니다.섹션 5. 28강 회원 애플리케이션 서비스 테스트(2) 20:47초 경에 email 중복 체크를 위하여 checkDuplicateEmail 메서드 코드를 작성하였고, 같은 email로 가입하려고 하면 DuplicateEmailException이 발생하는 것을 확인하였습니다. 그런데 여기서 다른 가정을 해보고 그런 상황에서 토비님이라면 어떻게 하셨을지 궁금합니다.만약 email이 아닌 id로 회원가입을 하는 상황을 가정한다면,email과 다르게 id는 여러 사람이 같은 id로 회원가입하려고 시도할 수 있습니다.따라서 동시에 2개의 요청이 들어오게 된다면 checkDuplicateEmail는 둘 다 통과하고 DataIntegrityViolationException이 발생하게 될 것입니다. (DB에서 유니크 제한을 걸었기 때문에)규칙인 id는 중복되지 않는다는 지켜지겠지만,사용자가 보게 될 예외는 우리가 의도했던 DuplicateEmailException가 아니게 되겠죠. 여기서 궁금한 점은 이런 상황까지 고려하여 코드를 작성하여야 하는 것인지아니면 그냥 넘어갈 것인지 궁금합니다. 저라면,드물게 발생할 것이라고 예상을 했다면 로깅만 잘 해놓고, 해당 예외가 많이 발생했거나 관련 cs문의가 많이 들어온다면 추가로 코드를 작성할 것 같습니다.처음부터 만약 많이 발생할 것이라고 예상했다면 try-catch를 통해 예외를 변경해줬을 것 같습니다.아마 다음과 같은 코드가 될 것 같습니다.@Override public Member register(MemberRegisterRequest registerRequest) { try { checkDuplicateEmail(registerRequest); Member member = Member.register(registerRequest, passwordEncoder); memberRepository.save(member); emailSender.send(member.getEmail(), "등록을 완료해주세요", "아래 링크를 클릭해서 등록을 완료해주세요"); return member; } catch (DataIntegrityViolationException e) { if (/*e를 통해 유니크 키 예외를 확인했다면*/) { throw new DuplicateEmailException(); } throw e; } }서비스의 코드가 현재보다는 보기 지저분해진다고 생각했습니다. (아니면 이 방법이 아닌 다른 방법이 있을까요?) 토비님은 어떻게 생각하시는지 궁금합니다.
-
해결됨멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]
Advice 패턴을 다시 분리할 수 있나요
aop의 단점을 보완하기 위해 advice 패턴을 사용하셨는데, 매번 코드에 advice가 들어가는게 좀 번거로울 수도 있을거 같다는 생각이 들어서 질문드립니다..! aop의 단점을 극복하기 위해 사용한거지만,, 혹시 Advice를 aop처럼 분리시켜서 적용시키는 방법이 따로 또 있을까요
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
실무에서 배치 메타데이터 관리
$ kill-9.. 킬구형 추석 연휴는 잘 보냈는가.. 처음에 텍스트로만 구성된 강의인 걸 결제한 후 알게되어 당황했지만.. 걱정 마라.. 금방 킬며들었다.. 눈으로 읽고 생각하는 즐거움을 알게되었다.. 무엇보다 그동안 피로했을 내 귀를 지켜줘서 고맙다.. 아직 강의 초반이지만 궁금한 부분이 있어서 질문 올린다.. 대용량 트래픽을 다루는 회사에서는 배치 메타데이터의 양도 어마어마할 것 같은데 실무에서는 배치 메타데이터를 어떻게 관리하는 지가 궁금하다.. 혹시 배치 메타데이터를 활용할 일이 없을 것 같으면 안쌓는 것도 권장하는 방법인가..
-
해결됨Spring Boot를 활용하여 채팅 플랫폼 만들어보기
비전공자인데 AI가 발전한 요즘 백엔드로 진로를 하고 싶으면 어떤식으로 공부를 해야 하는지 알 수 있을까요???
비전공자이고 백엔드로 하고 싶은데,AI가 발전한 현재 시점에서 어떻게 공부를 해야 할지 조언을 구하고 싶습니다.
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
Transactional Outbox 테이블 관련하여 질문드립니다
안녕하세요, 강의를 통해 대규모 시스템 설계에 대한 다양하고 실무적인 방법을 배우게 되어 감사히 수강하고 있습니다!수강중 Transactional Outbox 테이블 관련하여 궁금한 부분이 있어 질문드립니다.실무에서는 보통 "Outbox 테이블에 Insert -> kafka send 후 Outbox 상태 Update" 하는 방식으로 쓰일까요? 강의에서는 간단히 Delete로 구현한다고 말씀주셔서 질문드려봅니다!Update 하는 방식도 자주 쓰인다면 Outbox 테이블은 파티셔닝(p20251001 와 같이)하여 관리하고 주기적으로 삭제하는 방식일지도 궁금하여 질문드립니다!
-
해결됨스프링부트로 직접 만들면서 배우는 대규모 시스템 설계 - 게시판
카프카 메시지 순서 관련 문의
안녕하세요 강사님!카프카를 사용하면서 궁금한 점이 있어서요~ 예를 들어 주문 시스템을 구현한다고 하면요.주문에 대해 상태가 계속 바뀌어 해당 이벤트를 받을 수 있도록 카프카를 붙이려고해요.consumer가 동일한 주문 id에 대해 상태 업데이트를 해야 하니, producer가 순서 보장되도록 카프카 key도 동일하게 셋팅하면 consumer는 순서대로 status를 제대로 update 하는데요. 만약 producer가 메시지 발행을 비동기적으로 진행하도록 구현했다고 하면,무언가 이슈로 주문 생성 -> 주문 취소 순이 아닌 주문 취소 -> 주문 생성 순으로 발행되었다면consumer 입장에서 메시지 순서가 제대로 들어왔음을 어떻게 인지할 수 있을까요..? 이런 상황은 발생하지 않을까요..? ㅎㅎ
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
FlatFileItemWriter의 FieldExtractor 커스텀 관련
킬구형 텍스트 강의임에도 몰입감 있는 구성에 연휴에 재밌게 공부하고 있어. 고마워FlatFileItemWriter에 대한 흐름을 정리하고 질문 해볼게1. sourceType() 메서드 내 객체 타입에 따라 FieldExtractor 구현체가 결정된다.2. (Bug가 fix되기 전까지) sourceType() 메서드 내 객체 타입이 Record일 경우 names() 메서드 호출은 무시되고, Record 타입의 모든 property가 쓰일 수밖에 없다.3. 그렇기에 Record 타입에서 필드 하나를 제외하고 파일을 쓰고싶다면, fieldExtractor()를 사용한 커스텀 구성을 통하여 필드 하나를 제외해야 한다.내가 강의를 보면서 정리한 흐름이고, 아래는 그 정리 중 나온 질문이야Q1. BeanWrapperFieldExtractor일 경우 필드 하나를 제외하고 싶다면, names()에서 해당 필드만 제외해도 되나? Q2. 만약 위와 같은 방법이 된다면, RecordFieldExtractor 관련 Bug가 fix 된 후에 FieldExtractor를 직접 커스텀하는 경우가 별로 없지 않을까 싶은데.. 혹시 내가 생각하지 못한 부분이 있을까?고마워 킬구형아
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
아키텍처 선택 시 고려사항 질문입니다
이번 강의에서 아키텍처 설명과 interface를 활용해 계층 간 의존도를 끊는 방법을 보며 시야가 넓어지는 느낌을 받았습니다.토비님은 새로운 프로젝트를 시작하거나 기존 코드를 리펙토링할 때, 어떤 기준으로 아키텍처를 선정하는지 궁금합니다.팀원들의 지식 범위나 프로젝트의 뱡향성, 개발 속도 등 여러 요소 중 어떤 부분을 더 중요하게 고려하시는지도 듣고 싶습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실무에서도 EntityManager를 이용해서 많이 작업하는 편일까요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Spring Data JPA에 있는 인터페이스를 사용하는 경우가 많이 보이는데 강의에서는 EntityManager를 주입받아서 직접 구현하는 방식으로 설명해주신 이유가 궁금합니다.
-
해결됨토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
실무적용 관련 질문드립니다
회사 규모상 프로젝트를 혼자서 개발하는 경우, 강의의 내용을 적용해서 도메인 문서를 만드는 것이 개발에 대한 정리나 추후 다른 사람이 봤을 때 도움이 될 수는 있으나, 당장 시간에 쫓기기도 하고 다른 사람의 피드백 없이 혼자서 정리하다 보면 잘 정리하기 힘들다는 생각이 되는데요. 이런 상황에서의 정리는 오히려 도움이 안될 수도 있다는 생각이 드는데, 토비님께서는 어떻게 생각하시는지 궁금합니다.