바이너리 패킹은 생각보다 재미있습니다
JSON 저장을 줄이려다 직접 바이너리 포맷과 스키마 언어, 컴파일러를 만든 과정을 설명합니다. 작성자는 varint와 필드 번호를 조합한 인코딩, JSON 동적 패킹, C·Python 코드 생성을 구현했으며, 예시 데이터 크기를 401바이트에서 80바이트로 줄였다고 보고합니다.
언어와 프레임워크, SDK와 개발 방식·도구의 변화를 다룹니다.
JSON 저장을 줄이려다 직접 바이너리 포맷과 스키마 언어, 컴파일러를 만든 과정을 설명합니다. 작성자는 varint와 필드 번호를 조합한 인코딩, JSON 동적 패킹, C·Python 코드 생성을 구현했으며, 예시 데이터 크기를 401바이트에서 80바이트로 줄였다고 보고합니다.
Fakecloud는 일반 AWS SDK와 CLI를 localhost에 연결해 여러 AWS 서비스를 로컬에서 시험하는 에뮬레이터입니다. 제작자는 46개 서비스의 완전한 API 적합성을 주장하지만, Hacker News에서는 DynamoDB 테스트에서 다수의 실패가 보고돼 실제 호환성을 확인해야 한다는 지적이 나왔습니다.
2013년에 작성된 C++ 성능 최적화 글입니다. 포인터로 흩어진 객체보다 연속된 메모리와 데이터 접근 패턴을 우선하고, 캐시 지역성·AOS와 SOA·할당 재사용·포인터 별칭을 이해하라고 설명합니다. Hacker News에서는 조언의 여전한 유효성과 현대 C++의 변화, 최적화가 필요한 영역을 두고 의견이 갈렸습니다.
p5.js의 셰이더 시스템 p5.strands가 컴퓨트 셰이더까지 확장됩니다. 익숙한 JavaScript 문법으로 픽셀 필터와 정점 변형부터 GPU 병렬 연산까지 단계적으로 익히며, 글에서는 WebGPU로 보이드(boids) 1만 개를 실행한 사례도 소개합니다.
Go 패키지 경로에 GitHub 같은 호스팅 주소를 직접 쓰면 저장소 이전 때 import 경로도 바꿔야 합니다. 글쓴이는 자체 도메인과 Go 메타 태그를 사용해 경로를 고정하고, 뒤에서 연결할 Git 호스팅 서비스를 바꾸는 방법을 소개합니다.
글은 AI 모델 Jev의 확률 점수와 빠른 도입을 예로 들어, 평가 데이터와 검증 없이 AI를 제품에 넣으면 실패 원인을 추적하기 어려워진다고 지적합니다. 저자는 LLM 개발로 실패가 늘어나는 것보다 “그냥 안 된다”는 말로 조사를 끝내는 태도가 보편화되는 일을 우려합니다.
postmarketOS가 1년 반의 이름 선정 과정을 거쳐 Nura로 이름을 바꿉니다. 팀은 기존 이름의 발음·표기 어려움과 프로젝트 범위를 제한하는 문제를 이유로 들었으며, 로고를 다듬고 사용자에게 보이는 문자열도 차례로 변경할 예정입니다.
개발자가 직접 쓰거나 자주 복사하고, 웃거나 놀랐던 열 가지 코드와 짧은 스크립트를 돌아봅니다. Hello World를 처음 입력한 순간부터 6502 자기 수정 코드, CSS만으로 만든 시까지, 코드가 컴퓨터의 가능성을 보여준 경험을 엮습니다.
Oniria는 DEV의 실시간 글을 책으로 보여주는 3D 도서관입니다. 개발자는 Three.js와 Sanity로 공간과 책장을 구성하고, 직접 걸어 다니며 위치를 지정하는 편집 도구를 만들었습니다. 글은 AI 코딩의 한계와 사람의 시각적 피드백이 필요한 이유도 짚습니다.
Vim의 영구 실행 취소(Persistent Undo)는 파일을 닫거나 컴퓨터를 재시작한 뒤에도 실행 취소 기록을 보존합니다. 글은 NeoVim과의 호환성 문제를 계기로 소프트웨어가 사용자 작업물을 안전하게 다뤄야 한다는 원칙을 짚으며, 댓글에서는 실제 데이터 손실 여부와 설정 차이를 두고 반론이 나옵니다.
글쓴이는 AI가 만든 UI에서 반복되는 시각적·문구적 패턴 열 가지를 꼽습니다. Reddit에서는 이런 특징이 AI 이전에도 프레임워크와 디자인 유행을 따라 나타났다는 반박과, 상태 표시 배지나 어두운 테마만 제공하는 관행도 문제라는 의견이 나왔습니다.
Valve가 Steam Remote Play 베타에 저지연 비디오 코덱 Pyrowave를 추가했습니다. 다른 스트리밍 코덱보다 대역폭을 5~10배 쓰는 대신, Vulkan 기반으로 HDR과 YUV 4:4:4를 지원하며 기가비트급 LAN 환경을 겨냥합니다.
Paragraph Notes는 인터넷에 연결하지 않고 메모를 Mac에 저장하는 Markdown 앱입니다. 최대 20개까지 무료로 쓸 수 있으며, 한 번 결제하면 메모 수 제한이 사라집니다. 데이터는 단일 JSON 파일로 저장하고 iCloud Drive를 통한 기기 간 동기화도 설정할 수 있습니다.
PostgreSQL의 `AT TIME ZONE`은 입력 타입에 따라 `timestamp`와 `timestamptz` 사이를 서로 반대 방향으로 변환합니다. UTC 기준으로 월 단위 계산을 하려면 시간대를 명시해야 하며, 변환 전후의 타입과 비교 방식을 함께 살펴야 합니다.
코딩 에이전트가 코드 대부분을 작성하는 시대에도 프로그래밍 언어와 컴파일러는 필요하며, 언어 설계의 초점은 사람의 입력 편의성보다 강한 보장과 도구 연동으로 옮겨갈 수 있다고 주장합니다. 저자는 LSP 대신 질의 가능한 프로그램 데이터베이스를, 디버거 대신 에이전트가 탐색하는 런타임 관측 도구를 제안합니다.
Cloudflare가 블로그를 Astro와 Cloudflare에 맞춰 만든 CMS EmDash로 이전한 과정을 공개했습니다. k6 부하 테스트와 단계적 트래픽 전환으로 무중단 이전을 진행했고, 새 캐시 구조로 요청의 70%를 캐시에서 처리하며 최대 850 RPS까지 성능과 안정성을 확인했습니다.
SVG 경로를 복소수 좌표로 샘플링한 뒤 이산 푸리에 변환(DFT)으로 주파수별 계수를 구하면, 회전하는 원들을 이어 원래 윤곽을 그릴 수 있습니다. 글은 복소수와 내적부터 DFT 구현까지 설명하며, 주파수를 더할수록 라마 그림의 세부가 살아나는 과정을 보여줍니다.
Loongson LA664 코어에서 벡터 메모리 읽기와 특정 원자 연산이 겹칠 때 갱신이 누락되는 CPU 결함이 발견됐습니다. 이 결함은 Debian 패키지 빌드의 무한 루프와 Rust 프로그램의 메모리 손상으로 이어졌으며, Loongson은 성능 저하가 적은 펌웨어 수정안을 마련했습니다.
Qt가 Rust 애플리케이션 로직과 Qt Quick UI를 연결하는 Qt Bridge for Rust 공개 베타를 소개했습니다. QML로 화면을 작성하고 Rust 타입을 직접 연결하며, Linux·macOS·Windows를 지원합니다. 다만 빌드에는 현재 C++ 툴체인과 qmake가 필요하고, 객체 공유 과정의 대여 규칙은 런타임에 검사합니다.
글쓴이는 튜토리얼을 먼저 따라가기보다 직접 시도하고, 실패 원인을 디버깅한 뒤 이해하고 결과물을 만드는 학습 방식을 소개합니다. 작은 행동을 꾸준히 이어가고 기록을 남기며, AI를 정답 생성기가 아니라 사고를 돕는 짝으로 활용하자고 제안합니다.