Yarn 6 Preview : JavaScript 패키지 매니저인 Yarn의 새 버전인 6 프리뷰가 발표되었다. Yarn이 등장한 지 10년 가까이 되는 시점에 거대한 모노레포에서 성능 한계에 도달해서 Yarn을 1년 전부터 Rust로 재작성한 버전으로 6~8개월 이내에 Rust 전환이 완료될 것으로 보고 있다. 프리뷰에서도 만족할 만한 성능 개선이 있었고 Node.js Corepack을 대체할 Yarn Switch도 개발했고 6.0부터는 Lazy Install을 지원하여 브랜치 전환 시 package.json을 보고 필요하다면 자동으로 패키지를 설치하는 기능도 제공한다.(영어)
Rethinking “Pixel Perfect” Web Design : 웹에서 디자이너의 의도대로 모든 요소가 정확하게 표시되는 Pixel Perfect는 인쇄 디자인부터 이어진 개념인데 현대 웹에서는 Pixel Perfect의 개념이 모호하고 뷰포트나 해상도 등은 무한하고 다국어 등 콘텐츠도 고정적이지 않고 접근성 문제도 있어서 어울리지 않는다. Pixel Perfect를 얘기할 게 아니라 디자인의 의도를 이해하고 디자인 토큰으로 협업해야 한다고 설명한다.(영어)
그 밖의 개발 관련
Self-Improving Coding Agents : Ryan Carson이 쓴 "How to make your agent learn and ship while you sleep"을 확장해서 스스로 일하는 코딩 에이전트를 설명하는 글이다. Geoffrey Huntley와 Ryan Carson이 대중화한 Ralph Wiggum 기법이라는 반복적 에이전트 루프를 이용해서 작업 목록에서 구현하고 검증한 뒤에 기록하고 초기화한 뒤에 다시 다음 일을 하게 만들어서 에이전트가 계속 일을 하게 만든다. 이렇게 하려면 작업을 잘 나누어야 하고 좀 더 복잡한 작업은 여러 단계의 루프를 조율할 수 있는 시스템이 필요하다. 이러한 에이전트 루프를 사용하려면 단일 세션을 늘리는 대신 AGENTS.md를 사용해서 중요한 정보와 지침을 제공해야 하는데 에이전트가 직접 AGENTS.md를 업데이트해서 사람과 AI가 모두 쉽게 읽을 수 있게 관리해야 한다. AGENTS.md 외에도 Git 히스토리와 진행 로그 파일, 작업 상태 파일을 이용해서 에이전트가 맥락을 쉽게 파악하게 할 수 있다.(영어)
Shipping at Inference-Speed : 이번에 OpenClaw로 유명해진 Peter Steinberger가 AI를 어떻게 사용하는지를 정리한 글이다. 보통 여러 프로젝트를 동시에 하는 데 집중해서 하는 큰 프로젝트와 위성 프로젝트를 같이 개발하는 편이고 codex의 큐잉 기능을 사용해서 새로운 아이디어가 생기면 파이프라인에 추가한다. 체크포인트 같은 것은 쓰지 않고 변경이 필요하면 모델에게 바꾸라고 하고 이미 해결한 문제는 다른 프로젝트를 보라고 하는 편이다. 프로젝트 docs 폴더에 문서를 유지하고 글로벌 AGENTS 파일에 지침을 주어서 사용하고 있다. 대부분의 작업을, 에이전트를 이용해서 자동화해서 사용하고 있다. 무엇을 만들든지 CLI로 먼저 시작해 보라고 얘기하며 gpt-5.2-codex high 모델을 가장 많이 사용한다고 한다.(영어)
** Code Review in the Age of AI : AI도 코드 리뷰를 없애진 않았는데 혼자 개발하는 사람들은 자동화된 테스트를 안전망으로 사용하면서도 속도를 위해 모든 코드를 읽지 않으면서도 최종적으로는 수동 테스트와 비판적 추론을 수행한다. 팀 협업에서도 최종 승인은 사람이 아는데 PR도 커지고 수도 많아지면서 코드 리뷰가 병목이 되고 있다. AI 코드 리뷰 도구는 신중하게 설정해야 하고 Pull Request를 여전히 작게 만드는 게 중요하고 AI가 생성한 코드를 검증해야 하는 초안으로 다루는 것이 모범 사례가 되고 있다. AI를 1차 검토자로 활용하고 AI가 놓친 부분은 사람이 집중해야 하면 높은 테스트 기준을 유지해야 한다.(영어)
Apache Hudi™ at Uber: Engineering for Trillion-Record-Scale Data Lake Operations : Uber에서 수백 페타바이트 규모의 데이터 레이크를 운영하면서 데이터 레이크 스토리지 엔진인 Apache Hudi를 어떻게 만들게 되었는지를 정리한 글이다. 2015년 Uber의 데이터 시스템이 크게 성장하면서 자주 변경되는 데이터를 실시간으로 제대로 인코딩하지 못해서 데이터 레이크의 성능을 유지하기 위해 다른 특성을 포기할 수밖에 없었고 이 문제를 해결하기 위해 Hudi를 만들게 되었다. Uber에서는 Hudi를 기본 구성 요소로 두고 인제스쳔 레이어, 쿼리 레이어 등과 통합해서 사용하고 있다.(영어)
The CLI for developers and agents : 오류 수집 플랫폼인 Sentry가 개발자와 에이전트가 사용할 수 있는 CLI를 새로 공개했다. 새 CLI에서는 이슈를 살펴보고 근본 원인을 AI로 분석하고 결과를 JSON 등으로 출력할 수 있다.(영어)
Skip Is Now Free and Open Source : 단일 Swift와 SwiftUI 코드 베이스로 iOS와 Android 앱을 모두 만들 수 있게 2023년 출시된 Skip이 오픈소스가 되었다. 그동안 일정 기준 이하의 인디 개발자만 무료로 이용하고 기업을 유료로 사용해야 했는데 광범위하게 사용되려면 무료로 제공되어야 하고 유료 폐쇄 소스는 선택할 때도 망설이게 되기 때문에 개방하는 게 맞다고 판단했다.(영어)
인프라 관련
New Conversion from cgroup v1 CPU Shares to v2 CPU Weight : Kubernetes이 cgroup v1을 염두에 두고 설계되었기 때문에 CPU share 개념을 사용하고 있었는데 cgroup v2로 바뀌면서 CPU share가 CPU weight로 바뀌게 되었다. 그래서 Kubernete에서는 공식을 통해서 share를 weight로 변경해서 사용했는데 이는 선형적 매핑이었기 때문에 share가 꽤 낮은 weight로 변환되기 때문에 Kubernetes가 아닌 리소스에 비해서 우선순위가 낮아지는 문제가 있었고 값이 너무 작아서 세분화하기 어려운 문제도 있었다. 이를 해결하기 위해 새로운 변환 공식을 만들어서 두 문제를 다 해결했고, 이는 OCI 런타임에 구현되어 있으므로 runc 1.3.2나 crun 1.23을 채택하면 새로운 공식이 적용된다.(영어)
CodeBreach: Infiltrating the AWS Console Supply Chain and Hijacking AWS GitHub Repositories via CodeBuild : 최근 CI를 이용한 인증 탈취 공격이 계속됨에 따라 Wiz Research는 AWS CodeBuild를 이용한 공격 방법을 리서치했다. 일반적으로 Pull Request를 이용해서 CI를 실행하도록 만들어서 시크릿을 탈취하게 되는데 CodeBuild는 이를 막기 위해 Webhook 필터로 허가된 GitHub 사용자를 ACTOR_ID를 지원한다. 이 ACTOR_ID는 123|456|789처럼 정규표현식으로 지정하는데 사용자들이 일반적으로 패턴을 고정하지 않으므로 11233이라는 사용자가 있으면 123 패턴과 매치되어 필터를 통과하게 된다. 그래서 Wiz Research는 GitHub App을 계속 생성해서 승인된 사용자의 ID를 포함하는 ID를 획득할 수 있었고 이 사용자를 통해서 CI를 트리거하고 어드민 권한을 탈취할 수 있었다.(영어)
What came first: the CNAME or the A record? : Cloudflare에서 1.1.1.1에 최적화 업데이트 후 DNS 해석 문제가 발생하면서 롤백하게 되었습니다. 도메인을 질의할 때 CNAME을 받게 되면 연쇄적으로 따라가서 A 레코드까지 찾게 된다. 이 도메인 질의의 응답 체인에서 각각은 TTL이 다르기 때문에 일부만 만료되는 경우 만료된 것만 갱신하게 되는데, 이번에 Cloudflare에서 메모리 최적화를 하면서 기존에 항상 CNAME이 먼저 오던 로직에서 새로 갱신된 CNAME을 응답의 마지막에 넣게 되었다. 일부 DNS 클라이언트는 CNAME을 먼저 찾기 때문에 순서가 바뀌면서 응답을 제대로 해석하지 못해서 문제가 생긴 건데 RFC 상으로 살펴보아도 CNAME이 먼저와야 한다는 조건은 없지만 일부 클라이언트가 이미 이렇게 구현되어 있기 때문에 CNAME이 먼저 오게 하는 로직을 유지할 계획이다.(영어)
Introducing OpenClaw : 지난주에 인터넷을 뜨겁게 달군 프로젝트로 처음에는 Clawd 혹은 Clawdbot으로 알려졌지만, Anthropic의 요청으로 Moltbot으로 바뀌었다가 지금은 OpenClaw로 바뀌었다. OpenClaw는 사용자 컴퓨터에서 실행되어 채팅 앱에서 동작하는 오픈 에이전트 플랫폼으로 브라우저나 컴퓨터를 제어해서 모든 것을 자동화할 수 있다. 며칠 만에 엄청난 인기를 끌고 에이전트끼리 소통하는 소셜 네트워크까지 생기게 되었는데 이러한 상황을 Simon Willison이 블로그에 잘 정리해 두었다. 그냥 실행하는 것은 위험하므로 OpenClaw를 실행하기 위해 맥미니가 많이 팔리게 되고 Claudeflare나 DigitalOcean에서도 OpenClaw를 쉽게 돌릴 수 있게 발 빠르게 움직이고 있다.(영어)
Open Responses : LLM API를 프로바이더마다 다르게 인코딩하는 문제를 해결하기 위해 여러 프로바이더 간에 상호 운영이 가능하도록 OpenAI Responses API를 기반으로 오픈 스펙인 Open Responses를 공개했다. Open Response는 OpenRouter, Vercel, Hugging Face, LM Studio, Ollama, OpeanAI, vLLM이 함께 참여해서 만들고 유지보수하고 있다.(영어)
Anthropic's Original Performance Take-Home : Anthropic이 Claude Opus의 성능을 평가하는 과제를 공개했다. Claude Opus 4.5가 2시간 이내에 인간보다 성능을 앞서기 이전 버전으로 원래는 4시간 제한이었으나 항상 Claude Opus 4.5가 이길 정도로 성능이 좋아져서 2시간 제한으로 줄였다. 이 과제를 풀어서 Claude Opus 4.5의 최고 성능인 1,487사이클 이하로 최적화하면 Anthropic에 이력서를 제출할 수 있다.(영어)
DeepSeek-OCR 2: Visual Causal Flow : DeepSeek가 OCR 2를 발표했다. 기존 비전-언어 모델(VLM)은 왼쪽 위부터 오른쪽 아래로 처리하지만, OCR 2는 인과적 추론 능력을 사용해서 사람처럼 어떤 부분에 집중하고 어디를 읽어야 하는지 판단해서 OCR을 더 향상했다.(영어)
Kimi K2.5: Visual Agentic Intelligence : Moonshot AI에서 새로운 오픈소스 모델인 Kimi K2.5를 공개했다. Kimi K2.5는 최대 100개의 서브 에이전트 스웜을 직접 사용해서 단일 에이전트 대비 실행시간이 4.5배 단축되고 HLE, BrowseComp, SWE-Verified 벤치마크에서 훨씬 적은 비용으로 강력한 성능을 보여주는 것으로 나타났다.(영어)
Pushing Qwen3-Max-Thinking Beyond its Limits : Alibaba에서 새로운 대표 추론 모델 Qwen3-Max-Thinking을 공개했다. Qwen3-Max-Thinking는 다수의 벤치마크에서 GPT-5.2-Thinking, Claude-Opus-4.5, Gemini 3 Pro와 견줄만한 성능을 보여주었다.(영어)
Prism을 소개합니다 : OpenAI에서 GPT-5.2 기반으로 과학자들이 연구 논문을 작성할 수 있도록 지원하는 AI 워크스페이스인 Prism을 공개했다. Prism은 무료로 사용할 수 있으면 ChatGPT 개인 개정이 있다면 누구나 사용할 수 있다.(한국어)
Why Senior Engineers Let Bad Projects Fail : 다른 팀의 프로젝트가 잘못되었다는 얘기를 직접 하지 않는 경험을 하면서 그 이유와 옳은 것과 효과적인 것이 다르기 때문이라고 설명한다. 나쁜 프로젝트는 매우 주관적인데 경험이 쌓이면서 어떤 프로젝트를 봤을 때 나쁜 프로젝트라는 신호가 오게 되는데 이를 해당 팀에 가서 설명한 적도 있었다. 하지만 우려는 속도를 늦추기 때문에 이러한 우려가 변화를 일으키기보다는 무시당할 가능성이 높고 인정받을 가능성은 거의 없으면 적을 만들게 될 수 있다. 효과적으로 영향을 끼치려면 일을 하며 사람들을 돕고, 프로젝트를 성공시키면서 영향력을 쌓았다가 우려를 제기하거나 할 때 이때 쌓아놓은 영향력을 소비할 수 있어야 한다. 목소리를 낼 때는 프로젝트가 본인의 팀과 얼마나 가까운지, 잘못되었을 때 팀에 어떤 영향을 주는지, 회사에 어떤 영향을 주는지를 기준으로 판단한다.(영어)
Heritrix는 텍스트뿐 아니라 이미지, CSS 등의 아티팩트도 수집해서 WARC 형식으로 패키징하고 페이지뿐 아니라 요청 헤더까지 보존한다.
웹이 동적으로 바뀌면서 Heritrix는 페이지를 제대로 수집하지 못했기에 Brozzler라는 헤드리스 크롬으로 사이트를 저장하고 Umbra라는 브라우저 자동화를 통해 페이지를 스크롤 하는 등의 동작으로 Brozzler가 페이지를 저장할 수 있게 한다.
Internet Archive의 연간 수익은 2,500~3,000만 달러인데 2024년에는 2,350만 달러를 지출했습니다.
수익의 60~70%는 기부금과 보조금이며 그 외에는 아카이브 서비스를 제공해서 수익을 창출한다.
디지털 도서 대출과 관련한 소송은 인터넷 아카이브가 져서 해당 도서는 제외했고, 음원에 대한 분쟁도 있었지만 2025년 9월 합의로 해결되었다.
인터넷 아카이브는 2025년 7월 미국 연방 보관 도서관으로 지정되어 법적 보호를 받게 되었다.
A few random notes from claude coding quite a bit last few weeks : Andrej Karpathy가 Claude 코딩을 하면서 적은 메모다. 11월에는 80% 수동 작업을 했지만, 12월에는 80% 에이전트 코딩을 한다. 물론 아직 실수를 하고 과한 코드를 작성하는 경우가 있으므로 살펴보면서 지시해 주어야 한다. 속도가 향상되었다고 느끼긴 하지만 이전에 할 가치가 없거나 몰라서 못 했던 일을 한다는 면에서 확장에 가깝다고 느끼고 성공 기준을 제시하고 지키도록 하는 게 좋았고 에이전트 프로그래밍이 재미있게 느껴진다고 한다. LLM 에이전트 기능은 25년 12월에 일관성 임계점을 넘겼다고 얘기한다.(영어)
Agent Psychosis: Are We Going Insane? : Armin Ronacher가 에이전트 코딩에 대해 비판한 글이다. Armin Ronacher도 에이전트 코딩을 많이 쓰는 편이지만 에이전트 코딩을 쓰면서 프롬프트로 결과를 만드는 것에 중독되곤 하는데 꽤 만족스러운 결과물이 나오지만 실제로 사용하지 않는 경우도 많고 다듬기도 어렵고 코드 품질도 좋지 않았다. 또한 코드를 생성하는 덴 몇 분이지만 이 코드를 리뷰하는 데는 훨씬 더 긴 시간이 걸리는 비대칭성이 엄청나고 메인테이너의 부담도 엄청나게 커지게 된다. AI 에이전트가 정말 훌륭하지만 관리하지 않으면 정말 큰 쓰레기 기계가 될 수 있다고 경고한다.(영어)
Automatic programming : Redis를 만든 antirez가 AI의 도움을 받아 소프트웨어를 만드는 과정을 Automatic Programming이라고 부르기 시작했다고 한다. 바이브 코딩은 무슨 일이 일어나는지 모르는 채 소프트웨어를 만드는 과정이고 Automatic Programming은 고품질을 추구하고 소프트웨어 비전을 엄격하게 따르는 소프트웨어를 만드는 과정이라고 설명하며 AI 생성한 코드도 본인의 것이라고 얘기한다.(영어)
IT 업계 뉴스
The Astro Technology Company joins Cloudflare : 2021년 만들어진 웹 프레임워크 Astro가 인기를 얻으며 사업을 키우기 위해 만들어진 Astro Technology Company가 Cloudflare에 인수되었다. 인수된 후에도 Astro는 오픈소스로 유지되고 계속 개발될 것이며 Cloudflare뿐 아니라 다른 플랫폼도 배포 대상으로 지원하겠다고 밝혔다.(영어)
Comments