Trawling

개발 · 최신기사

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

발행

흑백 ATS 세계에서 다채로운 경력을 살아가기

Applicant Tracking System(ATS)은 이력서를 직함·회사·기간·기술 같은 구조화된 필드로 압축하면서 비선형 경력의 연결고리와 전이 가능한 역량을 버립니다. 글은 편향을 줄이려는 구조화된 채용의 필요성을 인정하면서도, 모든 지원자에게 같은 질문과 평가 기준을 적용해 경력 간 연결을 기록할 필드를 추가하자고 제안합니다.

발행

프로젝트가 끝났다고 판단하는 기준은 무엇인가요?

작은 도구와 실험을 자주 만드는 개발자가 프로젝트의 완료 기준을 돌아봅니다. 기능을 계속 추가해 제품이나 SaaS로 확장하는 것만이 성공은 아니며, 처음 의도한 목적을 달성하고 배운 것을 얻었다면 그대로 끝내도 된다는 관점을 제시합니다.

발행

CSS-Tricks는 협동조합이 될 수 있습니다

CSS-Tricks의 기고자였던 Eric Bailey가 사이트를 기업 소유가 아닌 협동조합(Co-op)으로 운영하자고 제안합니다. 웹 지식 인프라는 단기 수익보다 보존과 육성이 중요하며, 집단 소유가 기업 전략 변화와 경영진의 일방적 결정으로부터 콘텐츠를 지킬 수 있다는 주장입니다.

발행

C++20의 u8/char8_t 하위 호환성 참사

C++20에서는 UTF-8 문자열 리터럴인 u8"..."의 원소 타입이 기존 const char에서 const char8_t로 바뀌었습니다. 그 결과 C++17에서 정상적으로 컴파일되던 코드가 const char*를 요구하는 기존 API 호출에서 깨질 수 있으며, Google C++ Style Guide도 가능한 경우 u8 접두사를 피하라고 권고합니다.

발행

AI가 코드베이스 절반을 썼다 — 유지보수 청구서는 3개월 차에 도착했다

AI 코딩 도구가 초안 생성 비용을 거의 0으로 만들었지만, 리뷰와 유지보수 비용은 그대로라서 '생산성'의 회계가 왜곡된다는 글입니다. 저자는 자신의 오픈소스 프로젝트들에서 관찰한 패턴과 METR 연구(숙련 개발자가 AI 사용 시 19% 더 느려짐)를 근거로, 생성 속도가 아닌 소유 비용(ownership cost)을 측정해야 한다고 주장합니다. 디버깅, 태스크 단위 비용, 무한 루프, 이해의 외주화라는 네 가지 숨은 비용 항목을 구체적 수치와 함께 제시합니다.

발행

Claude Code, CLAUDE.md가 없으면 AGENTS.md를 읽도록 지원 추가 — 에이전트 지시 파일 표준화

Anthropic의 AI 코딩 도구 Claude Code가 프로젝트에 CLAUDE.md가 없을 때 AGENTS.md를 프로젝트 지시 파일로 읽는 기능을 추가했습니다. AGENTS.md는 OpenAI Codex 등 여러 에이전트가 채택한 공통 규약으로, 개발자들이 도구별 지시 파일을 중복 관리할 부담이 줄어듭니다. 이번 릴리스에는 대기 메시지 일괄 전송 키, claude.ai 스킬·플러그인 동기화, 플러그인 보안 강화 등 다수의 개선도 함께 담겼습니다.

발행

두 AI가 서로의 코드를 30일간 리뷰하게 했다 — 그러나 결정적 버그는 사람이 5분 만에 잡았다

저자가 30일간 작성 에이전트와 별도의 '회의론자(skeptic)' 리뷰 에이전트를 운영한 실험 기록입니다. AI 리뷰어는 41개 실제 이슈 중 38개를 잡았지만, Stripe 웹훅의 'ack-before-persist' 같은 조용한 데이터 정합성 버그는 같은 모델 계열 특유의 공통 맹점 때문에 놓쳤고, 시니어 엔지니어는 과거 장애 경험으로 5분 만에 발견했습니다.

발행

MacSentinel — Mac을 느리게 만드는 원인을 찾아 안전하게 정리하는 네이티브 도구

MacSentinel은 Mac 모니터링, 진단, 저장 공간 분석, 정리를 하나의 네이티브 워크플로로 묶은 유틸리티입니다. 단순히 시스템 지표를 보여주는 데 그치지 않고 로컬에서 속도 저하의 원인을 설명하며, 50개 카테고리에 걸친 500개 이상의 앱 규칙을 담은 Smart Care로 안전한 정리를 돕습니다. Pro 버전은 구독이 아닌 일회성 구매로 제공됩니다.

발행

AI 코딩 어시스턴트가 세션을 넘어 같은 실수를 반복하지 않게 하려면 — 여섯 메모리 시스템의 '결과 피드백 입력' 비교

