모든 글
총 57개의 글이 있습니다. (2/3 페이지)

인덱스를 만들었는데 플래너가 안 쓴다 — EXISTS 가 selectivity 추정을 무너뜨릴 때
인덱스를 생성해도 쿼리 속도가 개선되지 않는 이유는 EXISTS 절의 잘못된 행 수 추정으로 인해 플래너가 인덱스의 조기 종료 기능을 활용하지 못하기 때문입니다. 통계 정보 수정이 아닌 CTE를 활용한 최적화 배리어로 쿼리 구조를 격리하면 플래너의 오판을 방지하고 인덱스 성능을 온전히 이끌어낼 수 있습니다
2026-07-31 · 11 min read
#postgresql#query-plan#index#performance

헤드리스 AI CLI의 샌드박스는 "없음"이라고 거짓말한다
AI 코딩 CLI를 헤드리스 모드로 사용할 때 샌드박스나 권한 제한이 에러를 빈 결과로 오인하게 만들어 모델이 잘못된 판단을 내리는 위험을 설명하며, 실패가 실패로 인식되도록 스모크 테스트를 통해 도구의 응답을 반드시 검증해야 함을 강조함
2026-07-31 · 7 min read
#ai-agent#cli#automation#sandbox

disabled 버튼에 툴팁이 안 뜨는 이유와 해결
disabled 버튼은 포인터 이벤트를 차단해 툴팁 표시를 방해하므로 CSS의 pointer-events: none을 활용해 이벤트를 부모 요소로 전달하는 해결법과 함께 키보드 사용자를 위한 접근성 보완책을 제시합니다
2026-07-23 · 7 min read
#frontend#css#react#ux#accessibility

Claude Code 상태줄(statusLine)에 사용량 한도와 git 상태 띄우기
Claude Code의 상태줄을 활용해 모델 사용량과 git 상태를 한 줄로 표시하는 커스텀 스크립트 제작 과정을 정리했습니다. 데이터 유무에 따른 예외 처리와 OS별 시간 변환 차이, git 정보 추출 시 주의사항 등 안정적인 상태줄을 구현하기 위한 핵심 팁과 셸 스크립트 작성 노하우를 확인해 보세요
2026-06-26 · 12 min read
#claude-code#statusline#bash#git

AI 에이전트가 grep으로 코드를 더듬는 비용, CodeGraph로 걷어내기
AI 코딩 에이전트가 텍스트 검색에 의존하며 겪는 비효율을 해결하는 CodeGraph를 소개합니다. 코드베이스를 로컬 SQLite 기반 지식 그래프로 미리 인덱싱하여, 에이전트가 호출 관계와 영향 범위를 한 번의 호출로 파악하게 함으로써 탐색 시간을 획기적으로 줄이고 보안까지 챙기는 최적의 코딩 환경을 구축해 보세요
2026-06-24 · 15 min read
#codegraph#ai-agent#claude-code#mcp#개발도구

컨텍스트 문제의 나머지 절반 — context-mode 써보기
AI 코딩 에이전트가 긴 작업 중 둔해지는 이유는 방대한 툴 출력값이 컨텍스트를 점유하기 때문입니다. context-mode는 데이터를 직접 읽는 대신 샌드박스에서 코드로 처리해 결과값만 추출함으로써 토큰 사용량을 90% 이상 절감하고, 세션 메모리 관리와 자동 라우팅으로 긴 세션의 효율성을 극대화하는 방법을 제시합니다
2026-06-24 · 11 min read
#context-mode#mcp#claude-code#ai-agent

