[AI] 안드레 카파시(Andrej Karpathy)의 원칙 정리
·
카테고리 없음
요즘 클로드 코드로 바이브 코딩을 하다가그럴듯하게 기능 구현은 됐는데 막상 코드를 들여다보면 필요 이상의 작업을 한 경우나 오버스팩으로 인해 복잡한 경우가 종종 보였다.이런 상황을 어떻게 해결할까 찾아보다가 알게된 원칙이 있다.그것이 카파시 원칙이다.안드레 카파시는 OpenAI 창립 멤버였고 테슬라에서 AI 총괄을 맡았던 딥러닝 엔지니어다.개인 블로그에는 화려한 이론보다 실제로 뭔가를 만들면서 겪은 시행착오가 자주 올라오는데 그래서인지 AI 도구로 코드를 짜다가 원인 모를 문제에 부딪힌 사람한테도 곱씹어볼 만한 이야기가 많다.이 글은 그의 블로그 글 몇 편을 읽으면서 계속 반복해서 나오는 이야기를 여덟 가지로 추려본 것이다.완성된 이론이라기보다는 바이브 코딩하다 막힐 때 한 번씩 떠올려볼 체크리스트에 가..
포트포워딩 없이 로컬 서버 공개하기 (Cloudflare Tunnel)
·
카테고리 없음
프로젝트를 진행하다 내 로컬 서버를 프론트엔드 개발자에게 잠시 공개해야 하는 경우가 발생했다.가장 먼저 떠오르는 방법은 포트포워딩이었는데 공유기에서 포트를 개방해야 하고, 내 서버가 인터넷에 직접 노출된다는 점이 조금 부담스러웠다.그래서 찾게 된 것이 Cloudflare Tunnel이다. Cloudflare Tunnel이란?Cloudflare는 CDN으로 시작해 현재는 네트워크 및 보안 서비스를 제공하는 회사이다.Cloudflare Tunnel은 내 로컬 서버와 Cloudflare Edge 네트워크 사이에 암호화된 터널을 생성하여 외부에서 안전하게 접근할 수 있도록 해주는 서비스이다.가장 큰 특징은 인바운드 포트를 열지 않아도 된다는 것이다. 일반적인 포트포워딩은 외부에서 내 서버로 직접 연결을 시도한..
YAGNI (You Aren't Gonna Need It)
·
ETC
YAGNI (You Aren’t Gonna Need It)지금 필요하지 않은 것을 미래를 위해 미리 넣지 않는다. 개발을 하다 보면 "확장성을 고려해야 한다"는 이유로 현재는 필요하지 않은 기능이나 구조를 미리 넣는 경우가 종종 있다.나의 경우데이터베이스 테이블을 설계할 때는 항상 Surrogate Key(대체키)를 사용해야 한다고 생각했다.독립적인 엔티티는 물론이고 다른 객체에 1:1로 종속되는 엔티티까지도 모두 대체키를 사용했다.이유는 단순했다."정책은 언제든 바뀔 수 있으니, 나중을 대비해 유연하게 설계해야 한다."당시에는 이것이 확장성을 고려한 설계라고 생각했다.하지만 실제로 많은 시간 운영하면서 느낀 것은 달랐다.정책이 바뀌는 일은 생각보다 드물었고, 정말 정책이 변경되는 상황이라면 키 하나를 ..
[블록체인] 머클 트리(Merkle Tree)
·
카테고리 없음
머클 트리란?머클 트리(Merkle Tree)는 여러 데이터의 해시값을 계층적으로 묶어 최종적으로 하나의 대표 해시인 Merkle Root를 만드는 구조이다.쉽게 말하면 수많은 영상이나 데이터의 무결성을 하나의 해시값으로 요약하는 방식이다. Merkle Root Hash(H12 + H34) / \ H12 = Hash(H1+H2) H34 = Hash(H3+H4) / \ / \ H1 H2 H3 H4 │ │ │ │ 영상1 영상2 영상3 ..
[Infra] 무중단 배포 전략(롤링, 블루-그린, 카나비)
·
Infra
무중단 배포(Zero Downtime Deployment) 전략 정리새 버전을 배포할 때마다 서비스가 잠시 멈춘다면 사용자는 불편함을 느끼고, 비즈니스는 손해를 본다. 무중단 배포는 서비스 중단 없이 새로운 버전으로 전환하는 일련의 기술과 전략을 의미한다.이 글에서는 가장 널리 쓰이는 세 가지 전략(롤링, 블루-그린, 카나리)을 정리하고, 전략을 도입하기 전에 반드시 해결해야 할 공통 과제를 함께 다룬다.1. 롤링 업데이트(Rolling Update)전체 인스턴스를 한 번에 교체하지 않고, 일부씩 순차적으로 새 버전으로 교체하는 방식.동작 방식 서버 10대가 있다면 2대씩 5번에 걸쳐 교체한다. 교체 중인 인스턴스는 로드밸런서에서 일시적으로 제외된다.장점추가 인프라 비용이 거의 없다 (기존 자원 재활용)..
AI 시대의 개발자...
·
AI
https://evan-moon.github.io/2026/04/18/developers-who-stopped-growing-in-ai-era/ AI 코딩 시대, 더이상 성장하지 않는 개발자들AI를 많이 쓸수록 AI를 잘 쓰기 어려워진다. 이건 마치 직관에 반하는 말처럼 들리지만, 필자는 이것이 사실이라고 생각한다. 요즘 너도 나도 AI FOMO에 빠져 열심히 AI를 잘 쓰기 위해 노력하고 있evan-moon.github.ioAI를 가장 잘 활용할 수 있는 개발자는 AI 없이도 코드를 판단할 수 있는 개발자다. 그리고 역설적으로, AI에 의존할수록 바로 그 판단력이 형성되지 않는다. github AI를 잘 쓰려면 코드를 알아야 하는 역설"AI에게 만들어줘"라고 말할 수 있는 사람은 많지만, AI의 출력물..
[Claude Code] Context 관리
·
AI
Claude Code Context 관리 Claude Code 공식 문서를 기반으로, Claude Code를 사용하며 알아두면 좋은 Context 관리 방법과 개발 워크플로우를 정리한 글입니다. Context Window, 왜 관리해야 할까?Claude Code의 context window는 대화 중 주고받은 모든 메시지, 읽은 파일, 실행한 명령의 출력을 담고 있어서 디버깅 한 번, 코드베이스 탐색 한 번이면 토큰이 순식간에 쌓이게 되는데context window가 가득 차면 Claude는 이전 지시사항을 잊거나 실수가 늘어날 수 있기에 context window는 Claude Code를 쓸 때 가장 먼저 관리해야 할 자원이다.1. 프로젝트 초기 설정/init으로 CLAUDE.md 자동 생성프로젝트를..
[LLM] LLM 패러디임 변화: 프롬프트 엔지니어링에서 하네스 엔지니어링까지
·
AI
하네스 엔지니어링의 등장2026년 3월 24일, Anthropic은 공식 엔지니어링 블로그에 Harness design for long-running application development 라는 글을 공개했다.AI 에이전트에 관심이 있는 사람이라면 읽어보면 좋을 것 같다. 간단하게 요약하면 하네스란 장시간 실행되는 에이전트 작업을 효과적으로 관리하기 위한 구조화된 시스템을 의미한다.Anthropic은 계획, 생성, 평가라는 3개의 에이전트로 구성된 하네스 아키텍처를 소개했다.짧은 프롬프트를 상세한 제품 스펙으로 확장하고, 스프린트 단위로 실제 기능을 구현하며, Playwright MCP를 사용하여 실행 중인 애플리케이션을 직접 테스트하고 피드백을 제공했다. 특히 주목할 점은 에이전트가 자신의 작업을 ..
[Claude Code] IntelliJ에서 ESC 키가 동작하지 않는 문제 해결
·
Tools/IntelliJ & IDE
IntelliJ에서 Claude Code를 사용하던 중 다음과 같은 문제가 발생했다./usage 같은 명령 실행 후 또는 작업을 중단하려고 ESC 키를 눌렀지만 아무 반응이 없음 즉 ESC 키가 동작하지 않았다. 원인은 IntelliJ 기본 키맵에서 ESC는 Stop(실행 중인 프로세스 중지) 액션이 바인딩되어 있다 Claude Code 패널에서 ESC 입력 시 IntelliJ가 먼저 Stop 액션을 가로채 실행해버려서 Claude Code까지 ESC 이벤트가 전달되지 않는 문제였다.Settings > Keymap 검색창에서 Escape 입력하여 나온 Stop 아이콘을 삭제했더니 해결되었다.
[MSA] 분산 시스템의 트랜잭션 패턴(2PC, TCC, SAGA, Outbox)
·
BackEnd/API & Architecture
분산 트랜잭션이란?단일 DB에서는 ACID 트랜잭션이 다음 네 가지를 보장한다.Atomicity (원자성)Consistency (일관성)Isolation (격리성)Durability (지속성) MSA 환경에서는 주문 서비스 → 결제 서비스 → 재고 서비스처럼 여러 서비스가 각자의 DB를 가진다. 이 때 "전부 성공하거나 전부 실패"하는 원자성을 어떻게 보장할지가 핵심 문제이다.분산 트랜잭션 해결 전략으로는 대표적으로 세 가지 접근 방식이 있다.2PC → 강한 일관성TCC → 비즈니스 기반 트랜잭션SAGA → 최종 일관성 (실무 표준)1. 2PC (Two-Phase Commit)2PC(Two-Phase Commit)는 여러 시스템이 모두 성공해야만 커밋하고, 하나라도 실패하면 전체를 롤백하는 방식이다.준비..