분류 전체보기(255)
-
[데브툰] 리팩토링: 프로모션 조회 설계 및 성능 개선 도전하기 - 설계 편
이번 포스팅의 주제는 '프로모션 조회 설계 개선기'입니다. 주요 내용은 기존 설계의 근본적인 문제를 파악하고 이를 개선해 나가는 과정입니다. 앞으로 글의 가독성을 위해 말을 편하게 할 예정입니다. 양해 부탁드립니다. 🍎🍎🍎목차기존 설계 문제점 파악프로모션, 프로모션 속성 테이블 파악 기획 단계 확인 프로모션 및 프로모션 속성 테이블 완벽 이해프로모션 서비스 로직을 객체지향적으로 개선 인터페이스 활용 문자열 대신 enum 타입 사용 람다식 적용개선 후 로직 및 서비스 코드에 적용회고 만족한 점 아쉬운 점 다음에는 이렇게 기존 설계 문제점 파악첫 번째, 프로모션과 속성은 일대다 관계임에도 프로모션당 하나의 속성만 등록할 수 있다.🔥 프로모션 등록 시 여러 속성을 등록 가능하도록 변경이 ..
2024.05.14 -
[데브툰] 🎁 리팩토링 모음.zip
데브툰은 팀 프로젝트로, Git을 사용하면서 협업하고 있습니다. 기능 구현 시 PR을 올리는 것을 기본으로 하고 지속적인 리팩토링은 이슈를 발생시켜 처리하고 있습니다. 설계/로직 개선이나 성능 최적화와 같은 큰 주제는 별도의 포스팅으로 다룰 예정입니다. 이외 리팩토링 작업은 여러 단위를 하나로 묶어서 발행하려고 합니다.(해당 포스팅) 앞으로 글의 가독성을 위해 말을 편하게 할 예정입니다. 양해 부탁드립니다. 🍎🍎🍎 목차fix: 프로모션 조회 에러 수정refactor: 비즈니스 로직의 return값을 도메인으로 변경refactor: 문자열 하드코딩 부분을 상수로 분리refactor: 계산 로직 Calculator 클래스로 분리회고 만족한 점 아쉬운 점 다음에는 이렇게 이슈 및 PR은 Git Fl..
2024.05.11 -
[데브툰] 이제 너만 믿는다, 테스트 코드 작성하기
데브툰 프로젝트를 진행하면서 작성한 테스트 코드를 소개하려고 합니다. 이론적인 설명보다는 효율적으로 테스트 코드를 작성하는 방법에 대해 고민한 부분을 다룹니다. 또한, 발생한 이슈와 해결 방법도 함께 소개하고, 마지막은 회고로 마무리하는 흐름입니다. 앞으로 글의 가독성을 위해 말을 편하게 할 예정입니다. 양해 부탁드립니다. 🍎🍎🍎 목차테스트 코드를 왜 작성할까?통합 테스트 작성 통합 테스트 이점 유용한 메서드 소개 및 코드 예시@Transactional 롤백이 안 되는 이슈 발생 문제 발생 문제 발생 지점 문제 원인 원인 분석 문제 해결회고 만족한 점 아쉬운 점 다음에는 이렇게 테스트 코드를 왜 작성할까?테스트 코드를 작성하는 이유와 방법을 찾아보면 많은 자료들이 나온다. 대부분 ..
2024.05.08 -
[데브툰] 다양한 정책을 쉽게 등록하고 삭제하기
목차현재 상황 정책 등록 api 구현 팀원의 코드 리뷰리팩토링 추가 고려 사항, 코드 구현 문제 발생 대안 해결 테스트회고 만족한 점 아쉬운 점 다음에는 이렇게 현재 상황데브툰 프로젝트를 진행하면서 나는 확장성 있는 설계 부분을 맡았다. 현재 프로젝트에는 쿠키 가격 정책과 비속어 정책이 존재하고 기획 단계에서는 쿠키 정책만 등록하기로 했었다. 하지만 추후 더 다양한 정책이 등록될 가능성이 있으며, 이를 효과적으로 관리하기 위해 처음부터 쉽게 등록하고 교체할 수 있는 프로그램을 만드는 것을 목표로 하고 기획을 수정했다. 정책 등록 api 구현나는 어떻게 하면 확장성 있는 코드를 만들고, 유지보수성 또한 높일 수 있을까 고민을 하면서 구현에 들어갔다. 1. 정책 인터페이스(Policy)..
2024.05.07 -
[데브툰] Git 활용하여 자신있게 프로젝트 협업하기
목차그래서 어떤 협업을 진행했는가 팀 프로젝트의 시작 협업 관련 회의 진행 ♾️ 간단 소개 코드 컨벤션 및 우리만의 약속 GitHub Projects를 통한 형상관리 이걸로 Git + 협업 종결 임시 저장, stash git 충돌 해결, 수시로 develop pull 습관화 commit 히스토리 정리, rebase 회고 만족한 점 아쉬운 점 다음에는 이렇게 그래서 어떤 협업을 진행했는가개인 프로젝트를 세 번 진행하며 Git을 사용했지만, 단순히 기능(feature)만 나누는 것에 그쳐 아쉬움이 있었다. 팀 프로젝트를 하면서 Git을 제대로 활용하고자 협업 관련 회의를 지속적으로 진행했다. 기획 단계에서 우리만의 코드 컨벤션과 약속을 정했고, 이는 앞으로의 개발을 일관성 있게 진..
2024.05.01 -
[데브툰] 프로젝트 기획부터 설계까지
목차프로젝트 기획프로젝트 목표프로젝트 기간 및 기술 스택설계 아키텍처 및 패키지 구조 요구사항 분석 ERD 시퀀스 다이어그램 와이어 프레임회고 만족한 점 아쉬운 점 다음에는 이렇게 프로젝트 기획개발자 유머 짤들을 종종 보면서 재미있기도 하고, 개발자들끼리 대화할 때 사용하면 좋겠다는 생각이 들었다. 이런 재미있는 짤들을 한 곳에 모아 적재적소에 사용할 수 있는 플랫폼을 만들기로 했다. 이 플랫폼의 목표는 개발자들이 쉽게 유머 짤들을 찾고 즐기고 사용할 수 있도록 하는 것이다. 프로젝트 목표요구사항 분석 후, 바로 개발을 시작하기 전에 각자 달성하고 싶은 목표를 명확히 정했다. 목표 기간에 비해 많은 시간을 투자했지만, 결과적으로 개발 도중 '나 지금 뭐 하는 거지?'라는 생각을 하지 않도록..
2024.04.30