오늘 오전에 저와 같은 하늘을 보신 분이 계실지.. 더위 조심하시고, 맛점하시길 바랍니다 ☺️

洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 598 following · 397 followers
Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub!
Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다.
Website
- hongminhee.org
GitHub
- @dahlia
Hollo
- @hongminhee@hollo.social
DEV
- @hongminhee
velog
- @hongminhee
Qiita
- @hongminhee
Zenn
- @hongminhee
Matrix
- @hongminhee:matrix.org
X
- @hongminhee
Claude code가 trait설명 안 읽고는 구현 해달라는 곳에 TODO만 남기길래 문서 좀 읽어! 라고 했더니 열심히 크롤링하고는 틀린 코드를 작성해줬다...
아침에 코드 읽다가 TODO를 봐서 고쳐봤다. 다듬는건 회사가서 해야지
TIL: The part of an email address before the @-sign, known as the "local-part", is technically case-sensitive, so the emails: jane@example.org and Jane@example.org could both technically exist.
https://www.rfc-editor.org/rfc/rfc5321.html#section-2.4
However, any email server that actually allows for this style of case-sensitive local-part is going to:
a) create a world of pain for the person using the email with upper-case characters, since most software will lowercase compare emails for account registration/login
b) have utter chaos with regards to misaddressing and impersonation. "Oh, you're jane@example.org? No, I'm Jane@example.org"
Like, who really thought case-sensitivity here was a good idea to allow, and why?
이론적으로는 알지만 그래도 역시 그냥 깃헙 아이콘 SVG path 를 통째로 생성해버리는 LLM 은 신기하면서 웃김
아마 다들 비슷한 경험이 있으실겁니다. 태어나서 처음으로 쌍방향 연결에 성공해서 두 클라이언트가 대화할 수 있게 했을때의 기쁨... 저는 딱 15년만에 하는거라(...) 처음 해본것처럼 기쁘네요
오늘 한것: 웹소켓 써서 채팅방 구현하기. . . . . . . 대체 왜였을까. . . (재밌기 때문
역시 프로젝트를 빨리 이해하려면 직접 써보는게 가장 확실한거 같다
洪 民憙 (Hong Minhee) shared the below article:
Minecraft server on-demand: 필요할때만 켜지는 마인크래프트 서버 구축하기
robin @robin@hackers.pub
이 글은 마인크래프트 모드 서버를 운영하며 겪은 시행착오와 해결 과정을 담고 있습니다. 서버를 항상 켜두는 대신 필요할 때만 자동으로 켜지도록 구성하여 비용을 절감하고자 했습니다. 이를 위해 Pulumi를 사용하여 AWS 인프라를 구축하고, RCON 프로토콜 대신 `netstat`을 활용하여 접속자 수를 정확하게 파악하는 방법을 소개합니다. 또한, IMDSv2 설정 문제와 ASG 환경에서 볼륨 마운트 실패 문제를 해결하는 과정도 공유합니다. 마지막으로, 서버 파일 EFS 이전 및 도커라이징을 통한 ECS 배포라는 향후 개선 방향을 제시합니다. 이 글은 마인크래프트 서버 운영 비용을 절감하고 자동화된 인프라를 구축하려는 사람들에게 유용한 인사이트를 제공합니다.
Read more →🎉 Big thanks to @2chanhaeng이찬행 for his first contribution to #Fedify! He implemented the new
fedify webfinger
command in PR #278, which allows isolated #WebFinger lookups for testing configurations. This addresses the need for developers to test WebFinger functionality without performing comprehensive object retrieval.
The contribution includes:
- A new
fedify webfinger <handle>
command that accepts@user@domain
format handles or URIs - Clean JSON output of WebFinger JRD results
- Proper error handling for invalid handles and lookup failures
- Complete #CLI integration with help text and usage examples
This was originally filed as issue #260 and marked as a good first issue—perfect for newcomers to learn the codebase structure while contributing meaningful functionality. The PR has been merged and will be included in the upcoming Fedify 1.8.0 release.
We appreciate all first-time contributors who help make Fedify better for the entire #fediverse community. Welcome aboard, ChanHaeng!
내가 2025년에 비전 프로에서 코딩 좀 해 보겠다고 잘 쓰던 VSCode 놔두고 Emacs로 돌아와야 하나 진짜
JS Error
클래스에
class Error {
...
throw() {
throw this
}
}
이런 메소드 있으면 편할 것 같은데 왜 없지? 예를 들면:
# 현재
const user = findUser();
if (!user) {
throw new Error("Not found user");
}
# `throw` 메소드
const user = findUser() ?? new Error("Not found user").throw();
이렇게 쓸 수도 있고
이름 별로면 raise
써도 되고
TC39 에 한번 제안해볼까...
(이미 저 멀리 와버린 야크 털 깎기 - 어디서 출발했는지도 이젠 잊어버림)
django에서 django rest framework에서 jwt로 authentication을 하기 위해 simple jwt를 쓸 때 (아이고 길다) access, refresh token을 cookie에 두고 사용하고 싶다면 약간의 수제(?) 코드가 필요합니다. 누군가 구현 해놨을까 싶었는데 있네요!
https://velog.io/@kimjihong/simple-jwt-login
https://velog.io/@kimjihong/issue-drf-jwt-header#solution---custom-middleware
하... 하려던건 이게 아닌데 이걸 적용 할지말지 또 고민... (결국 하겠죠
1년전에 하스켈로 프론트엔드 개발을 했었다. 프론트엔드 개발의 70% 정도는 state + reactivity를 다루는 것이라고 생각한다. classic FRP를 구현한 하스켈의 Reflex 같은 라이브러리를 쓰면 이 문제를 우아하게 해결할 수 있다. 근데 문제는 많은 프론트엔드 앱이 어엄창나게 복잡한 state를 가지고 있진않고, 그래서 Reflex 없이도 어느정도 만족할만한 코드가 나온다. 아마 에디터나 게임 같은걸 짜면 Reflex의 우월함을 느낄수 있을것이다.
문제는 나머지 30%에 있다. SSR, CSS 등이 거기에 포함되는데, JS 진영에서는 babel 플러그인의 도움을 받는 반칙을 쓰면서 편리함을 제공하고 있다. 여기서 반칙이란건 "use client"
등의 directive와 Tailwind CSS처럼 babel 플러그인이 JS 코드로부터 CSS 클래스 사용을 추출하는 그런걸 의미한다. 반칙이라고 하는 이유는 사실 JS가 아니고 babel로 업그레이드한 JS++쯤 되는 언어를 쓰는셈이기 때문이다. 근데 반칙이고 자시고 암튼 엄청 편하다. 하스켈 쪽에서 근본있는 방법으로 같은 편리함을 달성하려면 매우 힘들고 그걸 사용하는 사람도 공부를 많이 해야할것이다.
洪 民憙 (Hong Minhee) shared the below article:
2020년의 하스켈에 대한 내 생각

박준규 @curry@hackers.pub
이 글은 하스켈이 30주년을 맞이한 2020년, 하스켈의 발전 방향에 대한 개인적인 생각을 담고 있습니다. 저자는 하스켈이 프로그래밍 언어 연구와 실제 애플리케이션 개발이라는 두 가지 목표를 동시에 추구해왔지만, 이제는 소프트웨어 개발자에게 유용한 기능에 집중해야 한다고 주장합니다. 특히 복잡한 타입 시스템보다는 사용자 편의성을 높이는 방향으로 개선되어야 한다고 강조하며, 제네릭스 활용과 유용한 확장 기능 활성화를 예시로 제시합니다. 또한, 애플리케이션 아키텍처 측면에서 의존성 주입 컨테이너를 활용한 단순한 구조를 제안하며, 타입 안정성을 약간 희생하더라도 테스트를 통해 충분히 보완할 수 있다고 말합니다. 결국, 저자는 "심플 하스켈" 또는 "지루한 하스켈"을 통해 얻을 수 있는 코드의 명확성과 개발의 즐거움을 강조하며, 하스켈 커뮤니티가 초보자에게 더 쉽게 다가갈 수 있도록 노력해야 한다고 역설합니다. 이 글은 복잡한 이론적 탐구보다는 실용적인 개발에 초점을 맞춘 하스켈의 미래를 제시하며, 독자에게 균형 잡힌 시각을 제공합니다.
Read more →오픈소스 레포에 Windsurf Agent로 짠 Swift 코드로된 PR을 날렸는데, 저자의 코드 리뷰를 복붙해서 그걸 그대로 다시 Windsurf Agent한테 전달하고 있다. 이게 머하는 짓이고...
macOS에서는 Xcode에서 git을 함께 주지만 brew install git
으로 별도로 설치해서 사용해야 한다. 왜냐하면 Git 취약점 최신 패치버전은 2.50.1
인데 Xcode git 버전은 2.39.5
버전이다 😱 (다른 패치버전들도 있는데 2.43
및 이후 버전들만 관리 중인가 보다[1])
https://github.blog/open-source/git/git-security-vulnerabilities-announced-6/
Kobalte 이슈를 또 하나 밟았음....... 영 맘에 안 든단 말이지 https://github.com/kobaltedev/kobalte/issues/606
洪 民憙 (Hong Minhee) shared the below article:
스캠 케이스 스터디

leetekwoo @leetekwoo@hackers.pub
이 글은 인터넷에서 흔히 발생하는 스캠 시도에 대한 개인적인 경험을 공유하며, 특히 창작 활동을 하는 사람들에게 경각심을 일깨우는 것을 목표로 합니다. 작성자는 SNS를 통해 받은 "협업 제안"이 가짜 LinkedIn 프로필을 이용한 사칭임을 인지하고, 그 과정을 상세히 설명합니다. 팔로워가 없는 점, 메시지의 말투 등 수상한 점을 발견하고 스팸 신고를 한 경험을 통해, 인터넷 상의 제안에 대한 신중한 접근이 필요함을 강조합니다. 특히 A&R, 기획자, 스카우터 등을 사칭하여 기회를 미끼로 접근하는 사기에 주의해야 함을 당부하며, 창작 활동을 생계로 하는 사람들에게 이러한 스캠이 더욱 위험할 수 있다는 점을 지적합니다. 인터넷 제안 시 투명한 신분과 의사소통 채널의 중요성을 강조하며, 독자들에게 주의를 환기시키는 글입니다.
Read more →【OSC京都で #Fediverse に関連したセミナーを開催します!】
2025年8月3日(日)の13:00〜 オープンソースカンファレンス京都 #osckyoto で「分散型SNSユーザー有志」として、
「Fediverseのつくりかた 〜開発者・管理者たちの現場から〜」
と題してセミナー講演を行います!
登壇者として私のほか、
#fedibird 運営者の
@noellaboのえる さん
#Fedify #Hollo
等の開発者である
@hongminhee洪 民憙 (Hong Minhee) さん
京都のMastodon地域サーバー #マストどす 管理人の @7_nana7_nana🎴マストどす さん
をお呼びして開催します。
ActivityPubを中心としたFediverseの今が知れるセミナーです。ぜひご参加ください!
会場:KRP ルーム2B(2階)
日時:2025年8月3日(日)13:00〜
参加費:無料
セミナー詳細:
https://event.ospn.jp/osc2025-kyoto/session/2211664
타임라인 질문) 모듈 시스템 좀 깊게 파보려는데 추천할만한 리로스 어디 없으려나요
이전에도 여러번 추천한 책이지만 저 같은 경우엔 "밑바닥부터 만드는 인터프리터 in Go"로 Go에 입문했습니다. 책의 목적은 인터프리터의 동작, 구현에 대한 것이지만 따라하면서 Go의 코드 스타일이나 테스트 작성 방법도 자연스럽게 익히게 되었습니다. 아니면 "Must Have Tucker의 Go 언어 프로그래밍"도 좋습니다.
혹시 고랭 입문하기 좋은 문서나 책 아시는거 있으신가요
c랑 파이썬 기초 정도만 알고 있는 친구가 고랭 입문해야 할 일이 생겨서...!
도움 부탁드립니다
Deno 2.4 릴리즈
------------------------------
- deno bundle
이 *esbuild 기반* 으로 다시 도입되어, 서버·브라우저 모두에서 단일 파일 번들 생성 및 자동 *트리 쉐이킹* 과 *최적화* 가능해짐
- *텍스트/바이트 임포트* 지원 및 OpenTelemetry 내장 *안정화* 등으로 관측성과 외부 파일 활용 경험 강화됨
- *새 --preload
플래그* , 의존성 편의 개…
------------------------------
https://news.hada.io/topic?id=21876&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
Gemini로 이런 저런 정신나간 소설들을 작성하는 데 재미를 붙였었는데, 저번에 생성했던 작품은 수위가 제법 있어서 공개하기 꺼려졌지만 이번에 나온 건 그렇지 않아서 기분 좋게 공개할 수 있게 되었다. 그리하여 "산속 무녀들의 비밀"이라는 무녀무녀한 소설을 썼습니다. 홈페이지 레이아웃도 대부분 Gemini로 만들었다(여전히 사람 손길이 좀 필요하긴 했지만). https://w.mearie.org/maidens/
Cursor 를 여전히 쓰고 있고, Cursor Tab 은 훌륭하다고 생각하지만, 연간구독이 만료되고 나면, Cursor 를 계속 사용하지는 않을 것 같다. (이렇게 말해놓고 또 쓸지도 모름) 너무 빠르게 바뀌어가고 좋은거 계속 나오는 느낌이라, 한달뒤에는 코드 에이전트로 뭐 쓰고 있을지 상상도 못하겠고, 전혀 모르겠다.
일단 지금은 Claude Code 와 gemini-cli 두개면 나한테는 적당히 충분한 상태.
불과 몇년전 Github Copilot Preview 나왔을 때만 해도 (자동완성) 기능 보고 우와 하던 게 엊그제 같은데..
https://github.com/fedify-dev/fedify/issues/59
아..... 이걸 밟았다....
- NestJS에다가 Fedify를 연동하는 작업을 트라이해보고 있음
- NestJS는 내부적으로 express를 사용하고 있는데, 그에 따라서 모듈시스템은 esm이 아닌 commonjs를 사용하고 있음.
- Fedify는 당연히 ESM만 지원하고 있고, commonjs 모듈시스템을 사용하는 Nestjs에서는 당연히 정상적인 방법으로는 갖다쓰기 어려움.
그렇게 삽질하다가 발견한게 저 이슈....
근데, 이걸 어떻게든 돌아가게 한다고 가정하면 dynamicImport하는 방향으로는 갈 수 있는 것 같은데, 문제는 이렇게 하면 에디터의 기능도 제대로 이용못하고 사실상 ... as any 하는 거랑 크게 다를게 없다(.....)
음 변경사항이 저장소 생성시 연결할 GitHub App을 설정 가능하다는 점 정도네
구체적으로 내가 원하는 스펙이 따로 있어서 직접 구현하기로 했습니다... 근데 이거를 다시 오픈소스로 만들면 또 관리 안되는 오픈소스C가 탄생하는 것일까요?
TypeScript 5.9 Beta just went out! Try it in your project and let us know what you think:
https://devblogs.microsoft.com/typescript/announcing-typescript-5-9-beta/
나는 오늘도 눈물을 머금고 docker system prune 타닥타닥 친다..
django channels에서 jwt authentication을 쓰고 싶은데
- 직접 만들긴 뭔가 싫다
- 오픈소스A는 5년 전에 마지막 커밋이 있다...
- 오픈소스B는 2년 전이 마지막이긴 한데 .DS_Store가 같이 커밋 되어있어서 불안하다...
어카지
얼마전에 구현한 debugger adapter protocol이 실제로 사용 가능한 레벨까지 구현되었다. 한참 걸리겠지만 머지 이후에 외부 IDE에 익스텐션을 만들기만 하면 될듯
洪 民憙 (Hong Minhee) shared the below article:
deno-vite-plugin 디버깅 1편
Lee Dogeon @moreal@hackers.pub
이 글은 Deno 런타임 환경에서 SolidStart와 `deno-vite-plugin`을 사용할 때 발생하는 라이브러리 임포트 문제를 해결하는 과정을 담고 있습니다. 특히, `jsr:@fedify/fedify` 라이브러리를 임포트할 때 `deno task build`가 실패하는 상황을 재현하고, 원인을 분석하여 임시 해결책을 제시합니다. 문제의 원인은 `deno info` 명령어가 `kind: asserted`인 모듈을 제대로 처리하지 못하는 데 있었으며, 이를 `esm`으로 취급하도록 수정하여 해결했습니다. 다만, 근본적인 해결책은 아니며, 추가적인 `npm` 관련 에러가 남아있음을 언급합니다. 이 포스팅은 Deno 생태계에서 Vite 플러그인을 사용할 때 발생할 수 있는 문제와 그 해결 과정을 보여주며, 유사한 문제를 겪는 개발자들에게 실질적인 도움을 줄 수 있습니다.
Read more →CGI를 이용해서 2억 리퀘스트를 테스트했던 글의 후속작 Rust + CGI를 했더니 5억건을 처리한 것에 대해 (대충 제목 번역...)
驚いた!
@nuxt_js We are joining forces with @vercel✨ Nuxt stays MIT-licensed. The roadmap stays public. The community stays at the center. 💚
안녕하세요! Hackers'Pub 에 첫 발을 디디게 되었어요. 잘 부탁드립니다~
@hongminhee洪 民憙 (Hong Minhee)
자바스크립트에서 label for loops에서 label이 자주 사용되는 문법인가요? 어떤 의도로 만들어진거에요 #javascript
한때 이 문제에 대한 해법으로, 텍스트로 된 소스 코드가 아닌 문법 트리를 직접 편집하는 식의 IDE를 구상한 적이 있었다. 그런데 이제 대 LLM 시대가 와서 AI도 텍스트를 주로 다루잖아. 우린 안 될 거야 아마.
오픈소스에 토큰으로 기여하는 방법을 제공하는 플랫폼이 있나? Buy me tokens?
atuin stats
근황
내가 제일 많이 쓰는 명령어는 cd
였다. 그리고 ll
, npx
순.. tig
도 아슬아슬하게 순위권.
❯ atuin stats
[▮▮▮▮▮▮▮▮▮▮] 389 cd
[▮▮▮▮▮▮ ] 248 ll
[▮▮▮▮▮ ] 200 npx
[▮▮▮▮ ] 184 ssh
[▮▮▮▮ ] 178 vi
[▮▮ ] 95 curl
[▮▮ ] 84 ls
[▮▮ ] 78 clear
[▮ ] 74 brew
[▮ ] 69 tig
Total commands: 2906
Unique commands: 1096
Biome 2.1 has been released!
It's a relatively minor maintenance release, but still has some goodies:
* Faster scanner
* Improved type inference
* New rules
* Many fixes!
야크 털 깎기 안하기가 쉽지 않습니다.
- 지금 필요한것: 일정 시간 동안만 설문을 수집하여 결과 확인하기
- 올바른 구현: 구글 폼
- 실제로 하고 있는것: 일정 시간만 공개되는 설문을 실시간 퀴즈 풀기 사이트와 유사하므로 웹소켓으로 퀴즈 내용을 알려주는 풀스택 웹서비스를 구현하기 위한 boilerplate에 혹시 모를 task 관리를 위해 redis 붙이고 celery 붙이고 모니터링 붙일지 말지 고민하기
I just published a blog post about the OpenCLI initiative. I think it's time we had a way to standardize CLI automation!
Feedback, suggestions, and thoughts are more than welcome.
https://patriksvensson.se/posts/2025/07/introducing-open-cli
기존에 구현된 코드가 아무리봐도 어떻게 수정해야 할지 감이 안잡혀서 뭐가 더 좋을지 분석해달라고 함.
シンプルになった
충격... 클로드 코드 한달째 쓰면서 개행을 오늘 처음 해봄..... vim 키맵 쓰고, 개행할때 o 타이핑해서 아래에 줄 만들고, hjkl 이동해야만 위아래로 이동이 가능한 줄 알았어....
XCode는 내가 잘 몰라서 못쓰는건지 그냥 구려서 쓰기힘든건지 아직도 모르겠다...