[항해] 1주차, TDD 방법론을 사용하여 개발하기
항해 1주차에는 TDD 방법론 사용하여 포인트 REST API를 개발하는게 발제였다.개발하는 과정과 문제에 봉착했을때 어떻게 해결했는지에 대해 정리해보려고 한다.개발 진행 과정1. 테스트가 실패
cookbook0.tistory.com
[항해] 1주차, 동시성 제어하기(순서 보장 포함)
항해 1주차에서 TDD 개발을 진행하고, 심화 과제로 포인트 충전 / 사용을 동시에 요청했을때 발생할 수 있는 동시성 이슈를 제어하는게 목표이다.목차- 요구 사항 분석- 동시성 제어할 레벨 선택-
cookbook0.tistory.com
[항해] 2주차, 클린 아키텍처
항해 2주차에는 다양한 아키텍처 중에 클린 & 레이어드 아키텍처 패턴으로 특강 예약 서비스 서버를 구축하는게 발제였다.레이어드 아키텍처의 한계점과 클린 아키텍처로 상호 보완해서 패키지
cookbook0.tistory.com
[항해] 2주차, 동시성 제어하기 (with DB 레벨)
항해 2주차에는 특강 신청 서비스를 개발하면서 신청 시에 발생할 수 있는 동시성 이슈를 잡는게 목표였다.정확하게 30명의 사용자에게만 특강을 제공할 방법을 고민해보자.같은 사용자에게 여
cookbook0.tistory.com
[항해] 3주차, 서버 구축 설계
항해 3주차에는 구축할 서비스 시나리오를 정하고, API 요구사항에 맞게 설계를 진행하였다.선택한 시나리오와 프로젝트 설계 과정이 궁금하다면, 바로 읽어보자! 목차1. 시나리오 선정 2. 프로
cookbook0.tistory.com
[항해] 4주차, 서버 구축 기능 개발
항해 4주차에는 Swagger로 API 명세서를 작성하고, 3주차 설계를 토대로 주요 비즈니스 로직 개발 및 단위 & 통합 테스트를 작성하였다!설계를 마치고 막상 개발에 들어가려고 하니 무척 떨리고 설
cookbook0.tistory.com
[항해] 5주차, 서버 구축 리팩토링
항해 5주차에는 콘서트 예약 서비스 코드를 리팩토링 하는 것을 진행하였다!시스템 성격에 적합하게 Filter와 Interceptor 를 활용해 기능의 관점을 분리(AOP)하여 개선하는 것이 목표이다.지난 6주차
cookbook0.tistory.com
[항해] 6주차, 동시성 제어 방식 분석
항해 6주차에는 동시성 제어 방식에 대해 학습하였다~!콘서트 예약 서비스의 주요 시나리오에서 동시성 이슈가 발생하는 상황을 분석하고, 기능별 성격에 따라 적합한 동시성 제어 방식을 적용
cookbook0.tistory.com
[항해] 7주차, Redis를 활용한 캐싱 & 대기열 시스템 개선
항해 7주차에는 캐시의 개념과 다양한 전략에 대해 살펴보았다!또한, 캐싱에 주로 사용되는 기술인 Redis를 공부하고,기존 대기열 시스템의 성능을 향상시키기 위해 Redis를 활용한 개선 작업도 진
cookbook0.tistory.com
[항해] 8주차, 쿼리 성능 개선 & 이벤트 구현
항해 8주차에는 Index와 애플리케이션 이벤트에 대해 알아보았다~!Index를 적절하게 설정해서 각 쿼리에 대해 부하를 줄일 수 있도록 개선하였다. 그리고 비즈니스를 핸들링 할 수 있도록 선후관
cookbook0.tistory.com
[항해] 9주차, Kafka로 메세징 처리하기
항해 9주차에는 Kafka라는 기술이 무엇인지 살펴보았다!분산 시스템에서 Kafka를 활용하여 메세지를 처리하는 방식에 대해 배웠다.또한 이벤트 기반 아키텍처에서 Kafka를 활용하여 서비스를 유연
cookbook0.tistory.com