데이터베이스가 아키텍처가 될 때 — Smart DB와 DB-as-IPC
스토어드 프로시저에 로직이 숨은 Smart DB의 청구서, Oracle에서 PostgreSQL로 갈 때 돌아오는 비용, 무엇을 DB에 남길지의 기준.
blog92@web:~$ grep -rl "#Anti-Pattern" posts/
이 태그가 달린 글
스토어드 프로시저에 로직이 숨은 Smart DB의 청구서, Oracle에서 PostgreSQL로 갈 때 돌아오는 비용, 무엇을 DB에 남길지의 기준.
필드 하나에 파일 일곱 개를 건드리는 pass-through 계층과 새는 계층의 비용. 규칙은 계층 수가 아니라 의존 방향이다.
같은 검증이 세 곳에 흩어지는 Transaction Script의 한계와, 불변식을 타입으로 밀어 넣는 Parse, don't validate 접근.
나쁜 커밋 하나 없이 1,800줄 파일이 되는 과정. 응집도·결합도를 형용사가 아닌 기준으로 말하는 법과 이음매를 찾아 경계를 되살리는 순서.
안티패턴의 엄격한 정의(해법이 두 개 있어야 한다), 코드 스멜·실패 사례와의 구분, 판별 체크리스트, 그리고 16편 시리즈의 지도.
Cargo Cult, 이력서 주도 개발, 임시 코드의 영속성, 리팩터링 예산 부재. 코드 안에 없지만 코드를 만드는 안티패턴들과 시리즈 전체 정리.
에러 바운더리 부재로 인한 흰 화면, catch로 에러 삼키기, as와 any가 만드는 거짓 안정감, 런타임 검증 없는 API 신뢰, 그리고 깨지는데 아무도 안 읽는 테스트.
!important가 해결이 아니라 증거인 이유, z-index 인플레이션, 마진 소유권, 그리고 div 버튼부터 포커스 관리까지 예외를 던지지 않는 실패들.
번들을 한 번도 열어보지 않는 것에서 시작해, 트리셰이킹이 실패하는 다섯 가지 이유, 코드 분할의 잘못된 단위, use client 커트라인, 그리고 환경변수를 통한 비밀 유출까지.
워터폴이 생기는 네 가지 경로, N+1 요청, 그리고 대부분의 코드에 빠져 있는 것 — 재시도, 타임아웃, 취소, 롤백. 실패 경로가 없는 코드는 완성된 것이 아니다.
React.memo 도배와 성능 방치는 같은 병이다. 실제 병목의 순서, Core Web Vitals가 잡아내는 안티패턴, 레이아웃 스래싱과 컴포지팅, 그리고 무엇을 어떤 도구로 측정할지.
잘못된 추상화의 비용 곡선, God Component를 쪼개는 순서, 컴포넌트 안에서 컴포넌트를 정의할 때 입력값이 사라지는 이유, key={index}가 만드는 정체성 혼란.
useEffect의 네 가지 오용을 해부하고, 왜 사람들이 계속 그렇게 쓰게 되는지 밝힌다. 파생 상태, props를 state로 복사, 성급한 전역화, boolean 상태 머신까지.
안티패턴은 실수가 아니라 구조다. 비용 곡선, 되돌리기 비용, 지연된 비용이라는 세 축으로 판단하는 법과, 지연된 비용을 즉시 아프게 만드는 측정 장치.