해커스펍 영업짤 생성 >_<
이찬행
@2chanhaeng@hackers.pub · 70 following · 54 followers
두나무에서 프론트엔드 채용을 열었다고 하네요 https://dunamu.com/careers/jobs/1211
🎉 Huge shoutout to @2chanhaeng이찬행 for implementing custom collection dispatchers in #Fedify through the Korean #OSSCA program!
This incredible contribution adds support for creating arbitrary collections beyond the built-in ones (e.g., outbox, inbox, following, followers). Now developers can expose custom collections like user bookmarks, post categories, or any grouped content through the #ActivityPub protocol:
federation
.setCollectionDispatcher(
"bookmarks",
Article,
"/users/{identifier}/bookmarks",
async (ctx, values, cursor) => {
const { posts, nextCursor } = await getBookmarkedPosts(values.identifier, cursor);
return { items: posts, nextCursor };
}
)
.setCounter(async (ctx, values) =>
getBookmarkCount(values.identifier)
);
The implementation is technically excellent with full #TypeScript support, both Collection
and OrderedCollection
types, cursor-based pagination, authorization predicates, and zero breaking changes. @2chanhaeng이찬행 delivered not just code but a complete feature with 313 lines of comprehensive documentation, practical examples, and thorough test coverage.
This opens up countless possibilities for ActivityPub applications built with Fedify. From user-specific collections to complex categorization systems, developers now have the flexibility to create any type of custom collection while maintaining full ActivityPub compliance.
Thank you @2chanhaeng이찬행 for this outstanding contribution and to the OSSCA program for fostering such excellent open source collaboration! 🚀
.NET Universe Unplugged 2025-08 온라인 세미나를 진행하려 합니다. 온라인으로 누구나 .NET에 관련된 주제라면 무엇이든 들고와서 발표할 수 있는 세미나로 만들어보고 싶어 기획했는데, 많이 알려주시고 참여해주시면 좋을 것 같아 소셜 피드에도 공유합니다. :-D
https://forum.dotnetdev.kr/t/net-universe-unplugged-2025-08/13457
사랑하는 연합우주 가좍 여러분..
전할 말씀이 있습니다...
한국 연합우주 개발자 모임(https://fedidev.kr)이 파이콘 한국 2025에 커뮤니티 후원을 하게 되었는데요. 이를 통해 총 세 분께 이벤트로 파이콘 한국 2025 티켓을 드릴 수 있게 되었습니다..
파이콘 한국 2025에 참가하고 싶은 분들은!!! 이벤트에 응모해주시면 됩니다!!
[응모 자격]
연합우주 누구나
[응모 기한]
7월 27일 (일) 자정까지
[응모 방법]
이 글에 멘션으로 본인이 만든 페디버스 앱 자랑하기
개인이 사이드 프로젝트로 만든 mastodon/misskey/pixelfed 등등등 클라이언트,
액티비티펍 서비스의 API를 활용한 프로젝트(ex. quesdon)
액티비티펍 연동 라이브러리
등등등 어떤 것이든 좋습니다!!
--
응모하신 분 중 세 분을 선정하여 파이콘 한국 2025 티켓을 드리도록 하겠습니다.
많은 관심 부탁드려요~~
¤
같은 텍스트가 있는 부분이 ¤로 보이는 게 이상해서 보니 찾아보니 ¤
라는 HTML character reference가 있다. 그래서 오.. 하다가 뒤에 세미콜론이 붙지도 않는데 왜 그러지 의문이 남았는데, HTML 스펙 문서로 가서 보니까 세미콜론이 없는 버전(¤
)도 있다(??). 아마 이 스펙을 충실히 구현해서 그렇게 표시되는 듯 하다. 보여주는 쪽에서 code 태그로 감싸지 않아서 그런 것 아닐까..
별개로 세미콜론 없는 버전은 CommonMark 플레이그라운드에서 해볼때 동작하지 않는데 CommonMark 스펙이거나 버그일 것 같다.
writefreely feels lacking, so i'm trying to make my own activitypub blog
thank God Fedify exists
https://github.com/makachanm/termfedi
개인적으로 만들고 있던거에요
구경하고싶으면 구경하셔도 돼요
맹자에 따르면 측은지심은 옥시토신에서 발하고 수오지심은 아드레날린에서 발하고 사양지심은 세로토닌에서 발하고 시비지심은 도파민에서 발하는 것이다.
음기는 염기성이고 양기는 산성인 것과 마찬가지로 자명하다. 아니라고? 태양은 수소이온 덩어리고 달 토양은 아폴로가 가져왔다.
뭐? 태양은 수용액이 아니라고? 그런건 모르겠고 아무튼 그렇다.
🛢️ Databases.
MacBook Pro M1 Max 14인치 32GB RAM 512GB SSD 중고로 사실 분 계신가요? 참고로 홍콩에서 샀고 자판은 영문 자판입니다. 당근 조금 찾아보니 대충 시세가 대충 150만원 전후인 것 같은데, 저는 100만원에 내놓습니다.
연합우주의 여러분을 파이콘 한국 2025에 초대합니다!
안녕하세요. Hackers' Pub이 이번 파이콘 한국 2025에 커뮤니티 후원을 하게 되었는데요. 이를 통해 총 세 분께 이벤트로 파이콘 한국 2025 티켓을 드릴 수 있게 되었습니다.
파이콘 한국 2025에 참가하고 싶었던 분들은, 이벤트에 응모해 주세요! 이벤트 응모 방법은 다음과 같습니다.
- 응모 자격
-
연합우주의 누구나
- 응모 기한
-
7월 27일(日) 자정까지
- 응모 방법
-
다음 주제어들 중 하나로 N행시를 멋지게 지어서, 인용 또는 답글로 달아주세요! (Mastodon의 경우에는 인용이 안 되므로 답글만 가능합니다.)
- 파이콘/파이컨
- 파이썬/파이선
- 해커스퍼브/해커즈퍼브/해커스펍/해커즈펍
예:
- 파이썬이 좋아서
- 이번에는 꼭 파이
- 콘에 가고 싶습니다!
응모하신 N행시 중 멋진 작품을 제출하신 세 분을 선정하여 파이콘 한국 2025 티켓을 드리도록 하겠습니다!
많은 참여 부탁드립니다!
[[[[[ 긴급 도움 ]]]]]]
해커스펍 여러분, 연합우주 여러분. 안녕하세요. 슬슬 파이콘 한국 후원사로서 "한국 연합우주 개발자 모임" 스티커 굿즈를 뿌려야 하는데요. 스티커 굿즈를 뿌릴때 두가지 버전으로 뿌릴려고 해요.
*로고만 있는 정방형 스티커 *로고 옆에다가 가로로 fedidev.kr 글씨가 새겨져 있는 스티커 (중요)
fedidev.kr 글씨가 새겨져 있는 스티커는 어떻게 뿌릴지가 고민입니다.... 폰트랑 같이 예시 이미지를 알려주시면 스티커 굿즈 제작에 도움이 될 것 같습니다.
마감기한은 7월 19일이구요. 기프티콘 상한 금액은 5만원 입니다.
관심을 가져주시면 감사하겠습니다.
당연히! 공짜는 없겠죠! "이거다!" 하고 선정되신 분께는 원하시는 걸로 기프티콘을 드리겠습니다...
원본 SVG 파일은 여깄습니다 https://github.com/fedidevkr/logo/blob/main/fedidevkr.svg
듀오링고 켰다가 이상한거 봤다. 이젠 영어 공부하려면 유니코드도 해석할 줄 알아야 하는건가 (아님)
$ python3 -c "print('\uc785\ub2c8\ub2e4')"
입니다
요즘엔 Linux를 메인으로 쓰긴 하지만… X에서 macOS 필수 설치 목록을 서로 공유하기에, 나도: Homebrew, Git, GNU Bash, 1Password, WezTerm, Neovim, Zed, Visual Studio Code… 이 정도인 듯?
Introducing #Upyo!
A simple, cross-runtime email library that works seamlessly on #Deno, #Node.js, #Bun, and edge functions. Zero dependencies, unified API, and excellent testability with built-in mock transport.
Switch between #SMTP, #Mailgun, #SendGrid without changing your code. Available on #JSR & #npm!
I got suddenly inspired yesterday to build an email sending library for Node.js/Deno/Bun/edge functions. Meet Upyo: a TypeScript-first email library with a unified API that works across all JavaScript runtimes. It features pluggable transports (SMTP and Mailgun so far), built-in connection pooling, and comprehensive type safety. Still early days but already loving how clean the API turned out!
.NET으로 서버 만들 때는 이메일 보낼 때 FluentEmail이라는 패키지를 유용하게 썼는데, JavaScript 쪽에도 비슷한 게 있나 찾아봤지만 뭔가 다 조금씩 마음에 안 드네… 내가 원하는 건 다음과 같다:
- Mailgun, SendGrid, SMTP 등 다양한 이메일 전송 트랜스포트를 하나의 일관된 API로 사용할 수 있어야 한다.
- 멋대로 환경 변수에 의존하지 말아야 한다.
- Node.js는 물론 Deno에서도 동작해야 한다.
오히려 파일 첨부 같은 부가 기능은 없어도 되기 때문에 간단하게 필요한 라이브러리를 찾을 수 있을 거라고 생각했는데, 못 찾고 있다. 음… 바이브 코딩으로 하나 만들까?
결국 하나 만들었습니다. “우표”라는 이름으로…
이찬행 shared the below article:
펑터Functor

