2026.05.16E·99의존성 패키지 충돌 해결하기: pnpm overrides와 patch 기능 활용기
오픈소스 패키지의 치명적인 버그나 버전 충돌을 맞닥뜨렸을 때, fork 없이 우아하게 패키지 코드를 직접 수정하고 강제 우회하는 pnpm overrides 및 patch 기법 실무 활용기.
Package ManagerpnpmDependency
→2026.01.01E·46에러 스택 트레이스 읽기
빨간 에러 메시지가 뜨면 당황해서 그냥 구글에 복붙했는데, 스택 트레이스를 읽는 법을 알고 나니 디버깅 속도가 10배 빨라졌다.
DebuggingJavaScriptError Handling
→2025.12.12E·26Supabase DB Migration이 꼬여서 배포를 못 하고 있습니다
팀원과 동시에 DB 스키마를 수정했더니 `supabase db push`가 실패합니다. 마이그레이션 파일 충돌 원인과 `migration repair` 명령어로 해결하는 방법을 정리해봤습니다.
SupabasePostgresMigration
→2025.12.11E·25Edge Function 배포 실패? (Deno 런타임을 이해 못 해서 생긴 일)
로컬에선 잘 되는데 배포만 하면 500 에러? Node.js와 Edge Runtime의 차이부터 Import Map 설정까지, Supabase Edge Function 배포 성공을 위한 체크리스트.
SupabaseEdge FunctionsDeno
→2025.12.10E·24실시간 채팅이 안 돼요 (Realtime 구독 먹통 해결법)
채팅 기능을 만들었는데 DB가 업데이트되어도 프론트엔드는 조용합니다. Supabase Realtime 구독이 먹통일 때 확인해야 할 'Replication' 설정과 RLS 필터링에 대해 정리해봤습니다.
SupabaseRealtimePostgres
→2025.12.09E·23이미지 업로드가 자꾸 403 Forbidden이에요 (Storage RLS의 함정)
테이블 RLS는 켰는데, 스토리지 파일 업로드가 막힙니다. 'new row violates row-level security policy' 에러의 진짜 원인인 `storage.objects` 정책 설정법을 정리해봤습니다.
SupabaseStorageRLS
→2025.12.08E·22이메일 인증 메일이 안 와요 (내 서비스가 스팸 취급을 당하다니)
회원가입 버튼을 눌렀는데 메일이 안 옵니다. 스팸함에도 없습니다. Supabase 무료 SMTP의 한계와 Resend를 연동하여 이메일 전송 성공률을 99%로 높이는 방법을 정리해봤습니다.
SupabaseAuthEmail
→2025.11.09E·21TypeScript 타입 에러가 빌드에서 안 잡힐 때
TypeScript 타입 에러가 개발 중에는 보이는데 빌드할 때는 무시되는 문제와 해결 방법을 정리했습니다.
TypeScriptBuildType Safety
→2025.11.08E·20프록시로 CORS 우회하기
개발 중 CORS 에러를 프록시로 해결하는 방법과 주의사항을 정리했습니다.
CORSProxyAPI
→2025.11.04E·19절대 경로 import가 안 될 때: 원인부터 모노레포 설정까지
TypeScript/JavaScript에서 절대 경로 import 설정이 안 될 때의 원인을 '지도와 택시 기사' 비유로 설명합니다. CJS vs ESM 역사적 배경과 모노레포 설정, 팀 컨벤션까지 총정리.
TypeScriptJavaScriptImport
→2025.08.21E·09내 코드가 화면에 안 바뀐다: HMR 고장 수리기
개발 중에 코드를 수정했는데 브라우저가 반응이 없나요? 새로고침을 백만 번 하다가 지쳐서 찾아낸 HMR(Hot Module Replacement)의 원리와 고장 원인, 그리고 해결 방법을 '노가다 개발자'의 시선으로 정리했습니다.
HMRViteReact
→2025.08.18E·07.gitignore가 고장 난 줄 알았다: 이미 커밋된 파일 무시하기 & 흔한 실수들
.gitignore에 분명히 추가했는데 왜 자꾸 변경사항에 뜰까요? Git이 파일을 추적하는 원리를 클럽의 '블랙리스트'에 비유하여 설명하고, `git rm --cached`로 이미 들어온 불청객을 내보내는 방법, 대소문자 이슈, 그리고 CRLF 문제까지 완벽하게 파헤칩니다.
GitVersion ControlDevOps
→2025.08.17E·06망했다, API 키를 깃허브에 올렸다: Git 실수 수습하기 (Reset, Revert, Stash)
새벽 3시에 실수로 AWS 비밀키가 담긴 파일을 커밋하고 푸시까지 해본 적 있나요? 패닉에 빠져서 파일을 지우고 다시 푸시해도 히스토리는 남습니다. git reset, revert, reflog를 이용해 과거를 조작하고, git stash로 작업 내용을 안전하게 대피시키는 방법, 그리고 git rebase -i로 커밋 역사를 깔끔하게 다듬는 고급 기술까지 '식은땀 나는' 경험담과 함께 정리해봤습니다.
GitVersion ControlDevOps
→2025.07.06B·01코드 한 줄이 DB를 죽인다: N+1 문제 완전 정복
기능 하나를 추가했을 뿐인데, DB CPU가 100%를 찍는 상황이 있다. 원인은 ORM의 '지연 로딩'이 만든 N+1 문제다. 1000번의 쿼리를 1번으로 줄인 최적화 과정과, 주니어 개발자가 흔히 저지르는 ORM 실수들을 정리해본다.
DatabaseORMPerformance
→2025.05.25U·01Next.js: Client Component는 async일 수 없다? (Error: async/await is not yet supported in Client Components)
Next.js 13 이상 App Router 환경에서 가장 빈번하게 마주치는 에러 중 하나입니다. 클라이언트 컴포넌트('use client')에 async 키워드를 붙이면 왜 에러가 발생하는지, React의 렌더링 메커니즘 관점에서 깊이 있게 분석하고, 이를 해결하기 위한 3가지 핵심 디자인 패턴(Container-Presenter, useEffect, React Query)을 상세한 코드 예제와 함께 정리해봤습니다.
Next.jsReactFrontend
→