항해플러스 7주차 회고 (WIL)

이선주·2024년 8월 3일
0

항해플러스5기

목록 보기
7/8
post-thumbnail

🚀 돌아온 7주차 회고!

회고를 작성할 때마다 뭘 작성해야할지 모르겠다.

하지만, 막상 작성하다보면 나의 문제점에 대해 생각해볼 수 있는 시간이 된다.

문제

7주차를 돌이켜보면 다음이 문제였던거 같다.

  1. 문서 작성에 너무 많은 시간을 씀
  2. 결국, 대기열 시스템을 개선하지 못함
  3. 아직도 미숙한 객체지향적인 설계

(1) 문서 작성에 너무 많은 시간을 씀

완벽한 준비와 문서 작성을 하려고 했다. 결국, 수요일까지 문서를 작성해버렸다. 중요한 대기열 시스템 개선 요구사항은 완료하지 못하고, 개선을 위한 준비에만 시간을 소모해버린 것이었다.

(2) 결국 손대 못대버린 코드

이번 주 과제 플로우를 문서작성 -> 테스트 -> 개선 순서대로 가려고 했다. 이게 효율적인 방법인줄 알았지만, 그렇지 않았다.

대부분의 시간을 문서와 테스트 시나리오 작성에 소모했다. 내가 아직 문서를 작성하는데 있어 미숙한 부분이 있는걸까? 🧐

(3) 아직도 미숙한 객체지향

사실 코드를 손도 못댄건 아니다. 금요일 서울에 갈 일이 있어서 갔다오는 기차 안에서 과제를 수행했다.

과제는 대기열 시스템의 성능 문제를 해결하는 것이었다. 기존 MySQL에 의존하는 대기열 시스템을 Redis로 옮기는 것인데 이 말인 즉, 영속성 계층의 Repository만 교체해주면 된다는 의미가 될 수 있다. 그런데 막상 작업해보니 도메인, 애플리케이션 계층까지 변경이 이루어져야 했다.

시도

이번 주 과제는 시도도 못해보고 Failed가 떴다.

Failed가 뜬 이유는 다음과 같았다.

  • 대규모 트래픽을 위한 개선이 이루지지 못함
  • 대기열 시스템의 성능 문제 개선

해결은 못하고 알게된 것?

나는 항상 효율적인 방법에 대해 생각한다. 이번 과제 또한 마찬가지로 효율적인 방법에 대해 생각했다.

어떻게 하면 효율적으로 과제를 수행할 수 있을까? 생각해 봤는데 테스트 -> 문서 작성 -> 개선 -> 개선 테스트 -> 문서 작성 순으로 진행하는게 Best라고 생각했다.

그런데 위와 같은 방법은 문제점이 있었다. 우선, 테스트 환경이 구축되지 않았다. 때문에 테스트 환경 구축 -> 테스트 순으로 스텝이 추가되었다. 결국, 테스트 환경 구축에 시간을 소모하게 되었다.

또한 성능 테스트에 대해 잘 알지 못했었다. 이것저것 구글링하면서 공부하다보니 이번 주는 테스트 환경 구축 + 테스트 공부 + 문서 작업이 전부로 되버렸다..

다음부터는?

'준비 후 수행'하는 것이 아닌 '수행 후 정리'하는 전략으로 해봐야겠다. 무슨 일이든, 일단 해보라는 말을 많이 들었던거 같다.

객체지향적 설계에 대해서는 어떻게해야 할지 감이 잡히지 않는다. 항플을 하기 전에 조영호의 오브젝트라는 책을 읽었었는데 정말 많은 도움이 되었었다. 덕분에 객체지향에 대한 기본 개념은 가지고 있다고 생각한다. 아직 객체지향이 아닌 데이터 지향적인 설계가 우선시 되는거 같으니 이점을 좀 더 유의하고 과제를 수행해야 할 거 같다.

정리하자면 다음과 같다.

  • 문서 작성과 같은 준비에 너무 많은 시간을 썼다.
  • 객체지향 설계의 미숙함으로 Repository -> Domain -> Application 계층까지 변경이 전파되었다.
  • 8주차는 '준비 후 수행'이 아닌 '수행 후 정리'하는 전략을 취해보자!
  • 데이터 지향적인 사고가 습관이 된 거 같다. 이 점을 항상 생각하고 설계를 해야할 거 같다.
profile
백엔드 개발자의 기초 다지기

0개의 댓글