단위 테스트를 작성할 때, 테스트 대상 코드가 의존하는 타입을 목(mock) 처리하는 것은 일반적인 관행입니다. 하지만, 당신이 소유하지 않은 타입(types you don’t own)을 목 처리하는 것은 거의 항상 피해야 합니다.
Posts for: #Programming
번역글: 섣부른 최적화, 아니면… 내가 한 말은 나부터 지켜야 했는데
오늘날, 기본적인 코딩 기술은 더 많은 AI 토큰을 구매함으로써 채용될 수 있다. 당신은 그것을 기반으로 고용해서는 안 된다.
TotT: 당신이 소유하지 않은 타입은 목킹(Mock)하지 마세요
단위 테스트를 작성할 때, 테스트 대상 코드가 의존하는 타입을 목(mock) 처리하는 것은 일반적인 관행입니다. 하지만, 당신이 소유하지 않은 타입(types you don’t own)을 목 처리하는 것은 거의 항상 피해야 합니다.
아키텍처 비교: VSA vs. Hexagonal Architecture
이 포스트는 Vertical Slicing Architecture와 Hexagonal Architecture의 개념과 특징을 단순히 나열하는 것을 넘어, 두 아키텍처의 근본적인 설계 철학, 해결하고자 하는 핵심 문제, 그리고 실제 프로젝트에 적용했을 때 발생하는 트레이드오프를 심층적으로 분석하는 것을 목표로 합니다. 각 아키텍처의 태동 배경, 장단점, 이상적인 적용 시나리오를 비교 분석하고, 실제 적용 사례를 통해 이론이 현실에서 어떻게 구현되는지 살펴볼 것입니다. 최종적으로는 독자들이 자신의 프로젝트 맥락과 당면 과제에 가장 적합한 아키텍처를 정보에 입각하여 선택할 수 있도록 실질적인 통찰과 가이드를 제공하고자 합니다.
TotT: 테스트 데이터를 깔끔하게 만드세요
만약 당신이 과속 운전을 한다면(원인), 당신은 교통 딱지를 받게 될 것입니다(결과).
TotT: 상태를 변경하는 메서드 호출만 검증하세요
일반적으로 상태를 변경하지 않는 메서드가 호출되었는지 검증하는 것은 피해야 합니다.
AI 툴 소개: GitHub Spec Kit: AI 에이전트 개발을 위한 명세서
GitHub Spec Kit은 코드와 상호작용하는 AI 에이전트 및 모델 개발자를 위한 명세(spec) 모음입니다. 이 명세들은 AI 에이전트가 파일 시스템과 상호작용하고, 명령을 실행하며, 사용자와 소통하는 방식에 대한 모범 사례(best practice)를 정의합니다.
TotT: 중첩 줄이기, 복잡도 낮추기
과도하게 중첩된 코드는 가독성을 해치고 오류를 발생시키기 쉽습니다.
TotT: 원인과 결과를 명확하게 유지하세요
만약 당신이 과속 운전을 한다면(원인), 당신은 교통 딱지를 받게 될 것입니다(결과).
TotT: 무엇이 좋은 End-to-End 테스트를 만드는가?
End-to-end(E2E) 테스트는 시스템의 한쪽 끝에서 다른 쪽 끝까지, 그 사이의 모든 것을 블랙박스로 취급하며 전체 시스템을 테스트합니다. E2E 테스트는 시스템 전반에 걸쳐 나타나는 버그를 잡아낼 수 있습니다. 단위 테스트, 통합 테스트와 더불어 E2E 테스트는 균형 잡힌 테스트 식단의 핵심적인 부분이며, 운영 환경과 거의 유사한 상태에서 시스템의 건전성에 대한 확신을 줍니다.