lionhairdino @lionhairdino@hackers.pub
하스켈 펑터 입문자를 위한 이 글은 `Maybe Int` 타입의 값에서 `Int`를 직접 "꺼내올 수 없다"는 개념을 설명합니다. `Maybe`의 `fmap`이나 `fromJust`가 마치 값을 꺼내는 것처럼 보이지만, 이는 실제로는 값을 꺼내는 것이 아니라, 원본 타입(`Int`)의 구조를 보존하며 새로운 `Maybe Int` 타입의 값을 "생성"하는 과정이라는 것입니다. 미끄럼틀 비유를 통해, `Maybe Int`의 `Just 1`은 `Int` 값 `1`과 연관되어 있지만, `Just 1` 자체가 `1`을 의미하는 것은 아닙니다. 펑터는 원본 타입의 관계(구조)를 그대로 유지하며 다른 타입으로 변환하는 역할을 합니다. `fmap`은 `Maybe Int` 안의 `Int`를 직접 조작하는 것이 아니라, 원본 `Int` 값의 관계를 바탕으로 새로운 `Maybe Int` 값을 만들어내는 것입니다. 상자 메타포가 유용할 때도 있지만, 펑터의 본질을 오해하게 만들 수 있습니다. 상자 안의 값을 꺼내는 것이 아니라, 값의 "성격"은 값을 다루는 함수들의 동작에 따라 결정된다는 점을 강조합니다. 이 글은 "없을 수도 있는 수를 꺼낸다"는 표현의 모순을 지적하며, 펑터의 개념을 더 깊이 이해하도록 돕습니다.
Read more →이찬행 shared the below article:
힙스택 보존 법칙
RanolP @ranolp@hackers.pub
이 글에서는 프로젝트 진행 시 기술 스택 선정에 대한 경험적 법칙인 "힙스택 보존 법칙"을 소개하며, 힙한 기술 스택을 과도하게 선택할 경우 프로젝트가 산으로 갈 수 있음을 경고합니다. 저자는 신기술 도입 시 발생하는 호환성 문제와 그로 인한 추가 작업의 부담을 설명하며, 커뮤니티가 크고 성숙한 기술의 중요성을 강조합니다. 힙한 기술을 사용하더라도 프로젝트를 성공적으로 이끌 수 있는 두 가지 조건, 즉 기술의 안정성과 개발자의 숙련도를 제시하며, 힙스택을 사용하기 전에 충분한 학습과 경험을 통해 기술적 내성을 길러야 함을 역설합니다. 이 글은 기술 스택 선택의 중요성과 개발자의 역량 강화 필요성을 동시에 강조하며, 균형 잡힌 기술 스택 선택이 프로젝트 성공에 미치는 영향을 시사합니다.
Read more →🎉 Huge shoutout to two amazing contributors from Korea's #OSSCA program who've made excellent contributions to #Fedify!
👏 @gaebalgom개발곰 tackled a tricky terminal compatibility issue in PR #282, fixing the
fedify node
command's favicon display on terminal emulators without truecolor support (#168). His solution elegantly detects terminal capabilities and falls back to 256-color mode when needed—ensuring a great experience across different environments.
🌟 @joonnotnotJoon enhanced Fedify's #WebFinger functionality in PR #281 by adding a configurable
maxRedirection
option to the lookupWebFinger()
function (#248). He transformed a hardcoded limitation into a flexible, user-customizable parameter while maintaining perfect backward compatibility.
Both delivered thoughtful, well-implemented solutions that showcase the quality of contributions coming from the OSSCA program. Welcome to the Fedify community!
역시 프로젝트를 빨리 이해하려면 직접 써보는게 가장 확실한거 같다
🎉 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!
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/
이찬행 shared the below article:
2020년의 하스켈에 대한 내 생각

박준규 @curry@hackers.pub
이 글은 하스켈이 30주년을 맞이한 2020년, 하스켈의 발전 방향에 대한 개인적인 생각을 담고 있습니다. 저자는 하스켈이 프로그래밍 언어 연구와 실제 애플리케이션 개발이라는 두 가지 목표를 동시에 추구해왔지만, 이제는 소프트웨어 개발자에게 유용한 기능에 집중해야 한다고 주장합니다. 특히 복잡한 타입 시스템보다는 사용자 편의성을 높이는 방향으로 개선되어야 한다고 강조하며, 제네릭스 활용과 유용한 확장 기능 활성화를 예시로 제시합니다. 또한, 애플리케이션 아키텍처 측면에서 의존성 주입 컨테이너를 활용한 단순한 구조를 제안하며, 타입 안정성을 약간 희생하더라도 테스트를 통해 충분히 보완할 수 있다고 말합니다. 결국, 저자는 "심플 하스켈" 또는 "지루한 하스켈"을 통해 얻을 수 있는 코드의 명확성과 개발의 즐거움을 강조하며, 하스켈 커뮤니티가 초보자에게 더 쉽게 다가갈 수 있도록 노력해야 한다고 역설합니다. 이 글은 복잡한 이론적 탐구보다는 실용적인 개발에 초점을 맞춘 하스켈의 미래를 제시하며, 독자에게 균형 잡힌 시각을 제공합니다.
Read more →새로운 마스토돈 v4.4.0가 릴리즈 되었어요!!
https://github.com/mastodon/mastodon/releases/v4.4.0
https://github.com/fedify-dev/fedify/issues/59
아..... 이걸 밟았다....
- NestJS에다가 Fedify를 연동하는 작업을 트라이해보고 있음
- NestJS는 내부적으로 express를 사용하고 있는데, 그에 따라서 모듈시스템은 esm이 아닌 commonjs를 사용하고 있음.
- Fedify는 당연히 ESM만 지원하고 있고, commonjs 모듈시스템을 사용하는 Nestjs에서는 당연히 정상적인 방법으로는 갖다쓰기 어려움.
그렇게 삽질하다가 발견한게 저 이슈....
근데, 이걸 어떻게든 돌아가게 한다고 가정하면 dynamicImport하는 방향으로는 갈 수 있는 것 같은데, 문제는 이렇게 하면 에디터의 기능도 제대로 이용못하고 사실상 ... as any 하는 거랑 크게 다를게 없다(.....)
@robin_makirobin 저 Base64로 인코딩 된 건 뭐가 들어간 건지 너무 신경쓰여요... 설치 스크립트들 중에 제일 수상한 유형
@jarm정아름 세계최초 티셔츠로 전파되는 악성코드(
검색을 해 봤는데 https://sci.tea-nifty.com/blog/2025/05/post-7f3fa2.html 라고 하더라구요
아이쇼핑 하다가 이걸 보고 홀린 듯 구매해버림
아는 친구한테 들은 얘기인데, 최근 이직한 회사에서 Python을 쓰는데 린트나 포매터 같은 것도 전혀 설정을 안 해놓고 살고 있기에 도입하자고 했더니 “그런 거 쓸 거면 Python 안 쓰죠”라는 말과 함께 제안을 거절 당했다고 한다. Python에서도 린트나 포매터는 물론이고 타입 체커까지 붙여서 살려면 살 수 있지만, 어쩐지 그런 거 신경 쓸 사람들은 최근 10년 사이에 다들 다른 언어로 넘어가 버리고 그런 거 신경 안 쓰는 사람들만 Python을 계속 쓰게 된 게 아닌가 싶은 생각이 들었다.
카톡 스포 방지 기능 뭔가.. 나사가 빠졌어....!!
이찬행 shared the below article:
청개구리 스택 찬가

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
이 글은 저자가 기술 스택을 선택할 때 주류를 따르지 않고 대안적인 기술을 선택하는 경향, 즉 "청개구리 스택"을 추구하는 경험을 공유합니다. 청개구리 스택은 사용자가 적어 문제 해결에 어려움이 있을 수 있지만, 기술에 대한 깊이 있는 이해와 오픈 소스 기여 기회를 제공합니다. 또한, 후발주자로서 대안적인 설계를 통해 정석 스택보다 나은 이해를 제공할 수 있습니다. 여러 부품을 직접 조립하는 과정은 번거롭지만 각 기술에 대한 깊은 이해를 얻을 수 있게 합니다. 저자는 오늘의 정석 스택도 과거에는 청개구리 스택이었을 수 있음을 지적하며, LLM 시대에도 청개구리 스택이 주는 배움의 기회는 여전할 것이라고 주장합니다. Stack Overflow에 답이 없는 길을 걸으며 얻는 깨달음은 온전히 자신의 것이 될 것이라는 메시지를 전달하며, 독자들에게도 주체적인 기술 선택과 도전을 권장합니다.
Read more →Javascript/Typescript 생태계에는 소스코드 간 의존관계를 유향그래프(Direct Graph)로 시각화하는 CLI 도구가 있다는 사실... 알고 계신가요? madge, 적극적으로 추천합니다.
그냥 JS/TS 프로젝트 뿐만이 아니라, jsx 파일이 들어간 경우도 의존관계를 아름답게 시각화해줍니다. fedify 소스코드 통독하면서 이걸 적극적으로 써볼까 합니다. 마치.... 탐정이 사건 추적하면서 지도에 X 표시하는 감성으로...
컴잘알이지만 이 증상은 좀 특이해서 도움을 구합니다.
아마 계속되서 도움을 요청하는 거지만
RTX 4070TI 이며
현제 증상은 그렇습니다.
- 데이 바이 데이라이트등 고성능 게임을 실행시킨후 몇분뒤 컴 강제 재부팅됨
- 영상 RTX항상을 킨후 영상 돌리다가 강제 재부팅
- 3d마크 벤치를 돌리는 순간 강제 재부팅
- 하지만 글카 전원을 분리후 내장 그래픽(78003d 라데온 통합 그래픽카드)로 벤치 또는 게임을 키니 정상
이 증상을 아시는분은 도움 부탁드립니다..ㅠㅠ
컴잘알이지만 이 증상은 좀 특이해서 도움을 구합니다.
+ 참고 사진
GPU, 메모리 클럭가 널뛰기 (이건 정상인가요..?)
컴잘알이지만 이 증상은 좀 특이해서 도움을 구합니다.
아마 계속되서 도움을 요청하는 거지만
RTX 4070TI 이며
현제 증상은 그렇습니다.
- 데이 바이 데이라이트등 고성능 게임을 실행시킨후 몇분뒤 컴 강제 재부팅됨
- 영상 RTX항상을 킨후 영상 돌리다가 강제 재부팅
- 3d마크 벤치를 돌리는 순간 강제 재부팅
- 하지만 글카 전원을 분리후 내장 그래픽(78003d 라데온 통합 그래픽카드)로 벤치 또는 게임을 키니 정상
이 증상을 아시는분은 도움 부탁드립니다..ㅠㅠ
이찬행 shared the below article:
OSSCA: Fedify 프로젝트 기여자들을 위한 안내

洪 民憙 (Hong Minhee) @hongminhee@hackers.pub
이 글은 오픈 소스 컨트리뷰션 아카데미 참여자, 더 나아가 Fedify 프로젝트에 기여하고자 하는 모든 이들을 위한 안내서입니다. Fedify 프로젝트 참여를 위한 준비 사항과 소통 채널, 개발 환경 설정, 그리고 프로젝트 구조에 대한 이해를 돕는 것을 목표로 합니다. 먼저 Fedify Discord 서버에 참여하여 자기소개를 하고, 연합우주(fediverse)에 대한 기본적인 이해를 쌓기 위해 계정을 만들어보는 과제가 주어집니다. JavaScript와 TypeScript에 대한 간략한 소개와 함께, Fedify가 ActivityPub 프레임워크로서 연합우주 SNS 소프트웨어 개발을 쉽게 만들어주는 도구임을 설명합니다. 저장소를 포크하고 클론하는 방법, Node.js, Deno, Bun 등 다양한 런타임 환경 설정 방법, 그리고 Visual Studio Code를 활용한 개발 환경 구성 방법을 상세히 안내합니다. 마지막으로, Fedify 저장소의 구조와 린트, 테스트 실행 방법을 소개하며, 기여할 일감을 찾는 방법과 추가 정보 링크를 제공합니다. 이 글을 통해 독자는 Fedify 프로젝트에 실질적으로 기여하기 위한 첫걸음을 내딛을 수 있으며, 오픈 소스 기여에 대한 자신감을 얻을 수 있습니다.
Read more →