Hackers' Public 포스터 완성~ https://public.hackers.pub/

洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 879 following · 621 followers
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub! My main account is at @hongminhee洪 民憙 (Hong Minhee).
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다. 제 메인 계정은: @hongminhee洪 民憙 (Hong Minhee).
Fedify、Hollo、BotKit、そしてこのサイト、Hackers' Pubを作っています。私のメインアカウントは「@hongminhee洪 民憙 (Hong Minhee)」に。
Website
- hongminhee.org
GitHub
- @dahlia
Hollo
- @hongminhee@hollo.social
DEV
- @hongminhee
velog
- @hongminhee
Qiita
- @hongminhee
Zenn
- @hongminhee
Matrix
- @hongminhee:matrix.org
X
- @hongminhee
Hackers' Pub web-next 작업하다가 https://hackers.pub/@moreal/2025/debugging-deno-vite-plugin-part-1/ 이슈를 만나서 PR을 올렸다.
deno-vite-plugin 디버깅 1편
이 글은 Deno 런타임 환경에서 SolidStart와 `deno-vite-plugin`을 사용할 때 발생하는 라이브러리 임포트 문제를 해결하는 과정을 담고 있습니다. 특히, `jsr:@fedify/fedify` 라이브러리를 임포트할 때 `deno task build`가 실패하는 상황을 재현하고, 원인을 분석하여 임시 해결책을 제시합니다. 문제의 원인은 `deno info` 명령어가 `kind: asserted`인 모듈을 제대로 처리하지 못하는 데 있었으며, 이를 `esm`으로 취급하도록 수정하여 해결했습니다. 다만, 근본적인 해결책은 아니며, 추가적인 `npm` 관련 에러가 남아있음을 언급합니다. 이 포스팅은 Deno 생태계에서 Vite 플러그인을 사용할 때 발생할 수 있는 문제와 그 해결 과정을 보여주며, 유사한 문제를 겪는 개발자들에게 실질적인 도움을 줄 수 있습니다.
hackers.pub · Hackers' Pub
Link author: Lee Dogeon@moreal@hackers.pub
ㅋ딩워리어 님이 알려준 링크 백업...
- https://www.cs.cmu.edu/afs/cs/academic/class/15213-f15/www/schedule.html
- https://pages.cs.wisc.edu/~remzi/OSTEP/
- https://www.youtube.com/watch?v=vdPALZ-GCfI&list=PLSE8ODhjZXjbj8BMuIrRcacnQh20hmY9g
- https://hpbn.co
- https://codingchallenges.fyi/challenges/challenge-forth/
- https://app.codecrafters.io/courses/redis/overview
거의 반은 내가 기여했네 ㅎㅎ
@fedify/fedify
: Custom Collection 디스패처 setter@fedify/cli
:webfinger
커맨드@fedify/next
: 패키지 제작 및 예제 생성@fedify/sveltekit
: 패키지 분리, 타입 수정 및 예제 생성@fedify/cfworkers
,@fedify/denokv
,@fedify/hono
: 패키지 분리
The #Fedify monorepo has grown to 16 packages!
We've been working hard to make Fedify more modular and easier to integrate with your favorite tools and platforms. From the core framework to database drivers, from CLI tools to web framework integrations—we've got you covered.
Our packages now include:
- Core framework and CLI tools
- Web framework integrations: Express, Hono, H3, Elysia, NestJS, Next.js, SvelteKit
- Database drivers: PostgreSQL, Redis, SQLite, AMQP/RabbitMQ
- Platform integrations: Cloudflare Workers, Deno KV
- Testing utilities
Each package is available on JSR and/or npm, making it easy to pick exactly what you need for your ActivityPub implementation.
What integration would you like to see next? Let us know!
https://well-typed.com/blog/2025/08/standard-chartered-supports-haskell-ecosystem/
제일은행을 먹은 SC(Standard Chartered)가 하스켈 생태계에 돈을 보태겠다네요. SC가 하스켈을 프로덕트에 조금씩 쓰고 있다는 얘기는 들은 적 있는데... 뭐 얼마나 후원하는지는 자세히는 안나와 있습니다만, 대기업 돈이 들어오면, 긍부정적 변화가 생기긴 하는데.. 툴체인이 정돈된다든지 해서 입문자한테 도움이 되는 변화가 생기면 좋겠습니다. 하스켈을 JS로 트랜스파일링 하는 컴파일러도 있는데, 막상 쓰려고 보면, 난이도가 너무 높아요.
진짜 디자인 하고싶은대로 다 하고 있는데, 누군가가 보다 못해서 "차라리 내가 하고 만다" 하고 자원을 해주지 않을까(?)
@kodingwarriorJaeyeol Lee 요런 디자인은 어떠세용
Zed Industries가 코드 에디터와 코딩 에이전트 사이의 통신을 표준화하기 위해 Agent Client Protocol (ACP)이라는 걸 소개했다. 잘 돼서 Neovim의 AI 통합 생태계가 더욱 풍성해지면 좋겠다. https://agentclientprotocol.com/overview/introduction
튜링의 사과 의자가 너무 좋다. 내 키에 맞게 목받침 높이 조절할 수 있는 의자 난생 처음 본다. 목받침이 뒤통수를 누르는 게 아니라 목을 받쳐주다니(...)
Are there any active chat rooms on #Discord or #Matrix where #TypeScript developers gather?
@hongminhee洪 民憙 (Hong Minhee)
Minhee, please come back home. You can't just abandon your child like this. We will forgive everything. The baby needs you. Little Haskell is crying and starving.
Are there any active chat rooms on #Discord or #Matrix where #TypeScript developers gather?
Nix는 시스템에 git이 있을 때와 없을 때의 동작이 다르다. 왜지... nix 내부에서 쓰는 git 라이브러리랑 git 패키지랑 뭔가 차이가 있나.
결국 SvelteKit용 자체 GraphQL 클라이언트를 만드는 중... (relay-runtime 기반이지만)
일요일은 오픈업 가서 페디파이 토요일은 정해진 건 없지만... 튜사에 페디파이 팀원들 많이 가면 튜사 가볼까 고민 중
洪 民憙 (Hong Minhee) shared the below article:
React - useCallback & useMemo Misuse
Shahar Amir @shaharamir@hackers.pub
The `useCallback` and `useMemo` hooks in React are designed to optimize performance by memoizing functions and values, but using them indiscriminately can lead to unnecessary overhead. These hooks are beneficial when dealing with expensive calculations or when passing stable references to deeply nested child components. However, for simple operations like basic arithmetic or simple function declarations, the memoization provided by these hooks adds complexity without any performance gain. Overusing `useMemo` and `useCallback` introduces extra CPU cycles and can confuse developers, making the code harder to maintain. It's more efficient to apply these hooks selectively, focusing only on the parts of your application where they provide a tangible benefit, ensuring that React remains fast and your code stays clean.
Read more →Hi there 👋
I’m Jaeyeol, a software engineer who loves Neovim and Zed. I see myself as a pragmatic builder — I focus on creating software that I’d genuinely want to use, made for people rather than for technology’s sake. Beyond coding, I also experiment actively within developer communities, often initiating gatherings and exploring new ways for people to connect and share.
One of my current personal projects happens to be in the fediverse space:
cosmoslide — a slideshare-like service for sharing presentations across the fediverse.
It’s built with NestJS (@
fedify/nestjs) for the backend, Next.js for the frontend (most of it is vibe-coded, so I’ll probably rewrite it later 😅)
The project is still in development, with an expected first release between late September and mid October. It started as a personal experiment, but I’m excited to see how it may contribute to the broader fediverse ecosystem.
I enjoy meeting others who are curious about new ideas, whether in technology or in community.
I'm currently improving Optique's façade API, and in the process, I've added a few more parsers. Optique 0.3.0 might have some breaking changes on the API side. Of course, these changes will be thoroughly documented in the changelog.
오늘은 여기까지만 하고 쉬어야지.. 컨디션이 너무 안 좋음
요즘은 iptime 같은 곳의 제품도 Mesh 망 구성이 가능합니당
Friend of mine said why Linux is the thing among programmers I said bcz technically it’s free and we’re broke(?) esp those who are obsessed with Linux
We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as #BotKit now supports #Node.js alongside #Deno, making it accessible to a wider audience. The minimum required Node.js version is 22.0.0. This dual-runtime support means you can now choose your preferred #JavaScript runtime while building #ActivityPub #bots with the same powerful BotKit APIs.
One of the most requested features has landed: poll support! You can now create interactive polls in your #bot messages, allowing followers to vote on questions with single or multiple-choice options. Polls are represented as ActivityPub Question
objects with proper expiration times, and your bot can react to votes through the new onVote
event handler. This feature enhances engagement possibilities and brings BotKit to feature parity with major #fediverse platforms like Mastodon and Misskey.
// Create a poll with multiple choices
await session.publish(text`What's your favorite programming language?`, {
class: Question,
poll: {
multiple: true, // Allow multiple selections
options: ["JavaScript", "TypeScript", "Python", "Rust"],
endTime: Temporal.Now.instant().add({ hours: 24 }),
},
});
// Handle votes
bot.onVote = async (session, vote) => {
console.log(`${vote.actor} voted for "${vote.option}"`);
};
The web frontend has been enhanced with a new followers page, thanks to the contribution from Hyeonseo Kim (@gaebalgom개발곰)! The
/followers
route now displays a paginated list of your bot's followers, and the follower count on the main profile page is now clickable, providing better visibility into your bot's audience. This improvement makes the web interface more complete and user-friendly.
For developers looking for alternative storage backends, we've introduced the SqliteRepository
through the new @fedify/botkit-sqlite
package. This provides a production-ready SQLite-based storage solution with ACID compliance, write-ahead logging (WAL) for optimal performance, and proper indexing. Additionally, the new @fedify/botkit/repository
module offers MemoryCachedRepository
for adding an in-memory cache layer on top of any repository implementation, improving read performance for frequently accessed data.
This release also includes an important security update: we've upgraded to #Fedify 1.8.8, ensuring your bots stay secure and compatible with the latest ActivityPub standards. The repository pattern has been expanded with new interfaces and types like RepositoryGetMessagesOptions
, RepositoryGetFollowersOptions
, and proper support for polls storage through the KvStoreRepositoryPrefixes.polls
option, providing more flexibility for custom implementations.
@botkitBotKit by Fedify
@gaebalgom개발곰
The development of fedify and botkit are handled splendidly, and all the progress is delightful to behold. Thanks to everyone involved for all the great work you do!
We're excited to announce the release of BotKit 0.3.0! This release marks a significant milestone as #BotKit now supports #Node.js alongside #Deno, making it accessible to a wider audience. The minimum required Node.js version is 22.0.0. This dual-runtime support means you can now choose your preferred #JavaScript runtime while building #ActivityPub #bots with the same powerful BotKit APIs.
One of the most requested features has landed: poll support! You can now create interactive polls in your #bot messages, allowing followers to vote on questions with single or multiple-choice options. Polls are represented as ActivityPub Question
objects with proper expiration times, and your bot can react to votes through the new onVote
event handler. This feature enhances engagement possibilities and brings BotKit to feature parity with major #fediverse platforms like Mastodon and Misskey.
// Create a poll with multiple choices
await session.publish(text`What's your favorite programming language?`, {
class: Question,
poll: {
multiple: true, // Allow multiple selections
options: ["JavaScript", "TypeScript", "Python", "Rust"],
endTime: Temporal.Now.instant().add({ hours: 24 }),
},
});
// Handle votes
bot.onVote = async (session, vote) => {
console.log(`${vote.actor} voted for "${vote.option}"`);
};
The web frontend has been enhanced with a new followers page, thanks to the contribution from Hyeonseo Kim (@gaebalgom개발곰)! The
/followers
route now displays a paginated list of your bot's followers, and the follower count on the main profile page is now clickable, providing better visibility into your bot's audience. This improvement makes the web interface more complete and user-friendly.
For developers looking for alternative storage backends, we've introduced the SqliteRepository
through the new @fedify/botkit-sqlite
package. This provides a production-ready SQLite-based storage solution with ACID compliance, write-ahead logging (WAL) for optimal performance, and proper indexing. Additionally, the new @fedify/botkit/repository
module offers MemoryCachedRepository
for adding an in-memory cache layer on top of any repository implementation, improving read performance for frequently accessed data.
This release also includes an important security update: we've upgraded to #Fedify 1.8.8, ensuring your bots stay secure and compatible with the latest ActivityPub standards. The repository pattern has been expanded with new interfaces and types like RepositoryGetMessagesOptions
, RepositoryGetFollowersOptions
, and proper support for polls storage through the KvStoreRepositoryPrefixes.polls
option, providing more flexibility for custom implementations.
[🍏매장 이용안내]
최근 튜사 방문객 급증으로 Wi-fi가 끈기는 현상이 자주발생돼 공유기를 추가하였습니다.
Wi-fi 연결 목록 추가, Wi-fi명, 비밀번호가 변경 되었습니다.
방문하실 때 참고해주세요. 기존Wi-fi는 연결이 안됩니다.
비밀번호는 매장에 업데이트 해놨습니다.
🍏 tusa앨런튜링
→ 컴퓨터과학의 선구자, 암호해독의 전설.
“AI는 사람을 흉내 내는 걸로 시작한다.” — 지능과 논리가 흐르는 곳.
🍏tusa리누스토발즈
→ 리눅스 커널의 창시자, 오픈소스의 상징.
“코드는 공유되기 위해 태어났다.” — 리누스다운 개방형 개발존.
🍏tusa스티브워즈니악
→ 애플 1호기를 손수 만든 하드웨어 천재.
“개발은 Garage에서 시작된다.” — 납땜 냄새가 날 것 같은 공간.
🍏 tusa제임스고슬링
→ 자바(Java)의 창시자, 객체지향의 아버지.
“한 번 작성, 어디서나 실행.” — 안정성과 몰입을 위한 고슬링존.
[홍보글]👍
튜사에서 ASUS 제품을 경험해보실 수 있습니다. ASUS ProArt 모니터, AUS ROG 키보드까지 노트북, 마우스만 가지고 오시면 최적의 작업공간이 탄생됩니다! 그외 다양한 키보드와 모니터암까지 셋팅해놨으니 놀러오세요!
ASUS ROG 키보드 공동구매 진행중!
(튜사만 진행하는 최저가!)
Cutter에 명시적 타입 캐스팅과 OS와 직접적으로 상호작용할수 있는 시스템 함수를 몇가지 추가했다.
오픈소스 기여하고 싶은데 개발은 잘 모르겠고 문서만 호시탐탐 노림
직원용 ETL CLI 인터페이스를 대충 해뒀는데 조만간 optique로 정리해야겠다
폼 컨트롤 스타일링 발표 녹화 영상의 맨 하단 댓글의 닉네임이 @danil-old-web 인데, 컨셉이 제대로다...
드림위버 MX/8 진짜 오랜만에 듣는다.
https://youtu.be/WgSiqSqxTxw?t=1437 오 writing-mode: vertical-lr
(왼쪽에서-오른쪽 세로쓰기) 레이아웃에서 텍스트 입력, 선택 입력 등 Form Control Element 도 세로로 배치되어 보여주네
cc @hongminhee洪 民憙 (Hong Minhee) 마음에 들어하실 기능일 것 같아 참조 겁니다!
안녕하세요. 성수동에 위치한 개발자 아지트 공간 튜링의사과입니다.
Mastodon 이전에 가입 후 관리를 못했지만 앞으로는 꾸준한 활동으로 인사 드리겠습니다. 잘 부탁드립니다. 😀
간만에 둘러보는 해커스펍
2주간 나를 살펴 볼 여유가 없었어
Hackers' Public 1차 모집 완판!!!!!!!!!
마감 임박이라길래 후다닥 참여 신청하고 새로고침하니까 마감되었다...
아 가고 싶은데... 제일 심리적으로 몰릴 때라서... 해커즈펍 퍼블릭 신청을 할 수가 없다 orz 아아아아...
ㅠ.ㅠ
왜 나만 해커즈펍퍼블릭 서울 못가..
참여 신청 완료!
대관료 + 강연비를 충당할 수 있을 정도의 손익분기점을 넘었다...!! 그리고 수상할 정도로 뻥셔널 얘기를 하고 싶어하는 분들이 많으신...
저는 빵쇼날 영업 해달라고 썻어요
해커스펍 오프라인 밋업 신청 완료. 1회는 한정판이라 신청해봤네요. (이 뒤는 내가 못간 밋업이 갓갓한 밋업이 될 예정)
혹시 이 문제 왤케 알고리즘 많이 쓰는지 아시는 분... 난 그냥 초부피 구하는 문제라고 생각햇는데 몬가 잇나봄..? https://www.acmicpc.net/problem/16846
오늘 면접 진행(정확히는 시간 끌려고 들어간 것이지만)하면서 GraphQL 관련한 질문을 받았지만 기본적인 것만 알다보니 답변이 영 만족스럽지 못했다. 깊게 파봐야지
섬세한 일러스트와 함께 설명하는 색공간. 향후 로드맵이 그래픽스부터 네트워크, ML, 컴파일러, 양자컴퓨팅까지 망라하고 있어서 아주 기대된다. https://www.makingsoftware.com/chapters/color-spaces-models-and-gamuts
GPT5 꽤 괜찮은듯? 알고리즘 설계한거 의사 코드 던져줬는데 엣지케이스 바로 찾아줌
Hackers' Public @ Seoul 1회차 모임 (1차 모집)
서울에서 열리는 Hackers' Pub 오프라인 밋업, "Hackers' Public @ Seoul"이 2025월 9월 14일(일) 처음으로 개최됩니다. 처음 열리는 밋업인 만큼, 참여하는 많은 분들이 재밌게 느낄 수 있는 소재 위주로 연사자 분들을 섭외했습니다.
- 일시 : 9월 14일 (일) 오후 3시 ~ 오후 6시
- 장소 : 서울특별시 성동구 상원길 26, 튜링의사과
- 주제
강연이 끝나고 난 뒤에 자유롭게 네트워킹하는 시간을 가질 예정입니다. 각자 얘기하고 싶은 주제를 들고 오시면 좋습니다.
참여 신청
오프라인 밋업은 여기서 참여신청이 가능합니다. https://event-us.kr/hackerspubseoul/event/110961
- 모집 기간
- 1차 모집 : 8월 27일 ~ 9월 1일 (Hackers' Pub에서만 모집)
- 2차 모집 : 9월 3일 ~ 9월 7일 (Hackers' Pub 외부에서도 공개적으로 모집)
주의사항
- 본 행사는 Hackers' Pub에서 진행하는 오프라인 행사이며, Hackers' Pub 계정을 가지지 않은 분이 신청하셨을 경우 환불처리될 수 있습니다.
- Hackers' Pub 외부에서 유입하시는 경우, 각 모집기간이 끝나고 24시간 안에는 Hackers' Pub에 가입이 되어 있으셔야 참여자로 확정됩니다.
아, 포스터 올리는거 까먹었다!!
Hackers' Public @ Seoul 1회차 모임 (1차 모집)
서울에서 열리는 Hackers' Pub 오프라인 밋업, "Hackers' Public @ Seoul"이 2025월 9월 14일(일) 처음으로 개최됩니다. 처음 열리는 밋업인 만큼, 참여하는 많은 분들이 재밌게 느낄 수 있는 소재 위주로 연사자 분들을 섭외했습니다.
- 일시 : 9월 14일 (일) 오후 3시 ~ 오후 6시
- 장소 : 서울특별시 성동구 상원길 26, 튜링의사과
- 주제
강연이 끝나고 난 뒤에 자유롭게 네트워킹하는 시간을 가질 예정입니다. 각자 얘기하고 싶은 주제를 들고 오시면 좋습니다.
참여 신청
오프라인 밋업은 여기서 참여신청이 가능합니다. https://event-us.kr/hackerspubseoul/event/110961
- 모집 기간
- 1차 모집 : 8월 27일 ~ 9월 1일 (Hackers' Pub에서만 모집)
- 2차 모집 : 9월 3일 ~ 9월 7일 (Hackers' Pub 외부에서도 공개적으로 모집)
주의사항
- 본 행사는 Hackers' Pub에서 진행하는 오프라인 행사이며, Hackers' Pub 계정을 가지지 않은 분이 신청하셨을 경우 환불처리될 수 있습니다.
- Hackers' Pub 외부에서 유입하시는 경우, 각 모집기간이 끝나고 24시간 안에는 Hackers' Pub에 가입이 되어 있으셔야 참여자로 확정됩니다.
New blog post: Bringing parser combinators to #TypeScript CLI parsing with Optique
- Compose parsers like
or(option("-a"), option("-b"))
- TypeScript infers discriminated unions automatically
- Inspired by Haskell's optparse-applicative
https://dev.to/hongminhee/optique-type-safe-cli-parser-combinators-39md
パーサーコンビネーターという関数型プログラミングの手法をTypeScriptのCLI開発に応用した「Optique」について。型推論を活かして、組み合わせるだけで型安全なCLIが作れます。
언젠가 해커스펍에서, Claude Code 내에 이미지 붙여넣기가 (Mac 기준으로)CMD + V 가 아니라 Ctrl + V 라는 글을 언뜻 본 적이 있는 것 같은데, 까먹고 있다가 다시 검색해서 찾았다.
Claude Code 대화에 이미지 추가
- Claude Code 창에 이미지를 드래그 앤 드롭
- 이미지를 복사하고 ctrl+v로 CLI에 붙여넣기 (cmd+v는 사용하지 마세요)
- Claude에게 이미지 경로 제공. 예: “Analyze this image: /path/to/your/image.png”
link: https://docs.anthropic.com/ko/docs/claude-code/common-workflows
work ethic 좋은 동료분들과 일함으로써 얻는 개인적인 만족감이 좀 지대한 편이다. 코딩 실력이나 지식의 수준, 사업의 성공 같은 것들보다도, 동료분들의 어떤 면면들, 힘든 상황에서도 흔들리지 않고 옳음을 추구하려는 노력, 고고한 자정 정신 같은 게 참... 눈부시게 빛나고, 때로 존경스럽다.
오늘은 cursor-agent를 써보고 싶어서 깔아보려고 했는...데... nix라서 패키징을 했고 makeWrapper 사용법도 배웠다