Trawling

개발 · 최신기사

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

발행

Deno 2.6의 최소 의존성 사용 기간 플래그가 연·월 단위를 무시합니다

Deno의 npm 의존성 최소 게시 기간 기능은 일·주·분 단위에서는 동작하지만, 월·년이 포함된 ISO-8601 기간을 지정하면 필터를 조용히 무시하고 최신 버전을 설치합니다. 또한 lockfile에 이미 고정된 버전에는 적용되지 않으며, deno audit은 TLS 프록시 환경에서 별도의 인증서 오류를 일으킬 수 있습니다.

발행

중복처럼 보였던 테스트가 아홉 번째 버그를 잡았습니다

유한한 오답 구현 목록에서 고유한 실패를 만들지 못한 테스트라도, 목록에 새로운 구현을 추가하면 유일한 검출 수단이 될 수 있습니다. 글은 mutation testing 점수와 테스트 제거 기준이 후보 카탈로그와 테스트 하네스에 의존한다는 점을 Python 실험으로 보여줍니다.

발행

V 언어 리뷰 (2023) — 약속과 실제 구현 사이의 간극

V 언어를 6개월간 사용한 리뷰어가 문서, 메모리 관리, 자동 메모리 해제, 할당, 안전성, 바이너리 크기를 직접 검증합니다. 문서의 설명과 실제 동작이 크게 다르고, autofree와 컴파일러 자체 빌드에서도 누수와 런타임 오류가 발생한다고 지적합니다.

발행

Scrum은 마침내 끝났습니다 🎉 코딩 에이전트 덕분입니다

저자는 Scrum이 실패한 이유를 Agile 원칙을 반복 가능한 의식과 지표로 바꿔버렸기 때문이라고 봅니다. 코딩 에이전트로 비개발자도 실행 가능한 프로토타입을 만들 수 있게 되면서, 백로그·스토리 포인트·스프린트 중심의 프로세스가 발견과 검증 중심의 흐름으로 대체될 수 있다고 주장합니다.

발행

Skia를 위한 컴파일러 스타일 드로잉 최적화 — 2D 래스터화 의미론으로 검증합니다

Skia 같은 래스터화 라이브러리는 빠르지만 애플리케이션이 전달하는 연산 순서가 비효율적일 수 있습니다. 연구진은 Skia의 동작을 Lean으로 형식화한 μSkia를 만들고, Chrome에서 발견한 네 가지 최적화를 검증해 99개 웹사이트 프로그램에서 최대 32μs의 분석 비용으로 18.7% 속도 향상을 얻었습니다.

발행

EchoCadence를 만들었습니다 — 단어를 오래 기억하게 하는 어휘 앱

EchoCadence는 사용자가 직접 어휘를 추가하고, 복습 난이도에 따라 다음 복습 시점을 정하는 spaced repetition 기반 앱입니다. 개발자는 복습 이력을 TimescaleDB hypertable로 저장하고 continuous aggregate로 일별 통계를 만들어, PostgreSQL 모델 안에서 학습 데이터를 시계열로 다루는 방법을 구현했습니다.

발행

RSA-896 — Claude가 조율한 GPU 클러스터로 RSA 도전 수를 인수분해

RSA-896이라는 RSA challenge number의 소인수 p·q를 공개한 인수분해 기록입니다. Claude가 CADO-NFS의 GPU 포팅과 유휴 GPU fleet 실행을 조율했으며, 최대 2,048개 GPU로 10일 동안 약 30 GPU-years를 투입했습니다. 새로운 알고리즘 개선이나 배포된 키에 대한 새 위협은 없다고 설명합니다.

발행

Claude Code의 effort level과 모델 선택 가이드

Claude Code에서 모델은 고정된 가중치와 전반적인 능력 범위를, effort level은 파일 탐색·도구 호출·검증·추론에 투입할 작업량을 결정합니다. Anthropic은 기본 설정에서 시작한 뒤, 문제가 어려워 지식이 부족하면 더 큰 모델을, 실행이 불충분하면 더 높은 effort를 선택하라고 안내합니다.

발행

io_uring을 위한 스레드 정체성 바꿔치기

