리펙토링 3

저장소 패턴(Repository Pattern) 도입기

*보안상 일부 명칭을 모호하게 표현하였으며 실제 소스코드가 아닌 설명을 위한 샘플 코드를 사용하였습니다. 저장소 패턴 도입 프로젝트 입사 후, 첫 실무 프로젝트로 저장소 패턴(Repository Pattern) 도입 프로젝트를 진행했다. 저장소 패턴이란? 저장소 패턴은 모든 데이터가 메모리상에 존재하는 것처럼 가정하고 이를 추상화하여 데이터 접근과 관련된 구현 사항을 감춘다. 저장소를 제외한 다른 레이어는 더 이상 저장소의 구현에 대해 신경 쓸 필요 없이 인터페이스로만 소통한다. 저장소 패턴을 도입한 이유는 기존 운영하던 ‘A’ 서버(보안상 ‘A’라 지칭)의 레이어가 Controller - Service 로만 구성되어 있었고 이와 관련하여 문제점을 가지고 있었기 때문이다. 기존 문제점 1. 비즈니스 로직..

2022년 6주차 '하기 쉽게, 하고 싶게'

Weekly growth 이번 주 내가 중점으로 둔 것은 '하기 쉽게, 하고 싶게'였다. 이를 실현하기 위해 이번 주 새롭게 실천한 방법은 '하루를 체크리스트로 모두 채우기'였다. 보통 다음날 '하고 싶은 것들'을 시간 순서대로 체크박스로 만든다. 그리고 당일이 되면 위에서부터 하나씩 체크하며 처리한다. 하나의 체크박스는 실행하는데 부담이 되지 않도록 아주 잘게 쪼갠 '단일 액션'이다. 블러 처리 하긴 했지만 저 이미지에는 '카페 가기', '점심 먹기', '쉬기' 등 일상의 당연한 것들도 포함되어 있다. (벌써 하고 싶지 않은가?) 데일리 체크리스트를 한 주 동안 실천해보니 매우 긍정적인 효과가 있었다. 우선 아침에 체크박스로 해야 할 일을 배치하니 기분 좋게 그 일을 할 수 있게 되었다. 나 같은 경우..

Bidasks, Suulgo 프로젝트 리펙토링

오늘 한 것 Bidasks 프로젝트 리펙토링 로직 순서 정렬, 레이어 분리, 불필요 코드 삭제 레포 링크 Suulgo 프로젝트 리펙토링 매칭알고리즘을 평균 가중치가 아닌 개인별 가중치로 로직 변경 레포 링크 모자른 점 두 개 프로젝트에 대해서 리펙토링을 했지만 더 좋은 코드가 있을 것 같아 스스로 의심이 든다. suulgo 의 경우, DRF의 모듈들을 활용하고 싶지만 반환 값들이 단순하지 않아 어떻게 수정해야할지 감이 안 잡힌다. 개선 방법 '좋은 코드'를 작성하려면 '좋은 코드'를 많이 보는 수밖에 없는 것 같다. 일단 주로 쓰는 라이브러리부터 살펴보고 어떤 구조와 코드로 이루어져 있는지 기록하자. 감이 안 잡힐 때는 더 작게 쪼개자. 우선 DRF로 일대다 관계의 데이터를 합쳐서 반환하는 방법을 찾아보..

Log/Today 2022.02.02