Trawling

개발 · 최신기사

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

AI가 코드를 더 많이 써도, 개발자의 책임은 줄지 않습니다

발행

AI가 구현과 테스트를 맡아도 배포한 시스템의 책임은 개발자에게 남습니다. 글은 AI가 코드와 테스트를 함께 만들 때 생기는 오해와 ‘이해 부채’를 짚고, 작은 작업 단위와 계획 검토, 명시적인 설계 기록으로 위험을 줄이는 방법을 제안합니다.

세부 내용보다 다음에 바꿀 것을 묻는 리더

발행

사고가 난 뒤 원인과 판단을 설명하는 데 그치지 말고, 같은 유형의 실패를 줄이려면 시스템을 무엇을 바꿔야 하는지 물어야 한다고 주장합니다. 다만 재발 방지책을 검증하고 비용과 위험을 판단하려면 세부 내용도 필요하다는 반론이 나옵니다.

TypeScript 타입과 타입 가드가 조용히 어긋날 수 있습니다

발행

TypeScript의 사용자 정의 타입 술어는 함수 본문이 타입의 모든 필드를 검사하는지 증명하지 않습니다. 글에서는 기존 타입과 가드 정의를 컴파일 시점에 연결하는 is-kit의 typedStruct를 소개하고, 타입 동기화와 런타임 추가 속성 검증은 별개의 문제라고 설명합니다.

Zig를 배우는 여정

발행

Zig 개발자 Andrew Kelley가 Zigtoberfest에서 제안한 학습 경로를 소개합니다. 시스템과 의존성을 깊이 이해하고, 빌드와 실행 동작을 직접 설계하며, 프로젝트를 완성하는 과정이 Zig뿐 아니라 소프트웨어 엔지니어로 성장하는 데 도움이 된다고 설명합니다.

프런트엔드 아키텍처를 하나로 설명하는 모델

발행

글은 프런트엔드 구조를 브라우저의 탐색·조정, 서버의 콘텐츠, 클라이언트의 낙관적 UI 상태라는 세 책임으로 나눕니다. 이 관점으로 HTMX부터 SPA까지를 설명하고, Solid 2.0이 같은 모델 안에서 여러 구조를 표현하는 방법을 제안합니다.

GitHub Wiki는 안티패턴입니다

발행

GitHub Wiki는 저장소 어디서나 한 번에 접근할 수 있다는 장점이 있지만, 문서를 코드와 함께 버전 관리하고 코드처럼 리뷰하려면 저장소의 /docs 폴더가 더 낫다고 주장합니다. GitHub Pages로 문서를 공개하고 Wiki에는 안내 링크만 두는 방식을 제안합니다.

Go의 `if err != nil`이 그리워 TypeScript용 errval을 만들었습니다

발행

errval은 TypeScript에서 오류를 명시적으로 반환하고, 호출부에서 처리하도록 돕는 라이브러리입니다. 오류 타입을 호출에서 추론하고 `match`의 누락된 분기를 컴파일 오류로 잡습니다. 실패 경로 벤치마크와 오류 생성 방식도 공개했습니다.

PNG는 손상을 드러내지만 JPEG는 숨깁니다

발행

512×512 이미지의 PNG, JPEG 등 6개 형식에서 비트 하나를 바꾸고 디코딩 결과를 비교했습니다. PNG는 처리 도구가 손상을 감지해 거부했지만 Chromium은 손상 전까지의 픽셀을 그렸고, JPEG·WebP·AVIF는 손상된 이미지를 온전한 것처럼 보여주기도 했습니다.

모바일 `100vh` 문제를 JavaScript로 고치지 마세요

발행

모바일 브라우저에서 `100vh`는 현재 보이는 화면이 아니라 브라우저 UI가 접힌 상태의 높이를 기준으로 삼을 수 있습니다. 글은 `dvh`, `svh`, `lvh`의 차이를 설명하고, 목적에 맞는 CSS 뷰포트 단위를 쓰면 JavaScript 우회 코드를 없앨 수 있다고 안내합니다.

NestJS 테스트 모듈의 Provider 교체와 사용법 요약

발행

NestJS의 테스트 모듈은 단순한 mock 저장소가 아니라 실제 애플리케이션과 같은 의존성 주입(DI) 컨테이너를 구성합니다. 글은 provider 교체 방법과 get()·resolve()의 차이, 요청 범위 provider의 컨텍스트 공유, 가드와 파이프를 바꾸는 E2E 테스트 방법을 설명합니다.

코딩이 예전처럼 즐겁지 않아진 이유를 깨닫기까지

발행

저자는 AI가 코딩의 시행착오와 막힘을 덜어내면서, 자신이 개발에서 느끼던 성취감도 함께 사라졌다고 말합니다. 결과물을 더 빠르고 많이 만드는 일과 직접 문제를 풀며 얻는 기쁨은 다르지만, 그 기쁨을 되찾을 방법은 아직 찾지 못했습니다.

Anomalo — 데이터가 보내는 신호를 놓치지 마세요

발행

Anomalo Analyst는 Snowflake, Databricks, BigQuery 데이터를 읽기 전용으로 모니터링해 추세와 이상 변화를 먼저 찾아냅니다. 각 인사이트에 업무 요약과 기술 설명, 분석에 사용한 근거를 제공해 실제 사업 변화와 데이터 오류를 구분하도록 돕습니다.

에이전트에게 Rust 코드를 더 빠르게 만들라고 반복해서 요청하기

발행

저자는 기준선과 통계적 벤치마크, 정확성 검증을 갖춘 반복 작업으로 에이전트가 Rust 코드를 최적화한 과정을 소개합니다. UMAP 구현은 umap-learn보다 4~15배 빨랐다고 보고하지만, 벤치마크 맞춤 최적화와 기능 비활성화 같은 속임수를 막으려면 다양한 입력과 별도 품질 검증이 필요합니다.

프로그래밍 언어의 타입 시스템에 별칭 추론을 맡기지 마세요

발행

Futhark는 배열을 복사하지 않고 갱신하는 기능의 안전성을 보장하려고 소비(consumption)와 별칭(alias)을 타입 검사에서 추적합니다. 이 글은 추상 타입과 고차 함수가 추적 규칙을 복잡하게 만드는 과정을 설명하고, 자기 별칭(self-aliasing) 처리와 매개변수성(parametricity)을 활용하는 설계안을 제시합니다.

차분한 UI를 만드는 간단한 가이드

발행

이 글은 저장·삭제 대화상자의 로딩 상태와 알림 토스트를 줄여 사용자가 작업 결과를 바로 확인하게 하는 방법을 소개합니다. 오류 메시지 위치, 키보드 제출, 입력란 자동 포커스처럼 작은 UI 동작도 함께 다룹니다.