리팩토링 프로젝트

석현·3일 전

ReView

목록 보기
1/1

요즘은 조금 바쁜 날을 보내고 있다.
덕분에 개인적인 고민도 조금 생기는 것 같다.

요즘 하고 있는 것은
1. 정처기 딸 준비 / 면접 준비 겸해서 CS개념 복습
2. Re:View 프로젝트 리팩토링
3. Cosider 프로젝트 진행(설계 및 구현)
4. 개인적인 운동
이정도이다.
1,2에서 각각 하루에 2~3시간정도를 사용하고 3,4에서 각각 하루 1~2시간정도를 사용하는데 정말 하루가 눈코뜰새 없이 바쁘다.

본론으로 돌아와서 오늘은 내가 진행중인 리팩토링에 대해 간단하게 이야기해보고자 한다.

개요

Re:View프로젝트는 사용자 후기를 중심으로한 쇼핑 플랫폼이다. 멀티캠퍼스 부트캠프에서 최종 팀프로젝트로 했던 것이다.

개인적으로 가장 시간을 많이 들인 프로젝트인데 아쉬움이 많이 남고 문제점도 많아서 리팩토링을 하고자 했다.

리팩토링 단계를 여러 개로 나누어서 진행중이고 진행 예상 기간은 5월초~6월초 정도로 약 한 달의 시간을 잡았다.

내가 잡은 리팩토링 단계는 3단계이다.

1. 안정화 단계
2. 최적화 단계
3. 문서화 단계

현재는 안정화 단계를 끝내고 최적화 단계로 진입한 상태이다.
아마 최적화 단계도 이번 주에서 다음주 안으로 끝나지 않을까 싶다.

문서화 단계가 끝나고 나서 할 일이 딱히 없다면 아마 확장성을 조금 더 챙기거나 기존에 도입하려 했지만 시간적인 압박으로 하지 못했던 것들을 구현하는 방향으로 리팩토링을 진행하지 않을까 싶다.

안정화

Re:View프로젝트는 상당히 불안정한 상태의 플랫폼이었다.
내가 팀장을 맡으면서 빠뜨린 부분이 많게 된 것 같다.
주먹구구식으로 2달 정도의 시간동안 처음보는 언어와 체계로 진행을 하다보니 아쉬운 점이 많이 남았다.

안정화 부분에서 아쉬운 점은 아래와 같다.

1. 환경 변수 값들이 여기저기 흩어져있다.
2. 예외 처리 응답이 엉망이다.
3. Spring security와 관련된 보안적 측면 또한 많이 아쉽게 되어있었다.

이러한 점들을 개선하기 위해서 지난 2주동안 프로젝트를 다시 파악하고 세가지 부분을 보완했다.

최적화

기본적으로 Re:View프로젝트는 테스트가 이루어지지 못한 프로젝트이다. 프로젝트를 진행하면서 잠깐잠깐 콘솔과 API Dog정도로 간략한 테스트만 했었기에 서비스의 성능 자체가 좋지 못할 것 같다는 생각이 들어서 이 단계를 채택했다.

최적화 단계에서 진행할 것은 아래과 같다.

1. 주요 API의 현재 성능 측정
2. 데이터 규모와 상태에 따른 성능 변화 측정
3. 실측 결과 기반 이미지, 페이징, 검색등의 부하 분리
4. 병목점 파악 후 개선

현재는 성능 측정을 위해 도구를 선택하고 기본적인 성능 측정을 기입하기 위한 문서를 만들어놓은 상태이다.
해당 내용은 필자의 Github(Re-view-personal)에서 확인할 수 있다.

마무리

아마 최적화 단계가 끝나고 나면 문서화를 통해 포트폴리오를 조금 더 강화시키게 될 것 같다. 추후에 Cosider프로젝트까지 끝이 나게된다면 내 포트폴리오와 이력서도 공개하면서 피드백을 받아보고 싶다.
피드백에서 신랄하게 비판하거나 지적할 부분이 많을 것 같아 조금 두렵긴 하다.
학생 신분을 가졌을 때 너무 느긋하게 살지 않았나 싶기도 하다...
물론 학생때에 공부와 알바를 병행하느라 내 나름대로는 바쁘게 살긴 했다만 사실 알바보다는 공부에 더 비중을 두는게 맞지 않았나 싶기도 하다.
그러나 다시 그때로 돌아간다고 해서 내가 알바보다 공부를 더 중하게 생각하진 않았을 것 같다.
결국 그때의 난 자취를 하기 위해서 목표를 잡았고 그 목표를 향해서는 달려가고 있었기 때문이다. 그리고 백앤드 개발자라는 직업에 진정으로 관심을 가지기까지는 꽤나 오랜 시간이 걸렸기 때문이다.
그래서 그때의 선택을 엄청나게 후회하진 않는다. 그저 아쉬움이 조금 남았을 뿐이지... ㅠ
오늘은 여기까지 하고 앞으로는 리팩토링과 관련된 내용도 간략하게 올려보겠다.
시간이 날 때 올릴 것 같은데. 자주 쓴다고 장담하진 못할 것 같다.

profile
백앤드 개발자 아직은 지망생?!

0개의 댓글