코드 품질 개선 기법 10편: 적절한 거리 유지에 신경쓰자
UI와 리포지터리가 최대 개수 규칙을 암묵적으로 공유하는 구조의 문제를 다뤘습니다. `hasMoreItems` 같은 명시적 속성으로 책임을 분리하는 방법을 제안했습니다.

UI와 리포지터리가 최대 개수 규칙을 암묵적으로 공유하는 구조의 문제를 다뤘습니다. `hasMoreItems` 같은 명시적 속성으로 책임을 분리하는 방법을 제안했습니다.

새 속성을 추가할 때는 기존 이름이 더 이상 적절한지 함께 살펴야 합니다. 이름을 구체화하고 표시 규칙을 분리하면 버그를 줄일 수 있습니다.

글로벌 협업에서 프로덕트 팀 중심의 4가지 협업 패턴을 정리하고 각 패턴의 장단점을 설명했습니다. 데마에칸 사례를 통해 상황에 맞게 구조를 섞어 쓰는 중요성을 공유했습니다.

외부 저장소 값과 enum 선언을 `name`이나 `ordinal`로 직접 묶으면 리팩토링 때 외부 계약까지 깨질 수 있습니다. 별도 매핑값과 변환 계층으로 외부 값과 내부 정의를 분리하는 방법을 소개했습니다.

반복문 내부의 큰 조건 분기가 흐름 파악과 대응 관계를 어렵게 만든다고 설명했습니다. 이를 해결하는 네 가지 재구조화 방식과 각 장단점을 정리했습니다.

Flutter 앱을 단계적으로 확장하며 클린 아키텍처로 발전시키는 과정을 소개했습니다. 작은 프로젝트에서는 과할 수 있지만 대규모 프로젝트에서는 유지보수와 테스트에 유리했습니다.

일본 배달 앱 데마에칸의 코드베이스와 아키텍처를 전면 교체한 Recode 프로젝트를 소개했습니다. UI는 유지하되 보안, 안정성, 테스트 가능성을 높이기 위해 앱 4개를 다시 개발했습니다.

일본 1위 배달 앱 데마에칸의 Recode 프로젝트를 소개하는 글입니다. 기존 서비스를 바닥부터 다시 설계한 배경을 다룹니다.

데마에칸이 레거시를 해소하기 위해 인프라 단절, 코드 재작성, 사양 경량화라는 세 가지 방법을 소개했습니다. 각 방법의 장단점과 실제 적용 사례를 통해 서비스 개선의 트레이드오프를 설명했습니다.

전통적인 CMS의 한계를 보완하기 위해 LandPress Content로 마이그레이션한 배경과 도구 개발 과정을 소개했습니다. 전환 후 성능, 보안, 개발 편의성과 콘텐츠 관리 측면의 개선도 함께 정리했습니다.

HeadVer는 최종 사용자 대상 프로덕트에 맞춘 버저닝 규칙으로, Head-YearWeek-Build 구조를 제안했습니다. 릴리스 시점과 빌드 재현성을 높여 팀 커뮤니케이션과 운영 효율을 개선했습니다.

ABC User Feedback에 적용한 모노리포 구조와 디렉터리 구성을 소개했습니다. Turborepo 캐시와 원격 캐시로 빌드 효율을 높인 방식도 함께 설명했습니다.

ABC Platform 팀이 데마에칸을 위한 플랫폼 조직으로 자리잡기까지의 1년을 회고했습니다. 복잡한 프로세스를 줄이고 작은 성공과 자율성을 바탕으로 팀 운영 체계를 다듬었습니다.

한국과 일본 TPM이 LINE SHOPPING JP 협업 프로세스를 함께 개선한 회고입니다. 공감대 형성, 업무 가시화, 그라운드 룰 명문화, 카이젠을 통해 지속 개선을 시도했습니다.

우선순위 논쟁을 줄이기 위해 매출, 비용, 만족도, 레거시를 기준으로 수치화 공식을 만들었습니다. Excel 정렬과 시각화로 설명 가능성을 높이고, 정기적으로 기준을 조정하는 방법을 소개했습니다.

가상 머신 성능 저하의 원인을 CPU, 메모리, 네트워크, 디스크로 나누어 측정하고 개선 방안을 찾았습니다. 적절한 튜닝으로 물리 서버에 가까운 성능을 내며 서버 수를 줄일 가능성을 확인했습니다.

오픈소스를 하나의 배포 방식으로 보고 설계 단계부터 공개 가능성을 고려해야 한다고 설명했습니다. 일관성, 확장성, 유지 보수성을 중심으로 유형별 구조와 네이밍 원칙도 정리했습니다.
