Trawling

개발 · 최신기사

언어와 프레임워크, SDK와 개발 방식·도구의 변화를 다룹니다.

발행

Tin: Postgres를 위한 빠른 전문 검색 엔진

PlanetScale이 Postgres용 전문 검색 확장 기능 TIN을 GA로 공개했습니다. Boolean·구문·퍼지 검색과 BM25 랭킹, COUNT(*)를 지원하며, Stack Exchange 85GB·1억5,000만 문서 벤치마크에서 기존 인덱스보다 최대 541배 높은 처리량을 기록했다고 설명합니다.

발행

검색 하이라이트가 사용자의 선택 영역을 삭제하는 이유

검색어를 강조하려고 innerHTML로 문단을 매번 다시 만들면, 사용자가 선택한 텍스트의 DOM 노드가 제거되어 복사 내용이 사라질 수 있습니다. CSS Custom Highlight API로 노드 구조를 건드리지 않고 Range를 오버레이로 칠하면 선택 영역을 보존하면서 검색 결과를 표시할 수 있습니다.

발행

아키텍처 우주비행사에게 겁먹지 마세요

추상화와 아키텍처를 지나치게 높은 수준에서 논하는 ‘Architecture Astronauts’가 실제 사용자의 문제와 소프트웨어의 목적을 놓치는 현상을 비판합니다. Napster, SOAP, XML, .NET, Jini 등의 사례를 통해 기술 유행보다 사용자가 새롭게 할 수 있는 일이 중요한 이유를 설명합니다.

발행

Frozendict 🧊: Python·Node.js를 위한 최신 불변 해시맵

frozndict는 Rust로 구현하고 Python·Node.js 바인딩을 제공하는 불변·해시 가능 딕셔너리입니다. 삽입 순서를 유지하면서 해시를 캐시하고 copy()를 O(1)로 처리하며, 작성자가 제시한 벤치마크에서는 반복·복제·동등성 검사에서 기존 구현과 비교 가능한 성능을 보입니다.

발행

배우면서 바로 글을 씁니다

새로운 기술을 배울 때 겪은 질문과 탐색 과정을 해결 직후 기록하자는 글입니다. 초보자용 설명과 전문가용 문서 사이에는 용어와 맥락을 연결해 주는 자료가 부족하므로, 성공뿐 아니라 실패와 막혔던 지점까지 남기는 것이 다른 학습자와 문서 유지보수자 모두에게 도움이 된다고 설명합니다.

발행

Playwright보다 2배 빠르고 토큰을 80% 더 효율적으로 사용하는 Stagehand v4

Stagehand는 Playwright의 브라우저 자동화 API를 바탕으로 AI 에이전트에 맞춘 SDK입니다. 브라우저 내부 확장 프로그램, 접근성 트리 기반 컨텍스트 축소, 배치 명령과 캐싱을 활용해 Playwright 대비 2배 빠른 실행과 80% 높은 토큰 효율을 목표로 하며 TypeScript·Python·Go를 지원합니다.

발행

개발 로그 #21 — WebRTC-Direct 강화와 SCM 누수 해결

이번 주에는 Python 기반 libp2p의 WebRTC-Direct 상호운용성 문제와 소켓 누수를 수정하고, Go 기반 agent-orchestrator의 파일 경로·GitHub SCM 폴링 문제를 다뤘습니다. ICE 자격 증명 경쟁 조건, 연결 종료 누수, 잘못된 PR 재조회, .git/info/exclude 누적 문제를 포함해 8개 커밋과 11개 PR을 진행했습니다.

발행

디바이스를 기다려야 했던 클립보드 브리지

tapflow가 브라우저와 시뮬레이터 사이에서 텍스트를 복사·붙여넣기하는 과정을 비동기 프로토콜로 구현한 사례를 설명합니다. 고정 지연 대신 sentinel과 상태 확인을 사용하고, 브라우저의 사용자 제스처·보안 컨텍스트·타임아웃 제약까지 함께 다룹니다.

