DB를 바꾸려다 지옥을 맛봤다: 헥사고날 아키텍처 생존기
서비스 초기, MongoDB를 쓰다가 RDB로 마이그레이션 해야 할 순간이 왔습니다. 하지만 비즈니스 로직과 DB 코드가 뒤엉켜 있어 지옥을 경험했죠. 헥사고날 아키텍처(포트와 어댑터)를 도입하여 비즈니스 로직을 순수하게 지켜내고, 기술 부채로부터 탈출한 경험을 공유합니다.

개발과 기술에 대한 이야기를 기록합니다.
서비스 초기, MongoDB를 쓰다가 RDB로 마이그레이션 해야 할 순간이 왔습니다. 하지만 비즈니스 로직과 DB 코드가 뒤엉켜 있어 지옥을 경험했죠. 헥사고날 아키텍처(포트와 어댑터)를 도입하여 비즈니스 로직을 순수하게 지켜내고, 기술 부채로부터 탈출한 경험을 공유합니다.

싱글 페이지 애플리케이션(SPA)의 SEO 문제를 해결하기 위해 등장한 SSR. 그리고 정적 생성(SSG)과 점진적 재생성(ISR)의 진화. 이제는 서버 컴포넌트(RSC) 시대.

JSON은 무겁고 REST는 수다스럽습니다. 마이크로서비스 간 통신 속도를 극한으로 끌어올리기 위해 구글이 만든 gRPC의 세계로 초대합니다. Protocol Buffers의 직렬화 마법, HTTP/2의 멀티플렉싱 성능, 그리고 4가지 스트리밍 통신 패턴(Unary, Server/Client/Bi-directional Streaming)을 실제 코드 예제와 함께 다뤄봤습니다. 브라우저에서의 제약사항(gRPC-Web)과 로드밸런싱 이슈도 다룹니다.

애플 앱스토어와 구글 플레이 심사에서 광탈하지 않는 법. Privacy Manifest, 인앱결제 우회 금지, 저작권 문제부터 '사람이 직접 검수한다'는 사실을 이용한 심사 통과 전략까지.

고등학교 시절, 친구의 웹사이트를 'admin' --' 한 줄로 뚫었던 경험과 그 충격을 공유합니다. 웹 개발자가 반드시 알아야 할 10가지 보안 취약점(OWASP Top 10)과 이를 막기 위해 '해커처럼 생각하는 법'을 4가지 핵심 위협(Injection, IDOR, Crypto, Misconfig)을 중심으로 설명합니다.

kubectl apply -f를 매번 직접 입력하고 있나요? Git을 단일 진실 공급원(SSOT)으로 삼아 인프라와 애플리케이션 배포를 자동화하는 GitOps의 개념을 설명합니다. Push vs Pull 방식의 차이, ArgoCD를 이용한 자동화, 비밀 관리(Secrets) 전략, 그리고 누군가 몰래 설정을 바꿨을 때 이를 감지하는 Drift Detection까지 실제적인 관점에서 다뤄봤습니다.

.gitignore에 분명히 추가했는데 왜 자꾸 변경사항에 뜰까요? Git이 파일을 추적하는 원리를 클럽의 '블랙리스트'에 비유하여 설명하고, `git rm --cached`로 이미 들어온 불청객을 내보내는 방법, 대소문자 이슈, 그리고 CRLF 문제까지 완벽하게 파헤칩니다.

새벽 3시에 실수로 AWS 비밀키가 담긴 파일을 커밋하고 푸시까지 해본 적 있나요? 패닉에 빠져서 파일을 지우고 다시 푸시해도 히스토리는 남습니다. git reset, revert, reflog를 이용해 과거를 조작하고, git stash로 작업 내용을 안전하게 대피시키는 방법, 그리고 git rebase -i로 커밋 역사를 깔끔하게 다듬는 고급 기술까지 '식은땀 나는' 경험담과 함께 정리해봤습니다.

React에서 자식 컴포넌트에 ref를 전달하는 방법이 왜 그렇게 복잡할까요? props로 ref를 전달하려다 실패한 경험부터, forwardRef를 사용하여 우아하게 DOM에 접근하는 법, useImperativeHandle을 통해 필요한 메서드만 노출하는 캡슐화 패턴, 그리고 TypeScript 제네릭과 함께 사용하는 고급 기법까지 상세히 다뤄봤습니다.

리액트가 혁신이었던 이유. 진짜 DOM 조작이 느린 이유(Reflow/Repaint)와 Virtual DOM의 '더블 버퍼링' 전략, 그리고 React Fiber가 가져온 혁명.

대용량 폼에서 입력 지연을 해결하는 디바운싱과 최적화 기법

React Native와 Flutter 사이에서 고민 중인가요? 다트(Dart) 언어의 매력부터 스키아(Skia) 엔진을 통한 네이티브급 성능, 그리고 선언형 UI(Declarative UI)의 철학까지. 왜 수많은 기업들이 플러터로 넘어가고 있는지, 그 기술적 배경과 장단점을 심층 분석합니다.

금요일 오후 5시에 배포하는 것이 두려운가요? 기능을 코드에 포함시켜 배포하되, 실제 사용자에게는 보이지 않게 만드는 Feature Flag 기술. 롤백 없이 기능을 끄는 킬 스위치부터, A/B 테스트, 카나리 배포, 그리고 기술 부채 관리까지 안전한 DevOps를 위한 필수 전략을 정리합니다.

API 키를 GitHub에 올려서 털려본 적 있나요? 환경 변수의 개념부터 보안 사고를 막기 위한 시크릿 관리 전략, 그리고 Docker/K8s 환경에서의 주입 패턴까지. 12-Factor App 방법론에 입각한 설정 관리의 모든 것을 정리합니다.

포켓몬 GO부터 애플 비전 프로까지. 헷갈리는 AR, VR, MR, XR의 개념을 '창문과 문' 비유로 정리하고, 이커머스 프로젝트에 AR을 도입해 반품률을 30%에서 8%로 줄인 경험을 공유합니다.

5G가 단순히 빠른 인터넷이 아닌 이유. eMBB, URLLC, mMTC 세 가지 특징과 실제 활용 사례를 정리해본다

Web3의 개념과 활용 방법을 경험을 통해 이해한 과정

서비스가 느리다는 항의를 받았는데, 로그파일만 뒤적거리다가 원인을 못 찾았던 경험이 있나요? Prometheus와 Grafana를 도입하여 '눈을 감고 운전하던' 상태에서 벗어난 경험과, 구글이 정의한 모니터링 4대 골든 시그널(Golden Signals)을 공유합니다.

데이터를 수정했는데 페이지에 계속 예전 값이 나오는 유령 같은 현상. Next.js 13+의 강력한(그리고 사악한) 캐싱 메커니즘을 4계층으로 분석하고, React Query와의 차이점, 그리고 실제 디버깅 전략을 공유합니다.

Terraform의 동작 원리와 활용 방법을 프로젝트 경험을 통해 이해한 과정
