웹은 왜 복잡해졌나? : Hypermedia Systmes의 아우 좋은 후기이다. 책에서 설명을 다하지 않은 역사적 배경도 추가적으로 설면하면서 Hypermedia로 시작한 웹이 SPA로 발전했지만 하이퍼미디어의 속성을 잃어버린 상황을 잘 정리했다.(한국어)
Don't animate height! : Electron으로 만들어진 AI 노트패드 앱인 granola 앱이 25%의 CPU와 2%의 GPU를 사용하는 것이 CSS 애니메이션 때문이라는 것을 발견한 과정을 설명한 글이다. 개발자도구에서 대부분의 시간이 렌더링과 페인팅에서 사용발견하고 오이오 볼륨 시각화가 많은 레이아웃 계산을 유발한다는 것을 알게 된다. 이는 CSS transition으로 height에 애니메이션을 준 것이 비용이 크다는 것을 깨닫고 이를 trasform: scaleY()로 변경하고 성능 문제를 해결한다.(영어)
A Friendly Introduction to SVG : 이해하기 좋게 설명해서 내가 좋아하는 Josh Comeau의 SVG를 설명하는 글이다. SVG의 특징을 설명하면서 다양한 SVG로 그린 모형을 예제와 함께 설명한다.(영어)
KentBeck's CLAUDE.md : TDD와 Tidy First 원칙을 따르는 Kent Beck이 사용하는 CLAUDE.md 파일이다. Kent Beck 답게 TDD를 따르도록 Claude Code에게 안내하고 한번에 너무 많은 일을 하지 않도록 테스트를 통과시키면서 Tidy First의 원칙을 따르도록 하고 있다.(영어)
Coding with LLMs in the summer of 2025 (an update) : Reids를 만든 Salvatore Sanfilippo가 LLM으로 코딩한 경험을 정리한 글이다. Genimi 2.5 Pro와 Claude Opus 4를 사용했고 버그를 빨리 해결하고 문제를 더 빠르게 해결할 수 있어서 생산성이 올랐다고 얘기한다. 그럼에도 바이브 코딩은 안하고 있고 LLM을 혼자두면 필요한 것 이상의 취약한 코드를 작성하는 경향이 있으므로 아직은 사람이 이부분을 안내해줘야 최대 품질이 나올 수 있으며 구체적이고 큰 컨텍스트를 제공해야 한다고 얘기한다.(영어)
Agentic Coding Things That Didn’t Work : Armin Ronacher가 여러달 동안 Claude Code를 사용하면서 잘 동작하지 않았다고 느낀 부분을 정리했다. 정기적으로 하는 일만 자동화하는데 슬래시 명령어는 인수 전달의 제약이 있어서 기대보다 잘 사용하기가 어려웠고 Hook은 여러 시도에도 제대로 활용하기 어려웠다고 한다. Print 모드도 잘 활용하기 어려웠고 아직 에이전트 모드도 제대로 활용하기 어려웠다고 한다.(영어)
fstrings.wtf : Python의 f-strings를 얼마나 잘 이해하고 있는지 확인할 수 있는 퀴즈 페이지이다.영어)
When VerticalPodAutoscaler Goes Rogue: How an Autoscaler Took Down Our Cluster : Adevint에서 30개 이상의 클러스터와 9만개의 Pod으로 구성된 플랫폼을 운영하는데 핵심 구성요소로 VPS(Vertical Pod Autoscaler)를 사용하고 있었다. 어느날 Prometheus VPA에 의해 퇴거된 것을 확인하던 중 더 많은 Pod을 퇴거하고 있다는 것을 발견하고 VPA를 의심하게 된다. 장애는 점점 커지고 VPA 추천을 하지 않도록 설정했지만 VPA로 인한 퇴거는 계속 되고 있어서 추적 결과 vpaObservedContainers와 vpaUpdates 어노테이션이 누락되어 Pod이 오래된 것이라고 판단하고 퇴거를 반복하고 있다는 것을 깨닫고 살펴보니 Webhook이 20초 이상 지연되는 경우가 있었고 VPA의 API 레이트 리밋 설정을 늘리자 문제가 해결되기 시작했다.(영어)
Quicksilver v2: evolution of a globally distributed key-value store (Part 2) : Cloudflare 글로벌 네트워크의 핵심 저장소인 key-value 스토어인 Quicksilver는 1.6TB로 50억개 이상의 key-value를 가지고 있으면 전 세계에서 30억개 이상의 키를 제공하고 있다. 키가 계속 늘어감에 따라 제약이 있는 디스크 공간이 도전의 영역이 되었고 문제는 서버의 인스턴스 크기가 안정적이지 않고 처음에 가정했던 키 공간이 정확하지 않은 것으로 밝혀진 것이다. Cloudflare는 사용되지 않는 콜드키가 많았기 때문에 큰 디스크를 가진 경우만 전체를 저장하고 다른 서버는 캐시만 가지게 하고 릴레이를 추가하여 캐시 미스가 난 경우는 릴레이를 통해 복제본으로 연결되게 구성했다. 서버 규모가 큰 곳일수록 캐시 공간도 더 많이 필요하다는 것을 깨닫고 샤드를 구성하고 계층형 스토리지를 구축한 결과 99.99% 이상의 캐시 적중률을 달성할 수 있게 되었다.(영어)
Why I Use Crossplane with Kubernetes Instead of Terraform : Terraform을 잘 사용하고 있었지만 Terraform이 드리프트를 자동으로 조정하지 않고 상태 관리가 어렵고 GitOps와 통합되지 않으며 추상화하기도 어려운 문제를 만났습니다. Kubernetes 클러스터에서 동작하는 Crossplane으로 전환해서 FluxCD로 선언적으로 관리할 수 있게 되었고 변경사항을 항상 재조정하며 컴포지션 기능을 통해 복잡한 인프라를 간단한 API로 래핑할 수 있게 되었으며 Vault와 통합해서 시크릿을 주입할 수 있게 되었다. Crossplane에 만족하고 있지만 초기 학습비용이 있고 프로바이더가 아직 성숙하지 않았고 디버깅이 어려운 문제가 아직 있다.(영어)
Istio Roadmap for 2025-2026 : Istio가 로드맵을 발표했다. Ambient 모드가 안정 버전이 됨에 따라 Ambient 모드로 마이그레이션이 쉽도록 평가 도구와 롤백 방법, 문서 등에 투자할 것이지만 사이드카 모드도 사용자가 있는한 계속 지원하고 다중 클러스터 기능과 확장성에 대해서도 계속 지원할 것이라고 공개했다.(영어)
AI 관련
Claude Code weekly rate limits : Anthropic이 Claude Code의 성장이 너무 커서 기존 5시간 내의 레이트 리밋을 유지한 채 7일마다 재설정되는 주간 레이트 리밋을 새로 도입하기로 했다. Claude Code Max 5x 사용자는 주간 레이트 리밋 내에서 140-280시간의 Sonnet 4와 15-35시간의 Opus 4를 사용할 수 있고 이는 8월 28일부터 적용될 예정이다.(영어)
공부 모드를 소개합니다 : OpenAI가 ChatGPT에 Study 모드를 추가했다. 이 Study 모드를 통해 AI를 통해서 목표와 스킬 수준에 맞춰 유도 질문을 함으로써 이해를 더 잘 할수록 도와줄 수 있다.(한국어)
국내 최초 MoE 모델 ‘Kanana-MoE’ 개발기 : Kakao에서 3B 수준의 활성 파라미터로 8B Dense 모델에 준하는 성능을 달성한 MoE(Mixture of Experts) 모델인 Kanana-1.5-15.7B-A3B를 공개했다.(한국어)
볼만한 링크
소셜미디어의 폐허 그리고 그 다음 세계 : 아주 공감하는 글이다. 인터넷이 등장하고 PC 통신, 블로그, 소셜미디어로 발전해 오면서 온라인이 이상적인 공론장이 될거라는 희망은 블로그까지였고 소셜미디어로 오면서는 주목 경제로 바뀌면서 소통보다는 관심을 모으는 것이 중요해지면서 소통 메커니즘이 망가졌다. AI 시대에는 어떻게 될지 모르지만 인터넷 공론장의 이상향을 위해 좀 덜 재밌어도 되고 모르는게 있는게 당연하며 이런 자세를 표현해야 한다고 얘기한다.(한국어)
Comments