Trawling

개발 · 최신기사

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

Brainfuck으로 레이 트레이서를 만들기

발행

저자는 Brainfuck의 여덟 가지 명령만으로 레이 트레이서를 구현하며 고정소수점 연산과 산술·제어 흐름을 직접 구성합니다. 2,300만 바이트가 넘는 프로그램은 픽셀 하나를 그리는 데 약 1분이 걸렸고, 후속 JIT 개선으로 렌더링 결과도 얻었습니다.

요하네스 되퍼트를 추모하며

발행

LLVM 컴파일러 프로젝트의 주요 기여자이자 OpenMP·고성능 컴퓨팅 연구자인 요하네스 되퍼트가 암 투병 끝에 36세로 세상을 떠났습니다. 그는 Attributor 프레임워크와 GPU 오프로딩 개발을 이끌었고, 연구·멘토링·커뮤니티 활동으로 LLVM 생태계에 흔적을 남겼습니다.

LLM 시대에도 프로그래밍을 즐기는 법

발행

Haskell 개발자인 글쓴이는 LLM에게 코딩을 맡기는 대신 조사·계획·기록·검토를 맡기고, 직접 코드를 쓰는 작업 흐름을 제안합니다. 생산성을 조금 얻으면서 코드 이해와 프로그래밍 기술, 작업의 즐거움을 지키는 방법을 설명합니다.

Show HN: 수학 풀이를 자동화하는 Mathy

발행

Mathy는 이미 배운 수학 내용을 짧게 반복 연습해 빠르고 정확하게 떠올리도록 돕는 무료 앱입니다. FSRS로 복습 시점을 정하고, 문제와 답을 결정론적으로 생성·검증하며, 핵심 기능은 계정 없이 오프라인에서도 작동합니다.

비디오 게임에서 배우는 좋은 UX 설계 (2019)

발행

게임의 UX를 앱에 그대로 옮기기보다, 게임이 사용자의 학습과 탐색을 설계하는 원리를 살펴봅니다. 글은 이야기와 사용자 경험의 관계, 학습 루프, 피드백, 힌트, 진행 속도 등 여섯 가지 관점으로 앱 UX를 분석합니다.

구성 요소의 합보다 더 강한 타입

발행

Rust의 `std::path::Component` 열거형을 각 변형을 나타내는 별도 타입으로 나눠 경로 처리 함수의 입력 조건을 타입으로 표현한 사례입니다. `NormalComponent`와 `ParentDirComponent`를 쓰면 경로 결합과 디렉터리 탐색에서 잘못된 구성 요소를 넘기는 실수를 줄일 수 있습니다.

Excel 셀 하나에 여러 값을 담습니다

발행

Excel 베타 채널에 셀 안의 목록과 배열, 중첩 배열 기능이 추가됩니다. 개별 항목을 필터링하고 계산에 활용할 수 있으며, FLATTEN과 HAS 계열 함수도 제공합니다. 다만 Power Query, 차트, PivotTable 등은 아직 배열을 직접 처리하지 못합니다.

코드 리뷰가 서서히 무너지고 있습니다. 어떻게 대응하시나요?

발행

코딩 에이전트를 도입한 팀에서 PR은 늘고 사람의 리뷰는 사라지면서, 대충 만든 구현이 다음 에이전트의 기준으로 굳어지는 문제가 생겼습니다. 글쓴이는 리뷰를 전면 중단하기보다 변경 위험에 따라 검토하고 계획 리뷰와 테스트를 보강하자고 제안합니다.

백엔드 없는 백엔드: Neon Data API, RLS, 그리고 27가지 공격

발행

브라우저에서 Neon Data API를 직접 호출하는 멀티테넌트 작업 보드의 보안 구조를 만들고, 27가지 공격과 네 가지 설정 실수로 검증합니다. RLS와 컬럼 권한을 함께 쓰면 대부분의 공격을 막지만, 토큰 만료 전 멤버를 제거해도 최대 15분가량 접근이 이어질 수 있어 실시간 멤버십 확인이 필요합니다.

2026년 Rust SIMD 현황

발행

Rust의 SIMD 생태계를 자동 벡터화, portable SIMD 라이브러리, 플랫폼별 인트린식 관점에서 비교합니다. 라이브러리별 기능과 런타임 디스패치의 차이, 컴파일러 최적화 문제를 짚고 x86·ARM 등 하드웨어의 특성도 살펴봅니다.

임포스터를 뽑은 적이 없었습니다 — 역할 배정을 검증 가능하게 만들다

발행

Among Us 오픈소스 클론의 역할 배정은 가장 높은 플레이어 ID를 가진 클라이언트가 임포스터를 자처하는 방식이었습니다. 개발팀은 Midnight의 Compact 계약과 커밋먼트, 비공개 증명을 이용해 역할 배정과 처치를 검증하는 Shadow Protocol을 만들었으며, 데모는 실제 블록체인 대신 같은 규칙을 검사하는 모의 원장으로 실행했습니다.

제1원칙 사고와 에이전트 시대의 엔지니어링

발행

좋은 시니어 엔지니어는 익숙한 기술적 제약을 답으로 받아들이기보다, 무엇을 왜 만드는지부터 따져 가장 작은 다음 단계를 찾습니다. 에이전트를 쓸 때도 경험을 잠시 내려놓고 가능성을 살피되, 설계와 검토에서 사람의 판단을 놓치지 말아야 한다는 글입니다.

리눅스 커널 개발자들, AI 에이전트 안내용 AGENTS.md 도입 검토

발행

리눅스 커널 소스 트리에 AI 코딩 에이전트가 개발 규칙을 따르도록 안내하는 AGENTS.md를 추가하는 제안이 나왔습니다. README로 연결하는 간단한 파일이지만, 에이전트의 패치 서명 표기 오류를 줄이는 한편 전체 문서를 읽힐 때 늘어나는 토큰 비용을 두고 의견이 갈립니다.

INKSHIFT: 테이블을 바꿔도 예약은 그대로

발행

INKSHIFT는 모임 계획을 공유하고, 일정 변경 뒤에도 참가자의 예약을 유지하는 앱입니다. Sanity의 Content Lake와 Workflows를 사용해 변경을 검토하고, 세션 ID를 보존해 장소만 옮깁니다. 동시 예약과 변경 이력 처리 방식도 소개합니다.

Paranoia-Sans: 음모론 용어를 가리는 글꼴

발행

Paranoia-Sans는 음모론에서 자주 등장하는 용어를 자동으로 검은 상자로 바꾸는 글꼴입니다. OpenType 합자 기능을 사용해 지정된 문자열을 가리며, 예를 들어 ‘5G’는 두 글자 너비의 검은 상자로 표시합니다.

마이크로서비스는 아키텍처로 포장한 조직 부채입니다

발행

Martin Fowler는 새 프로젝트에서 마이크로서비스부터 시작하기보다 모놀리스로 출발한 뒤 서비스 경계를 파악하고 필요할 때 분리하자고 제안합니다. 마이크로서비스는 운영 부담이 크고 경계를 잘못 나누면 변경이 어려워지지만, 여러 팀의 독립 배포나 엄격한 검증이 필요한 환경에서는 장점도 있습니다.