@bglbgl gwyng 님, 후원 감사합니다! 🙏🙇
洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 959 following · 674 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
@arkjunJuntai Park 님께도 감사의 말씀 드립니다! 🙏🏼🙇🏻♂️
@noxowlSuyeong RHIE 님, 어서 오세요!
Nextjs를 처음 도입하고 계속 서버가 터져서 일단 롤백하고, 안정화&튜닝을 하다가 결국 Nextjs 소스를 깠다.
“Vercel에서만 제공되는 공개되지 않은 부분이 있는 것 같다”고 했을때 개발자들의 반응은 우리 CTO가 미쳤어요“였지만…
지금도 Vercel과 Nextjs는 쳐다보지도 않는다.
We're excited to announce the release of Fedify 1.5.0! This version brings several significant improvements to performance, configurability, and developer experience. Let's dive into what's new:
Two-Stage Fan-out Architecture for Efficient Activity Delivery
#Fedify now implements a smart fan-out mechanism for delivering activities to large audiences. This change is particularly valuable for accounts with many followers. When sending activities to many recipients, Fedify now creates a single consolidated message containing the activity payload and recipient list, which a background worker then processes to re-enqueue individual delivery tasks.
This architectural improvement delivers several benefits: Context.sendActivity() returns almost instantly even with thousands of recipients, memory consumption is dramatically reduced by avoiding payload duplication, UI responsiveness improves since web requests complete quickly, and the system maintains reliability with independent retry logic for each delivery.
For specific requirements, we've added a new fanout option with three settings:
// Configuring fan-out behavior
await ctx.sendActivity(
{ identifier: "alice" },
recipients,
activity,
{ fanout: "auto" } // Default: automatic based on recipient count
// Other options: "skip" (never use fan-out) or "force" (always use fan-out)
);
Canonical Origin Support for Multi-Domain Setups
You can now explicitly configure a canonical origin for your server, which is especially useful for multi-domain setups. This feature allows you to set different domains for WebFinger handles and #ActivityPub URIs, configured through the new origin option in createFederation(). This enhancement prevents unexpected URL construction when requests bypass proxies and improves security by ensuring consistent domain usage.
const federation = createFederation({
// Use example.com for handles but ap.example.com for ActivityPub URIs
origin: {
handleHost: "example.com",
webOrigin: "https://ap.example.com",
},
// Other options...
});
Optional Followers Collection Synchronization
Followers collection synchronization (FEP-8fcf) is now opt-in rather than automatic. This feature must now be explicitly enabled through the syncCollection option, giving developers more control over when to include followers collection digests. This change improves network efficiency by reducing unnecessary synchronization traffic.
await ctx.sendActivity(
{ identifier: sender },
"followers",
activity,
{
preferSharedInbox: true,
syncCollection: true, // Explicitly enable collection synchronization
}
);
Enhanced Key Format Compatibility
Key format support has been expanded for better interoperability. Fedify now accepts PEM-PKCS#1 format in addition to PEM-SPKI for RSA public keys. We've added importPkcs1() and importPem() functions for additional flexibility, which improves compatibility with a wider range of ActivityPub implementations.
Improved Key Selection Logic
The key selection process is now more intelligent. The fetchKey() function can now select the public key of an actor if keyId has no fragment and the actor has only one public key. This enhancement simplifies key handling in common scenarios and provides better compatibility with implementations that don't specify fragment identifiers.
New Authorization Options
Authorization handling has been enhanced with new options for the RequestContext.getSignedKey() and getSignedKeyOwner() methods. This provides more flexible control over authentication and authorization flows. We've deprecated older parameter-based approaches in favor of the more flexible method-based approach.
Efficient Bulk Message Queueing
Message queue performance is improved with bulk operations. We've added an optional enqueueMany() method to the MessageQueue interface, enabling efficient queueing of multiple messages in a single operation. This reduces overhead when processing batches of activities. All our message queue implementations have been updated to support this new operation:
- @fedify/redis 0.4.0
- @fedify/postgres 0.3.0
- @fedify/amqp 0.2.0
If you're using any of these packages, make sure to update them alongside Fedify to take advantage of the more efficient bulk message queueing.
CLI Improvements
The Fedify command-line tools have been enhanced with an improved web interface for the fedify inbox command. We've added the Fedify logo with the cute dinosaur at the top of the page and made it easier to copy the fediverse handle of the ephemeral actor. We've also fixed issues with the web interface when installed via deno install from JSR.
Additional Improvements and Bug Fixes
- Updated dependencies, including @js-temporal/polyfill to 0.5.0 for Node.js and Bun
- Fixed bundler errors with uri-template-router on Rollup
- Improved error handling and logging for document loader when KV store operations fail
- Added more log messages using the LogTape library
- Internalized the multibase package for better maintenance and compatibility
For the complete list of changes, please refer to the changelog.
To update to Fedify 1.5.0, run:
# For Deno
deno add jsr:@fedify/fedify@1.5.0
# For npm
npm add @fedify/fedify@1.5.0
# For Bun
bun add @fedify/fedify@1.5.0
Thank you to all contributors who helped make this release possible!
소프트웨어 개발자들이 자주 틀리는 외래어 표기법.
| 영어 | 틀린 표기 | 올바른 표기 |
|---|---|---|
| app | 어플 | 앱 |
| application | 어플리케이션 | 애플리케이션 |
| directory | 디렉토리 | 디렉터리 |
| front-end | 프론트엔드 | 프런트엔드 |
| message | 메세지 | 메시지 |
| method | 메소드 | 메서드 |
| release | 릴리즈 | 릴리스 |
| repository | 레포지토리 | 리포지터리 |
또 있을까요?
지속적으로 갱신하기 위해 따로 게시글로 만들었습니다.
한국 소프트웨어 개발자들이 자주 틀리는 외래어 표기법
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
전에 단문으로 올렸던 글을 지속적으로 갱신해볼까 싶어 게시글로 만들어 봅니다.
| 영어 | 틀린 표기 | 올바른 표기 |
|---|---|---|
| algorithm | 알고리즘 | 알고리듬 |
| app | 어플 | 앱 |
| application | 어플리케이션 | 애플리케이션 |
| BASIC | 베이직 | 베이식 |
| directory | 디렉토리 | 디렉터리 |
| front-end | 프론트엔드 | 프런트엔드 |
| launch | 런치 | 론치 |
| license | 라이센스 | 라이선스 |
| message | 메세지 | 메시지 |
| method | 메소드 | 메서드 |
| parallel | 페러렐 | 패럴렐 |
| proxy | 프록시 | 프락시 |
| release | 릴리즈 | 릴리스 |
| repository | 레포지토리 | 리파지터리 |
| shader | 쉐이더 | 셰이더 |
| shell | 쉘 | 셸 |
@minbyul민별 님, 안녕하세요. 어서 오세요!
@zer0ken이현령 님, 어서 오세요!
우˗ˋˏ 와 ˎˊ˗
우˗ˋˏ 와 ˎˊ˗
소프트웨어 개발자들이 자주 틀리는 외래어 표기법.
| 영어 | 틀린 표기 | 올바른 표기 |
|---|---|---|
| app | 어플 | 앱 |
| application | 어플리케이션 | 애플리케이션 |
| directory | 디렉토리 | 디렉터리 |
| front-end | 프론트엔드 | 프런트엔드 |
| message | 메세지 | 메시지 |
| method | 메소드 | 메서드 |
| release | 릴리즈 | 릴리스 |
| repository | 레포지토리 | 리포지터리 |
또 있을까요?
@hongminhee@hackers.pub洪 民憙 (Hong Minhee) 쉘-셸 쉐이더-셰이더처럼 ㅞ-ㅖ 많이 틀리는 것 같아요
@noellaboのえる
@noellaboのえる Denoの標準ライブラリの一つである@std/textのslugify()関数を使ったのですが、ローマ字のウムラウト等を取り除く感覚で仮名の濁点も取り除く様です。修正する事にします!
소프트웨어 개발자들이 자주 틀리는 외래어 표기법.
| 영어 | 틀린 표기 | 올바른 표기 |
|---|---|---|
| app | 어플 | 앱 |
| application | 어플리케이션 | 애플리케이션 |
| directory | 디렉토리 | 디렉터리 |
| front-end | 프론트엔드 | 프런트엔드 |
| message | 메세지 | 메시지 |
| method | 메소드 | 메서드 |
| release | 릴리즈 | 릴리스 |
| repository | 레포지토리 | 리포지터리 |
또 있을까요?
@xtjuxtapose 님의 제보: 외래어 표기법을 따른 “repository”의 올바른 표기는 “리파지터리”입니다.
@curry박준규
@bglbgl gwyng Buy Me a Coffee 계정은 없네요. 😅
Q. 새로운 프로그래밍 언어를 공부할 때, 연습용으로 사용하시는 프로젝트(카타?)가 있으신가요?
@morealLee Dogeon 전 그때그때 다른 것 같습니다. 보통 그 당시에 가장 관심 있고 만들고 싶어하는 걸 그냥 바로 도전하는 것 같아요.
Q. 새로운 프로그래밍 언어를 공부할 때, 연습용으로 사용하시는 프로젝트(카타?)가 있으신가요?
@bglbgl gwyng 님, 후원 감사합니다! 🙏🙇
見出しに自動生成されるidの--から後ろの部分、見出しの文字が含まれるけど、日本語の濁点や半濁点が消えるね。『ドメイン』が『トメイン』になる。NFD絡みか。消えないで欲しい。
@noellaboのえる
@noellaboのえる Denoの標準ライブラリの一つである@std/textのslugify()関数を使ったのですが、ローマ字のウムラウト等を取り除く感覚で仮名の濁点も取り除く様です。修正する事にします!
見出しに自動生成されるidの--から後ろの部分、見出しの文字が含まれるけど、日本語の濁点や半濁点が消えるね。『ドメイン』が『トメイン』になる。NFD絡みか。消えないで欲しい。
A software engineer walks into a hacker's pub.
퍼리개발자 친구들도 해커스펍으로 끌어들이는 상상
어제 타임라인에서 맥미니 서버로 어느정도 규모까지 버틸 수 있을지에 대한 고민이 지나가는걸 봤는데 1월부터 신형 맥미니로 이것저것 운영해본 경험 안에서는 오히려 문제는 서버 기계가 아니라 가정용 전원과 가정용 인터넷에서 터질 것 같다.
hello world
소프트웨어 개발자들이 자주 틀리는 외래어 표기법.
| 영어 | 틀린 표기 | 올바른 표기 |
|---|---|---|
| app | 어플 | 앱 |
| application | 어플리케이션 | 애플리케이션 |
| directory | 디렉토리 | 디렉터리 |
| front-end | 프론트엔드 | 프런트엔드 |
| message | 메세지 | 메시지 |
| method | 메소드 | 메서드 |
| release | 릴리즈 | 릴리스 |
| repository | 레포지토리 | 리포지터리 |
또 있을까요?
@hongminhee洪 民憙 (Hong Minhee) 전.. branch를 브런치라 읽으시는 분을 봤습니다... 배고프셨나봅니다.
안녕하세요! Markdown을 사용할 수 있다니 너무 좋네요!
@alanbondarun넙죽스 님 어서 오세요!
안녕하세요! Markdown을 사용할 수 있다니 너무 좋네요!
<Tracing the thoughts of a large language model>
LLM이 어떻게 생각하는지 추적하는 연구인데 아주 흥미롭다. LLM이 단순히 바로 다음에 올 높은 확률의 단어를 선택할 것이라고 생각했지만, 실제로는 미리 단어를 계획한 다음에 문장을 완성했다고. 다국어 구사와 암산 부분도 재미있다. 인간이 생각하는 방식과 크게 다르지 않은 것 같은데 기계가 정말 생각을 못한다고 할 수 있을까...
https://www.anthropic.com/research/tracing-thoughts-language-model
GN⁺: 대형 언어 모델의 사고 과정을 추적하기
------------------------------
- Claude 같은 언어 모델은 사람이 직접 프로그램한 것이 아니라 방대한 데이터로 학습됨
- 학습 과정에서 문제 해결 전략을 스스로 학습하며, 이 전략은 수십억 개의 연산에 암호화되어 있음
- 결과적으로 모델 개발자조차도 Claude가 대부분의 작업을 어떻게 수행하는지 완전히 이해하지 못함
- Claude 같은 모…
------------------------------
https://news.hada.io/topic?id=20002&utm_source=googlechat&utm_medium=bot&utm_campaign=1834
@devuntfinn 님도 어서 오세요!
Claude에 Brave Search를 붙였는데 올해를 24년으로 인식한다. Claude의 잘못인가 Brave Search의 잘못인가. query를 작성하는건 Claude니까 Claude 잘못이겠지?
@smartbosslee이현석 이상하네요. Claude의 시스템 프롬프트에는 현재 날짜가 포함되게 되어 있을 텐데요… 🤔
The current date is {{currentDateTime}}.
better CSS에 대한 접근들(CSS-in-JS, Atomic CSS, Preprocessor)의 공통된 한계는 constraint solving 방식이 아니란 것이다.
다들 어떤 기존의 스타일을 '덮어쓰는' 방법, 근데 개중에 좀 잘 덮어쓰는 방법을 찾고 있다. 그런데 많은 경우, 뭔가를 덮어쓰려고 하고 있다면, 그건 사실 값을 덮어쓰는게 아니고 만족해야할 조건을 추가하고 싶은거다. 값을 덮어쓰는 것은 조건을 추가하는 방법 중 가장 강제적인 하나의 방법일 뿐이고. 즉, 디자인 시스템은 어떤 조건들의 합들로부터 실제 스타일을 구하는 방법이어야 하고, 개발자는 조건만 명시할 수 있어야 한다.
constraint solving을 잘 설계하고 구현하는게 어렵다 왜 이렇게 안 하냐고 하긴 좀 거시기하다. 그래서 나도 요즘 propagator를 공부중이다.
@hongminhee洪 民憙 (Hong Minhee) 해커스펍의 ‘게시글만’ 탭을 선택했을 때 개별 게시글을 한 번만 노출되게 하는 방법이 있을까요? 지금은 공유된만큼 게시글이 노출돼서 같은 게시글이 여러 번 나옵니다.
@curry박준규 네, “게시글만” 탭뿐만 아니라 타임라인 전반에 대해서 중복된 글이 한 번만 나오도록 개선하려고 합니다.
데이터에서 인과 관계를 아예 찾을 수 없냐면, 그렇지는 않습니다. 그 과정이 생각보다 조금 더 단계가 많을 뿐입니다. 인과 분석에 있어서, 인과 구조가 단순히 ‘뭐가 바뀌면 뭐가 바뀐다‘ 이상으로 다양하고, 어떤 식으로 다양할 수 있는지를 이해해야 인과 관계를 가정하고 조건적 사고를 진행할 수 있을 것입니다. 이를 고려하지 않고 너무 인과관계를 단순하게 보다보니 잘못된 내용을 호도하거나 아예 배제하는 경우가 종종 눈에 띄어 아쉽습니다. 관련하여 인과 관계 구조를 구분하고 각각의 분석법을 훑어볼 수 있게 정리해 보았습니다. https://cojette.github.io/posts/structureofcausation/
베이즈 확률론에서 사후 확률을 다룰 때 베타 분포를 가정한다. 베타 분포의 확률 밀도 함수는 다음과 같다.
여기서 B(α,β)는 베타 함수이며 다음과 같이 정의된다.
eqn은 markdown-it-texmath에서 생성한 것이고 xss filter에 걸린 것으로 보인다.
@parkjinwoo박진우 이제 고쳐졌습니다!
안녕하세요! 두리번두리번..
안녕하세요! 두리번두리번..
@ipurisHan Park 안녕하세요, 어서 오세요!
@cosmicgy김가영 안녕하세요, 어서 오세요!
게시글에 목차가 추가되었습니다. 게시글 안에 소제목이 있을 경우에는 목차가 보이게 됩니다. 가로로 넓은 화면에서는 오른쪽에 보이고, 모바일 환경처럼 가로로 좁은 화면에서는 제목 아래 본문 위에 보이게 됩니다.
여기에도 bluesky에 한 것처럼 블로그에 포스트를 올릴 때마다 자동으로 포스트 할 수 있을까… 시간 날 때 한 번 찾아봐야.
@jjme정진명 아직은 API가 없긴 한데 곧 생길 예정입니다!
해커스펍 계정을 만들었습니다. 권유와 초청 주신 분들 감사합니다.
저는 게임 기획자로 일하고 있습니다만, 요즘 몇년은 js/react로 제품에 들어갈 코드를 짜는 일이 많습니다. 최근에는 https://guji.jjme.me/ 에서 블로그를 쓰는 데 많은 에너지를 쓰고 있습니다.
@jjme정진명 어서 오세요!
여기에도 bluesky에 한 것처럼 블로그에 포스트를 올릴 때마다 자동으로 포스트 할 수 있을까… 시간 날 때 한 번 찾아봐야.
해커스펍 계정을 만들었습니다. 권유와 초청 주신 분들 감사합니다.
저는 게임 기획자로 일하고 있습니다만, 요즘 몇년은 js/react로 제품에 들어갈 코드를 짜는 일이 많습니다. 최근에는 https://guji.jjme.me/ 에서 블로그를 쓰는 데 많은 에너지를 쓰고 있습니다.
@xxwxn신신 님, 어서 오세요!
.vimrc 파일 공유하던사람들끼리 창업해서 CLI 깎는 회사 만들고 6백만달러를 펀딩받았다는 이야기가 있다. 나는 이 이야기를 아주 좋아한다.
코드 리뷰 요정, CodeRabbit이 나타났다 🐰 https://tech.inflab.com/20250303-introduce-coderabbit/
코드래빗에 저렇게 프롬프트를 넣을 수 있는거구나.....
한국의 Clojure 생태계를 책임지는 슈퍼루키 트친도 영입하고 있는 중인데, 이 계정도 추천해야겠다. 아니, 근데.. 클로져리안 모아놓은 인스턴스도 있었네????
https://choubey.gitbook.io/internals-of-deno
Deno 런타임 내부 까보는거 입문은 이걸로 시작해야겠다
오 새로운 공간... 낯설다..!!!










