Trawling

개발 · 최신기사

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

Rust로 살펴보는 ‘검증하지 말고 파싱하라’

발행

‘검증하지 말고 파싱하라’는 원칙을 Rust의 타입으로 설명합니다. 비어 있지 않은 컬렉션, 절대 경로, 0이 아닌 정수처럼 조건을 타입에 담으면 이후 코드에서 같은 검사를 되풀이하지 않아도 됩니다.

llama.cpp 프롬프트 룩업 초안 생성을 최대 42배 빠르게

발행

llama.cpp의 프롬프트 룩업 디코딩에서 불필요한 맵 복사와 비효율적인 자료구조를 개선해 토큰 초안 생성 속도를 최대 42배 높였습니다. 정적 캐시의 로딩은 최대 16.12배 빨라졌고, 메모리 사용량도 줄었습니다.

이것이 현대적인 웹사이트입니다

발행

이 글은 블로그·문서·홍보 페이지에 프레임워크와 대규모 도구 체인을 얹기보다 HTML과 CSS의 기본 기능부터 쓰자고 주장합니다. 시맨틱 태그, 메타데이터, 리소스 힌트, 반응형 이미지 등 브라우저가 이미 제공하는 기능을 사례로 들며, 필요한 만큼만 도구를 더하자고 권합니다.

조지즘은 효과가 있을까요? 5년 뒤의 점검

발행

토지 가치세(LVT)를 지지하는 저자가 지난 5년간의 정책 추진과 연구를 돌아봅니다. 한국의 전국 단위 토지가격 평가, 데이터 정비와 재평가 주기, 지방정부 설득 경험을 바탕으로 LVT의 가능성과 실패 조건을 짚습니다.

JavaScript 말장난: 태그드 템플릿 리터럴

발행

태그드 템플릿 리터럴의 보간 문법 `${{ url }}`이 Mustache 템플릿의 `{{ url }}`처럼 보이는 점을 활용한 아이디어를 소개합니다. Helicone SDK는 태그 함수로 프롬프트의 변수 이름과 값을 기록해 관측 도구에서 분석할 수 있게 합니다.

if 조건문에는 부작용을 넣지 마세요

발행

if 조건문은 조건을 검사하는 데 쓰고, 상태를 바꾸는 호출은 먼저 별도 문장으로 실행하자는 제안입니다. 동작과 검사 과정을 분리하면 반환값의 뜻이 분명해지고, 짧게 훑어볼 때도 중요한 호출을 놓치기 어렵습니다.

SponsorBlock을 구현한 NewPipe 하드 포크, PipePipe

발행

PipePipe는 NewPipe를 하드 포크해 SponsorBlock, Return YouTube Dislike, 백그라운드 재생과 재생목록 일괄 다운로드 등을 추가한 Android 동영상 앱입니다. 2022년부터 독립적으로 개발하고 있으며, 개발자는 빠른 수정과 잦은 기능 업데이트를 하드 포크의 장점으로 꼽습니다.

웹사이트 감사 도구를 만들며 배운 점: 발견 항목이 많다고 수정이 늘지는 않습니다

발행

GazeRank 개발자는 SEO, 성능, 접근성, AI 검색 관련 문제를 더 많이 보여주는 대신, 사용자가 바로 착수할 우선순위와 수정 확인 절차를 보고서 앞부분에 배치했습니다. Indie Hackers 토론에서는 전체 목록과 짧은 실행 목록을 분리하고, 수정 담당자 지정과 개발자 전달 기능까지 설계에 포함하자는 의견이 나왔습니다.

Vim의 마지막 인사일까요? 이제 :q!를 입력할 때일까요?

발행

AI가 코드를 대신 작성하면서 Vim을 배울 이유가 줄었을까요? 글쓴이는 Vim의 강점이 타이핑 속도가 아니라 코드 탐색과 정밀한 편집에 있다고 봅니다. AI가 작성한 코드를 다듬는 일이 늘수록 Vim의 편집 방식은 여전히 쓸모가 있다고 주장합니다.

Go 동시성 한눈에 정리하기

