본문 바로가기

개발일기32

실무 프로젝트는 도대체 왜 이렇게 디렉토리 뎁스가 깊을까? 결론부터 말하자면 잘 모르겠다. 모르겠다. 이번에 MSA를 시니어 분들의 참여 없이 맡게 되고 진행하면서 기존 프로젝트를 심도 있게 분석하는데, 도저히 알다가도 모르겠다. 어느 정도 이해를 하면서 넘어가다가도 어느 순간 알수가 없다. controller가 있는데 base controller라는건 도대체 왜 있을까? controller면 컨트롤러인거지 왜 new controller -> create controller가 있고 base controller가 또 있을까? 굳이 나눠야 했을까? 꼭 나눠야했다면 이유가 무엇일까? route가 있으면 있는건데 왜 register라는 녀석을 거칠까? 이런 식이다. 회사에서 백엔드는 대부분 Go 언어로 되어있는데, 그 중에 Gin이라는 프레임워크를 쓴다. 그래서 Gin.. 2021. 12. 24.
DB에 쿼리 날리지 마라 입사한지 이제 정확히 50일 되었다. 처음으로 새로운 feature를 담당하여 맡게 되었고, 컨플루언스에 로드맵을 정리하여 올렸다. 아침 스크럼 이후, 슬랙에 피드백을 위해 로드맵을 올렸는데 CTO님이 내 글을 보시고 바로 댓글을 다셨다. "이거 일을 좀 더 크게 벌리는게 좋을거 같네요" 이유는 group by와 order by 쿼리를 DB로 바로 날리는 식으로 짰는데, 이렇게 하면 DB 서버의 부담이 크기 때문이었다. 물론 데이터가 작다면 상관없겠지만... 그럼 도대체 어떻게 해결해야하는가? 그래서 내가 'Redis에 일별로 데이터를 저장하고 데이터 정리는 백엔드에서 하는게 어떨까요?'라고 제안했다. 그랬더니 그게 엘라스틱 서치에서의 aggeregation 방식이라고 하셨다(뭔지 몰랐다). 그것도 좋긴.. 2021. 12. 20.