PostgreSQL 성능 최적화
개발자들은 대규모 데이터 가져오기 시 ILIKE 성능 문제를 해결하고자 PostgreSQL citext 타입을 도입, 인덱스 기반 대소문자 구분 없는 검색을 구현했습니다. 다중 컬럼 인덱스 순서의 중요성과 EXPLAIN ANALYZE 활용을 강조했습니다.
개발 공포 이야기
다양한 ‘공포’ 경험이 공유되었습니다.
-
데이터 재앙: 프로덕션 DB 삭제, 급여 시스템 데이터 손상 등 데이터 관리의 심각한 위험을 겪었습니다.
-
개발 환경 문제: 휴일 디버깅, JSON blob 관리 패널, AWS IAM 복잡성, 테스트 없는 ExpressJS, 레거시 커스텀 ORM 등 부실한 환경이 어려움을 가중시켰습니다.
-
시간 처리 버그: 타임스탬프 정밀도 및 타임존 변경으로 인한 플래키 테스트와 데이터 그룹화 오류는 시간 로직의 복잡성을 드러냈습니다.
-
기본 원칙 부재: 버전 관리 없는 FTP 배포 환경의 혼란과, AI가 생성한 비효율적인 테스트 코드 사례도 언급되었습니다.
시니어 개발자의 실수
시니어 개발자의 실수는 영향 범위가 커 복구하기 어렵고, 잘못된 아키텍처 설계는 장기적으로 팀 생산성을 저하시킬 수 있음을 강조하며 신중한 의사결정의 중요성을 역설했습니다.