블로그
GPU·LLM·MLOps·쿠버네티스, 그리고 마음가짐에 관한 글 · 3672 편
#2026-03 762#culture 283#deep-dive 275#kubernetes 260#career 233#ai 220#llm 216#devops 195#2026-04 158#security 147#observability 118#database 113#communication 108#history 107#architecture 101#productivity 98#performance 93#linux 90#networking 89#finance 87#economy 84#mindset 80#psychology 79#ai-papers 78#food 78#it 78#travel 78#japanese 76#deep-learning 75#english 74#gpu 74#ai-agent 69#business-travel 69#postgresql 66#cs-fundamentals 63#rag 63#systems 63#python 55#learning 54#self-improvement 53
OCR을 넘어서 — OCR-free 문서 이해와 통합 모델
전통적인 OCR 파이프라인은 검출-인식-레이아웃을 단계로 나누지만 오류가 누적됩니다. Donut류와 VLM 기반의 OCR-free 문서 이해, 고해상도와 표 처리, 통합 모델의 흐름까지 문서 AI의 전환을 정리합니다.
2026-06-26 · 40 분 읽기 #ai-papers#ocr-free#document-understanding#multimodal#donut코드 리뷰의 대화법: 갈등 없이 피드백 주고받기
코드 리뷰는 결함을 잡는 기술 활동인 동시에, 사람과 사람 사이의 대화입니다. 사람이 아니라 코드를 리뷰하는 프레이밍, nit과 blocker를 구분하는 컨벤셔널 코멘트, 명령 대신 질문하기, 작은 PR이 진짜 리뷰를 받는 이유, 잘한 코드를 칭찬하기, 작성자로서 피드백을 우아하게 받는 법, 그리고 리뷰어와 작성자가 나눠 지는 양방향 책임까지 다룹니다.
2026-06-26 · 29 분 읽기 #code-review#communication#engineeringDNS 깊이 보기 — 무료화가 부른 이름 해석의 세계
DNS가 다시 화제입니다. 재귀와 권한, 캐시와 TTL, Anycast 글로벌 분산, DNSSEC, DoH/DoT까지 이름 해석의 전 과정을 깊이 있게 살펴봅니다. 무료 DNS 호스팅이 보편화된 2026년, 우리가 알아야 할 운영 함정도 함께 정리합니다.
2026-06-25 · 43 분 읽기 #network#dns#anycast#dnssec#dohHTTP QUERY 메소드 — REST의 오랜 딜레마를 푸는 새로운 동사
GET은 본문을 보낼 수 없고 POST는 검색에 의미가 맞지 않습니다. 이 오랜 딜레마를 푸는 새로운 HTTP 동사 QUERY 메소드의 동기와 의미론, 그리고 실무 적용 방법을 깊이 있게 다룹니다.
2026-06-25 · 26 분 읽기 #http#query-method#rest#api-design#rfcAI 코드 리뷰 도구의 부상 — 무엇을 맡기고 무엇을 사람이 볼까
AI 코드 리뷰 도구가 빠르게 확산되고 있습니다. AI가 잘 잡는 결함과 사람이 반드시 봐야 하는 영역을 구분하고, CI 통합과 도입 체크리스트, 그리고 비판적 시각까지 정리합니다.
2026-06-25 · 28 분 읽기 #devops#code-review#ai-tools#developer-experience#ci-cd이해의 기쁨 — LLM 시대에도 깊이 이해해야 하는 이유
검색과 LLM은 빠른 답을 주지만, 깊은 이해는 통제와 소유권을 줍니다. 추상화 너머를 보는 것의 가치, 도구에 끌려가지 않는 태도, 디버깅과 장애에서 드러나는 이해의 차이, 학습으로서의 이해, 그리고 언제 추상화에 기대도 되는지의 균형을 정리합니다.
2026-06-25 · 46 분 읽기 #culture#learning#craftsmanship#understanding#engineeringAI로 버그를 사냥하다 — 자동화된 보안 연구의 시대
AI가 API를 대량으로 자동 탐침해 취약점을 발굴하는 사례가 늘고 있습니다. 퍼징과 차이 분석, LLM 보조 트리아지의 작동 원리부터 공격자도 AI를 쓰는 비대칭, 방어 측의 함의, 그리고 윤리와 책임공개까지 자동화된 보안 연구의 현재를 깊이 살펴봅니다.
2026-06-25 · 39 분 읽기 #devops#security#ai#bug-bounty#fuzzing기술적 과욕과 스코프 — 카맥의 회고에서 배우는 것
존 카맥이 공개한 Quake 개발 회고를 단서로, 초기 게임 개발의 기술적 야심과 조직 운영 문제를 일반적 교훈으로 풀어냅니다. 안정적 기반을 택하는 가치, 스코프 관리와 기술부채, 야심과 현실의 균형, 작은 팀의 의사결정을 정리합니다.
2026-06-25 · 49 분 읽기 #culture#engineering#scope#technical-debt#team의견 있는 도구 — gofmt, gofumpt와 코드 스타일의 정치학
코드 포매팅은 왜 논쟁의 대상이었고, gofmt는 어떻게 그 논쟁을 끝냈을까요. gofmt와 더 엄격한 gofumpt, 그리고 prettier와 black 같은 다른 언어의 도구를 비교하며 의견 있는 도구가 팀과 코드베이스에 미치는 영향을 깊이 살펴봅니다.
2026-06-25 · 40 분 읽기 #compiler#go#gofmt#gofumpt#formatter코드가 에이전트의 실행 기반이 되다: code-as-harness 관점
코드를 단순한 LLM의 최종 산출물이 아니라 에이전트가 환경과 상호작용하는 실행 기반(harness)으로 다시 바라봅니다. 검증 루프, 도구 호출, 실행 피드백을 중심으로 에이전트 설계 패턴과 함정을 정리합니다.
2026-06-25 · 36 분 읽기 #ai#agentic-coding#llm-agents#tool-calling#react에이전트 웹의 등장 — auth.md와 AI가 대신 가입하는 시대
AI 에이전트가 사용자를 대신해 서비스에 가입하고 행동하는 에이전트 웹이 빠르게 현실이 되고 있습니다. WorkOS 맥락에서 제안된 auth.md 같은 도메인 루트 표준의 발상을 robots.txt와 sitemap의 계보 위에서 살펴보고, OAuth와 위임 토큰을 통한 권한 위임, 봇 구분과 악용 우려, 표준화 과제와 설계 고려 사항을 정리합니다.
2026-06-25 · 40 분 읽기 #ai#agent#authentication#oauth#web-standardsRust로 쿠버네티스 Operator 만들기 (kube-rs)
쿠버네티스 Operator는 운영 지식을 코드로 옮긴 컨트롤러입니다. 이 글은 Operator 패턴(CRD + 컨트롤러 + reconcile 루프)의 원리부터 kube-rs로 실제 오퍼레이터를 만드는 법까지 다룹니다. CustomResource 파생 매크로로 CRD 정의, Api와 Controller, watcher, reconcile 함수와 requeue, 파이널라이저(finalizer)로
2026-06-25 · 22 분 읽기 #rust#kubernetes#operator#kube-rs분산 시스템이 알려준 연애의 기술
재시도와 백오프, 타임아웃, 하트비트, 일관성 모델, 백프레셔, 우아한 성능 저하, 멱등성, 두 장군 문제, TTL이 붙은 캐시로서의 신뢰. 분산 시스템을 어렵게 만드는 문제들은 사람과 가까워지는 일을 어렵게 만드는 문제와 놀랍도록 똑같습니다. 엔지니어의 눈으로 연애를 다시 읽어 봅니다.
2026-06-25 · 25 분 읽기 #engineering#relationships#fun#distributed-systems레이트 리미팅 알고리즘 완전정복: 고정 윈도우·슬라이딩 윈도우·토큰 버킷·리키 버킷
고정 윈도우, 슬라이딩 윈도우 로그와 카운터, 토큰 버킷, 리키 버킷까지 대표적인 레이트 리미팅 알고리즘을 하나씩 대조합니다. 버스트를 어떻게 다룰지, Redis로 분산 환경에서 어떻게 구현할지, 그리고 429와 Retry-After, 클라이언트의 백오프 예절까지 정리합니다.
2026-06-25 · 21 분 읽기 #systems#api#reliabilityRust 생태계 투어: 멋진 크레이트와 프로젝트들
Rust의 진짜 힘은 언어 자체만큼이나 그 생태계에 있습니다. 이 글은 cargo와 crates.io로 시작해 Rust를 떠받치는 대표 크레이트들을 한 바퀴 돕니다. serde와 tokio, 데이터 병렬성의 rayon, 데이터프레임의 polars, HTTP의 reqwest/hyper와 웹 프레임워크 axum, 데이터베이스의 sqlx/diesel, CLI의 clap, 게임 엔진 Bevy, 데스
2026-06-24 · 17 분 읽기 #rust#ecosystem#crates맞춤형에서 플랫폼으로: FDE 작업을 제품화하기
포워드 배포 엔지니어(FDE)와 프로덕트 사이의 피드백 루프. N명의 고객에게서 같은 패턴을 발견하고, 설정과 추상화로 뽑아내고, 삼진 규칙으로 언제 일반화하지 말아야 할지 판단하기. 한 고객을 위해 빨리 만드는 것과 모두를 위해 짓는 것 사이의 긴장, 그리고 훌륭한 제품이 어떻게 전방 배치 작업에서 태어나는지 이야기합니다.
2026-06-24 · 15 분 읽기 #product#engineering#fde인시던트 커뮤니케이션: 장애 상황의 대화법
장애가 터졌을 때 기술적 복구는 절반의 일일 뿐입니다. 인시던트 커맨더 역할과 역할 분리, 아무 소식이 없어도 지키는 상태 업데이트 리듬, 모든 업데이트가 답해야 할 세 가지 질문, 비난 없는 포스트모템과 5 Whys, 고객 커뮤니케이션과 내부 커뮤니케이션의 차이, 그리고 방을 안정시키는 침착함까지 — 장애 상황의 대화법을 정리합니다.
2026-06-24 · 26 분 읽기 #incident#oncall#communication#sre스택 vs 힙: 메모리의 진실
스택과 힙은 그냥 "메모리의 두 영역"이 아닙니다. 프레임과 LIFO로 움직이는 빠르고 고정된 스택, malloc과 GC가 다스리는 동적인 힙, 그 사이를 잇는 포인터와 참조, 스택 오버플로와 OOM, 값·참조 의미론, 재귀 깊이, 그리고 소유권·GC·수동 관리까지. 프로그램이 실제로 메모리를 어떻게 쓰는지 밑바닥부터 파헤칩니다.
2026-06-24 · 29 분 읽기 #systems#memory#fundamentalsCAP 정리, 손짓 없이 제대로
"셋 중 둘을 고른다"는 흔한 설명은 틀렸습니다. CAP의 세 글자가 각각 무엇을 뜻하는지, 왜 실제로는 파티션이 났을 때만 C와 A 사이에서 선택하는지, PACELC이 왜 더 완전한 그림인지, 그리고 Dynamo와 Spanner 같은 실제 시스템이 어디에 서 있는지를 손짓 없이 짚습니다.
2026-06-23 · 22 분 읽기 #distributed-systems#databases#theory실전 Big-O: 수학 불안 없는 복잡도
Big-O 표기가 실제로 무엇을 뜻하는지, 자주 나오는 복잡도 클래스를 현실 예제와 함께, 작은 n이나 캐시 때문에 상수가 이기는 경우, 중첩 루프나 N+1 쿼리에 숨어드는 O(n²), 공간 복잡도, 동적 배열의 분할 상환, 그리고 언제 최적화를 멈춰야 하는지까지. 수학적 엄밀함이 아니라 엔지니어의 직관으로 복잡도를 다룹니다.
2026-06-22 · 19 분 읽기 #algorithms#performance#fundamentals