Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

기술 뉴스 #289 : 26-03-01

웹개발 관련

  • Cloudflare가 일주일 만에 AI로 Next.js를 재구축한 방법 : Next.js는 Vercel외의 서버리스 플랫폼에 배포하려면 어려운 부분이 있어서 OpenNext가 만들어졌지만 여기엔 노력이 많이 들고 Turbopack 툴체인 기반이라서 다른 곳에서는 작업이 많이 필요했다. 이 문제를 해결하기 위해 Cloudflare에서 Vite로 Next.js API 인터페이스를 구축하기로 하고 AI를 이용해서 vinext를 만들었다. Next.js 16과 vinext를 비교한 자체 벤치마크에서 프로덕션 빌드가 최대 4.4배 빨랐고 번들 크기도 절반 이상 줄어들었다. vinext는 AI가 대부분의 코드를 작성했고 OpenCode에서 800개 이상의 세션을 사용했고, 토큰에는 1,100달러가 들었다.(한국어)
  • We deserve a better streams API for JavaScript : WHATWG Streams 표준으로 많은 부분이 나아졌지만, 수년간 Node.js와 Cloudflare Workers를 구현하고 디버깅하면서(글의 작성자가 Node.js의 코어 메인테이너면서 Cloudflare 직원) 표준의 개선보다 근본적인 문제를 해결하고 대안적인 접근방법을 제안하는 글이다. 10년,전에 Streams가 만들어졌을 때는 비동기 이터레이션이 없었기에 기능적으로 한계가 있었고 잠금, 버퍼의 복잡성, 백프레셔의 복잡성, 프로미스로 인한 오버헤드 때문에 현실에서 많은 성능 문제나 의도치 않은 동작 문제를 발생시키고 있다. 이에 대한 대안으로 AsyncIterable 기반으로 새로 설계한다면 앞에서 얘기한 문제들도 해결하고 훨씬 간편하게 사용할 수 있으며 성능도 수십 배까지 빨라질 수 있다고 한다.(영어)
  • [번역] 다크 모드를 넘어서: CSS 필터로 사용자가 UI를 직접 조정하게 하기 : UI를 단순히 라이트/다크 모드로만 제공하지 않고 범위 슬라이더와 backdrop-filter를 이용해서 사용자 선호에 맞게 스타일을 조정할 수 있게 만드는 튜토리얼이다.(한국어)
  • Why is WebAssembly a second-class language on the web? : 2017년 출시 이후 WebAssembly는 계속 발전해 왔지만 여전히 웹에서는 2등급 언어라는 문제가 있다. 그동안 언어적 기능은 많이 추가되었지만, 웹 플랫폼과 통합되지 못했기 때문에 웹 개발자에게 불편함을 주고 있고 JavaScript보다 실제로 우선시하기 어려운 현실이다. 이 문제를 해결하기 위해 수년간 WebAssembly Component가 개발됐는데 WebAssembly Component는 여러 프로그래밍 언어로 만들어서 다양한 런타임에 실행되고 WebAssembly 코드가 웹 API를 직접 호출할 수 있어서 현재 WebAssembly가 겪는 문제를 해결할 수 있다고 기대된다.(영어)
  • The React Foundation: A New Home for React Hosted by the Linux Foundation : 작년에 발표한 대로 Linux 재단 아래 React 재단이 설립되어 React, React Native, JSX 프로젝트는 더 이상 Meta의 소유가 아니라 재단에서 관리하게 되었다. 재단의 창립 멤버에는 Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion, Vercel이 포함되었다.(영어)

