트위터에도 썼지만, 최근에 퇴사한 동료에게서 제 긍정적임을 아주 높이 사고 세상에 저 같은 사람이 더 필요하다는 칭찬을 들었는데 아주 기분이 좋았습니다. 제 스킬에 대해선 그냥 괜찮다고만 했지만 😒😒 아무튼 냉소적으로 행동하지 않기 위해 한 노력이 인정 받은 듯한 느낌 🫶✌️
Jaeyeol Lee
@kodingwarrior@hackers.pub · 667 following · 483 followers
Neovim Super villain. 풀스택 엔지니어 내지는 프로덕트 엔지니어라고 스스로를 소개하지만 사실상 잡부를 담당하는 사람. CLI 도구를 만드는 것에 관심이 많습니다.
Hackers' Pub에서는 자발적으로 바이럴을 담당하고 있는 사람. Hackers' Pub의 무궁무진한 발전 가능성을 믿습니다.
그 외에도 개발자 커뮤니티 생태계에 다양한 시도들을 합니다. 지금은 https://vim.kr / https://fedidev.kr 디스코드 운영 중
Blog
- kodingwarrior.github.io
mastodon
- @kodingwarrior@silicon.moe
Github
- @malkoG
@z9mb1wwj 완전 최고네요
We're thrilled to announce Fedify 1.8.1, a mega release made possible through the incredible efforts of contributors from South Korea's #OSSCA (Open Source Contribution Academy). This release marks a significant milestone in #Fedify's development, bringing major architectural changes, new packages, and numerous enhancements across the board.
Note: Version 1.8.0 was skipped due to a versioning error.
🎉 Major Milestone: Monorepo Architecture
Fedify has been restructured as a #monorepo, consolidating all packages into a single repository with unified versioning. This change streamlines development and ensures all packages are released together with consistent version numbers.
Consolidated Packages
All existing Fedify packages now live under one roof:
- @fedify/fedify — Main library
- @fedify/cli — CLI toolchain
- @fedify/amqp — AMQP/RabbitMQ driver
- @fedify/express — Express integration
- @fedify/h3 — h3 framework integration
- @fedify/postgres — PostgreSQL drivers
- @fedify/redis — Redis drivers
🆕 New Packages
This release introduces four new packages to the Fedify ecosystem:
- @fedify/elysia — Elysia integration for Bun-powered applications
- @fedify/nestjs — NestJS integration for enterprise Node.js apps
- @fedify/sqlite — SQLite driver compatible with Bun, Deno, and Node.js
- @fedify/testing — Testing utilities with mock
FederationandContextclasses
@fedify/fedify
Custom Collection Dispatchers
A powerful new feature that allows you to create custom collections beyond the standard ActivityPub collections. This enables implementation of domain-specific collections while maintaining federation compatibility.
Contributors: ChanHaeng Lee [#310, #332]
- Added comprehensive types and interfaces for custom collection handling
- New methods on
Federatableinterface:setCollectionDispatcher()andsetOrderedCollectionDispatcher() - Added
getCollectionUri()method to theContextinterface - Full support for paginated custom collections
Compare-and-Swap (CAS) Support for KV Stores
Key–value stores now optionally support CAS operations for atomic updates, enabling optimistic locking and preventing lost updates in concurrent environments.
- Added optional
KvStore.cas()method - Implemented in
MemoryKvStoreandDenoKvStore - Useful for implementing distributed locks and counters
Fediverse Handle Utilities
New utility functions make working with #fediverse handles more convenient.
Contributors: ChanHaeng Lee [#278]
parseFediverseHandle()— Parse handles into componentsisFediverseHandle()— Validate handle formattoAcctUrl()— Convert handles to URLsFediverseHandleinterface for type safety
Enhanced HTTP Request APIs
Contributors: Lee ByeongJun [#248, #281], Hyunchae Kim [#51, #315]
- Added
LookupWebFingerOptions.maxRedirectionoption for controlling redirect behavior - APIs now support
AbortSignalfor request cancellation - New
DocumentLoaderOptionsinterface - Added
signaloptions toLookupObjectOptions,LookupWebFingerOptions, andDoubleKnockOptions
@fedify/cli
New Commands and Enhancements
The CLI has received significant improvements thanks to our OSSCA contributors:
fedify webfinger Command
Contributors: ChanHaeng Lee [#260, #278], KeunHyeong Park [#311, #328]
Look up WebFinger information for any fediverse resource:
- Supports handles (
@user@server) and URLs --user-agentoption for custom User-Agent headers--allow-private-addressfor local testing--max-redirectionto control redirect following
fedify nodeinfo Command
Contributors: Hyeonseo Kim [#267, #331, #168, #282, #304]
Replaces the deprecated fedify node command with improved terminal rendering.
Enhanced fedify lookup Command
Contributors: Jiwon Kwon [#169, #348, #261, #321]
- Terminal-specific image display for Kitty, WezTerm, Konsole, Warp, Wayst, st, and iTerm
-o/--outputoption to save results to files
Improved fedify inbox Command
Contributors: Hasang Cho [#262, #285], Jang Hanarae [#191, #342]
--actor-nameand--actor-summaryoptions for customizing temporary actors- Now displays object types contained in activities
fedify init --dry-run
Contributors: Lee ByeongJun [#263, #298]
Preview project initialization without creating files.
Better Terminal Support
Contributors: Cho Hasang [#257, #341]
Correctly handles color output based on TTY detection and NO_COLOR environment variable.
@fedify/elysia
Contributors: Hyeonseo Kim [#286, #339]
New Elysia integration brings Fedify to Bun-powered applications with a simple plugin interface:
import { Elysia } from "elysia";
import { fedify } from "@fedify/elysia";
const app = new Elysia()
.use(fedify(federation, { /* options */ }))
.listen(3000);@fedify/nestjs
Contributors: Jaeyeol Lee [#269, #309]
Enterprise-ready NestJS integration with dependency injection support:
import { FedifyModule } from "@fedify/nestjs";
@Module({
imports: [
FedifyModule.forRoot({
kv: new MemoryKvStore(),
queue: new InProcessMessageQueue(),
origin: "https://example.com",
}),
],
})
export class AppModule {}@fedify/sqlite
Contributors: An Subin [#274, #318]
SqliteKvStore implementation compatible across all major JavaScript runtimes:
import { SqliteKvStore } from "@fedify/sqlite";
const kv = new SqliteKvStore("./fedify.db");@fedify/testing
Contributors: Lee ByeongJun [#197, #283]
Comprehensive testing utilities with mocking support for Fedify applications:
import { MockFederation, MockContext } from "@fedify/testing";
const mockFederation = new MockFederation();
const mockContext = new MockContext();
// Track sent activities with full metadata
// Support custom path registration
// Multiple activity type listeners🙏 Acknowledgments
This release represents an extraordinary community effort, particularly from the participants of South Korea's OSSCA (Open Source Contribution Academy) (Note: page in Korean). We extend our heartfelt thanks to all contributors:
Core Contributors
- ChanHaeng Lee (
@2chanhaeng초무) — Custom collections, fediverse handles, WebFinger command
- Lee ByeongJun (
@joonnotnotJoon) — WebFinger redirections, dry-run, testing utilities
- Hyunchae Kim (
@r4bb1t) — AbortSignal support
- Hyeonseo Kim (
@gaebalgom개발곰) — Elysia integration, nodeinfo command - Jaeyeol Lee (
@kodingwarriorJaeyeol Lee) — NestJS integration - An Subin (
@nyeongAn Nyeong (安寧)) — SQLite driver - Jiwon Kwon (
@z9mb1wwj) — Terminal image display, output options - Hasang Cho (
@crohasang크롸상) — Color output handling, actor customization - Jang Hanarae (
@meneleHanal Ae) — Activity object type display - KeunHyeong Park (
@w8385박근형) — WebFinger redirect options
Test Infrastructure Contributors
- Oh Daeun (
@ooheundaoed) — Fixed PostgreSQL test race conditions [#346, #350] - Song Hanseo (
@songbirds) — Test stability improvements for Redis and code generation [#344, #347] - Kim Jonghyeon (
@woaol벨) — CLI version management and documentation fixes [#306, #329, #330, #343]
Your contributions have made Fedify stronger and more versatile than ever. The OSSCA program's support has been instrumental in achieving this milestone release.
Migration Guide
Updating from Previous Versions
If you're using separate Fedify packages, update all packages to version 1.8.1:
{
"dependencies": {
"@fedify/fedify": "^1.8.1",
"@fedify/cli": "^1.8.1",
"@fedify/express": "^1.8.1"
}
}All packages now share the same version number, simplifying dependency management.
Breaking Changes
There are no breaking changes in this release. All existing code should continue to work without modifications.
What's Next
With the monorepo structure in place and new integrations available, we're excited to continue improving Fedify's developer experience and expanding its capabilities. Stay tuned for more updates, and thank you for being part of the Fedify community!
For detailed technical information about all changes, please refer to the full changelog.
Fedify is an open-source project that helps developers build federated server applications powered by ActivityPub. Join us on GitHub or Discord to contribute or get help!
ZelliJ는 Claude Code 여러개 돌리기에도 좋긴 한데, Fedify 기반의 서비스 만들기에도 괜찮은듯. 탭 여러개 띄워놓고 컨텍스트 스위칭하기보다는 ZelliJ로 화면 분할해놓고 한쪽은 로그 띄우고 한쪽은 fedify cli로 이것저것 테스트해보고
어쩔때는 Zed가 좋은 것 같은데, 어쩔 때는 Neovim이 좋음. 수제코딩할때 Zed랑 Neovim이랑 아등바등하게 괜찮은데, 빠릿빠릿하고 에디터 환경에 대한 제어권이 온전히 나에게 있는 것을 꼽자면 Neovim. 플러그인이 사실상 0인데, 있을 것들은 다 들어가 있고 수제로 코딩하는 맛이 타격감이 괜찮은건 Vim 모드가 가미된 Zed.... 프로젝트를 할 때는 Neovim을 주로 쓰기는 하지만, 학습할때는 Zed를 쓰는 빈도가 좀 있는 듯.
지금 만들고 있는 NestJS 기반의 연합우주 앱도 의도적으로 Zed로 수제코딩 하고 있음. 퐝션? 그런거 쓰지 마세요
그나저나 Hackers' Pub 마스코트 고양이에 아직 이름이 없는데, 어떤 이름을 지어 주면 좋을까요? 🤔
@hongminhee洪 民憙 (Hong Minhee) pub을 좀 더 살려서 puppy라 합시다
We'd like to recognize some excellent contributions from our #OSSCA (Open Source Contribution Academy) participants who have been working on #Fedify.
@gaebalgom개발곰 contributed PR #339, which introduces the @fedify/elysia package to provide Elysia integration for Fedify. This work addresses issue #286 by creating a plugin that enables developers using #Bun and #Elysia to integrate Fedify's #ActivityPub capabilities into their applications. The contribution includes the core integration module, documentation, examples, and proper monorepo configuration, making Fedify accessible to the Elysia community.
@r4bb1t submitted PR #315, implementing comprehensive
AbortSignal support across multiple APIs to resolve issue #51. This contribution adds request cancellation capabilities not only to lookupWebFinger() but also to lookupObject(), DocumentLoader, and the HTTP signature authentication flow (doubleKnock()), allowing developers to properly handle timeouts and abort ongoing requests throughout the entire request chain. The implementation includes extensive test coverage for cancellation scenarios across all affected components and lays the groundwork for adding --timeout options to various CLI commands like fedify lookup, fedify webfinger, and fedify nodeinfo, making federated applications more robust and responsive.
@ooheundaoed addressed a testing infrastructure issue with PR #350, fixing a race condition in PostgreSQL message queue tests that was causing intermittent failures (issue #346). By adding explicit initialization before concurrent message queue listeners, this fix prevents table creation conflicts that were affecting test reliability, ensuring more consistent PR testing for all contributors.
@songbirds provided two test stability improvements with PR #344 and PR #347. The first PR adds skip guards to RedisKvStore tests as a workaround for a known Bun runtime issue, keeping the test suite functional while awaiting an upstream fix. The second PR resolves a race condition in the code generation process by randomizing output filenames, preventing conflicts during parallel test execution. These contributions help maintain a stable testing environment for the project.
Thank you all for your contributions to Fedify. Your work helps make federated social networking more accessible to developers.
xv6 부팅에 릭롤링 끼얹기. 재밋잖아~ 한잔해~
Hackers' Pub 스티커 왔다!
@hongminhee洪 民憙 (Hong Minhee) 몇개 주문하셨나요 👀👀👀
PHP도.. 현대적인 언어...
@kodingwarriorJaeyeol Lee OS 캐리 좀요
@joonnotnotJoon 특별히 해드립니다
시간 날 때 언어 관련 툴링들을 어떻게 구현하는지에 대한 글을 써봐야겠다. 린터, 테스트 커버리지, 프로파일러, 디버거에 대해 써보고 싶지만 과연 나의 게으름이 잘 버텨줄지는 모르겠다
@joonnotnotJoon 캐리좀
웹 서버 프레임워크를 밑바닥에서부터 직접 만들고(!!!!) 거기다가 fedify 끼얹으면 재밌는 챌린지가 될 듯
@hongminhee洪 民憙 (Hong Minhee) 님도 샤라웃을 받아야 하거늘....!!
OSTEP 독학 일지 - H.0.
Jaeyeol Lee @kodingwarrior@hackers.pub
6년 차 개발자가 기본기를 다지기 위해 OS 기초를 다시 공부하는 여정을 담은 글입니다. 저자는 신입 개발자 수준의 기본기를 갖추기 위해 OSTEP 교재를 선택하고, xv6 프로젝트를 통해 운영체제 동작 원리를 체화하고자 합니다. 이 글에서는 xv6 과제들을 단계별로 공략하며 겪는 우여곡절과 발견, 그리고 이를 통해 얻는 인사이트를 서사적으로 풀어낼 계획을 밝힙니다. 단순히 지식을 정리하는 것을 넘어, 독자에게 재미있는 스토리를 전달하고 기술 면접에도 도움이 될 만한 생생한 경험을 공유하고자 하는 저자의 의지가 돋보입니다. OSSCA 2025 멘토링 경험에서 영감을 받아 시작된 이 여정은, 개발자로서의 성장과 더불어 해커스펍 커뮤니티에도 기여하고자 하는 저자의 열정을 보여줍니다.
Read more →OSTEP 과제 실습 위주로 공부해보고, 의식의 흐름대로 모르는거 찾아보면서 정리해야겠군
바이브코딩의 순기능(?) 이라고 할까요? 이런게 있으면 편하지 않을까? 라고 생각했을 때 적당한 도구를 빠르게 쳐낼 수 있는게 매력인 것 같아요. 말 못알아듣고 무한루프 돌때는 좀 그렇지만...
제가 관전하고 있는 OS 스터디에서 서울대 커리큘럼을 주로 활용하는데, 거기에 맞춰서 카이스트 자료도 정리해놓고 이것저것 붙였습니다. 만들고 나니 기분이 좋네요!!
@kodingwarriorJaeyeol Lee 우와 이게 뭐 하는 커맨드인가요? ci{ 입력하니까 JSON 파일 내용이 통째로 사라졌어요 ㅋㅋㅋ
@chalk 중괄호 안쪽을 비우는거에용. 소괄호, 대괄호, 큰따옴표, 백틱, 태그 감싸는거면 다 가능.
Replit으로 이런걸 만들었어요 https://tweet-gen-ai.replit.app/
결과는 이런식으로 나와요 https://tweet-gen-ai.replit.app/shared/FyZD8OU9W-gsXg3SxFqpv
@kodingwarriorJaeyeol Lee 일단 판서수업 진행시 달려갈 1인 확보요
많은 사람들이 각자 에디터에 Vim 에뮬레이터깔고, 한번씩 ci(/ci{/ci[/ci'/ci"/ci` 돌려봤으면 좋겠어
프론트엔드 하는 팔로워분들은 cit 한번씩만이라도,,,,
판서수업 아이디어에 꽂혔는데 뭘하지
지금 치고나가는 속도 보면 "Fedify가 곧 연합우주의 표준이다!!"해도 되지 않을까? "연합우주의 날" 사건처럼(??)
FEP 뒤적뒤적 거리면서 Fedify에 넣을만한거 찾아보는 중....
@kodingwarriorJaeyeol Lee 버튜버(코딩워리어)도 참석하나요??
휴~ 해커스펍 보다가 내릴 역 놓칠뻔 ㅎ
해커스펍 오프라인 격월 세미나 슬슬 기획 시동걸고 있고, 너드토크 기대하고 있고 마음껏 알고 있는거 자랑하고 싶은 분 계시다면 언제든지 지원을......
이런거 너무 재밌어보여
😎✌️
책이 안읽어진다고 독서법 같은걸 찾을게 아니라 잃어버린 집중력 되찾기 이런걸 봐야할듯 ㅋㅋㅋ
@nirvana마센세 사생팬 Nirvana 마음이... 아프네요...
이거 하나만큼은 인정한다...!! Zed는 사람의 손맛을 존중하는 에디터라는것,,,!!!
@hongminhee洪 民憙 (Hong Minhee) 이슈 제보...!!!
보고서 다 썼다 머쓱
보고서 쓰는데 날먹할 수 있었다 굿
보고서 쓰는데 자꾸 투머치토커 본능이
1.8 마일스톤 까지 얼마 안남아서 푸쉬 겸 이슈 남은거 있으면 좀 가져갈까 했는데, 다 할당되어 있어서 신경은 안써도 되겠군. 대시보드나 마저 만들어야지
@joonnotnotJoon 어서 이슈 좀 만들어주세요
What is the biggest reason that makes you hesitate to adopt #Fedify?
OSSCA 중간레포트 쓰는데 대략잡아서 5페이지 정도 되는 분량이 뽑히는데 이게 맞나.... 내 성향이 들어가니까 예시보다 너무 투머치해짐...
@kodingwarriorJaeyeol Lee 이런 슬쩍 기여까지 해야겠어요
@joonnotnotJoon ㄷㄷ 옆집 구경갔다가 기여까지 해버리기 ㄷㄷ
OSSCA 다른 팀들은 무슨 작업하는지를 염탐하는 시간을 가지기로 함
@joonnotnotJoon 전 이미 진작에 해왔는데
CLI 도구 만드는거에 진심이어서 CLI 도구 만드는게 비즈니스 모델인 회사가, 이걸로만 누적 600만 달러 이상을 투자 받았는데, CLI 코딩 에이전트 시장에 뛰어들었다??? 이건 생태계 교란종임...
July has been a truly incredible month for LLM releases from China - Moonshot (Kimi K2), Z ai (GLM-4.5) and 5 new releases from Qwen
I think it's undeniable that the best available open weight models now come from the Chinese AI labs https://simonwillison.net/2025/Jul/30/chinese-models/
올해 UCPC 본선에 H번 문제 시간선 통합을 출제했습니다! 구현이 풀이 도출에 비해 까다로운 문제임에도 불구하고 많은 팀이 도전해주셔서 감사했습니다. 내년에도 좋은 문제로 찾아뵙고 싶습니다 😊
논문요약기 리팩토링을 좀 했습니다 https://github.com/theeluwin/summarxiv 오픈소스지만 세팅하기 귀찮으신 분들을 위해서 제가 연1만원에 매일 아침 메일로 보내드립니다 https://forms.gle/xiLPNyEqsLEH5BLH9 많관부
@hoonwee 안녕하세요 ! 반갑습니다!
지금 일하는 곳은 14시-19시까지만 일하는 걸로 합의를 봤다.... 취업준비와 Fedify 기여에 올인을.......
방금 입수한 어떤 정보에 따르면 해커스펍 올해안에 1200명 넘길 수도 있을 것 같다는 소식입니다...
새로 알아본 업체에서 fedidev.kr 스티커 재주문하고, 우부콘 가기 전까지 썬그라스 하나 적당한걸로 장만해야겠음
아니 이게 뭐야 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ










