Trawling

개발 · 최신기사

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

발행

대형 웹사이트용 깨진 링크 스캐너를 직접 만든 방법 — Laravel은 컨트롤 플레인, Go는 스캐닝 엔진

깨진 링크 검사기는 간단한 주말 프로젝트처럼 보이지만, 대형 사이트에서는 사실상 분산 크롤링 시스템이 된다는 글입니다. 저자는 Laravel을 인증·스케줄링·리포팅이 담당하는 컨트롤 플레인으로, Go를 동시성 네트워크 작업을 처리하는 스캐닝 엔진으로 분리해 구현했습니다. URL 정규화, 호스트별 동시성 제한, 응답 분류, 리다이렉트 추적, 체크포인트 복구까지 실무 설계 결정을 상세히 공유합니다.

발행

나는 LLM이 좋지 않다 — Martin Fowler가 말하는 LLM에 대한 불편함

Martin Fowler가 AI와 LLM 기술에 대한 복합적인 감정을 정리한 에세이입니다. 생산성 향상 가능성에는 기대를 품으면서도, LLM과 직접 상호작용할 때 느껴지는 본능적인 불쾌감이 지배적이라고 고백합니다. 그는 LLM의 어조, 자신감 있는 허구, 그리고 이를 만든 실리콘밸리 문화를 문제의 원인으로 지목합니다.

발행

코딩 에이전트가 어제 배운 것을 기억한다면? — AI 어시스턴트용 지식 저장 도구 Attic

Claude Code나 Codex CLI 같은 AI 코딩 어시스턴트는 세션이 끝나면 조사 중 발견한 지식을 잃어 같은 탐색을 반복하며 비용을 낭비합니다. 오픈소스 도구 Attic은 발견 내용을 프로젝트 내 .attic/ 디렉터리의 Markdown 파일로 저장하고 컴팩트한 인덱스만 컨텍스트에 주입해, 세션 재시작과 /compact 이후에도 지식을 재사용할 수 있게 합니다. 브라우저 확장을 통해 웹에서 읽은 내용도 같은 저장소에 클리핑할 수 있습니다.

발행

DNS+메일 설정, 하나의 Credential로 통합할 것인가 벤더를 분리할 것인가 — 2026 Reconciliation 기준

게임 퍼블리셔의 도메인 존(zone) 이전과 메일 인증을 하나의 워크플로로 묶을지, 벤더를 분리할지를 다루는 운영 설계 글입니다. 핵심 불변식은 'DNS 쓰기 성공이 메일 제공자의 도메인 인증을 증명하지 않는다'는 것으로, 플랫폼 소유 존에서는 단일 Credential이 유효하지만 고객 소유 존에서는 소유자·마감·증거를 갖춘 명시적 Reconciliation Job이 필요하다고 주장합니다.

발행

골든 스파이크, 그리고 Vale(n) 프로그래밍 언어의 부활 — rustc와 직접 통신하는 Rust++ 언어를 향하여

Vale 언어의 저자 Evan Ovadia가 Rust 컴파일러와 직접 통신하는 새 언어 Valen의 첫 상호운용 성공 사례를 공개했습니다. C ABI를 우회하고 rustc를 라이브러리로 구동해 언어 경계를 넘는 제네릭 호출과 Rust 트레이트 구현을 실현했으며, 최종 목표는 경계를 넘나드는 메모리 안전성입니다.

발행

LucasArts의 Afterlife — SimCity에 천국과 지옥을 결합한 27년 된 게임 공략기

1996년 LucasArts가 출시한 후속작 없이 잊힌 건설 시뮬레이션 Afterlife를 저자가 다시 플레이하며 문서화되지 않은 게임 메커니즘과 공략을 정리한 글입니다. 전용 서브레딧조차 없을 만큼 자료가 부족한 이 게임에서 도로 버그, 분위기(vibes) 시스템, 존 배치 전략 등을 분석합니다.

발행

Quarkus 4가 Spring Boot 4를 겨냥한다 — 2026년 두 자바 프레임워크의 실제 비교

Quarkus 4와 Spring Boot 4.x가 2026년 11월 같은 시기에 주요 릴리스를 앞두고 있습니다. Quarkus는 Vert.x 5 기반 I/O 코어 전면 재작성과 Project Leyden AOT로 기동 시간을 3초에서 900ms까지 줄이는 등 공격적인 변화를, Spring Boot는 모듈화와 점진적 개선으로 대응하고 있습니다. JVM 백엔드를 운영한다면 향후 몇 달이 향후 수년간의 기본값을 결정한다는 것이 저자의 진단입니다.

발행

원하지 않던 답: Fiskardo 대피 경로를 둘러싼 여섯 번의 디버깅

그리스 Kefalonia 섬의 디지털 트윈 프로젝트 ARGOS에서 산불 시 Fiskardo 마을의 도로 대피 시간을 pgRouting으로 계산하던 중 발견한 여섯 가지 오류를 해부한 기록입니다. 실행되는 쿼리가 옳은 쿼리는 아니라는 교훈과 함께, 검증을 거친 불편한 숫자가 데모용으로 예쁜 숫자보다 가치 있다는 메시지를 전합니다.

발행

산출량 최적화를 멈춰라 — 소프트웨어 엔지니어링은 '발견'의 문제다

많은 조직이 소프트웨어 딜리버리를 공장 생산 문제로 오진하지만, 코드 복제는 공짜이고 만드는 모든 것이 전례 없는 것이므로 엔지니어링은 생산이 아니라 연속적인 발견(discovery) 활동입니다. 저자는 인력 투입·압박·프로세스 게이트라는 세 가지 실패한 관리 레버를 데이터로 반박하고, 학습 속도를 최적화하면 속도는 자연스럽게 부산물로 따라온다고 주장합니다.