그 밖의 개발 관련

  • Our Multi-Agent Architecture for Smarter Advertising : Spotify의 광고 비즈니스에 여러 구매 방식이 있는데 서비스는 통합했지만, 각 요구사항이 복잡했기에 이를 제대로 충족시키지 못했는데 이는 광고 API에 프로그래밍할 수 있는 의사결정 계층이 없다는 문제가 있었고 유지보수 때문에 거대한 규칙 엔진을 만들고 싶지도 않았다. 이 문제를 해결하기 위해 모듈형 에이전트로 해결하기로 했다. 영역별로 별도의 에이전트를 구축해서 구성한 뒤 이전에는 20개 이상의 필드를 입력하고 15분에서 30분까지 걸리던 광고 플랜 생성이 자연어 메시지로 10초 이내에 할 수 있게 되었다.(영어)
  • Writing about Agentic Engineering Patterns : Simon Willison이 코딩 에이전트 시대의 코딩 관행과 패턴을 수집하고 문서화하는 프로젝트를 시작했다. Agentic Engineering Patterns에서 계속 내용을 추가하는 중이다.(영어)
  • Claude Code 모든 기기에서 로컬 세션 계속하기 (Remote Control) : 머신에서 실행 중인 Claude Code 세션에 iOS/Android Claude 앱이나 claude.ai/code 사이트를 통해 접속해서 사용할 수 있는 Remote Control 기능이 추가되었다.(한국어)
  • Making frontier cybersecurity capabilities available to defenders : Claude Code에 새로운 기능인 Claude Code Security가 리서치 프리뷰로 제공된다. Claude Code Security는 코드를 스캔해서 보안 취약점을 찾고 패치를 제안할 수 있다.(영어)
  • Stop Using /init for AGENTS.md : 2006년 초에 나온 논문에 따르면 AGENTS.md는 코드에서 알 수 있는 내용과 중복적인 내용이 포함되면 성능도 떨어지고 토큰 비용도 20% 증가시키지만, 프로젝트에 특화된 내용이나 명확하지 않은 요구사항, 함정 등 에이전트가 발견하기 어려운 내용을 추가하면 도움이 되는 것으로 나왔다. AI 코딩 에이전트를 사용할 때 처음 /init을 실행해서 AGENTS.md을 생성하는데 이 내용은 대부분 에이전트가 스스로 발견할 수 있는 것이므로 중복 내용으로 비용만 증가하게 만든다고 설명한다.(영어)
  • Google API Keys Weren't Secrets. But then Gemini Changed the Rules. : Google Cloud의 API 키를 오랫동안 비밀이 아니므로 클라이언트에 포함해도 된다고 안내해 왔고, 실제로도 그러했지만, 프로젝트에서 Gemini API를 활성화하면 해당 프로젝트의 기존 API 키로도 Gemini 엔드포인트에 접근할 수 있게 되었다. 이 키로 Gemini API에 접근하면 이를 통해 저장된 모든 항목에 접근해서 개인 정보가 유출될 수 있고 의도하지 않은 비용이 발생할 수 있다.(영어)
  • GitHub Copilot CLI is now generally available : GitHub Copilot을 터미널에서 사용할 수 있는 GitHub Copilot CLI가 공식 릴리스 되었다.(영어)
  • React Native Comes to Meta Quest : React Native로 Meta Quest의 Meta Horizon OS에서 VR 앱을 만들어서 배포하는 과정을 설명한다.(영어)

