킬구형 강의 특별해서 좋아~ 즐길 수 있을거 같아! 이런 강의 의도를 더 믿음있게 하기 위해서 오타 제보~ 섹션 1. SYSTEM INIT: 스프링 배치 종결의 서막 2. 배치 처리, 시스템 종결의 서막💀 Flexible.png 이미지 내 오타 ItemReader interface 를 상속하는 RedisItemWriter 는 없다. RedisItemReader 가 존재한다
강의를 보고 궁금한 점이 생겨서 질문드립니다. 강의에서 구현된 송금 프로세스를 분석해보니, 출금은 정상적으로 잔고가 차감되지만 입금 시 받는 계좌의 잔고를 증가시키는 로직이 없는 것 같습니다. 예를 들어: - Choreography 방식: handleDepositSuccess() 메서드에서 SagaState만 COMPLETED로 업데이트 - Orchestration 방식: Transaction Service에서 deposit 기록만 생성 현재와 같이 데이터베이스가 서비스별로 분리된 상황 에서, 입금 성공 후 받는 계좌의 잔고를 증가시키는 로직을 어떻게 구현해야 하는지 궁금합니다. 제가 생각한 방법은: 1. Orchestration 방식 : Transaction Service의 REST 응답이 성공하면, Account Service에서 받는 계좌의 잔고를 증가시킴 2. Choreography 방식 : Transaction Service에서 deposit.success 이벤트를 발행하면, Account Service에서 이벤트를 consume하여 받는 계좌의 잔고를 증가시킴 이 두 가지 방식으로 접근하는 것이 맞는지, 아니면 다른 권장 방법이 있는지 알려주시면 감사하겠습니다.
안녕하세요 강의를 보면서 SAGA 패턴에 대해 공부하면서 궁금한 부분이 생겼습니다 코레오그래피 방식으로 주문 비지니스를 구성한다고 할때 메시지 브로커를 통해서 자신의 역할만 수행한다고 하셨는데 그러면 각 서비스가 어떻게 메시지를 설계해야하는지 궁금합니다 주문서비스가 주문 요청을 받으면 재고 서비스에 주문한 상품에 대한 재고 감소를 진행하고 마지막으로 결제서비스가 결제를 진행할때 결제에 대한 금액을 결제서비스가 재고 서비스의 API를 통해 상품의 가격을 조회후 결제를 진행하는것인지 아니면 재고 서비스가 재고 감소를 실행하면서 상품의 가격 정보도 같이 재고 감소 성공 메시지에 추가하여 결제서비스가 이 메시지 정보를 통해 결제를 진행하는것인지 궁금합니다
안녕하세요 강사님 강의를 열심히 수강하고 있는 학생입니다. 백엔드 개발자인데 프론트도 배워볼까 하다가 강사님의 강의가 눈에 들어와 열심히 수강중입니다 😃 백엔드에서는 TDD와 같은 방법으로 어플리케이션 테스트를 많이 하는데 이런 리액트 앱같은 경우에는 테스트를 어떻게 하나요? 특히 실무에서는 어떻게 테스트 하는지 궁금합니다. tanstack-query같은 로직적인 부분만 테스트 UI요소들까지 로드해서 렌더링 시 정상 동작하는지 테스트 통합테스트 사람이 일일이 눌러가며 테스트 어떤식으로 테스트하는지 궁금해서 남겨봅니다 감사합니다 😃
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 회원 서비스 테스트 강의 5:27에 member와 findMember의 getName을 통해서 맞는지 확인을 했는데 왜 객체가 아닌 이름을 통해 비교를 하는건가요?
지금은 멀티 모듈로 프로젝트를 설정해서 common이라는 공통 모듈로 분리해도 문제가 없을 것 같은데, 정말 개발 환경이 달라지면 어떻게 진행이 되나요? 예를 들어, board는 java, comment는 python으로 개발이 된다고 하면, board와 comment에 사용될 common을 팀끼리 약속을 해두고 각각 서버에 구현을 해서 사용하게 되나요?
2.2) 단락 평가 활용 사례에서 9:59 Truthy, Falsey 사용 관련 질문입니다. person && person.name 수업 예시에서 person이 아예 undefined이면 person이 false니까 person.name을 아예 호출도 하지 않고, 따라서 오류가 발생하지 않는다고 이해했습니다. 그런데 person에 object만 선언하거나, object는 있지만 name 프로퍼티는 없는 경우 person은 true가 되지 않나요? 그렇다면 뒤에 있는 person.name을 호출하고 오류가 발생해야 할 것 같은데 코드를 돌려보니 오류가 발생하지 않고 undefined라고 표시됩니다. 왜 이런지 알 수 있을까요?
안녕하세요, 강사님. 매번 빠르게 기출 분석 및 해설 강좌 업로드 해주심에 대단히 감사드립니다!!! 😄 글 제목과 관련된 위의 영상에서 말씀해주셨습니다만, 아직 인프런 강의 목록에서는 확인을 하지 못하여서요... 2편은 포함하여, 강의 업로드 계획을 문의드리고자 글 남깁니다. 항상 고생 많으십니다 ㅜㅜ 감사합니다.
그랩님 강의 잘 듣고 있습니다. 다름이 아니라, 강의를 들으면서 Ngrok를 설치 후forwarding Url로 크롬브라우저에서 치고 들어가면 , 아래와 같은 에러 가 떠서 어떻게 해결 해야 하는지 답변 을 듣고 싶어 글을 작성하게 되었습니다. 에러 화면은 아래와 같습니다 그리고 올려 달라고 하신 사진 역시 첨부합니다. 상황은 아래와 같습니다. [사진2] [마지막 사진] 어떻게하면 그랩님의 강의 결과 화면과 똑같이 나올 수 있을까요? 답변 부탁드립니다.
Order 서비스에서 Command가 실행되면 ORDERS_EVENT에 이벤트가 저장되고 Query가 실행되면 ORDER_EVENT에서 이벤트를 읽어 데이터의 최종상태를 읽는다는것으로 이해했는데요..! 그렇다면 ORDERS 테이블은 실질적으로 사용되지 않는다고 이해하면될까요..?
6.3강의 3분29초~ 쯤의 서스펜스 실습을 위한 async키워드를 제거하는 과정에서 입니다. 이전부터 강의를 좀 따라오다가 버전이 많이 업그레이드 되어 5챕터? 쯤이였을까요 params를 이용해 데이터패칭을 해오던때였던거 같습니다만 타입오류가 나서 챗지피티, Q&A등 을 보며 Promise타입을 붙여주고 수정하여 첫번째 사진과 같이 사용하고 있었습니다. 6.3강의부터 비동기작업을 수행하지않도록 async 키워드를 제거하기 위해 분리작업도중 일어난 고민입니다. 두번째 사진처럼 수정을 하였습니다만 여기서 Page컴퍼넌트의 async 키워드를 를 뗄수있는가? 에 대해 고민을 좀했는데 챗지피티에게선 async 키워드가 있어도 서스펜스 실습엔 문제가 없다고해서 그냥 두번째 사진과 같이 작성한후에 서스펜스 실습을 따라가면 될지가 의문스러워 질문남깁니다. 추가로 버전업이 많이되어 영상과 다른점을 수정하면서 하고있는데 제가 올바른 방향으로 실습하고 있는지도 조금 궁금합니다!
Pageable 인터페이스와 @PageableDefault 를 컨트롤러부터 사용하면 편하게 작업할 수 있을 것이라고 생각하고 있습니다. 그런데 spring-data에서 제공하는 것들이라 컨트롤러나 애플리케이션(서비스)에서 사용하면 안 될 것 같아서 새롭게 객체를 정의해서 사용해야 하는 것인가라는 생각이 드는데요. 한편으로는 유틸느낌으로 사용해도 되지 않을까라는 생각이 들기도 합니다. 실제로 @PageableDefault 이것은 org.springframework.data.web 패키지에 들어있어서 web계층을 대상으로 만들어진 것 같구요 어떤식으로 풀어나가야 할까요? 추가적으로 Http interface를 사용하기 위해 @HttpExchange을 사용할 경우 required패키지 인터페이스에 바로 붙여서 사용해도 무방한걸까요?