내가 그린

모비닥 진료 프로세스 개선 프로젝트 회고: 코드 품질과 성능 최적화 개선기

모비닥은 환자 본인 뿐만 아니라 가족 구성원과 함께 병원 진료 신청 할 수 있는 “함께 진료” 기능이 있습니다. 하지만 이 “함께 진료” 는 여러 환자를 하나의 그룹으로 묶어 처리하기 때문에 몇 가지 문제점이 있었습니다. 가장 큰 문제점은 하나의 증상 & 문진표만 작성한 구조입니다. 만약 자녀A는 타박상, 자녀B는 기침 증상이 있는 경우 대표...

MySQL 인덱스의 원리와 구조 이해하기

Real MySQL 8.0 8장 “인덱스”를 학습한 내용입니다. B-Tree 인덱스 최사위에 하나의 루트노드가 존재하고 그 하위에는 브랜치 노드, 가장 말단에는 리프노드가 붙어 있다. 데이터베이스에서 인덱스와 실제 데이터가 저장된 데이터는 따로 관리되는데 인덱스 리프 노드에 항상 실제 데이터 레코드를 찾아가기 위한 주솟값이 저장된다. 인...

자바/스프링 테스트 개발자 리뷰 노트 1: 단위 테스트와 통합 테스트 전략

김우근님의 Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트 를 정리한 내용입니다. 왜 TDD에 실패할까? 테스트는 품질을 올리는 행위이고, 업무에 적용하고, 보고하기 위해서는 가시적인 성과가 필요하게 된다. 결국 커버리지를 찾게 되는데 테스트 커버러지가 테스트의 목적이 되면 안된다. 테스트의 어려운 점 대표적으로 아래와 같...

상위 1% 개발자의 7가지 핵심 습관: 코드 품질과 생산성 향상 전략

상위 1% 엔지니어의 7가지 간단한 습관을 참고한 내용입니다. 코더가 아닌 엔지니어가 될 것 (Be an engineer, not a coder) 엔지니어링은 문제를 해결하는 것이고, 최고의 엔지니어는 코드를 문제를 해결하기 위한 수단으로 생각한다. 즉, 목적이 없는 코드를 작성하지 않고 사용자의 솔루션을 설계하는 등 목적을 ...