개발 블로그
Published 2023. 6. 25. 19:27
[WIL] 프로젝트 회고 항해99

실전 프로젝트가 거의 마무리 되고 문서화 단계에 돌입해서 그 동안 했던 것들은 되돌아 보고자 한다.

 

나는 프로젝트에서 데이터 수집/생성/관리, 동시성 문제 해결, 코드 리팩토링, 테스트 코드 작성 등의 작업을 맡아서 했다.

프로젝트를 하면서 가장 어려웠던 것은 의사결정이었다. 

 

하나의 문제를 해결하는 데에도 여러가지 방법이 존재했고 다양한 방법 중 어떤 방법을 선택할 것인가를 결정해야 했는데 이론적인 내용으로 알고 있던 것과 실제로 테스트 했을 때의 결과가 다를 때 어떤 기준을 따라야 할 지 결정이 어려웠다. 

 

특히 동시성 문제를 해결하는 파트에서 이론적으로 학습했을 때는 분산 환경에서 Redis를 이용한 방식이 성능이 뛰어나다고 알고 있었는데 실제로 테스트를 했을 때는 락의 범위가 상대적으로 좁은 비관적 락이 성능이 더 좋은 것처럼 나왔고 관련 해서 주변에 도움을 요청했을 때 '테스트 스레드의 수가 적어서 그럴 수 있다' 라는 답을 들었다.

 

우리 프로젝트에서 프리티어 EC2 인스턴스가 감당하기 힘들어하는 스레드 숫자를 발생시켰음에도 테스트 스레드 수가 적어서 그럴 수 있다는 답변은 테스트를 어떻게 해야할까에 대한 고민을 남겼다. 

 

그래서 이번에는 우선 테스트를 제대로 하기 힘든 환경이라고 판단하고 이론적인 내용을 보다 근거로 삼아서 의사결정을 진행했다.

 

언젠가 개발자로 취업해서 업무를 해나가다보면 여러가지 해결 방안 중 하나를 선택해야 할 때가 올 수 있는데 그 때도 테스트 환경을 제대로 구축하기 어렵다면 어떻게 해야할까? 고민을 하다보니 이론에 대해서 깊이 있게 알아야겠다는 생각이 들었다.

 

단순히 ~~해서 좋다. 가 아니라 ~~한 특징을 가지면 왜 더 좋은 건지에 대해서 계속해서 의문을 던지다보면 꼭 테스트를 하지 않더라도 보다 확실하게 의사 결정을 할 수 있지 않을까란 기대를 해본다.

'항해99' 카테고리의 다른 글

[WIL] Week 9  (0) 2023.06.05
[WIL] Week 8  (0) 2023.05.29
[TIL] DAY 47  (0) 2023.05.19
[TIL] DAY 45  (0) 2023.05.18
[TIL] DAY 44  (0) 2023.05.16
profile

개발 블로그

@하얀.손

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!