항해플러스

· 기타
데이터베이스 설계이번 주차에서 얻어가고 싶은 것데이터베이스를 어떻게 활용해야 '잘' 활용하는 것인지 알고싶다.여태는 단순히 DB를 사용해왔다면 이제는 효율적인 방안을 활용하고, 다양한 상황에서의 대응 전략을 유연하게 가져갈 수 있는 방법들을 배우고 싶다. 과제 요구사항Infrastructure Layer 작성기능별 통합 테스트 작성(Testcontainers 활용)쿠폰 발급 경쟁 조건 테스트외부 메시지 전송 실패 시 fallback 처리 검증) 문제 상황(1) testcontainers 활용 시 DB 생성 오류가 발생했다. 테스트 DB의 특정 테이블이 올바르게 생성되고 삭제되지 않는 문제다.(2) 선착순 쿠폰 발급 시 race condition으로 인해 올바르게 재고 처리가 되지 않는 문제가 발생했다.(..
· 기타
클린 아키텍처이번 주차에서 얻어가고 싶은 것가장 흔하고 장벽이 낮은 레이어드 아키텍처에서 벗어나 다차원 채널, 복잡한 구조에서 빛을 발할 수 있는 헥사고날 아키텍처, 클린코드 아키텍처에 대해 알아보고 모두 적용할 수는 없겠지만 개념을 조금씩 적용해보는 것을 목표로 한다. 과제 요구사항이번 주차 과제 요구사항은 다음과 같았다. 일부 기능에 대한 비즈니스 로직과 단위 테스트를 구현한다.이때, 이커머스 서비스의 핵심인 주문/결제 기능은 클린 아키텍처를 적용한다. 문제 상황여태 레이어드 아키텍처만 고려하고 적용해온 입장에서 클린 아키텍처를 적용하라니, 어디서부터 시작해야할 지 막막했다. 또 차라리 전부 클린 아키텍처를 적용하는 것이 목표였다면 BP를 참고해 구조를 설계했겠지만, 핵심 기능 외에 레이어드 아키텍처..
· 기타
서버 설계이번 주차에서 얻어가고 싶은 것"많이 고민하기"설계 단계에서 중요한 것은 얼마나 고민해보느냐인 것 같다. 엣지 케이스들을 최대한 많이 고려하고 대응 방법을 고려해두어야 나중에 구현 단계가 편해진다.물론 그렇다고 해서 강박을 가지거나 과도한 고민을 할 필요는 없다. 설계는 구현 단계에서도 언제든지 수정될 수 있다. 아무리 좋은 설계여도 그럴 수 밖에 없는 상황이 생긴다고 생각한다. 현 단계에서 할 수 있는 것들을 하고 나중에 프로젝트를 진행하며 어떻게 달라지는지 직접 깨달으며 그 안에서 많은 것들을 깨닫는 것이 이번 주차의 목표다. 과제 요구사항프로젝트 시나리오 선택나의 경우 가장 흔하지만 많은 것들을 다뤄볼 수 있는 이커머스 서비스를 하기로 결심했다. 특히 쿠폰을 선착순으로 발급 받는 시스템, ..
· 기타
TDD (Test Driven Development)테스트 주도 개발, 테스트 작성 후 구현 코드를 작성하는 방식이다. TDD는 학생때부터 계속해서 들어오고 이론은 알고 있지만, 실천해보진 못한 개발 방법론 중 하나였다. 1주차 과제를 통해 TDD로 개발을 진행했고, 왜 TDD를 사용하는지 조금이나마 알게 되었다. 배운 개념들과 기록들은 차차 블로그로 남길 예정이다. 그리고 테스트 더블, TDD의 원칙 등을 알 수 있던 소중한 시간이었다. 과제 요구사항핵심 요구사항을 간단하게 적자면 아래와 같다. 포인트 충전 서비스를 개발한다.기본 기능을 구현한다. (포인트 충전, 포인트 사용, 포인트 조회, 포인트 내역 조회)단위 테스트를 먼저 작성해야 한다. (TDD)동시에 여러 건의 포인트 충전, 이용 요청이 들어..
말도 못하는 감자
'항해플러스' 태그의 글 목록