시작가 천원! 누구나 참여할 수 있는 경매 어플리케이션.
- Spring Boot 3.x
- Java 17
- MySQL
- Mybatis
- Gradle
- Jenkins
- naver cloud platform
- Junit5
- 기술을 사용할 때 기술에 대한 차이를 비교하고 선택한 이유에 대해 기준을 정하도록 고민하였습니다.
- 결함없는 안정적인 서비스를 위해 코드 커버리지는 80%를 유지하였습니다.
- 클린코드를 위한 꾸준한 코드 리팩토링을 진행하였습니다.
- 객체지향적 개념을 이해하고 이를 코드에 녹여내어 의미있는 설계를 지향하였습니다.
- 단순한 기능 구현뿐 아니라 대용량 트래픽 상황까지 고려한 기능을 구현하였습니다.
- 문서화, 테스트코드의 작성을 높은 우선순위를 두었고, CI/CD를 구현하여 쉽게 협업이 가능한 프로젝트로 만들었습니다.
-
대용량 트래픽 처리를 위한 경매 기능 최적화
-
RabbitMQ 메세지큐 적용으로 성능 개선하기
-
Redis 캐시 적용으로 성능 개선하기
-
Validation 책임과 범위는 어떻게 가져가야할까?
-
Scale Out 상황시 세션불일치 방지를 위한 Redis 선정 과정
-
테이블마다 id 칼럼을 PK로 사용한 이유는 무엇일까?
-
Auditing을 고려한 테이블 설계 과정
-
젠킨스를 통한 CI/CD 구성하기 - CI 구축 과정
-
젠킨스를 통한 CI/CD 구성하기 - CD 구축 과정
-
Maven이 아닌 Gradle 선정 과정
https://github.com/Jammini/TIL/blob/master/spring/mavenvsgradle.md