Trawling

개발 · 최신기사

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

Gemini://에 블로그 만들기

발행

Gemini 프로토콜에서 블로그인 gemlog를 만들고 운영하는 방법을 설명하는 실용 가이드입니다. 호스팅 플랫폼, 파일 구조, 피드, CGI 기반 상호작용, TLS 클라이언트 인증서까지 소개해 저사양·저복잡도 웹 publishing을 직접 시작하게 돕습니다.

첫 프로젝트 전까지는 안다고 생각했던 WordPress 테마 개발

발행

HTML, CSS, PHP를 알고 있어도 실제 WordPress 테마 프로젝트에서는 템플릿 계층, 블록 테마, theme.json, functions.php와 플러그인의 경계를 다시 배워야 합니다. 글쓴이는 디자인보다 WordPress의 구조와 콘텐츠 변형을 먼저 이해하고, 에디터와 프런트엔드를 함께 테스트하는 작업 흐름을 정리합니다.

Vim의 UserGettingBored autocmd

발행

Vim 문서에는 같은 키를 42번 누르면 발생한다는 가짜 자동 명령(autocmd) UserGettingBored가 있습니다. 실제 이벤트로 구현된 적은 없지만, 2000년부터 문서와 테스트에 남았고 2022년에는 이를 흉내 낸 비공식 플러그인까지 등장했습니다.

Resident Evil 4(GameCube) — C/C++로 완성한 바이트 동일 디컴파일

발행

Resident Evil 4 GameCube 디버그 빌드 전체를 C/C++로 재구성한 프로젝트입니다. 원본 컴파일러와 도구를 재현해 main.dol과 114개 REL을 바이트 단위로 일치시키며, 1,083개 오브젝트와 15,641개 함수를 약 55만 줄의 소스로 제공합니다.

Jev를 형편없는 챗봇으로 만들어 봤습니다

발행

jevchat은 Jev에게 매 단계마다 다음에 올 문자나 토큰을 묻고, 확률 분포에서 하나를 뽑아 답변을 이어가는 채팅 도구입니다. 알파벳과 탐색 전략을 바꿔가며 문자 단위 샘플링, 이진 탐색, 빔 서치 등을 실험할 수 있지만 API 비용은 상당히 비현실적입니다.

시간 속으로 사라진 키보드 기호들 2부: Mac 편

발행

Apple이 국가별 키보드 표준과 일본어 입력 환경에 맞춰 배치와 기호를 달리했던 사례를 살펴봅니다. 캐나다식 CSA/ACNOR 기호와 일본 키보드의 연필 모양 Control 기호가 어떤 배경에서 등장했고 어떻게 사라졌는지 설명합니다.

결정론적 코어, 비결정론적 셸

발행

Functional Core/Imperative Shell 구조를 결정론적 코어와 비결정론적 셸로 확장해 설명합니다. 외부 세계와 맞닿은 코드를 셸에 모으고 비즈니스 로직을 결정론적으로 분리하면, 순수 함수형 프로그래밍을 쓰지 않아도 테스트 범위와 신뢰도를 높일 수 있다고 제안합니다.

가장 이상한 글자 W의 필연적인 역사

발행

로마 제국 말기 라틴 문자에 없던 /w/를 적으려는 필요에서 W가 생겨났고, 프랑크 왕국의 UU 표기가 11세기 무렵 한 글자로 합쳐졌습니다. 고대 영어의 Ƿ가 W에 밀려난 과정부터 wolf·wood·wonder의 철자, was·wand·wash의 모음 변화까지 살피며 W가 발음과 철자의 간극을 어떻게 남겼는지 설명합니다.

생물학의 밀레니엄 문제

발행

생명의 기원부터 네 염기 코돈, 인공 효소, 생체 보존까지 생물학에서 풀어야 할 12가지 과제를 제시합니다. 각 과제는 실험 대상과 정량적인 성공 기준을 함께 규정합니다.

CRT가 픽셀 아트에 미친 영향 — 향수와 아나크로니즘

발행

CRT가 오래된 픽셀 아트를 부드럽게 보이게 했다는 통념을 검토합니다. 글은 CRT의 흐림 효과뿐 아니라 디더링, 안티앨리어싱, 색상 팔레트, 영상 신호, 화면 비율과 하드웨어 제약이 함께 화질을 만들었다고 설명합니다.

낡은 코드를 걷어내다: 레거시 P2P 코드 3,800줄 삭제

발행

Rust 기반 P2P 스택에서 오래된 Floodsub 프로토콜을 제거하고 Gossipsub만 남겨 공개 API와 문서를 단순화했습니다. Python 프로젝트에서는 테스트 프로세스 정리와 영속적인 파일 업로드 세션 저장 기능을 다뤘으며, 한 주 동안 약 4,000줄을 삭제하고 160줄가량을 추가했습니다.

저는 자주 틀립니다

발행

Boris Cherny는 문제와 제품을 다룰 때 정보 수집, 문제 정의, 단순한 해결책과 목표 설정, 실행을 반복한다고 설명합니다. 새 정보가 나오면 기존 판단을 고치고, 명확하지 않은 문제 정의와 복잡한 계획을 피하려면 실시간 피드백이 필요하다고 말합니다.

테스트 메서드 이름에 줄 바꿈 없는 공백을 사용하기

발행

PHP 테스트 메서드 이름에 일반 공백처럼 보이는 non-breaking space를 넣어 문장처럼 읽히게 만드는 방법을 소개합니다. 팀 내부에서는 1년 넘게 만족스럽게 사용했지만, 터미널 검색과 다른 언어의 식별자 규칙, 오픈소스 협업에서는 혼란을 부를 수 있다는 반론도 나옵니다.