Yunjeong Luna Lee | Dev Blog - Categories
EXPLORER
NAVIGATION
Home
About
All Categories
RECENT POSTS
Fresh-eye 2차 /inspect:...
같은 문장을 60번 타이핑했다면, 그건 ...
프론트엔드가 DB를 죽인 날 — Reac...
Serena가 토큰을 40배 아끼는 원리...
AI가 4번 고쳐도 못 고친 버그, 사람...
CATEGORIES
Claude (4)
DevTools (4)
Spring Boot (5)
Jackson (1)
Architecture (14)
Frontend (12)
React (4)
Performance (3)
Spring (4)
Security (2)
AOP (2)
Debug (2)
TypeScript (2)
Backend (26)
Database (6)
System Design (2)
API Design (2)
QA (2)
Testing (2)
Debugging (6)
Productivity (9)
AI (10)
OpenSource (2)
Developer Tools (4)
Development (17)
Face Recognition (2)
Git (2)
DevOps (8)
Refactoring (2)
DevEx (3)
Design (1)
UX (1)
Automation (6)
CI/CD (2)
FullStack (2)
Software Engineering (1)
Claude Code (2)
Code Review (2)
Categories
All Categories
Claude
(4)
Claude Code 실행하면 VSCode 창이 3개 열리는 버그 해결법
2026-03-06
Fix: Claude Code Opens 3 Blank VSCode Windows on Startup
2026-03-06
Claude '파일이 예기치 않게 수정되었습니다' 버그 해결법
2025-09-27
The Elusive Claude 'File has been unexpectedly modified' Bug: A Workaround Solution
2025-09-27
DevTools
(4)
Claude Code 실행하면 VSCode 창이 3개 열리는 버그 해결법
2026-03-06
Fix: Claude Code Opens 3 Blank VSCode Windows on Startup
2026-03-06
Claude '파일이 예기치 않게 수정되었습니다' 버그 해결법
2025-09-27
The Elusive Claude 'File has been unexpectedly modified' Bug: A Workaround Solution
2025-09-27
Spring Boot
(5)
JPA에서 여러 컬렉션을 JOIN FETCH하면 안 되는 이유 — Cartesian Product 버그 실전 사례
2026-03-25
Why You Should Never JOIN FETCH Multiple Collections in JPA — A Cartesian Product Bug in Practice
2026-03-25
DTO 변환은 Controller? Service? - 제대로 조사해봤다
2025-10-19
DTO Conversion: Controller or Service? - I Actually Researched It
2025-10-19
Spring Boot에서 LocalDateTime을 UTC로 직렬화할 때 타임존 표시(Z) 추가하기
2025-09-30
Jackson
(1)
Spring Boot에서 LocalDateTime을 UTC로 직렬화할 때 타임존 표시(Z) 추가하기
2025-09-30
Architecture
(14)
알림 시스템 아키텍처: 스케줄러 vs 큐, 무엇이 정답일까?
2026-02-18
Notification System Architecture: Scheduler vs Queue — What's the Right Answer?
2026-02-18
외래키 없이 살아남기: String으로 참조하는 소프트 레퍼런스 패턴
2026-01-10
Surviving Without Foreign Keys: The Soft Reference Pattern with Strings
2026-01-10
Row-Level Security 5가지 구현 방법 비교와 선택 가이드
2025-12-13
View all 14 posts →
Frontend
(12)
프론트엔드가 DB를 죽인 날 — React Query + JPA Cartesian Product 사고 분석
2026-04-27
The Day the Frontend Killed the DB — React Query + JPA Cartesian Product Incident Analysis
2026-04-27
React 앱이 브라우저 확장 프로그램 때문에 크래시되는 이유와 해결법
2026-04-13
LocalTime vs LocalDateTime: 시간 포맷팅 버그와 UTC→KST 변환
2025-11-12
LocalTime vs LocalDateTime: Time Formatting Bug and UTC→KST Conversion
2025-11-12
View all 12 posts →
React
(4)
React Query 멀티테넌트 캐싱: 왜 캠퍼스 바꿔도 데이터가 안 바뀔까?
2025-11-09
React Query Multi-Tenant Caching: Why Query Keys Need Tenant IDs
2025-11-09
트리 검색 UI, 필터링만이 답일까? - 검색 결과와 전체 맥락을 동시에 보여주는 하이브리드 패턴
2025-10-26
Beyond Filtered Search: A Hybrid Tree Search UI Pattern That Shows Both Results and Context
2025-10-26
Performance
(3)
팝오버 1초 멈춤, 알고 보니 쿼리 17개가 나가고 있었다
2026-03-27
One Click, 17 Hidden Queries — How a Blank Popover Exposed Our N+1 Problem
2026-03-27
Fuse.js가 브라우저를 멈추게 했다 - 검색 라이브러리 선택 가이드
2025-10-28
Spring
(4)
Spring AOP로 86개 파일 860개 로그를 하나로 통합한 방법
2025-11-09
Spring AOP: Replacing 860 Manual Logs with One Aspect
2025-11-09
Spring Security: @AuthenticationPrincipal이 커스텀 @CurrentUser보다 나은 이유
2025-11-09
Spring Security: Why @AuthenticationPrincipal Beats Custom @CurrentUser
2025-11-09
Security
(2)
Spring Security: @AuthenticationPrincipal이 커스텀 @CurrentUser보다 나은 이유
2025-11-09
Spring Security: Why @AuthenticationPrincipal Beats Custom @CurrentUser
2025-11-09
AOP
(2)
Spring AOP로 86개 파일 860개 로그를 하나로 통합한 방법
2025-11-09
Spring AOP: Replacing 860 Manual Logs with One Aspect
2025-11-09
Debug
(2)
마퀴 선택 스크롤 버그: 5번 삽질 끝에 깨달은 좌표계의 진실
2025-11-09
Marquee Selection Scroll Bug: 5 Failed Attempts to Learn How Coordinates Really Work
2025-11-09
TypeScript
(2)
LocalTime vs LocalDateTime: 시간 포맷팅 버그와 UTC→KST 변환
2025-11-12
LocalTime vs LocalDateTime: Time Formatting Bug and UTC→KST Conversion
2025-11-12
Backend
(26)
프론트엔드가 DB를 죽인 날 — React Query + JPA Cartesian Product 사고 분석
2026-04-27
The Day the Frontend Killed the DB — React Query + JPA Cartesian Product Incident Analysis
2026-04-27
팝오버 1초 멈춤, 알고 보니 쿼리 17개가 나가고 있었다
2026-03-27
One Click, 17 Hidden Queries — How a Blank Popover Exposed Our N+1 Problem
2026-03-27
JPA에서 여러 컬렉션을 JOIN FETCH하면 안 되는 이유 — Cartesian Product 버그 실전 사례
2026-03-25
View all 26 posts →
Database
(6)
청구서 금액이 2배로 나왔다 — 비개발자도 이해할 수 있는 데이터베이스 곱셈 버그
2026-03-25
The Order Total Was Doubled — A Database Multiplication Bug, Explained for Non-Engineers
2026-03-25
외래키 없이 살아남기: String으로 참조하는 소프트 레퍼런스 패턴
2026-01-10
Surviving Without Foreign Keys: The Soft Reference Pattern with Strings
2026-01-10
예쁘게 설계하지 말까? 정규화된 구조가 항상 정답은 아닌 이유
2025-11-14
View all 6 posts →
System Design
(2)
김민준 A, B, C... 동명이인 자동 구분 시스템 만들기
2025-12-17
John Smith A, B, C... Building an Automatic Duplicate Name System
2025-12-17
API Design
(2)
학생+학부모 등록: 왜 기존 API를 프론트에서 조합하지 않고 1-step API를 새로 만들었는가
2025-12-27
Student+Guardian Registration: Why We Built a New 1-step API Instead of Combining Existing APIs in Frontend
2025-12-27
QA
(2)
페르소나 기반 탐색적 테스팅: 급한 교사, IT 초보 조교, 장난꾸러기 학생으로 버그 찾기
2026-01-03
Persona-Based Exploratory Testing: Finding Bugs as a Rushed Teacher, Tech-Challenged Assistant, and Mischievous Student
2026-01-03
Testing
(2)
페르소나 기반 탐색적 테스팅: 급한 교사, IT 초보 조교, 장난꾸러기 학생으로 버그 찾기
2026-01-03
Persona-Based Exploratory Testing: Finding Bugs as a Rushed Teacher, Tech-Challenged Assistant, and Mischievous Student
2026-01-03
Debugging
(6)
0.006초의 간극 — Sentry 알림에서 방어적 프로그래밍까지
2026-02-06
The 0.006s Gap — From Sentry Alert to Defensive Programming
2026-02-06
바이브코딩에서 자동 문서화가 버그 수정 시간을 5분으로 단축시킨 이야기
2026-01-21
How Auto-Documentation in Vibe Coding Reduced Bug Fix Time to 5 Minutes
2026-01-21
"알림톡 발송 성공"이라고 믿었는데, 한 달간 아무도 못 받고 있었다
2026-01-12
View all 6 posts →
Productivity
(9)
하루 50커밋 찍던 시절이, 사실 가장 비효율적이었다
2026-03-10
I Averaged 50 Commits a Day. It Was My Least Productive Period.
2026-03-10
코딩하면서 영어 교정받기 — Claude Code를 영어 튜터로 쓰는 법
2026-02-03
Turning My Coding Tool into an English Tutor — With Claude Code Hooks
2026-02-03
Notion API 없이 2만 페이지 읽기 - 로컬 캐시 + 오픈소스 기여기
2026-02-01
View all 9 posts →
AI
(10)
Serena가 토큰을 40배 아끼는 원리 — grep은 5초, 컴파일러 이론은 0.1초
2026-04-22
How Serena Saves 40x on Tokens — The Compiler Theory Behind Your Vibe Coding
2026-04-22
AI가 4번 고쳐도 못 고친 버그, 사람이 한 질문으로 해결한 이야기
2026-04-15
나를 뭐라고 불러야 하나 했는데, 채용 공고에 이름이 붙기 시작했다
2026-02-25
Job Postings Are Now Hiring for What I've Been Doing Alone
2026-02-25
View all 10 posts →
OpenSource
(2)
Notion API 없이 2만 페이지 읽기 - 로컬 캐시 + 오픈소스 기여기
2026-02-01
Reading 20K Notion Pages Without the API - Local Cache + My First Open Source PR
2026-02-01
Developer Tools
(4)
Serena가 토큰을 40배 아끼는 원리 — grep은 5초, 컴파일러 이론은 0.1초
2026-04-22
How Serena Saves 40x on Tokens — The Compiler Theory Behind Your Vibe Coding
2026-04-22
코딩하면서 영어 교정받기 — Claude Code를 영어 튜터로 쓰는 법
2026-02-03
Turning My Coding Tool into an English Tutor — With Claude Code Hooks
2026-02-03
Development
(17)
Fresh-eye 2차 /inspect: 같은 코드를 두 번 다른 시각으로 보면 어떤 버그가 나오는가
2026-05-03
Fresh-eye second /inspect: what bugs appear when the same code is reviewed from a different angle
2026-05-03
같은 문장을 60번 타이핑했다면, 그건 스킬이다 — 1.5GB 대화 로그에서 찾아낸 AI 코드 리뷰의 anchoring bias와 /reinspect
2026-05-01
If You Typed the Same Sentence 60 Times, That's a Skill — Mining 1.5GB of Chat Logs for AI Code Review Anchoring Bias and /reinspect
2026-05-01
VS Code를 버렸다 — Windows Terminal + bat 파일이면 충분하다
2026-03-22
View all 17 posts →
Face Recognition
(2)
사진 한 장에 뚫리는 얼굴인식 — 왜 토스는 되고, 나는 안 될까?
2026-02-05
There's a Reason Apple Still Uses a Notch for Face ID
2026-02-05
Git
(2)
Git 머지할 때 삭제한 파일이 되살아나는 이유
2026-02-10
Why Deleted Files Come Back During Git Merge
2026-02-10
DevOps
(8)
CI/CD 배포 Slack 알림 + Release Note 자동 추출 — 비개발자도 읽는 배포 알림 만들기
2026-03-31
CI/CD Deploy Slack Notifications + Auto-Extracted Release Notes — Making Deploy Alerts That Non-Developers Actually Read
2026-03-31
Slack 자동화 3개를 바이브 코딩했더니 월 $100 SaaS가 필요 없어졌다
2026-03-31
I Vibe-Coded 3 Slack Automations — They Replaced $100/mo in SaaS
2026-03-31
Claude Code 스케줄 에이전트로 매일 Slack 브리핑 자동화하기 (+ 네트워크 제한 우회법)
2026-03-29
View all 8 posts →
Refactoring
(2)
AI에게 데드코드를 맡겼더니 5,156줄을 지웠다
2026-02-24
I Used an AI Agent to Delete 5,000 Lines of Dead Code
2026-02-24
DevEx
(3)
VS Code를 버렸다 — Windows Terminal + bat 파일이면 충분하다
2026-03-22
바이브코딩은 셋업부터 — VS Code 자동화 가이드
2026-03-03
Vibe Coding Starts with Setup — VS Code Automation Guide
2026-03-03
Design
(1)
시스템이 알아서 해야 할까, 사람이 확인해야 할까 — AI에게 물어본 추천 도서
2026-03-26
UX
(1)
시스템이 알아서 해야 할까, 사람이 확인해야 할까 — AI에게 물어본 추천 도서
2026-03-26
Automation
(6)
QA팀이 없어서 앱 안에 피드백 버튼을 만들었다
2026-04-12
I Had No QA Team, So I Built a Feedback Button Into the App
2026-04-12
Slack 자동화 3개를 바이브 코딩했더니 월 $100 SaaS가 필요 없어졌다
2026-03-31
I Vibe-Coded 3 Slack Automations — They Replaced $100/mo in SaaS
2026-03-31
Claude Code 스케줄 에이전트로 매일 Slack 브리핑 자동화하기 (+ 네트워크 제한 우회법)
2026-03-29
View all 6 posts →
CI/CD
(2)
CI/CD 배포 Slack 알림 + Release Note 자동 추출 — 비개발자도 읽는 배포 알림 만들기
2026-03-31
CI/CD Deploy Slack Notifications + Auto-Extracted Release Notes — Making Deploy Alerts That Non-Developers Actually Read
2026-03-31
FullStack
(2)
QA팀이 없어서 앱 안에 피드백 버튼을 만들었다
2026-04-12
I Had No QA Team, So I Built a Feedback Button Into the App
2026-04-12
Software Engineering
(1)
AI가 4번 고쳐도 못 고친 버그, 사람이 한 질문으로 해결한 이야기
2026-04-15
Claude Code
(2)
같은 문장을 60번 타이핑했다면, 그건 스킬이다 — 1.5GB 대화 로그에서 찾아낸 AI 코드 리뷰의 anchoring bias와 /reinspect
2026-05-01
If You Typed the Same Sentence 60 Times, That's a Skill — Mining 1.5GB of Chat Logs for AI Code Review Anchoring Bias and /reinspect
2026-05-01
Code Review
(2)
Fresh-eye 2차 /inspect: 같은 코드를 두 번 다른 시각으로 보면 어떤 버그가 나오는가
2026-05-03
Fresh-eye second /inspect: what bugs appear when the same code is reviewed from a different angle
2026-05-03
Jekyll
Markdown
한국어
91 posts