Cloudflare Zero Trust Tunnel로 집 서버 안전하게 공개하기
Cloudflare Zero Trust Tunnel을 활용하면 라우터 포트포워딩 없이도 집 서버를 안전하게 외부로 공개할 수 있습니다. 서버가 직접 아웃바운드 연결을 맺어 공인 IP 노출을 막고, Cloudflare 엣지 네트워크를 통해 TLS 인증과 DDoS 방어까지 한 번에 해결하는 효율적인 보안 구성 방법을 소개합니다
2026-06-14 · 22 min read
#cloudflare#selfhosting#security#devops
SEO vs GEO — AI가 검색의 입구가 된 시대의 노출 전략
검색 엔진에서 답변 엔진으로 변화하는 시대, 링크 클릭을 유도하는 SEO를 넘어 AI의 답변에 인용되기 위한 GEO 전략을 알아보고 인프라 점검부터 llms.txt 활용 및 패시지 단위의 글쓰기까지 AI 검색 환경에 최적화하는 구체적인 방법을 제시한다
2026-06-13 · 13 min read
#seo#geo#ai
PostgreSQL 인덱스 설계 총정리 — 부분·복합·커버링·표현식부터 GIN/BRIN까지
PostgreSQL의 성능 최적화를 위해 부분·복합·커버링·표현식 인덱스 등 다양한 설계 기법을 정리하고, 데이터 특성에 맞는 GIN·BRIN 활용법과 운영 중 안전한 인덱스 관리 및 검증 전략을 상세히 설명한다
2026-06-11 · 14 min read
#postgresql#database#index#sql#performance
로컬에선 되는데 배포하면 안 된다 — CloudFront가 내 API GET을 캐싱하고 있었다
로컬에서는 정상인데 배포 환경에서만 데이터가 갱신되지 않는 현상의 원인을 분석합니다. API 응답 헤더에 캐시 제어 설정이 없어 CloudFront가 GET 요청을 임의로 캐싱하며 발생한 문제로, Cache-Control 헤더 설정과 CDN 캐시 정책 수정을 통해 이를 해결하는 과정을 상세히 정리했습니다
2026-06-11 · 12 min read
#cloudfront#http-cache#react-query#cdn#debugging
모바일 키보드가 모달을 가릴 때 — visualViewport + paddingBottom 한 방
모바일 웹에서 키보드에 가려지는 모달 문제를 visualViewport API와 paddingBottom을 활용해 해결하는 방법을 소개합니다. 레이아웃 정렬 전략을 바꾸지 않고도 키보드 높이만큼 오버레이 영역을 조정하여 모달이 항상 키보드 위로 올라오게 만드는 실무적인 최적화 노하우를 확인해 보세요
2026-06-11 · 6 min read
#frontend#css#react#mobile#visualviewport
PostgreSQL에서 varchar(n) 대신 text를 권장하는 이유
PostgreSQL에서 varchar(n)은 성능상 이점이 없으며 오히려 불필요한 길이 제한으로 운영 장애를 유발할 수 있습니다. 동일한 저장 구조를 가진 text 타입을 기본으로 사용하고, 데이터 검증이 필요한 경우에만 CHECK 제약을 활용하는 것이 데이터베이스 설계와 유지보수 측면에서 훨씬 효율적입니다
2026-06-11 · 8 min read
#postgresql#database#sql#데이터모델링
Fractional Indexing: 정렬된 리스트의 순서를 한 row만 바꿔 관리하기
리스트 순서 변경 시 전체 데이터를 수정해야 하는 정수 인덱스의 한계를 넘어 문자열 기반의 키를 활용해 단 하나의 행만 업데이트하여 효율적으로 순서를 관리하는 Fractional Indexing 기법을 소개합니다
2026-06-10 · 10 min read
#fractional-indexing#database#협업#crdt

Mac mini로 Next.js 앱 셀프호스팅하기: 전체 구성
Mac mini와 같은 소형 서버를 활용해 클라우드 비용 없이 Next.js 앱을 운영하는 방법을 소개합니다. Cloudflare Tunnel로 인바운드 포트 없이 보안을 유지하고, Docker Compose와 GitHub Actions로 배포를 자동화하며, 오프사이트 백업으로 안정성을 확보하는 전체 아키텍처와 운영 노하우를 상세히 다룹니다
2026-06-09 · 20 min read
#selfhosting#nextjs#docker#devops

GitHub Actions self-hosted runner로 집 서버에 자동 배포하기
GitHub Actions self-hosted runner를 활용해 방화벽 설정 없이 집 서버에 안전한 자동 배포 파이프라인을 구축하는 방법을 소개합니다. 운영 디렉토리 직접 배포 패턴과 게이트 설계, 타임아웃 및 동시성 제어 등 실전에서 마주하는 함정을 해결하며 견고한 배포 환경을 만드는 핵심 노하우를 정리했습니다
2026-06-08 · 19 min read
#cicd#github-actions#docker#devops

Next.js App Router 캐싱 4계층 완전정복
Next.js App Router의 Request Memoization·Data Cache·Full Route Cache·Router Cache 4계층을 무엇을·수명·무효화 기준으로 분리해 설명하고, 동적 렌더 트리거와 함정을 정리한다.
2026-06-07 · 20 min read
#nextjs#react#performance#frontend

Docker 멀티스테이지 빌드로 이미지 90% 줄이기
빌드 도구와 런타임을 분리하는 멀티스테이지 빌드로 도커 이미지를 줄이는 법을, 베이스 이미지(slim/alpine/distroless) 트레이드오프와 레이어 캐시 순서 최적화까지 정리한다.
2026-06-06 · 18 min read
#docker#devops#performance#infra

캐싱 전략 총정리: cache-aside부터 stampede 방어까지
cache-aside·write-through·write-behind 등 캐싱 패턴과 무효화 전략, 그리고 캐시 스탬피드(thundering herd)를 막는 락·확률적 만료·single-flight 방어까지 정리한다.
2026-06-05 · 27 min read
#backend#redis#performance#architecture

Rate Limiting 알고리즘: 토큰 버킷부터 슬라이딩 윈도우까지
fixed/sliding window, token bucket, leaky bucket 등 rate limiting 알고리즘의 동작과 장단점을 비교하고, Redis+Lua 분산 구현과 429·Retry-After 응답 규약까지 정리한다.
2026-06-04 · 25 min read
#backend#redis#architecture#api

Core Web Vitals 95점 만들기: LCP·CLS·INP
Core Web Vitals의 LCP·CLS·INP 세 지표를 각각 원인과 개선법으로 공략하고, 랩/필드 데이터 측정과 이미지·폰트·JS 최적화 체크리스트까지 실전으로 정리한다.
2026-06-03 · 24 min read
#frontend#performance#seo#web