2024/09 3

[회고록] Triple Clone 프로젝트 API 완성도 기록지

굉장히 늦은 감이 있는 Triple 프로젝트의 회고록이다. 이렇게 늦게 회고록 느낌의 글을 쓰는 이유는 나는 Spring 기반의 웹 서버 개발자를 희망하기에, 주로 백엔드 개발을 공부하고, 연습한다. 따라서, 이 프로젝트의 경우에도 백엔드 부분은 모든 기능을 완성했고, 이를 Postman과 같은 툴을 사용해서 테스트까지 마쳤지만, 프론트가 없고, 실제 배포를 해서 유지하는 프로젝트가 아닌 만큼, 추후에 다른 사람이 이 프로젝트의 기능이 잘 작동하는지 확인할 방법이 없었다. 따라서 나는 내가 만든 프로젝트의 모든 api들의 작동을 Postman으로 호출하여, 어떻게 응답이 오는지 기록을 해놓고자 했고, 이 회고록을 쓰게 되었다. 이 회고록의 목적이 기술적 기록이 아닌 프로젝트의 완성도에 대한 기록이니만큼,..

백엔드 멘토링 2024.09.28

주식 투자 프로젝트 실시간 Real time DB 적용기

해당 글은 모의 주식 투자 프로젝트에서 real time DB (실시간 DB)를 적용하는 과정을 회고하는 글이다.주로 어떤 고민을 했고, real time을 선택하게 된 과정을 적어놓은 글이니 가볍게 읽을 수 있는 포스팅이라 생각한다.  최근 진행한 프로젝트는 모의 주식 투자 시뮬레이션 프로젝트다.해당 프로젝트의 특성상 실제 주식 가격을 실시간으로 받아와야만 했다.내가 선택한 방법은 KIS, 한국투자증권에서 제공하는 실시간 주식 체결가 API를 통해 KIS에서 제공하는 web socket으로 데이터를 받아오는 방식이었다.  따라서 초기에 실시간으로 변경되는 주식의 가격을 저장하기 위해 위와 같은 플로우로 계획했었다.이러한 방식에서 만약 사용자가 현재 실시간으로 전체 주식들의 가격을 보고자 한다면, 나는 ..

백엔드 멘토링 2024.09.06

계좌 잔액 업데이트 동시성 문제 해결 과정

이 글에서는 프로젝트를 진행하면서 겪은 동시성 문제와 이를 해결한 과정을 기록하고자 한다. 주식 투자 시뮬레이션 프로젝트를 진행하는 과정에서, 나는 특정 주식에 대한 매도와 매수 기능을 구현해야했다. @RequiredArgsConstructor@Servicepublic class TradeService { private final TradeTraceService traceService; private final MemberRepository memberRepository; private final AccountRepository accountRepository; private final StockService stockService; @Transactional public..

백엔드 멘토링 2024.09.03