앞선 포스팅에서 설명한 바 있지만 현재 큰 프로젝트에 참여해있다.
알고있고, 공부해봤고 써본 적만 있는 third party 들이 있다.
이제 실전에 돌입해보았다.
아직까지는 다행이지만 어렵지 않았다.
내가 공부해온 것들이 틀리지 않았었고 잘 이해하고 있었던 것 같다.
1. kafka로 메시지 송신
이전에 EDA 프로젝트를 하면서 kafka를 사용해서 메시지를 송수신했었다. 그 때 kafka 세팅부터 진행해서였는지
업무를 처리하는데에 있어 문제가 전혀 없었다.
추상화하고 환경별로 구현체를 분리하고 재밌었다.
2. Redis를 띠우고 저장하기
Redis의 명령어를 본격적으로 사용했다. Spring boot에서 @Cacheable 을 사용했던 경험이 있지만 hash로 저장하기 위해선 사용할 수 없었고, 직접 Redis 저장 로직에 대한 서비스를 만들어야했다.
이 부분에서 가장 어려웠던 점은 어떻게 구조를 짤 것인가. redis가 우선인가? RDB가 우선인가? 어떤 형식으로 데이터를 세팅할 것인가
고민하는 과정이 많았으며 파트장님께서는 충분히 고민할 시간을 주셨었다.
테스트중 에러가 나타나면 먼저 와서 디테일하게 알려주셨다.
그래서 prod 배포는 아니지만 배포되었다.
3. DB 샤딩 작업
내가 직접 샤딩을 진행하진 않았지만 동료가 쓴 코드를 통해서 테스트 코드를 수정하는 작업을 하고있다.
동료의 능력에 감탄했고, 이해를 위한 질문은 무조건 쓸모있는 질문들이다. 모두가 합심해서 고민하고 좋은 코드를 위해 노력한다.
테스트 수정 중에 나타난 문제를 3명이서 30분 가량 머리를 쥐어 뜯어가며 결국 해결했다.
Kotlin에서 Map<String, Any> 경우에 숫자는 모두 double로 처리한다.
이 때 gson의 옵션을 사용해서 타입을 지정할 수 있었지만 현재 버전상 불가능했다.
따로 ObjectMapper의 옵션을 활용해서 해결 할 수 있었다.
여기서 재미났던 점은 3명이서 하나의 intelliJ를 보고있다보니 각자 쓰는 방식이 전부 달랐었다.
누구는 디버깅 시 콘솔에 직접 코드를 추가하는가 하면 브레이크 포인트를 추가하기도 했다.
단순히 내가 몰랐을 수 있지만 믿을 수 있는 동료들과 함께하니 나는 지속적으로 성장할 수 있다.
아직까지 커다란 이슈는 나타나지 않았다. 이 또한 다행이지만 아마 10월부터는 우리 서비스의 prod에 배포해야하는 신규 기능을 맡아야한다. (예약 메시지 기능)
어떤 고민이 생기고 어떻게 의견을 교류하면서 해결해나갈지 기대된다.
이제 아이폰 16프로를 수령하러 가보자.
'주저리주저리' 카테고리의 다른 글
이직한지 2주가 조금 넘은 시점에 정리해보는 것들 (0) | 2024.08.15 |
---|---|
드디어 끝끝내 이직에 성공했다. (2) | 2024.07.20 |
본격적인 이직 시즌을 맞이하면서 드는 생각 (feat. 면접) (0) | 2024.06.20 |
Shoyoream을 조금 완성해가고있다! (0) | 2024.06.20 |
드디어 제대로 Shoyoream을 만들어보자! (feat. kream을 따라한 도복 서비스) (1) | 2024.02.16 |