인프라 관련

  • Before You Migrate: Five Surprising Ingress-NGINX Behaviors You Need to Know : 이전에 발표된 대로 3월에 Ingress-NGINX를 은퇴시킬 예정이라 Gateway API로 안전하게 마이그레이션할 때 실수하기 좋은 부분을 정리한 문서다.(영어)

    • Ingress-NGINX

      • 정규표현식을 사용할 때 항상 접두사만 매칭하고 대소문자를 구별하지 않는다.
      • rewrite target이 대소문자를 구분하지 않는 접두사 패턴이다.
      • 마지막 슬래시가 없는 경우 자동으로 리다이렉트한다.
    • Gateway API

      • 정규표현식이 전체 문자열 매칭이고 대소문자를 구분하므로 그것에 맞게 정규표현식을 작성해 주어야 한다.
      • URL 재작성을 할 때는 ExactPrefix를 사용하고 자동으로 정규식 패턴으로 변환하지 않는다.
      • 마지막 슬래시에 대해 자동 리다이렉트하지 않으므로 명시적으로 작성해야 한다.
  • DNS-PERSIST-01: A New Model for DNS-based Challenge Validation : Let's Encrypt에 인증서를 요청하면 ACME 챌린지를 사용해서 인증서의 호스트네임의 소유주인지를 검증하는데, 와일드카드 인증서가 필요하거나 인터넷에 노출하고 싶다면 DNS-01 챌린지가 유일한 방법이었습니다. DNS-01을 사용하려면 _acme-challenge.<YOUR_DOMAIN>에 토큰을 포함한 TXT 레코드를 게시하여 검증하게 되므로 권한 부여마다 새 토큰을 만들기 위해 DNS 업데이트를 자동화해서 운영해야 합니다. 새로운 ACME 챌린지 유형인 DNS-PERSIST-01을 사용하면 _validation-persist.<YOUR_DOMAIN>에 상시 권한 부여하는 레코드를 한번 생성하고 이후 새로운 발급과 갱신에서 재사용할 수 있게 된다.(영어)
  • Introducing Upright: An Open Source Synthetic Monitoring System : 37signals에서 자사의 제품인 Basecamp, HEY, Fizzy 등을 위해 만든 합성 모니터링 시스템을 오픈소스로 공개했다. Upright는 여러 지리적 위치에서 헬스 체크를 실행하는데 Playwright, HTTP, SMTP, Tracerout 4가지 프로브를 지원한다.(영어)
  • Introducing Valkey Admin: Visual Cluster Management for Valkey : Valkey 클러스터의 구성과 상태를 확인하고 키를 관리할 수 있는 공식 Valkey Admin이 오픈소스로 공개되었다.(영어)

AI 관련

볼만한 링크

  • Wikipedia blacklists Archive.today, starts removing 695,000 archive links : 웹페이지 아카이빙 서비스인 Archive.today(archive.org 와는 다른 서비스)에 대한 링크를 위키피디아에서 모두 제거하기로 했다. 이는 Jani Patokallio가 2023년 Archive.today가 러시아 출신 누군가가 운영하는 거로로 보인다는 글을 썼고 Archive.today 운영자가 이 글을 지워달라고 요청했지만 지우지 않자, Archive.today의 CAPTCHA 사이트에 악성 코드를 심어서 Jani Patokallio의 블로그에 DDoS 공격을 하고 Jani Patokallio에게 협박 이메일을 보냈다. 이후 논의 과정에서 Archive.today가 아카이빙된 사이트에 Jani Patokallio의 이름을 삽입된 것을 발견했다.(영어)
  • Thank you for everything you ship. Claude Max is on us. : Anthropic에서 5,000개 이상의 GitHub Star나 월 100만 회 이상의 npm 다운로드를 보유한 저장소의 메인테이너에게 Claude for Open Source 프로그램으로 Claude Max 20x를 6개월간 무료로 제공한다.(영어)
  • Obsidian Headless Sync : 노트 앱인 Obsidian이 데스크탑 앱 없이도 금고를 동기화할 수 있는 헤드리스 클라이언트를 퍼블릭 베타로 공개했다.(영어)

IT 업계 뉴스

프로젝트

  • Anthropic Skills : Anthropic의 엔지니어들이 내부에서 사용하는 Skills를 오픈소스로 공개했다.
  • Kubernetes the (Very) Hard Way : Kubernetes 학습 사이트(현재 일시적으로 무료)
  • portless : 로컬 개발에서 포트 번호 대신 .localhost의 서브 도메인을 사용하는 CLI
  • Electrobun : TypeScript와 Bun을 사용한 크로스 플랫폼 데스크탑 어플리케이션 프레임워크.
  • OpenFang : Rust로 작성된 오픈소스 에이전트 OS
  • Plano : 에이전트 앱을 위한 배포 인프라.
  • Beautiful Mermaid : Mermaid로 다이어그램을 SVG와 ASCII로 그려주는 오픈소스 라이브러리.
  • Jmail : Jeffrey Epstein의 이메일을 쉽게 확인하고 분석해 볼 수 있도록 Gmail 인터페이스로 제공하는 서비스.
  • Osprey : Discord에서 오픈소스로 공개한 룰 엔진.
  • Showboat : AI 에이전트가 자신이 작업한 내용을 문서로 정리하게 하는 CLI.

버전 업데이트

2026/03/01 21:19 2026/03/01 21:19