발행

온라인 하이퍼텍스트를 위한 스타일 가이드 (1992) — 웹의 초기 원칙을 정리한 Tim Berners-Lee의 문서

1992년 웹 초창기에 작성된 Tim Berners-Lee의 하이퍼텍스트 문서 작성 지침서입니다. 'webmaster'라는 용어와 'www.xxx.com' 도메인 관례를 정의한 문서로, URI를 바꾸지 말라는 원칙 등 지금도 유효한 웹의 기본 원칙을 담고 있습니다. Lobsters에서는 이 문서가 30년이 지난 지금도 여전히 살아 있고, 현대 웹이 이 원칙을 따르지 않는다는 점이 화제가 되었습니다.

발행

포화 시장에서 장기전으로 사이드 프로젝트를 ARR 100만 달러까지 키우기 — Buttondown 창업자의 이야기

Stripe와 Amazon 출신 엔지니어 Justin Duke가 2017년 직장을 다니며 시작한 뉴스레터 플랫폼 Buttondown이 완전 자기자본(bootstrapped)으로 ARR 100만 달러를 넘겼습니다. 바이럴 런칭이나 대규모 투자 없이 입소문·공개 글쓰기·인간적인 고객 지원으로 성장한 사례로, 안정적인 급여라는 안전망이 장기적 의사결정을 가능하게 했다는 점을 솔직하게 짚습니다.

발행

AI가 만든 첫 앱은 쉽다 — 진짜 시험은 20번째 변경이다

AI 앱 빌더는 첫 프로토타입을 몇 시간 만에 만들어주지만, 저자는 도구를 평가하는 시점이 잘못됐다고 지적합니다. 진짜 기준은 첫 프롬프트의 결과물이 아니라, 역할 추가·스키마 변경·권한 수정 같은 20번의 변경을 거친 뒤에도 프로젝트가 유지보수 가능한 상태로 남는지 여부라고 주장합니다.

발행

뭔가 잘못됐다는 걸 알지만 이유를 말할 수 없을 때 — Jesse Pinkman 에너지

코드 리뷰에서 명확한 근거 없이 느껴지는 '뭔가 이상하다'는 감각은 무시할 것이 아니라 아직 언어화되지 않은 데이터라는 글입니다. 침묵하면 코드는 그대로 배포되고 몇 주 뒤 장애 보고서가 되어 돌아온다고 지적하며, 확신 없이도 우려를 꺼낼 수 있는 구체적인 표현 템플릿과 3단계 방법을 제시합니다.

발행

You.com, 비동기 API와 n8n 워크플로우를 위한 백그라운드 리서치 태스크 추가

You.com이 Research API에 백그라운드 모드를 추가했습니다. 요청에 background: true를 지정하면 task_id를 즉시 반환받고, 이후 폴링 또는 Server-Sent Events 스트리밍으로 결과를 수신할 수 있습니다. 긴 리서치 작업을 요청 타임아웃 안에 억지로 끝내지 않아도 되므로 자동화 파이프라인에 적합한 구조가 됩니다.

발행

coder/coder — 개발자와 AI 에이전트를 위한 보안 개발 환경 플랫폼

Coder는 클라우드 개발 환경과 AI 코딩 에이전트를 위한 셀프호스팅 플랫폼입니다. 워크스페이스를 Terraform으로 정의하고 Wireguard 터널로 안전하게 연결하며, 유휴 시 자동 종료해 비용을 절감합니다. 특히 AI 에이전트의 실행 루프가 자체 인프라의 컨트롤 플레인에서 돌아가 워크스페이스에 API 키를 두지 않는 점이 특징입니다.

발행

경쟁사 Android 앱이 어떤 SDK, 광고 네트워크, API를 쓰는지 알아내는 법

Play Store URL에서 출발해 APK를 apktool과 jadx로 풀고 grep으로 광고 SDK·미디에이션 어댑터·API 호스트명까지 식별하는 정적 분석 워크플로우를 무료 도구만으로 소개합니다. 실제 teardown 사례로 6개 광고 네트워크 동시 운영, assets/에 숨겨진 Facebook Audience Network DEX, 프로덕션에 남은 스테이징 엔드포인트 등을 보여줍니다.

발행

malloc() 알고리즘 비교 — 아레나 아키텍처에서 NUMA·락프리 설계까지

멀티스레드 프로그램에서 힙이 병목이 되는 이유를 설명하고, dlmalloc부터 snmalloc까지 주요 메모리 할당자를 스레드 안전성·CAS 경합·NUMA 지역성·파편화 관점에서 비교한 글입니다. 워크로드 유형별로 어떤 할당자를 고르고 무엇을 피해야 하는지 추천표까지 제시합니다. 임베디드·저지연·NUMA 환경에서 할당자 선택을 고민하는 개발자에게 유용한 참고 자료입니다.

발행

Laravel 앱 전체를 php-wasm에 넣고 폰에서 돌려봤습니다 — 무엇이 깨졌는가

php-wasm으로 브라우저에서 코드 조각을 실행하는 데모는 흔하지만, NativeBlade는 vendor/를 포함한 Laravel + Livewire 앱 전체를 서버 없이 WebView 안에서 구동합니다. PHP가 JavaScript의 비동기 작업을 기다릴 수 없다는 근본 제약을 'sentinel 출력 후 exit, 캐시 기반 재실행'이라는 독특한 우회법으로 해결했으며, 이 과정에서 드러나는 결정적 재실행·요청 큐·null origin 등의 실전 문제들을 상세히 공유합니다.