io_uring이 실제로 블록될 때만 워커 스레드 비용을 부담하도록 task_struct의 정체성을 교환하는 RFC 패치가 제안됐습니다. tmpfs fsync()에서 약 700% 향상이 관찰됐지만, 커널 참조 무결성과 shadow stack 호환성 같은 위험도 큽니다.

발행

영어의 A와 An — 철자가 아니라 발음으로 결정되는 부정관사

영어 텍스트를 절차적으로 생성할 때 a와 an 중 어느 관사를 붙일지는 첫 글자가 아니라 단어의 첫 발음으로 판단해야 합니다. CMU Pronouncing Dictionary의 32,455개 단어를 조사한 결과, 철자와 발음이 어긋나 예외 처리가 필요한 단어는 129개뿐이었습니다.

발행

웹 브라우저의 미래에 대한 생각

Firefox의 AI 통합에 반대하며 Mozilla와 분리된 브라우저 기반을 만들자는 제안과 그 결과로 시작된 base browser 프로젝트를 소개합니다. Firefox 153 ESR에서 사용자에게 적대적인 기능을 코드에서 제거하고, 오프라인 리더·독립 애플리케이션·피드 리더로 브라우저 의존도를 낮추려는 실험과 웹의 새로운 방향에 대한 문제의식을 다룹니다.

발행

Rust 개발자가 경험한 Zig

7년간 Rust를 사용한 개발자가 RFC 9535 기반 JSONPath 구현을 Zig로 다시 만들며 두 언어의 개발 경험을 비교합니다. Zig의 단순한 빌드 도구와 낮은 추상화는 긍정적으로 평가하지만, 수동 메모리 관리와 미성숙한 생태계에서는 Rust와 뚜렷한 차이를 확인합니다.

발행

거대한 미지의 코드베이스에 갑자기 투입됐나요? 생존 가이드입니다

대규모 코드베이스를 처음 접했을 때 모든 파일을 읽으려 하지 말고, 애플리케이션을 실행한 뒤 진입점과 실제 기능의 흐름을 추적하며 구조를 파악하라고 제안합니다. 작은 변경과 팀원·Git 기록·테스트 활용, 학습 내용 문서화를 통해 일주일 안에 실용적인 코드베이스 지도를 만들 수 있다고 설명합니다.

발행

ARM 프로세서에서 SVE2로 더 빠르게 JSON 파싱하기

simdjson이 ARM의 SVE2 `match` 명령으로 JSON 구조 문자를 분류하는 방식을 추가했습니다. Graviton 4·5에서 인덱싱 처리량이 개선됐으며, 전체 파싱 시간은 각각 2~4%, 1~2% 단축됩니다.

발행

6개월 동안 AI에게 테스트를 작성하게 해봤습니다 — 실제 프로덕션에서 살아남은 것들

AI는 테스트 코드의 보일러플레이트와 버그 재현용 골격을 빠르게 만드는 데 효과적이지만, 중요한 실패 시나리오와 올바른 검증 조건까지 찾아주지는 못합니다. 작성자는 Playwright와 Flutter 테스트 경험을 바탕으로 AI 생성 테스트의 한계와 사람이 반드시 맡아야 할 역할을 설명합니다.

발행

AI 코딩 에이전트는 자신이 여는 저장소의 공격을 받을 수 있습니다

AI 코딩 에이전트는 저장소 파일만 읽는 것이 아니라 Git 명령, 설정, 스크립트, 에이전트 지침까지 실행하거나 해석할 수 있습니다. GitSpawn 사례처럼 악성 Git 설정과 프롬프트 인젝션이 에이전트의 권한을 악용할 수 있으므로, 신뢰하지 않는 저장소는 격리 환경에서 검토하고 자격 증명은 최소한으로 제공해야 합니다.

발행

Hacker News 순위는 어떻게 작동하는가 — 점수, 논란, 페널티

Hacker News의 게시물 순위가 추천 수와 게시 후 경과 시간만으로 결정되지 않으며, 도메인·제목·댓글 논란 등에 따른 페널티가 함께 적용된다는 분석입니다. 특히 댓글 수가 추천 수를 앞서고 40개에 도달하면 게시물이 순식간에 하락하거나 첫 페이지에서 사라질 수 있다고 설명합니다.