발행

Toone — 복잡하고 신뢰할 수 있는 AI 에이전트 워크플로와 루틴 구축

Toone은 자연어로 복잡하고 장시간 실행되는 AI 에이전트 워크플로를 만들고, 각 단계를 확인·수정·디버깅한 뒤 중단한 지점부터 재개할 수 있는 macOS 앱입니다. OpenAI 또는 Anthropic 계정을 연결해 결정적 실행과 관찰 가능성을 확보하는 것을 목표로 합니다.

발행

점진적 공개(Progressive Disclosure): 무엇을, 어디에, 언제, 왜 적용할까요?

코딩 에이전트의 지침을 하나의 거대한 파일에 항상 넣는 대신, 작업에 필요한 규칙을 무엇을·어디에·언제라는 기준으로 나눠 필요한 순간에만 불러오는 점진적 공개를 설명합니다. 28,721개 저장소 분석과 AGENTS.md, CLAUDE.md, skills, 경로 설정 사례를 바탕으로 컨텍스트 경쟁을 줄이는 방법과 새롭게 생기는 지침 관리 문제를 다룹니다.

발행

LLM 4,768회 실행에서 단 한 번의 스윕도 잃지 않기 — 타임아웃·멈춤·비용을 견디는 필드 테스트 러너 만들기

CauterRule v0.3.0은 40개 코퍼스와 2개 모델을 대상으로 4,768개 trajectory-run을 완료한 필드 테스트 보고서입니다. per-trajectory timeout, 비재시도 타임아웃, 토큰 상한, 격리, 종료 시 취소라는 다섯 가지 방어 장치로 멈춘 요청 하나가 전체 평가를 막지 않게 했으며, 호출별 토큰 사용량도 비용으로 환산했습니다.

발행

스스로 바보가 되는 법 101 — AI 의존이 기술 면접에서 드러낸 것

Wasmer 기술 면접을 위해 엣지 배포, 대시보드, 내구성 워크플로 시스템까지 준비했지만, 간단한 캐시 파일의 수동 코드 리뷰에서 코드의 문제를 발견하고도 설명하지 못해 고전합니다. 글쓴이는 AI를 활용한 개발 역량과 기초 코드를 직접 읽고 설명하는 능력 사이의 간극, 그리고 AI 시대에 맞지 않는 채용 방식이 무엇인지 되묻습니다.

발행

Resilient와 Battle-Tested는 같은 말이 아닙니다

AI 도구로 빠르게 만든 애플리케이션을 곧바로 production-grade나 battle-tested라고 부르는 것은 신뢰성의 서로 다른 축을 혼동하는 일입니다. Resilient는 예상한 오류를 견디도록 설계됐다는 뜻이고, battle-tested는 실제 운영 장애와 예측하지 못한 조건을 겪고 수정한 이력까지 포함해야 합니다.

발행

단위 테스트의 주된 목적은 다른 사람들이 내 코드를 마구 망가뜨리지 못하게 하는 것입니다

이 글은 단위 테스트가 복잡한 버그를 찾아내는 도구라기보다, 끊임없이 코드가 바뀌는 조직에서 기존 동작과 설계를 보존하는 안전장치라고 주장합니다. 통합 테스트와 무작위 테스트의 한계를 비교하고, 2010년대에 CI와 DVCS가 확산되면서 단위 테스트가 대중화된 배경과 실용적인 무작위 테스트 방법을 설명합니다.

발행

AI는 실제로 API를 어떻게 호출하는가? — 처음부터 이해하는 Tool Calling

Foundation model은 스스로 코드를 실행하지 않고, 호출할 도구와 입력을 구조화된 요청으로 출력합니다. 애플리케이션이 실제 함수를 실행해 결과를 돌려주면 모델이 답변을 완성하며, 글에서는 Amazon Bedrock의 Converse API로 날씨·날짜 도구, 프롬프트 주입, MCP까지 단계적으로 설명합니다.