개발곰 shared
GitHub@dodok8
Misskey@gaebalgom@yuri.garden
Twitter@gaebalgom
洪MInvited by 洪 民憙 (Hong Minhee)
Joined August 2025
gelite 제작기 1막 0화. 그래서 왜 또 다른 컴파일러 제작기인가요?
이 글은 관계형 데이터베이스인 SQLite 위에서 Gel(구 EdgeDB) 쿼리를 SQL로 변환하여 실행하는 컴파일러 Gelite의 제작기이자 튜토리얼입니다. 저자는 엄격한 타입 검사와 이식성을 위해 Rust 언어와 `#![no_std]` 환경을 선택했으며, 인공지능 도구를 활용하여 MVP 단계의 CRUD와 REPL 기능을 성공적으로 구현해 냈습니다. 이 시리즈는 단순한 컴파일러 구현을 넘어 라이브러리, 포매터, 쿼리 빌더 등을 아우르는 독자적인 생태계로 확장해 나가는 전 과정을 단계별로 다룰 예정입니다. 본 포스팅은 개발자가 프로젝트의 설계 기준을 세우고 실제 동작하는 기술 생태계를 점진적으로 구축해 나가는 실제적인 인사이트를 제공합니다.Read full article개발곰 shared
타입 레벨 한글 분해
TypeScript의 타입 시스템만으로 한국어 문법을 표현하는 `typed-korean` 라이브러리에서 한글 자모 분해 및 조합 테이블의 컴파일 성능 최적화 과정을 다룹니다. 기존의 어휘 기반 최소 테이블 방식은 코드 생성 스크립트와 타입 엔진의 로직 중복이라는 문제를 야기하여, 완성형 한글 전체를 커버하는 테이블로의 전환이 필요했습니다. 하지만 개별 음절을 익명 객체 타입으로 매핑하는 초기의 전체 테이블 방식은 `tsc` 메모리와 체크 시간을 크게 증가시키는 한계가 있었습니다. 이를 해결하기 위해 저자는 자모에서 음절 유니언으로 향하는 역방향 매핑 구조를 설계하여 프로퍼티 심볼을 대폭 줄였으며, 최종적으로 유니언 타입을 하나의 긴 문자열 블롭(blob)으로 합친 뒤 템플릿 리터럴 타입의 부분문자열 매칭을 통해 멤버십을 검사하는 방식으로 성능을 극대화했습니다. 이 최적화는 컴파일 성능 저하를 최소화하면서 11,172개의 모든 한글 음절을 지원하고 중복된 시뮬레이터 코드를 완전히 제거하여 프로젝트의 유지보수성과 설계 완성도를 동시에 확보했다는 점에서 큰 의의가 있습니다.Read full article개발곰 shared
Fedify: ActivityPub server framework@fedify@hollo.social
·Fedify 2.0.0을 릴리스했습니다!
Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:
- 모듈형 아키텍처 — 기존의 단일
@fedify/fedify패키지를@fedify/vocab,@fedify/vocab-runtime,@fedify/vocab-tools,@fedify/webfinger등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다. - 실시간 디버그 대시보드 — 새로운
@fedify/debugger패키지로/__debug__/경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존Federation객체를 감싸기만 하면 됩니다. - ActivityPub 릴레이 지원 —
@fedify/relay패키지와fedify relayCLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c). - 순서 보장 메시지 전달 — 새로운
orderingKey옵션으로 “좀비 포스트” 문제를 해결합니다.Delete가Create보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다. - 영구 전달 실패 처리 —
setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.
이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.
이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!
브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.
전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580