Redis: 캐시 그 이상의 전략 (Cache-Aside부터 Eviction까지)
Redis를 그냥 '빠른 저장소'로만 쓰고 계신가요? Look-aside, Write-Through 전략의 장단점과 LRU 알고리즘, 그리고 데이터가 날아가지 않게 하는 RDB/AOF 지속성 설정을 정리합니다.

개발과 기술에 대한 이야기를 기록합니다.
Redis를 그냥 '빠른 저장소'로만 쓰고 계신가요? Look-aside, Write-Through 전략의 장단점과 LRU 알고리즘, 그리고 데이터가 날아가지 않게 하는 RDB/AOF 지속성 설정을 정리합니다.

오픈 소스 기여의 방법과 가치를 경험을 통해 이해한 과정

거창한 포트폴리오보다 작은 사이드 프로젝트가 더 강력한 이유. 6개월간 만든 앱이 망하고, 주말에 만든 도구가 크게 성공한 경험을 통해 배운 '완성'의 중요성을 이야기합니다.

지원하는 곳마다 서류가 통과되지 않던 제가, 이력서를 고쳐 쓰고 나서 5군데 중 4군데에서 연락을 받았습니다. 팀 리드와 동료 개발자들은 당신의 자기소개서를 정독하지 않습니다. 단 3초 안에 '이 사람 궁금하다'는 생각이 들게 만드는 '숫자 중심의 성과 작성법'을 공개합니다.

코드는 돌아가는데 왜 탈락일까? 과제 전형, 라이브 코딩, 시스템 설계 기술 평가에서 리뷰어가 진짜로 보는 것들.

수천 개의 JS 파일을 하나로 합치는 마법. Tree Shaking, HMR, Code Splitting의 원리와 차세대 번들러(Vite, Turbopack)의 등장 배경.

코딩만 잘하면 시니어인 줄 알았습니다. 하지만 진짜 시니어의 역할은 코드가 아니라 '결정'과 '소통'에 있었습니다. 주니어에서 시니어로 넘어가는 과정에서 겪은 성장통을 공유합니다.

사용자가 '앱이 느리다', '고장 났다'고 느끼는 진짜 이유는 API 속도가 아니라 불친절한 UI 때문입니다. 덜덜거리며 깜빡이는 화면 대신 스켈레톤 UI를 도입하고, alert() 창 대신 우아한 에러 처리를 구현하여 UX를 개선한 경험을 공유합니다.

기능 테스트는 통과했는데 트래픽이 몰리니 서버가 뻗었다는 사례는 흔하다. '나 혼자 100번' 테스트와 '100명이 동시에 1번' 테스트는 완전히 다른 이야기다. k6로 부하 테스트를 시작하고 병목을 찾아 해결하는 과정을 정리해본다.

멱등성의 개념과 구현 방법을 경험을 통해 이해한 과정

ChatGPT가 처음 나왔을 때 개발자들은 공포에 떨었습니다. '이제 코딩은 끝났구나.' 저도 그랬습니다. 하지만 1년간 LLM을 실제에 도입하며 깨달았습니다. AI는 신이 아니라, 엄청나게 똑똑하지만 가끔 헛소리하는 인턴이라는 것을요.

React 콘솔에 뜨는 'unique key prop' 경고, 귀찮아서 index로 때우셨나요? 그 사소한 습관이 입력 폼 데이터를 뒤죽박죽으로 만들고 사용자를 미치게 만듭니다. Virtual DOM의 동작 원리와 함께 왜 index를 key로 쓰면 안 되는지, 제 '삽질' 경험을 통해 파헤칩니다.

사용자가 회원가입 버튼을 누르면 이메일을 보낼 때까지 로딩 바가 돌아가고 있었습니다. 이메일 서버가 죽으면 회원가입도 실패했죠. 이 강결합(Tightly Coupled) 문제를 해결하기 위해 메시지 큐(Redis/BullMQ)를 도입하고, '식당 주문표' 비유로 비동기 처리를 이해한 과정을 공유합니다.

'요즘 힙한 기술이니까', '확장성이 좋으니까' 무작정 쿠버네티스(k8s)를 도입했다가 인프라 비용 폭탄과 YAML 지옥을 맛본 경험담입니다. 오버엔지니어링의 위험성과, 언제 쿠버네티스를 써야 하는지에 대한 솔직한 회고를 담았습니다.

any를 쓰면 타입스크립트를 쓰는 의미가 없습니다. 제네릭(Generics)을 통해 유연하면서도 타입 안전성(Type Safety)을 모두 챙기는 방법을 정리합니다. infer, keyof 등 고급 기법 포함.

은행 계좌의 잔액이 왜 0원인지 궁금해본 적 있나요? 단순히 현재 상태(잔액)만 저장하는 대신, 입금, 출금 같은 모든 '사건(Event)'을 저장하여 시스템을 구축하는 이벤트 소싱 패턴. CQRS와 함께 사용되는 이유와 구현 시 마주하는 현실적인 문제들을 깊이 있게 다룹니다.

서비스 런칭 일주일 만에 '작업하던 거 다 날아갔어요!'라는 항의 메일을 받았습니다. 원인은 JWT 토큰 만료. 보안과 편의성 사이에서 줄타기하며 배운 Refresh Token 전략, Axios Interceptor 구현, 그리고 보안 사고를 막기 위한 저장소 선택 기준을 공유합니다.

편리함을 위해 시작한 스마트 홈 구축, 하지만 보안을 놓치면 집이 털릴 수도 있습니다. 와이파이 전구부터 스마트 도어락까지, IoT 기기들을 안전하게 연결하고 '로컬 제어' 시스템을 구축한 저의 삽질 기록을 공유합니다.

SSRF 공격의 원리와 방어 방법을 경험을 통해 이해한 과정

AWS 콘솔에서 EC2 인스턴스를 정리하다가, 실수로 프로덕션 DB 서버를 종료했습니다. 식은땀을 흘리며 복구했던 그날의 경험을 통해, 왜 인프라를 코드로 관리해야 하는지(Infrastructure as Code), 테라폼(Terraform)이 어떻게 우리를 구원하는지 이야기합니다.
