[책] 소프트웨어 장인
·
책, 영상, 블로그 정리
보호되어 있는 글입니다.
[책] 오브젝트
·
책, 영상, 블로그 정리
보호되어 있는 글입니다.
[우아한테크코스 6기 백엔드] 방탈출 결제 / 배포 회고
·
우아한테크코스 6기 백엔드
⛅️ 들어가는 말우아한테크코스 레벨2의 네번째 미션은 방탈출 결제 / 배포이다.1~2단계는 외부 API(토스 페이먼츠 결제) 연동하는 것이고,3단계는 AWS에 배포하는 것이고,4단계는 문서화를 하는 것이다.⛅️ 미션에 대한 부분⭐️ 외부 요청스프링에서 외부 API 연동은 처음해봤다.일반적으로 RestTemplate, RestClient를 사용하는 것 같았고, 나는 구조가 깔끔한 RestClient를 사용해서 구현했다.단순히 외부 요청만 하면 될 거라 생각했는데 생각보다 할 일이 많았다.Connection TimeoutRead Timeout전체 응답 중 어떤 응답을 사용할지외부 요청에 대한 에러를 어떻게 내 클라이언트에게 전달할지실패 시 어떻게 처리할지결제에 대한 부분은 정합성이 중요하기 때문에 요청과 응..
[우아한테크코스 6기 백엔드] 방탈출 예약 대기 회고
·
카테고리 없음
⛅️ 들어가는 말우아한테크코스 레벨2의 세번째 미션은 방탈출 예약 대기이다. 1~2단계는 JDBC에서 JPA로 전환하는 것이고,3~4단계는 예약 대기 기능을 구현하는 것이었다. JPA를 오랜만에 사용해서 그런지 구체적인 사용법이 잘 기억이 나지 않았다.그래서 블로그나 공식문서를 계속 찾아보면서 미션을 진행했다.현업에 가서도 어쩔 수 없을 것 같다는 생각이 든다.⛅️ 미션에 대한 부분JPA 관련해서 미션을 진행하면서 실제 query가 어떻게 날아가는지 자주 확인했던 것 같다. 예를 들어, findByXXX와 findByXXXId를 사용할 때 findByXXXId는 join이 걸려서 나간다는 것이다. 물론 최신 버전에서는 개선된 부분이다. 또는 join fetch를 사용하면 지연 로딩에서 한 번에 불러온다는..
[우아한테크코스 6기 백엔드] 방탈출 사용자 예약 회고
·
우아한테크코스 6기 백엔드
들어가는 말우아한테크코스 레벨2의 두번째 미션은 방탈출 사용자 예약이다. 1~3단계는 예외 처리와 복잡한 쿼리에 대한 내용이고,4~6단계는 스프링을 사용한 인증에 관한 내용이었다. 미션을 진행하면서도 처음해보는 사람들이 잘 따라올 수 있을까 걱정했는데, 역시 PR 개수나 Merge 개수를 보니 많이 어려워한 것 같다.미션에 대해서1-3단계1-3단계에서는 페어프로그래밍이라 어려운 내용은 없게 했던 것 같다.주요한 내용은 @ControllerAdvice와 @ExceptionHandler를 사용하는 것이었다. 미션을 하면서 생각했던 것이 domain에서 illegalArgumentException같은 표준 에러를 넘겨주거나 Repository interface에서 default 메서드를 만들어서 NoSuchE..
[우아한테크코스 6기 백엔드] 방탈출 예약 관리 회고
·
우아한테크코스 6기 백엔드
들어가는 말우아한테크코스 레벨2의 첫번째 미션은 방탈출 예약 관리이다.이번 백엔드 6기에서는 이전과 달리 레벨2 미션 주제가 방탈출로 묶여있다.레벨의 각 미션에서는 이전에 했던 코드를 재사용하는 것 같다.미션에 대해서레벨2는 스프링 프레임워크에 대해서 소프트 랜딩을 하는 과정이라고 한다.첫번째 미션만 보긴 했지만 문제들이 레벨1에 비해 생각할 것들이 없었다.대부분이 예제로부터 가져다 쓰면 풀리는 문제들이었다. 1-3단계는 스프링과 인메모리 DB(List)를 사용해보는 것이었다.단순하게 스프링으로 CRUD를 하고, 요청과 응답을 어떻게 하는지 생각해보는 시간이었던 것 같다. 4-9단계는 H2 DB를 연결하고, 복잡한 스키마를 작성해 보는 것을 의도한 것 같다. 그리고 그 과정에서 계층화를 왜 시키는지에 대..