일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바의정석
- 자바연습문제
- Numpy
- 제네릭
- 자바공부
- 스프링 부트와 JPA
- 분석함수
- Secure Coding
- 김영한
- 항해플러스
- 시큐어코딩
- 불친절한 SQL 프로그래밍
- 항해플러스 백엔드
- 스프링입문
- 불친절한SQL프로그래밍
- 스프링 핵심원리
- inflearn
- Java의정석
- docker
- Python
- 스프링MVC
- 인프런
- 스프링
- 자바의정석 연습문제
- JPA
- REGEXP_SUBSTR
- 서블릿
- java
- Spring
- 이것이자바다
- Today
- Total
목록2025/01 (4)
Continuous Challenge
주요 기능 분석1. 포인트 충전사용자가 자신의 계정에 포인트를 충전. 충전 금액이 포인트 잔액에 추가됨.단일 계정 기준으로 충전이 수행 되므로 충돌 가능성 낮음.충전 요청이 동시에 발생할 가능성은 상대적으로 낮으며, 발생하더라도 포인트는 독립적으로 누적 처리2. 결제 시 포인트 차감사용자가 결제 시 포인트 차감. 잔액 부족 시 차감 불가.단일 계정 기준으로 차감이 수행되므로 충돌 가능성 낮음.3. 주문 시 상품 재고 차감주문 시 선택한 상품의 재고를 차감. 재고 부족 시 차감 불가.동일 상품에 대한 다수의 주문 요청이 동시에 발생할 가능성 높음.4. 선착순 쿠폰 발급쿠폰 발급 시 쿠폰의 잔여수량을 차감하고 사용자에게 쿠폰을 발급함.다수의 사용자가 동시에 요청하여 쿠폰 초과 발급 가능성이 매우 높음.동시성..
4주차가 기능 구현이었다면, 5주차는 4주차에 구현한 코드를 고도화하는 것 이었다. ㅇ 4주차에 구현하지 못한 기능들 구현하기 - 잔액 히스토리 남기기 - 결제 완료 시 주문 상태 업데이트 하기 - 아키텍처에 맞게 파일 다시 정리하기 (DataPlatformService 이동, application -> infrastructure) ㅇ Filter 로 Logging 처리하기ㅇ Interceptor 로 사용자 검증하기ㅇ ExceptionHandler 로 예외 처리하기 ㅇ 동시성 통합 테스트 보완하기 이번 주차에는 3군데에서 동시성 제어에 대한 처리를 했다.1. 잔액 사용2. 재고 차감3. (선착순) 쿠폰 발급모두 비관적 락을 사용해서 처리를 하였다. 앞으로는 지금까지 구현한 코드를 기반으로 계속해서 ..
이번 4주차는 가장 힘들었던 주라고 감히 말해본다...왜 2주차랑 비슷할 거라고 생각했지..? 하지만.. 해내고 말아..점점 나이를 한 살 두 살 먹어가며 대학생 때처럼 다음 날 시험이 있다고 밤새는 것이 당연하지 않아졌다.오히려 다음 날 중요한 일정이 있을 때에는 충분한 수면을 취하는 것이 좋은 컨디션을 만든다는 것을 알았기 때문에...그렇게 지내왔던 나를 새벽까지 깨어있게 만든 것이 바로 항해...내가 새벽 4시 넘어서까지 깨어있을 수 있는 사람인지 몰랐는데 이번에 항해 덕분에 알게 되었다.나도 밤샐 수 있는 사람이었구나... ㅇ0ㅇ일요일인 오늘까지도 밤샘의 여파가 남아있는 것 같다... 오늘은 푹 자야지... 4주차에는 3주차에 했던 이커머스 서비스 설계를 바탕으로 코드를 구현하는 작업을 했다. +..
3주차부터 5주차까지는 이전 과제보다는 긴 호흡으로 서버를 구축하는 과제를 진행한다. 3주차는 설계 단계로 프로젝트의 시작인 마일스톤 작성하기, 도메인 간의 흐름을 시간순으로 나타내는 시퀀스 다이어그램 작성하기, ERD 설계하기, API 명세서와 MockAPI 작성하기를 진행했다.코딩이 없어서 조금 편하겠구나 라고 생각했는데 그렇지 않았다...설계한 내용을 다음주에 코딩으로 구현한다고 생각을 하니 이걸 어떻게 코드로 구현할지를 머릿속으로 구상하면서 설계를 진행해야했고, 많은 시간을 나의 머릿속의 생각들과,,, 싸워야,,, 했다,,,(이렇게 깊은 생각을 해본 게 얼마만이던가,,,ㅜ) 마일스톤 마일스톤은 Github에 Project를 이용하여 작성하였다. 이번 과제를 진행하면서 새롭게 알게 된 깃허브의 기..