AI 코딩 어시스턴트가 이전 세션에서 수정된 실수를 새 세션에서 반복하는 문제를 다룹니다. 저자는 Cognee, Mem0, Letta, Supermemory, Zep, Mnemoverse 여섯 메모리 시스템의 공식 문서를 읽고 '리콜 결과에 부정적 판정을 전달하는 공개 입력'이 있는지를 비교했습니다. 결론은 입력의 존재 여부가 아니라, 그 입력이 무엇에 붙어 있고 다음 읽기에서 실제로 무엇이 바뀌는지가 갈림길이라는 것입니다.

발행

Blanc — 탭 스트립과 툴바를 플로팅 아일랜드로 대체한 미니멀 브라우저

Blanc은 macOS, Windows, Linux를 모두 지원하는 무료 데스크톱 브라우저로, 탭 스트립과 툴바를 화면에 떠 있는 'Island'라는 단일 플로팅 UI로 대체한 것이 특징입니다. 광고와 트래커 차단은 확장이 아닌 네트워크 계층에서 동작하며, 유료 옵션인 Patron을 통해 Named Workspaces 기능을 제공합니다.

발행

Tweak, 클라이언트 변경 요청을 승인까지 연결하는 워크플로우 도구 — MCP 연동으로 개발자 작업 흐름에 직접 연결

웹 에이전시와 프리랜서가 클라이언트의 변경 요청을 처리하는 과정은 스크린샷, 메신저, 이메일이 뒤섞여 금방 지저분해집니다. Tweak은 클라이언트 요청 접수부터 팀 배정, 개발자 수정, 최종 승인까지 전체 흐름을 하나의 파이프라인으로 연결하며, MCP 연동을 통해 개발자가 자신의 개발 워크플로우 안에서 요청을 직접 처리할 수 있게 합니다.

발행

'AI가 개발자를 대체한다'는 글 500편을 읽었다 — 모두 같은 3가지 실수를 범하고 있었다

30일간 실제 프로덕션 SaaS의 모든 코드를 AI로 작성한 실험 후, 저자는 'AI가 개발자를 대체할 것'이라는 글 500편을 분석했습니다. 낙관론과 비관론 모두 코드 생성을 직업 전체로 착각하고, 주니어-시니어 사다리가 고정돼 있다고 가정하며, 데모를 근거로 미래를 외삽한다는 세 가지 공통된 오류를 지적합니다.

발행

실제 이벤트 픽스처로 Stripe 웹훅 회귀를 잡아내는 CLI를 만들었습니다 — 시험해 볼 개발자 2~3명을 찾습니다

Stripe 웹훅 핸들러의 회귀를 실제 이벤트 페이로드로 검증하는 오픈소스 CLI 'Spoke Hooks'가 공개되었습니다. 코드 변경 후 웹훅이 깨질 때 진짜 원인은 깨끗한 테스트 페이로드가 아니라 재시도·중복 전송·이상한 페이로드 형태 같은 실제 이벤트에서 나온다는 문제의식에서 출발했으며, baseline으로 현재 응답을 기록하고 test로 재생해 응답이 달라지면 CI에서 실패시키는 방식입니다.

발행

그냥 두고 볼 수 없었던 코드 — 20분 버그 수정이 일곱 파일의 리팩터링이 되기까지

리포트 대시보드의 페이지네이션 버그를 고치던 개발자가 필터 상태 중복, 클라이언트-서버 검증 로직 중복을 연달아 발견하고 수정하다가 서버 컴포넌트 전환 직전에 멈춘 경험담입니다. 변경 파일이 하나에서 일곱 개로 불어나는 순간, '이 변경이 제품에 필요한가, 아니면 내가 하고 싶은가'를 자문해 PR을 분리했다고 합니다. 저자는 변경의 크기가 아니라 정당화에 걸리는 시간과 그 정당화가 누구를 위한 것인지가 판단 기준이라고 말합니다.

발행

OpenSpec — AI 코딩 어시스턴트를 위한 스펙 주도 개발(SDD) 도구

OpenSpec은 AI 코딩 어시스턴트와 코드를 작성하기 전에 요구사항 스펙을 먼저 합의하도록 돕는 경량 스펙 주도 개발 도구입니다. 각 변경사항을 proposal, specs, design, tasks 문서로 구조화해 채팅 이력에만 의존하는 AI 코딩의 불확실성을 줄이고, 30개 이상의 AI 도구에서 슬래시 명령으로 사용할 수 있습니다.

발행

해커톤 심사 도구에서 버그 두 개를 찾았다 — 그러나 둘 다 내가 탈락한 이유가 아니었다

Africa Deep Tech Challenge에 온디바이스 RAG 코딩 어시스턴트 StacksNG를 제출했다가 예선에서 탈락한 개발자가, 심사 도구에서 실제 버그 두 개를 찾아내고 점수를 재계산해 4.6배 차이를 확인했습니다. 그러나 진짜 탈락 사유는 루브릭 어디에도 없던 originality gate — base model을 손대지 않았다는 점이었습니다.