‘조용히 공개’의 효과는 무엇인가요? 조용히 공개된 글을 부스트하면 어떻게 되나요?
Jaeyeol Lee
@kodingwarrior@hackers.pub · 690 following · 503 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
@curry박준규 연합 타임라인에 노출되냐 아니냐가 달라져요. 공개/조용히 공개로 설정한 것들은 부스트를 할 수 있고, 다른 인스턴스의 타임라인으로 퍼나를 수 있게 됩니다.
Jaeyeol Lee shared the below article:
Hacker's Pub에 입문한 한국어권 여러분을 위한 안내서
Jaeyeol Lee @kodingwarrior@hackers.pub
Hacker's Pub은 소프트웨어 업계 종사자들이 자유롭게 생각을 공유하고 소통할 수 있는 소셜 네트워크 서비스이자 블로깅 플랫폼입니다. ActivityPub 프로토콜을 지원하여 Mastodon, Misskey 등 다른 SNS 서비스 사용자들과도 연결되어 플랫폼 경계를 초월한 소통이 가능합니다. 이 글에서는 Hacker's Pub의 의미와 ActivityPub 프로토콜에 대한 간략한 소개, 그리고 커뮤니티에 기여할 수 있는 다양한 방법을 제시합니다. 오픈 소스로 개발되는 Hacker's Pub 생태계에 참여하여 함께 서비스를 발전시키고, 우리만의 클라이언트를 만들어 Hashnode와 같은 블로그 템플릿을 구축하는 미래를 기대해 볼 수 있습니다. Hacker's Pub은 상호 존중과 신뢰를 바탕으로 모든 이들이 자유롭게 의견을 나누고 함께 만들어가는 공간입니다.
Read more →@hhhkdev미역굳 안녕하세요! 여기서도 반가워요!
@rangho_220우주스타 아이도루 랭호 🌠 뭐야 이거... 무서워...
@kodingwarriorJaeyeol Lee 지금 힙해야할것같아서 Beamer 버리고 reveal.js 쓰고잇읍니다,,,
@rangho_220우주스타 아이도루 랭호 🌠 캬...... 한땀한땀 깎고 있을 미래가 보이네여...
학교 산학플젝 발표자료 이맥스로 만들기
@rangho_220우주스타 아이도루 랭호 🌠 완전 짱이다
@kodingwarriorJaeyeol Lee 인사가 늦었습니다. 초대주셔서 감사드려요.
@resistanHyunjin Cho 별말씀을요 ㅋㅅㅋ
@kodingwarriorJaeyeol Lee emacs.ch도 작년부터 운영을 중단했나봅니다 😇
@nyeongAn Nyeong (安寧) 마음이.. 아프네요..
팔로워 100명 찍으면 초대는 좀 소극적으로 하고 컨텐츠를 좀 더 적극적으로 채울거야!
@boltlessboltless.me 안녕하세요
Jaeyeol Lee replied to the below article:
페디버스에서 어떤 사람들을 팔로하면 좋을까?
Jaeyeol Lee @kodingwarrior@hackers.pub
페디버스 입문이 막막한 개발자들을 위해, Hackers' Pub을 포함한 ActivityPub 기반 서비스 활용법을 소개합니다. 트위터와 달리 추천 기능이 부족한 페디버스에서, 어떤 인스턴스를 선택하고 누구를 팔로우해야 할지 어려움을 겪는 분들을 위해 유용한 정보들을 제공합니다. 먼저, 개발자들이 많이 모여있는 국내외 마스토돈 인스턴스들을 소개합니다. silicon.moe, hachyderm.io, emacs.ch 등 다양한 관심사에 맞는 인스턴스를 선택할 수 있습니다. 또한, Geeknews Bot, Hacker News, Lobsters 등 개발 관련 뉴스를 제공하는 계정들과, Mastodon, Golang, Asahi Linux 등 오픈소스 프로젝트에 기여하는 개발자들을 팔로우하여 유용한 정보를 얻을 수 있습니다. 이 글은 페디버스 생태계에서 개발자들이 양질의 정보를 얻고 소통할 수 있도록 돕는 것을 목표로 합니다. 페디버스 입문자들이 자신에게 맞는 인스턴스와 계정을 찾아 팔로우함으로써, 더욱 풍부하고 유익한 경험을 할 수 있도록 안내합니다.
Read more →페디버스 계정의 URL을 검색창에 입력하면 Hackers' Pub에서도 다른 인스턴스의 계정을 팔로할 수 있답니다!
페디버스에서 어떤 사람들을 팔로하면 좋을까?
Jaeyeol Lee @kodingwarrior@hackers.pub
페디버스 입문이 막막한 개발자들을 위해, Hackers' Pub을 포함한 ActivityPub 기반 서비스 활용법을 소개합니다. 트위터와 달리 추천 기능이 부족한 페디버스에서, 어떤 인스턴스를 선택하고 누구를 팔로우해야 할지 어려움을 겪는 분들을 위해 유용한 정보들을 제공합니다. 먼저, 개발자들이 많이 모여있는 국내외 마스토돈 인스턴스들을 소개합니다. silicon.moe, hachyderm.io, emacs.ch 등 다양한 관심사에 맞는 인스턴스를 선택할 수 있습니다. 또한, Geeknews Bot, Hacker News, Lobsters 등 개발 관련 뉴스를 제공하는 계정들과, Mastodon, Golang, Asahi Linux 등 오픈소스 프로젝트에 기여하는 개발자들을 팔로우하여 유용한 정보를 얻을 수 있습니다. 이 글은 페디버스 생태계에서 개발자들이 양질의 정보를 얻고 소통할 수 있도록 돕는 것을 목표로 합니다. 페디버스 입문자들이 자신에게 맞는 인스턴스와 계정을 찾아 팔로우함으로써, 더욱 풍부하고 유익한 경험을 할 수 있도록 안내합니다.
Read more →Hackers' Pub 타임라인에 내부적인 개선이 있었습니다. 이제까지는 타임라인을 렌더링하기 위해 실시간으로 복잡한 조건의 SQL을 실행하는 방식이었지만, 이제는 글이 작성될 때 구독자의 수신함(inbox)에 글이 들어가는 방식으로 바뀌었습니다. 타임라인을 렌더링할 때는 각자의 수신함만 확인하면 되기 때문에 훨씬 조건이 간단해진 것입니다.
더불어, 같은 글을 여러 사람이 공유했을 때 타임라인이 같은 글로 도배되던 문제를 해결했습니다. 이제는 마지막에 공유한 사람의 글만 딱 하나 보이게 됩니다.
이번 변경에 관해 궁금하신 분은 f692909cdd5149c68ca5a91fb4e964042115ab83 커밋을 확인하시면 되겠습니다.
이 변경을 배포하다가 데이터베이스 스키마 마이그레이션이 PostgreSQL을 멈추게 하여 Hackers' Pub이 몇 분 동안 내려가는 일이 있었습니다. 마이그레이션 SQL이 너무 비효율적이라 그랬던 것인데요, Claude Code의 도움을 받아 하나의 비효율적인 SQL을 몇 개의 SQL로 나눠서 실행하게끔 고쳐서 해결했습니다. 이 역시 궁금하신 분은 33f2209f206bee84ddf5d1a7124527dade948610 커밋을 확인하시면 됩니다.
앞으로는 더 안정적인 서비스 운영을 위해 노력하겠습니다. 죄송하고 감사합니다.
다만, Reddit/HackerNews 같이 핫한걸 따로 UI 상에서 모아보고 싶은 사람들도 분명 있을 것 같은데, 사람들이 자연스럽게 느낄 수 있는 UI/UX가 될 수 있을지는 모르겠다...
Bot As a Algorithm Feed
줄여서 BAAF
블루스카이도 나만의 타임라인을 구성할 수 있도록 알고리즘 자체를 자발적으로 구성할 수 있는데, 해커스펍도 이걸 봇 붙이는걸로 해결이 가능한 것 같다. 그러면 해커스펍 코어에는 불필요한 DB 스키마를 별도로 안 붙여도 되고!
다만, Reddit/HackerNews 같이 핫한걸 따로 UI 상에서 모아보고 싶은 사람들도 분명 있을 것 같은데, 사람들이 자연스럽게 느낄 수 있는 UI/UX가 될 수 있을지는 모르겠다...
Fedify BotKit으로 해커스펍 타임라인 만드는 것도 괜찮을 것 같다. 특정 기간 동안 리액션이 좋은 상위 N개의 아티클을 메뉴로 보는게 아니라, 봇을 구독하는 것으로 해결한다던가!?
블루스카이도 나만의 타임라인을 구성할 수 있도록 알고리즘 자체를 자발적으로 구성할 수 있는데, 해커스펍도 이걸 봇 붙이는걸로 해결이 가능한 것 같다. 그러면 해커스펍 코어에는 불필요한 DB 스키마를 별도로 안 붙여도 되고!
@curry박준규
@hongminhee洪 民憙 (Hong Minhee) 이건 사망플래그잖아요 ㅋㅋㅋㅋㅋ
Fedify BotKit으로 해커스펍 타임라인 만드는 것도 괜찮을 것 같다. 특정 기간 동안 리액션이 좋은 상위 N개의 아티클을 메뉴로 보는게 아니라, 봇을 구독하는 것으로 해결한다던가!?
살았나!?
@hongminhee洪 民憙 (Hong Minhee) 고민해보겠습니다 😅
Vim이랑 Neovim은 어떻게 다를까?
Jaeyeol Lee @kodingwarrior@hackers.pub
이 글은 Vim과 Neovim의 결정적인 차이점을 명확히 설명하며, 독자들의 궁금증을 해소하고자 합니다. Vim은 VimScript를 사용하는 반면, Neovim은 Lua를 사용하여 커스터마이징할 수 있다는 점을 강조합니다. Lua는 VimScript에 비해 가독성이 좋고, macOS 자동화 툴인 Hammerspoon이나 터미널 에뮬레이터 Wezterm과 같은 Unix CLI 프로그램 설정에 널리 사용됩니다. 또한, Neovim은 LuaRocks 패키지 매니저를 통해 다양한 패키지를 활용할 수 있으며, Telescope, nvim-cmp, Treesitter와 같은 강력한 플러그인 생태계를 자랑합니다. 특히, Treesitter는 소스 코드를 트리 구조로 분석하여 코드 탐색 및 조작을 용이하게 해줍니다. Language Server 지원도 준수하며, coc-nvim을 통해 편리하게 설정할 수 있습니다. 이 글은 Vim과 Neovim 중 어떤 에디터를 선택할지 고민하는 개발자에게 유용한 정보를 제공하며, Neovim의 강력한 기능과 확장성을 통해 생산성을 향상시킬 수 있음을 시사합니다.
Read more →Show HN: Physical Pomodoro Timer with ESP32 and e-paper screen
Link: https://github.com/Rukenshia/pomodoro
Discussion: https://news.ycombinator.com/item?id=43514383
ActivityPub 효율적으로 익히려면 그냥 fedify 문서 첨부터 끝까지 읽으면 되는듯요
내년쯤에 framework 랩톱 풀옵션으로 지를까 고민중... 지금 쓰는건 한정된 예산으로 최대한 쥐어짜내서 산거라 아쉬움이 남긴 하는데, 한 2년은 더 쓰고...
@curry박준규 알림기능이 먼저 만들어질지 아니면 마스토돈 API 지원이 먼저일지 세기의 경쟁
@kodingwarriorJaeyeol Lee
@curry박준규 알림은 조만간 구현 예정이고, Mastodon API는 아마도 구현 안 될 것 같아요. 대신 @xiniha 님 주도로 GraphQL API가 생길 예정!
@kodingwarriorJaeyeol Lee 알림 기능은 우선 우리인생처럼 ‘메일 발송’으로 구현하면 어떨까요?
@curry박준규 어어어... 그러면 메일 서비스 비용이 빡세요. 자체적으로 메일 서버를 구축하는게 아닌 이상에야
해커스펍 계정은 쓰기 전용으로, 우리인생은 읽기전용으로 사용하고 있다. 또는 기술 관련 콘텐츠는 해커스펍에 올리고 일상은 우리인생에 올리려고 한다.
클라이언트는 팬피를 쓰고 있는데 해커스펍은 마스토돈 API 구현이 안 되어 있어서 팬피에는 우리인생 계정을 연동했다.
그런데 팬피에서 재밌게 글을 읽다 보면 무심코 팬피에서(우리인생 계정으로) 해커스펍 글에 댓글을 달아서 뭔가 곤란하다⋯
그리고 해커스펍에 오신 분들은 거의 다 팔로우를 하고 있는데 동시에 우리인생에서도 팔로우를 해야해서(팬피에서 읽어야 하니까) 불편하다.
@curry박준규 알림기능이 먼저 만들어질지 아니면 마스토돈 API 지원이 먼저일지 세기의 경쟁
@kodingwarriorJaeyeol Lee
@maxwellEunsoo Eun 제가 초대 드렸어요. ㅎㅎㅎ
@hongminhee洪 民憙 (Hong Minhee)
@maxwellEunsoo Eun 저한테 물어봐도 되었을 것 같은디 크흡
@maxwellEunsoo Eun 어 뭐야 어떻게 오신거에요
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!
Jaeyeol Lee shared the below article:
한국 소프트웨어 개발자들이 자주 틀리는 외래어 표기법
洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
전에 단문으로 올렸던 글을 지속적으로 갱신해볼까 싶어 게시글로 만들어 봅니다.
| 영어 | 틀린 표기 | 올바른 표기 |
|---|---|---|
| algorithm | 알고리즘 | 알고리듬 |
| app | 어플 | 앱 |
| application | 어플리케이션 | 애플리케이션 |
| BASIC | 베이직 | 베이식 |
| directory | 디렉토리 | 디렉터리 |
| front-end | 프론트엔드 | 프런트엔드 |
| launch | 런치 | 론치 |
| license | 라이센스 | 라이선스 |
| message | 메세지 | 메시지 |
| method | 메소드 | 메서드 |
| parallel | 페러렐 | 패럴렐 |
| proxy | 프록시 | 프락시 |
| release | 릴리즈 | 릴리스 |
| repository | 레포지토리 | 리파지터리 |
| shader | 쉐이더 | 셰이더 |
| shell | 쉘 | 셸 |
우˗ˋˏ 와 ˎˊ˗
Jaeyeol Lee shared the below article:
Grokに、三井住友海上火災保険とあいおいニッセイ同和損害保険が合併した新会社の名称を考えてもらいました
のえる @noellabo@hackers.pub
## 要約: この記事では、Grokを用いて三井住友海上火災保険とあいおいニッセイ同和損害保険の合併を想定した新名称の提案を試みています。最初の提案として、親会社であるMS&AD保険グループの名を基にした「MS&AD保険」が挙げられましたが、アルファベットと記号で構成されているため、漢字やひらがなで表記できる名称が再度求められました。その結果、保険業界で重要な「信頼」を強調した「信頼保険(しんらいほけん)」という名称が提案されました。この記事は、AIが企業の合併シナリオにおいて、親しみやすく覚えやすい新名称を考案するプロセスを簡潔に示しています。
Read more →@joonnotnotJoon 여기서 반가워요
한국의 Clojure 생태계를 책임지는 슈퍼루키 트친도 영입하고 있는 중인데, 이 계정도 추천해야겠다. 아니, 근데.. 클로져리안 모아놓은 인스턴스도 있었네????
게시글에 목차가 추가되었습니다. 게시글 안에 소제목이 있을 경우에는 목차가 보이게 됩니다. 가로로 넓은 화면에서는 오른쪽에 보이고, 모바일 환경처럼 가로로 좁은 화면에서는 제목 아래 본문 위에 보이게 됩니다.
.vimrc 파일 공유하던사람들끼리 창업해서 CLI 깎는 회사 만들고 6백만달러를 펀딩받았다는 이야기가 있다. 나는 이 이야기를 아주 좋아한다.
한국의 Clojure 생태계를 책임지는 슈퍼루키 트친도 영입하고 있는 중인데, 이 계정도 추천해야겠다. 아니, 근데.. 클로져리안 모아놓은 인스턴스도 있었네????
코드 리뷰 요정, CodeRabbit이 나타났다 🐰 https://tech.inflab.com/20250303-introduce-coderabbit/
코드래빗에 저렇게 프롬프트를 넣을 수 있는거구나.....
https://choubey.gitbook.io/internals-of-deno
Deno 런타임 내부 까보는거 입문은 이걸로 시작해야겠다
@kodingwarriorJaeyeol Lee 안녕하세요~
@sonsubari바리 감사해요~ 잘 있어요~ 다시 만나요~
오 새로운 공간... 낯설다..!!!
@sonsubari바리 어서오세요
@darkenpengpenguin 안녕하세요 반가워요
저… 제가 아마도 해커스펍 개발자분보다도해커스펍 서버와 가장 가까이서(2미터 거리) 쓰고 있는 유저인데…
느려요.
RE: https://hackers.pub/@hongminhee/0195d567-06d6-7437-a4eb-cf567adf9714
해커스펍의 정체… (거대토끼의 맥미니 위에서 돌아가고 있습니다.)
Building a Linux Container Runtime from Scratch
Link: https://edera.dev/stories/styrolite
Discussion: https://news.ycombinator.com/item?id=43486997
@basix 바식스 님 어서 오세요!
Jaeyeol Lee shared the below article:
복잡한 코드를 단순하게 줄여나갈 수록 발생하는 버그의 빈도나 심각도가 점진적으로 올라가는 경향이 있다고 느낀다
ㄹ @disjukr@hackers.pub
이 기술 블로그 포스팅에서는 코드 복잡도와 버그 심각도 사이의 미묘한 관계를 탐구합니다. 저자는 복잡도를 높이는 방향으로 문제를 해결할 때, 버그 빈도와 심각도를 점진적으로 줄일 수 있지만 최적의 해결책에 도달하지 못할 수 있다는 점을 지적합니다. 반대로, 복잡도를 낮추는 방향으로 접근하면 문제 해결에 드는 비용을 예측하기 어렵다는 어려움이 있습니다. 특히, 회사에서 코드 복잡도를 줄이는 대신 높이는 방향으로 문제 해결을 요구받는 상황에서 엔지니어로서의 자아와 현실 사이의 괴리를 느끼는 저자의 고충이 드러납니다. 개인 시간을 투자하여 더 나은 해결책을 찾아도, 이를 회사에 도입하는 데 많은 설득 비용이 소요된다는 점을 강조하며, 회사 내에서 자아실현을 포기해야 하는지에 대한 고민을 토로합니다. 이 글은 기술적 효율성과 조직적 요구 사이의 균형을 찾는 데 어려움을 겪는 개발자들에게 깊은 공감을 불러일으킬 수 있습니다.
Read more →






.png)