안녕하세요. 강의 잘 듣고 있습니다. R2DBC로 실습 환경을 구축해주셨는데요. R2DBC 이용하면서 DatabaseClient 를 이용해주셨는데요. 혹시 Jooq 를 이용안하신 이유가 있을까요? 그리고 실무에서도 DatabaseClient 를 이용하시는지 궁금합니다. 추가로 DatabaseClient 를 사용시에 동적 쿼리를 어떻게 작성을 해야 하는지 팁 주시면 감사하겠습니다! (where 절 고정이 아닌 특정값이 있을 경우에만 where절 생성 이라던지 ㅎ ) 감사합니다!
안녕하세요. 다운로드한 수업자료에 '더 견고해지기 위해 남은 작업' 과 관련된 pdf 파일이 존재하지 않습니다 ㅠㅠ 다른 질문글을 봤을땐 notion URL 를 제공했다고 하는데, 혹시 notion URL를 안내해주는 챕터가 어디일까요? 더이상 Notion URL을 제공하지 않는다면 강의자료에 첨부해주실 수 있을까요? 강의 잘 들었습니다. 감사합니다!
https://algoalgo.notion.site/Payment-Service-88c97b1300cd4224b5790b328ab0e9dc 페이지에 Payment Order 테이블 스키마 내용중 order_id 컬럼이 UNIQUE 로 작성되어 있습니다. 강의 내용과 맞지 않는 부분이라 수정이 필요해 보입니다.
우선 좋은 강의 준비해주셔서 정말 감사드립니다! 영상에 나오는 노션 자료 초기 영상에서 공유 해주셨던 노션 링크 통해 확인해보니깐 '더 견고해지기 위해 남은 작업' 이 영상에서 나오는 자료는 안보이는것 같습니다. 제가 못 찾는걸까요? 이부분 공유가 안되었으면 공유 부탁드립니다!
@Bean public Consumer<Message<PaymentEventMessage>> consume() { return message -> { PaymentEventMessage payload = message.getPayload(); LedgerEventMessage ledgerEventMessage = doubleLedgerEntryRecordUseCase.recordDoubleLedgerEntry(message.getPayload()); streamBridge.send("ledger", ledgerEventMessage); }; } 해당 로직은 Ledger 서비스의 Kafka 메시지 Consumer 역할을 맡고 있는 'consume' 메소드 입니다. 정상적으로 결제 confirm 완료가 되면 Kafka 에 메시지를 정상적으로 등록 된 것을 확인 하였는데요. 이 후 consumer 에서 메시지를 잘 가지고 오지만 byte[] 타입이라 PaymentEventMessage 로 타입캐스트 하는데 문제가 발생되네요.. Kafka 설정에서 Deserialize 설정만 해주면 되는 느낌인데... 구글링 해봐도... 잘 안되어서 이렇게 질문 드립니다! 에러 문구 class [B cannot be cast to class com.example.ledgerservice.ledger.domain.PaymentEventMessage ([B is in module java.base of loader 'bootstrap'; com.example.ledgerservice.ledger.domain.PaymentEventMessage is in unnamed module of loader 'app')
인프런에서 이런 질문 해도 될지 모르겠네요... fastcampus 에서 준비하고 있는 강의 'Sacale-up 하며 배우는 대용량 트래픽 처리' 이부분 질문 및 건의? 사항이 있습니다. 이번에 강의 payment 강의 들으면서 정말 유익한 강의라고 생각 합니다! 질문 포함해서 조금 아쉬었던 부분이 있어서 개인적인 생각?이니! 참고만... 1. 제가 듣기론 최소한 백엔드 측면에서 봤을때 아직까지 코틀린 보다 자바로 개발하신분이 많은거 같은데 굳이 코틀린으로 개발 하셨는지 알고 싶습니다. (참고로 다음 강의에 자바로 해주셨으면 좋겠어요 ㅠㅠ) Webflux 사용한 이유에 대해 https://www.inflearn.com/questions/1281130/%EA%B0%95%EC%9D%98%EB%A5%BC-%EB%93%A3%EA%B3%A0-%EB%AC%B8%EB%93%9D-%EA%B6%81%EA%B8%88%ED%95%9C-%EC%A0%90%EC%9D%B4-%EC%83%9D%EA%B2%BC%EC%8A%B5%EB%8B%88%EB%8B%A4 여기서 잘 설명해주셨지만 일단 이 강의를 듣는 수강생들 입장에서는 Webflux 을 이해해야 수강이 가능하니 아무래도 Webflux가 런닝커브가 있는데요 ㅠㅠ 그래서 이 강의 진입하는데 리스크가 있을것 같아요 ㅠ,ㅠ 결제 부분을 가장 강조된 강의인데 Webflux를 알아야 이 강의를 수강 할 수 있다는점 ㅠ,ㅠ 다시한번 말씀드리지만 분명 Webflux 도입 하는것에 있어서 합당성을 이해하지만요 ㅠ,ㅠ fastcampus 에서 출시되는 강의 경우 아무래도 인프런과 비교해서 비용이 만만치가 않아서요 ㅠ,ㅠ 혹시 다음에 출시 되는 'Sacale-up 하며 배우는 대용량 트래픽 처리' 강의 인프런에서도 동일하게 출시가 가능 할까요?.. 다시한번 좋은 강의 기회 주셔서 정말 감사드리고 앞으로 좋은 강의 부탁드립니다 🙂 감사합니다!
현재 강의는 핵사고날 아키텍처를 사용하여 결제 시스템을 구축하고 있습니다. 어니언 아키텍처로도 충분히 의존성을 안쪽으로 향하게 하여 entity와 usecase를 외부 변경으로 부터 보호가 가능하지 않나 생각이 들었습니다. (결정적으로 핵사고날은 구조가 좀 복잡했습니다.) webflux를 쓰신 이유가 궁금합니다. 강의에서 내세운 견고한 시스템을 만들기위한 요구사항을 읽어봤을 때 반응성이 아니더라도 충분히 무리가는 상황이 아니기도 했고 성능보단 견고함이 중요한 상황인데 webflux를 쓰신 이유가 궁금합니다! 제 역량이 모자라 이해 못하는 부분이 있을 수 있어 배우고자 질문드립니다. 감사합니다!
처음에 'API 개별 연동키' 값 통해 설정하게 되면 'Error: [4000]: 인증되지 않은 시크릿 키 혹은 클라이언트 키 입니다.' 에러가 발생되어서 영상에 나오는것 처럼 '결제위젯 연동키' 키 값으로 할려고 하는데요. 문제는 '전자결제 신청하고 확인할 수 있어요' 라는 문구가 나오네요. 신청하면 되지 않는가 할 수 있는데 사업자 번호도 입력 해야해서.. 어떻게 해야 할지 모르겠네요. 저 같은 사람은 사업자 번호가 있을리가 없고요...ㅠㅜㅠ 어떻게 해야 하면 좋을까요..? 동시에 토스에게도 질문 했습니다...
안녕하세요 강사님 테스트 진행 시에 오류가 발생해서 강사님께서 올려주신 샘플 프로젝트에서도 똑같이 테스트 진행해보았으나 동일한 오류가 발생합니다 혹시 테이블 제약조건 변경이 필요한건가요..? 제가 테이블 생성 시 사용했던 스크립트와 오류메세지 전달드립니다 감사합니다 could not execute statement [Cannot add or update a child row: a foreign key constraint fails (`test`.`ledger_entries`, CONSTRAINT ledger_entries_ibfk_1 FOREIGN KEY (`transaction_id`) REFERENCES ledger_transaction (`id`))] [insert into ledger_entries (account_id,amount,transaction_id,type) values (?,?,?,?)]; SQL [insert into ledger_entries (account_id,amount,transaction_id,type) values (?,?,?,?)]; constraint [null]
안녕하세요 강사님 build.gradle에서 excludeTags("TooLongTime")를 추가하고 Reload All Gradle Projects 를 하는 과정에서 아래와 같이 오류가 발생합니다 Caused by: java.lang.ClassNotFoundException: org.gradle.internal.impldep.org .junit.platform.launcher.TagFilter Unable to load class ' org.gradle.internal.impldep.org .junit.platform.launcher.TagFilter'. This is an unexpected error. Please file a bug containing the idea.log file.