발행

Go 동시성의 주요 개념을 실행 가능한 예제로 정리한 미니북입니다. 고루틴과 채널부터 동기화, 테스트, 스케줄링, 진단 도구까지 빠르게 훑으며, 데이터 경쟁과 경쟁 조건의 차이도 설명합니다.

락프리 링 버퍼 최적화

발행

단일 생산자·단일 소비자(SPSC) 링 버퍼를 단순 배열에서 시작해 뮤텍스, 원자 연산, 메모리 순서 조정, 인덱스 캐시 순으로 개선합니다. 제시된 벤치마크에서 처리량은 뮤텍스 버전의 초당 1,200만 회에서 최적화 버전의 3억 500만 회로 늘어납니다.

Basedash MCP 쓰기 기능 — Cursor와 Claude에서 차트와 대시보드 만들기

발행

Basedash MCP 서버가 읽기뿐 아니라 차트와 대시보드 생성·수정도 지원합니다. Cursor나 Claude에서 자연어로 요청하면 에이전트가 스키마를 살펴 SQL을 작성하고 검증한 뒤 시각화를 구성합니다. 스키마 변경으로 쿼리가 깨지면 AI가 한 번의 클릭으로 수정하도록 돕습니다.

서로 돕기를 멈추면 우리는 어떤 존재가 될까요?

발행

Stack Overflow의 도움으로 힘든 시기를 버틴 한 개발자의 이야기를 통해, 온라인 공동체가 답변뿐 아니라 사람 사이의 연결과 소속감을 준다고 말합니다. LLM이 답을 대신하더라도 사람의 관심과 도움까지 대신하지는 못한다는 문제를 제기합니다.

Squints — 실제 웹페이지에서 쓰는 디자인 도구

발행

Squints는 실제 웹페이지 위에 간격 측정, 가이드, 컬럼 그리드, 색상 선택 도구를 띄웁니다. 렌더링된 글꼴을 확인하고 애니메이션을 느리게 재생하거나 구간별로 살펴볼 수도 있습니다. 무료이며 계정이나 추적 기능이 필요하지 않습니다.

AI 없이 한 달

발행

오픈소스 프로젝트를 유지하는 개발자가 업무에서 AI 코딩 에이전트를 쓰다 코드 이해와 검토 능력이 약해졌다고 느껴 사용을 중단한 경험을 소개합니다. 그는 TDD와 직접 코드 작성으로 돌아간 뒤 변경 사항을 설명하고 배포하는 자신감을 되찾았다고 말합니다.

Claude Fable 5.1, 입자물리학 9루프 계산 수행 — 연구진은 대부분 “계속 진행해”라고 말했습니다

발행

Claude Science의 Fable 5.1이 N=4 초대칭 Yang–Mills 이론의 9루프 산란 진폭을 계산했습니다. 연구진은 기존 부트스트랩 방법과 Python 코드를 사용했고, 독립 검증자는 결과를 확인했습니다. 새 물리 원리를 발견한 사례라기보다, 알려진 계산 절차를 AI가 끝까지 수행한 사례입니다.

문제는 직감이 아닙니다 — 바이브 코딩에서 빠진 절반

발행

직감은 경험이 압축된 패턴 인식이며, 소프트웨어 개발에서도 쓸모 있는 출발점입니다. 다만 느낌을 검증의 끝으로 삼으면 위험합니다. 글은 AI가 만든 결과물을 깨뜨리고 이해한 뒤 안정화하는 개발 루프를 제안합니다.

Postgres의 SELECT DISTINCT는 데이터가 커지면 느려집니다

발행

Postgres에서 SELECT DISTINCT는 고유한 값이 적어도 조건에 맞는 인덱스 행을 모두 읽으므로, 처리 시간이 전체 행 수에 따라 늘어납니다. DBOS는 재귀 CTE로 인덱스에서 다음 고유 값을 하나씩 찾는 우회 쿼리를 제시하며, 파티션 수가 고정된 벤치마크에서 행 수가 늘어도 지연 시간이 거의 변하지 않았다고 설명합니다.