
洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 566 following · 373 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
패치 릴리스할 때 되도록이면 많은 버그 수정을 하나의 릴리스에 담고 싶은 충동.
JavaScript에 Object.map()
같은 함수 하나 있었으면 좋겠다. 맨날 Object.fromEntries(Object.entries(obj).map(...))
하기 귀찮다. (게다가 TypeScript에서 타입도 보존이 안 되어서 as
키워드 써야 함…)
주말에 했던 〈국한문혼용체에서 Hollo까지〉의 발표에서 대강:
- 연합우주에서도 국한문혼용체로 글을 쓰는데 사람들이 읽기 쉽게 한글 독음을
<ruby>
태그로 달고 싶다! - Mastodon에 패치를 할 수는 있지만 업스트림에 받아들여질 리가 없으니 패치된 Mastodon 서버를 직접 운영할 수 밖에 없다.
- 혼자 쓰자고 Mastodon 서버를 운영하려니 비용이 크다. 가벼운 ActivityPub 서버 구현을 만들어야겠다.
- ActivityPub 서버 구현을 바닥부터 하자니 할 일이 너무 많다. ActivityPub 프레임워크를 만들어야겠다. → Fedify
- Fedify를 만들었으니 일인 사용자용 ActivityPub 서버를 구현하자. → Hollo
- Hollo를 만들었으니 Seonbi를 연동하자.
- Seonbi를 연동하여 한자어에 한글 독음이
<ruby>
로 달게 했으나 Mastodon과 Misskey에서<ruby>
태그를 지원 안 한다. - Mastodon 쪽에 이슈를 만들고 연합우주에서 홍보하여 결국 패치됨. Mastodon에서도
<ruby>
지원! - Misskey 쪽에 패치를 보내서 결국 Misskey에서도
<ruby>
지원! - 행복한 국한문혼용 생활.
이상과 같은 이야기를 했더니, “야크 셰이빙이 엄청나다”라는 의견을 들었다.
RE: https://hackers.pub/@hongminhee/019603e0-33ef-700f-90f4-153c8c995135
Prisma를 쓰지 않을 이유가 하나 더 추가되었다…
Hackers' Pub에 리액션 기능 만들고 있는데, 선택 가능한 에모지 세트를 이 정도로 대충 정해봤습니다. 더하거나 뺄 게 있을까요? 그리고 5 종류인 게 많다고 보시나요 적다고 보시나요?
연합우주 계정의 이전에 관한 규격인 FEP-7628를 구현하고 있습니다. 아직 Hackers' Pub 계정을 다른 계정으로 이전하거나, 다른 계정을 Hackers' Pub 계정으로 이전하는 기능은 구현되지 않았지만, 그 밑작업으로서 FEP-7628을 이미 구현한 Mastodon, Misskey, Pleroma 등의 계정끼리 서로 이전한 것을 반영하는 기능은 구현되었습니다. 예를 들어, 제 옛날 계정 중 하나인 @hongminhee洪 民憙 (Hong Minhee) 계정을 보면 첨부한 캡처 화면처럼 계정의 이전 안내가 표시되게 됩니다.
오늘은 시간이 없어서 큰 작업은 못 하고, 그냥 아주 소소한 업데이트 하나 했습니다. 과연 뭐가 바뀌었을까요? (참고로 UI로도 드러나는 변화입니다.)
하지만 이식성을 위해서 짧은 옵션을 사용해야만 할 때도 있다. BSD 계열의 커맨드 구현들은 보통 긴 옵션을 아예 제공 안 하기 때문에… 😭
일본에 Fediverse Linux Users Group이라는 모임이 있는데, 거기서 〈국한문혼용체에서 Hollo까지〉라는 이상한 주제로 오늘 발표를 합니다…
RE: https://hollo.social/@hongminhee/019603c7-b5ef-7d81-bbd4-4c37d46edce9
正體中文翻譯現已可用!
我們很高興地宣布,Hackers' Pub 現在支援正體中文(zh-TW
)!這意味著我們的介面將更加親近使用正體中文的軟體工程師和技術愛好者。
關於 Hackers' Pub
Hackers' Pub 是一個專為軟體工程師共同分享知識和經驗的平台。我們不僅是一個社區,還是一個啟用了 ActivityPub 的社交網路,讓您可以在聯邦宇宙(fediverse)中關注您喜愛的開發者,並在您的訂閱流中獲取他們的最新貼文。
我們的特色:
- 開放的技術交流:自由分享您的知識、經驗和見解
- 多語言支援:現在包括正體中文在內的多種語言
- 聯邦互連:通過 ActivityPub 協議與其他平台(如 Mastodon)互通
- 程式碼分享:支援 Markdown 和程式碼語法高亮
- 包容性社區:遵循我們的行為準則,確保所有人都受到尊重
如何切換到正體中文
要將介面切換到正體中文,請按照以下步驟操作:
- 登入您的 Hackers' Pub 帳戶
- 前往「Settings」頁面
- 選擇「Language settings」標籤
- 在左側「Languages to select:」列表中找到並點擊「Chinese (Taiwan) 中文(台灣)」
- 該選項會移至右側的「Selected languages:」列表
- 如果您希望將正體中文設為主要介面語言,可以使用箭頭按鈕將其移至已選擇語言列表的最上方
- 點擊頁面底部的「Save」按鈕保存設定
我們也提供了正體中文版的 Markdown 指南,幫助您以最佳方式格式化您的貼文和文章。
加入 Hackers' Pub
Hackers' Pub 目前採用邀請制。如果您希望加入我們的社區,可以通過直接發送私人訊息(DM)給我來請求邀請碼。我們非常歡迎正體中文使用者的加入!
幫助我們改進
這是我們首次推出正體中文介面,可能仍有需要改進的地方。如果您發現任何翻譯錯誤或有改進建議,請透過以下方式聯繫我們:
- 在 GitHub 儲存庫中提交問題或拉取請求
- 在我們的討論區分享您的反饋
感謝您成為 Hackers' Pub 社區的一員,讓我們一起建立一個更加包容、多元的技術交流平台!
附言:如果您對其他語言的翻譯感興趣,請查看我們的翻譯貢獻指南(英文)。
@ryugeunsu유근수 님, 어서 오세요!
Hackers' Pub의 소스 코드 저장소를 제 개인 계정에서 hackers-pub 조직 계정으로 옮겼습니다.
@6aoi24aoi🏳🌈 さん、Hackers' Pubへようこそ!
【拡散希望】
Hackers' Pub(ハッカーズ・パブ)は現在開発中の、ソフトウェアエンジニアと技術愛好家の為のActivityPub対応ソーシャルネットワークです。現在は韓国語中心のコミュニティが形成されていますが、日本のエンジニアの方々にも参加していただきたいと考えています。
Hackers' Pubは短文の投稿[1]と長文の記事[2]の両方をサポートしています。日常的な会話や簡単な質問は短文投稿で、詳細な技術解説やチュートリアルなどは長文記事で表現できます。QiitaやZennのような技術ブログ機能と、MastodonやMisskeyのようなタイムライン機能を兼ね備えた一つのプラットフォームで、両方の利点を享受できます。何よりもActivityPubプロトコルに対応している為、Mastodon、Misskey、Akkoma等と連携可能です。(このアカウントもHackers' Pubから投稿しています!)
技術的な特徴として、拡張Markdownによるテーブル、脚注、警告ボックス、ダイアグラム、数式などの多様な記法をサポートし、構文ハイライト、行ハイライト、差分表示などの強力なコードブロック機能も備えています。また、様々な言語での投稿が可能で、将来的には自動翻訳機能も予定しています。
Hackers' PubはAGPL-3.0ライセンスの下で開発されているオープンソースプロジェクトです。コードの貢献や機能提案も歓迎しています。
現在はまだ開発段階のため招待制となっています。Hackers' Pubに興味がある方は、DMや返信でメールアドレスをお知らせいただければ、招待状をお送りします。技術コミュニティの一員として、ぜひご参加をお待ちしております。よろしくお願いいたします。
@gnh1201고남현 님, 어서 오세요!
이제 정말로 좋아요·에모지 반응 기능을 구현할 때가 왔다… 하지만 일단 낼모레 있을 第8回FediLUG勉強会 발표 준비부터 해야 한다…
@darkriss다크리스 안녕하세요, 어서 오세요!
@ash_kim0082kimBBang 님, 안녕하세요!
지금 Hackers' Pub에는 Fresh 2.0 알파를 쓰고 있는데, 여러 가지 아쉬운 점이 많지만 그 중 하나가 아일랜드 컴포넌트로 콘텍스트가 전달이 안 된다는 것. 현재 아일랜드 컴포넌트에는 로캘 같은 정보를 일일히 프랍(prop)으로 넘겨줘야 한다…
RE: https://hackers.pub/@kodingwarrior/0195f94d-61f3-7cab-8a34-f2a8ab0f9a4a
Claude Sonnet 3.7이 콘텍스트 윈도만 좀 더 컸더라면…
Hackers' Pub에 이제 알림 기능이 생겼습니다. 우상단 프로필 사진 바로 왼쪽에 알림 아이콘이 추가되었고, 이제 읽지 않은 알림이 있을 경우 그 위에 빨간 동그라미가 표시됩니다. 알림의 종류는 현재 다음 다섯 가지입니다:
- 누가 날 팔로했을 때
- 누가 날 언급했을 때
- 누가 내 글에 답글을 달았을 때
- 누가 내 글을 인용했을 때
- 누가 내 글을 공유했을 때
@lanto 님, 어서 오세요!
@hyukhyukkNormal-developer 님, 어서 오세요!
@flyer 님도 어서 오세요!
@muo안동혁 님, 안녕하세요. 어서 오세요!
@heartadeDani 님, 어서 오세요!
오늘은 Rust를 현업에서 쓰고 있고 또 좋아하는 고교 동창에게 Haskell을 영업했다.
@osmin오스민 님도 어서 오세요!
@linea 님, 안녕하세요! 어서 오세요!
Claude Code한테 생떼를 쓰면서 바이브 코딩 중.
사실 Hackers' Pub은 저희 집 홈 서버인 Mac mini M4 깡통 모델에서 돌아가고 있을 뿐만 아니라, 배포도 compose.yaml 파일의 image:
필드를 매번 손으로 고친 뒤 docker compose up -d
를 치는 전근대적인 방식으로 이뤄지고 있습니다… 뭔가 자동화를 하고 싶긴 한데 귀찮은 마음이 커서 아직까지 이대로 살고 있네요.
Hackers' Pub 로고 공모전이라도 해야 하나… 😂
Deno 프로젝트에서 Git 훅을 쉽게 관리하게 해주는 도구인 deno-task-hooks를 소개합니다.
@chapdo찹도 님도 어서 오세요!
@esgdeveloper 님, 어서 오세요!
인용한 글의 내용과는 상관 없는 이야기인데, 현재는 단문에서는 단문이든 게시글이든 인용할 수 있는 반면, 게시글에서는 단문도 게시글도 인용을 못 하게 되어 있다. 별 생각을 안 하고 그렇게 만든 거긴 한데, 잘 생각해 보니 오히려 인용 기능은 게시글에서 더 유용할 것 같다.
하루 빨리 게시글에서도 인용이 가능하게 개선을 하도록 하겠습니다…
Gemini 2.0 Flash 글 정말 못 쓴다…
Giving up the dylib dream—이 글에서 제안하고 있는 “안정적인 crates.io 미러” (“a ‘stable’ crates.io mirror”) 아이디어를 듣자마자 Haskell의 Stackage가 떠올랐다.
Stackage는 Haskell의 패키지 저장소인 Hackage에서 상소 호환되는 패키지들을 엄선한 스냅숏(curated snapshots)을 제공한다. 이는 글에서 언급된 여러 문제들을 해결한다:
- 모든 패키지가 함께 빌드되는 것을 보장하는 장기 지원(LTS) 릴리스 제공.
- 호환 가능한 의존성의 최소 집합을 해결함으로써 “의존성 지옥”(dependency hell) 방지
- 혁신을 가능케 하면서도 생태계의 안정성도 창출
- 검증되고 호환 가능한 패키지 세트를 제공하여 배포판 메인테이너를 도움
Stackage 모델은 특히 Stack이라는 툴체인을 통해 Haskell 쪽에서 꽤 성공을 거두었는데, 생태계 안정성과 발전 사이의 균형을 맞추는 방식으로, 아마 Rust에서도 잘 작동할 수 있을 것이다.
@jsk_021101이준식 님도 Hackers' Pub에 어서 오세요!
@shhong7757홍상혁 님도 어서 오세요!
@jwlim102구름 님, 안녕하세요. 어서 오세요!
많은 부분 Hackers' Pub에서 이미 사용하고 있는 패턴들. 그리고 기본 키를 uuid
로 했을 때 지역성(locality)가 떨어져서 성능상 손해를 보는 문제는 UUIDv7을 쓰면 해결된다.
@gagl3 님, 어서 오세요! 저도 하치와레(가르마) 좋아해요 ㅎㅎ
@gelrattorat 님, 안녕하세요. 어서 오세요!
참고로 Hackers' Pub은 딱 한 번 뿐이긴 하지만 핸들을 바꿀 수 있답니다.
사실 ActivityPub이나 WebFinger 명세에서는 핸들을 바꿀 수 없다는 제약이 있지는 않아요. 다만 대부분의 ActivityPub 구현들이 액터 ID에 핸들의 일부를 포함시키기 때문에 바꿀 수 없게 되었을 뿐…[1]
자세한 설명은 Fedify 문서의 Actor identifier and WebFinger username 항목을 읽어보시면 됩니다.
Misskey는 안 그렇기 때문에 기술적으로 나중에 핸들 변경 기능을 추가하려면 추가할 수 있긴 합니다. ↩︎
현재 Chromium 계열 브라우저에서 Hackers' Pub에 단문 쓰기 등 클라이언트 사이드 JavaScript로 구현된 여러 기능들이 작동하지 않는 버그가 있습니다. 곧 고치도록 할게요.
RE: https://social.silicon.moe/@kodingwarrior/114257504827526192
요즘 주의 깊게 보고 있는 두 언어:
-
Gleam: Erlang의 OTP 런타임에서 돌아간다는 점에서 Elixir와 비슷한데, 처음부터 정적 타입 언어로 설계되었다. 아, JavaScript 타깃도 지원한다. Haskell의 타입클래스(typeclass)나 Rust의 트레이트(trait)에 해당하는 기능이 없다는 게 개인적으로는 조금 아쉬운 점.
-
MoonBit: 중국 쪽에서 주도해서 만들고 있는 WebAssembly 타깃 언어로, 이지 모드 Rust에 가까워 보인다. 다만 개발 과정이 완전히 오픈 소스는 아니고, (오픈 소스 라이선스이긴 하지만) 소스만 공개하는 형태라 거버넌스 측면에서 아쉬움이 있다.
많은 분들이 인용 방법을 혼란스러워 하셔서, 인용 버튼을 추가했습니다. 게시글이나 단문 아래의 아이콘들 중에 왼쪽에서 세 번째 아이콘을 누르시면 해당 콘텐츠를 인용한 글들이 나열되고, 그 위에 인용 글 입력란이 뜨게 됩니다. 거기서 인용 글을 쓸 수 있습니다. 아, 종래의 인용 UI도 그대로 사용하실 수 있습니다.
참고로 인용 아이콘은 @xtjuxtapose 님께서 수고해 주셨습니다. 감사합니다.
RE: https://hackers.pub/@xt/0195eb06-9f50-763d-85c8-5600ec78c539