FigJam에다가 아이패드로 필기하고 있는데 제법 괜찮은 듯. 피그마 매년마다 결제해서 쓰고 있는데, 굉장히 값어치를 한다...!! 원노트보다 훨씬 좋다...!!!

Jaeyeol Lee
@kodingwarrior@hackers.pub · 500 following · 394 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
Perl을 만든 언어학자 Larry Wall이 쓴 글 중에 종종 다시 읽어 보는 글
Human languages therefore differ not so much in what you can say but in what you must say. In English, you are forced to differentiate singular from plural. In Japanese, you don’t have to distinguish singular from plural, but you do have to pick a specific level of politeness, taking into account not only your degree of respect for the person you’re talking to, but also your degree of respect for the person or thing you’re talking about.
Programming is Hard, Let's Go Scripting...
그렇기 때문에 사람의 언어는 당신이 그렇다고 생각하고 있던 것과는 많이 다르다. 영어로 얘기할때는 단수와 복수를 확실히 구분해야만 한다. 일본어에서는, 단수와 복수를 구분할 필요는 없지만, 정중함의 정도를 조절할 줄 알아야 한다. 즉, 상대방에 대한 존경을 표현할 수 있는 정도를 선택해야 하고, 상대방의 입장에서 내가 존중 받아야 하는 정도를 생각해서 말해야 한다.
정보 리터러시 관련 의견을 보존하러 왔다. 우리는 흔히 영어 자료가 한국어 자료보다 낫다는 문화사대주의적 의견에 공감하곤 한다. 하지만 여기엔 숨은 의견이 여럿 있다. 하나씩 까보며 음미해보자.
영어 자료는 한국어 자료보다 낫다. => 왜 나을까? 도움이 되기 때문에. 왜 도움이 될까? => (진실에 가깝기 때문에, 다양한 경험이 전시되어 있기 때문에). 왜 진실에 가까울까? => 1차 출처에 가깝기 때문에. 왜 1차 출처에 가까울까? => 사용자가 다수이기 때문에 직접 사용하거나 번역되어 2차 출처로 기능하기 때문에. 왜 다양한 경험이 있을까? => 생산자가 자료 작성 시 영어를 선택할 확률이 한국어보다 높기 때문에.
그렇다면 우리는 영어 자료가 나은 이유를 구체적으로 표현할 수 있다.
- (일반적으로) 한국어 웹보다 영어 웹이 더 크기 때문에 원하는 자료를 구할 확률이 더 높다.
- (일반적으로) 한국어 웹보다 영어 웹에서 1차 출처에 가까운 자료를 구할 확률이 더 높다.
탐색 공간을 넓히고, 정보 전파 과정에서의 왜곡을 줄이기 위해서 영어 웹 탐색이 효과적이다. 다만 영어 웹이 "언제나" 좋은 건 아니다. 한컴오피스 자료가 미국에 많겠는가, 아니면 한국에 많겠는가? 1차 출처에 가까운 곳을 향해 왜곡을 줄이고, 그 안에서 탐색 공간을 최대한 효율적으로 넓혀야 한다.
영어 검색이라는 피상적인 행위에서 벗어나 정보 탐색의 본질을 좇는 것이 좋다.
@kodingwarriorJaeyeol Lee 이제 풀타임 Fedify 컨트리뷰터로...
@2chanhaeng이찬행 마지막으로 하던 프로젝트 안고가긴 했는데 비중은 많이 가져갈 수 있긴 하겠네요....
퇴사처리됨. 짱.
딥러닝 제대로 이해하기 - 딥러닝의 핵심 개념부터 최신 기법까지 이론과 실제의 균형을 담은 깊이 있는 안내서 (사이먼 J. D. 프린스 (지은이), 고연이 (옮긴이) / 제이펍 / 2025-08-28 / 38,000원) https://feed.kodingwarrior.dev/r/rLZ6TW
https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=369510410&partner=openAPI&start=api
좋은 내용이였다. 앞으로 에이전트 매니저 역할을 겸해야 하는 개발자들이 생각해볼만한.
Managing implementations you don't understand is a problem as old as civilization. (and every manager in the world already deals with this!) Find an abstraction layer you can verify!
How does a CTO manage an expert? -> Acceptance Tests
How does a PM review an Eng feature? -> Use the product
How does a CEO check the acccountant? -> Spot check key facts
타입시스템으로 힌들리-밀너 타입 추론기 만들고 있는데 어떻게 최적화를 하면 좋을지 모르겠다. https://github.com/notJoon/typetype
@joonnotnotJoon 이러시는 EU가 있을거 아니에요
이번 주 발표하는 거
vim-fugitive 만한 물건이 없어...... Vim 이래서 못 버려....
추천받은 집으로 저녁 먹으러 갔는데 무슨 입구 거의 바로 앞에 사각지대 낭낭한 주차장 출입구 있어서 이 정도는 해야 둘이 먹다 하나 죽어도 모를 맛집 되는구나... 하고 감탄했어
트위터에도 썼지만, 최근에 퇴사한 동료에게서 제 긍정적임을 아주 높이 사고 세상에 저 같은 사람이 더 필요하다는 칭찬을 들었는데 아주 기분이 좋았습니다. 제 스킬에 대해선 그냥 괜찮다고만 했지만 😒😒 아무튼 냉소적으로 행동하지 않기 위해 한 노력이 인정 받은 듯한 느낌 🫶✌️
@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
Federation
andContext
classes
@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
Federatable
interface:setCollectionDispatcher()
andsetOrderedCollectionDispatcher()
- Added
getCollectionUri()
method to theContext
interface - 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
MemoryKvStore
andDenoKvStore
- 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 URLsFediverseHandle
interface for type safety
Enhanced HTTP Request APIs
Contributors: Lee ByeongJun [#248, #281], Hyunchae Kim [#51, #315]
- Added
LookupWebFingerOptions.maxRedirection
option for controlling redirect behavior - APIs now support
AbortSignal
for request cancellation - New
DocumentLoaderOptions
interface - Added
signal
options 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-agent
option for custom User-Agent headers--allow-private-address
for local testing--max-redirection
to 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
/--output
option to save results to files
Improved fedify inbox
Command
Contributors: Hasang Cho [#262, #285], Jang Hanarae [#191, #342]
--actor-name
and--actor-summary
options 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페이지 정도 되는 분량이 뽑히는데 이게 맞나.... 내 성향이 들어가니까 예시보다 너무 투머치해짐...