@hongminhee洪 民憙 (Hong Minhee) I never start writing code before I gather enough context for the problem. Listening to possible customer's voices and collecting prior arts are one of the most important part of designing solutions.
洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 1014 following · 723 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
@domatdo도막도 Exactly!
@hongminhee洪 民憙 (Hong Minhee) back in the day, we used to call this a "specification"
@TakTak! Haha, that might be a right word to call it!
For my library and CLI projects, I've been writing documentation before writing any code. It helps me imagine the final interface early on, which usually leads to better design. Sure, sometimes I miss implementation details and have to revise later, but hey—it's just docs. Docs are easy to change.
This tiny habit has surprisingly big payoffs. When I focus on how things will be used rather than how they'll be built, I end up with interfaces that actually make sense.
Anyone else do this? Curious about your experience with documentation-first approaches.
RE: https://hollo.social/@hongminhee/01964c76-ef1e-7994-b3f0-57f967742566
@hongminhee洪 民憙 (Hong Minhee) 잘하셨습니다! 휴식이 중요하죠. 왠지 인기 웹툰의 독자가 댓글로 작가를 응원하는 마음으로 민희 님의 건강을 응원하게 됩니다.
@curry박준규 감사합니다… ㅎㅎㅎㅎ
갑자기 Hackers' Pub 코딩에 손에 안 잡혀서 다른 코딩이나 좀 해야겠다… 그것도 잘 안 잡히면 코딩 자체가 손에 안 잡히는 걸테니 그냥 놀아야지.
어제는 결국 그냥 잤다… ㅋㅋㅋ
갑자기 Hackers' Pub 코딩에 손에 안 잡혀서 다른 코딩이나 좀 해야겠다… 그것도 잘 안 잡히면 코딩 자체가 손에 안 잡히는 걸테니 그냥 놀아야지.
Side quest sneak peek: a browser extension that visualizes (Service Worker) Cache Storage for web sites.
Decided to build this after seeing how difficult it is too see what's stored in Service Worker cache. They can (accidentally) take up quite a lot of storage space.
Repo: https://github.com/cheeaun/stakataka
Not released yet, under review in Chrome Web Store.
살면서 RTL 언어 지원을 한 번도 해 본 적이 없어서 무섭게 느껴진다. 아마 서양 프로그래머들도 CJK 보면 이런 느낌일까?
Sometimes I'm quite amazed by my own code 😳
The RTL work last year was quite insane https://mastodon.social/@cheeaun/112932794480750449
git submodule은 맨날 다시봐도 또 까먹는데 이게 내 문제일까 git submodule의 문제일까...
@bglbgl gwyng 저는 서브모듈 자주 쓰는 편이라 그런지 이젠 편하긴 한데, 자주 안 쓰면 그럴 것 같긴 해요.
I've been considering what to add in the next version of BotKit (v0.2.0) and wanted to share my current plans. After reviewing feedback and examining the #ActivityPub ecosystem, I've identified three key features that would significantly enhance the framework's capabilities:
-
Custom emoji support. This would allow bots to use server-defined custom emojis in their messages, making communication more expressive and allowing better integration with instance culture.
-
Emoji reactions. I plan to implement both sending and receiving emoji reactions to messages. This provides a lightweight interaction model that many users prefer for simple acknowledgments or responses. This would manifest as new event handlers (like
Bot.onReaction) and methods (likeMessage.react()). -
Quote posts. The ability to reference other posts with commentary is an important discourse feature in the fediverse. Supporting both sending quotes and detecting when bot posts have been quoted would enable more sophisticated conversational patterns.
These additions should make #BotKit more capable while maintaining its simple, developer-friendly API. I expect implementation to involve extending the Message class and adding new Text processing capabilities, all while keeping backward compatibility with existing bots. Having built both Hollo and Hackers' Pub, I already have deep familiarity with how various ActivityPub implementations handle these features across the fediverse. I welcome any community feedback on priorities or implementation details before I begin coding.
러스트 넣으니까 그냥 빌드 체감 1시간이네 틱톡 스크롤 50번은 내린듯
@z9mb1Jiwon 이래서 성능 좋은 컴퓨터를 쓰고 싶어지는 것 같아요…
리누스 토발즈의 ‘깃(Git)’ 20주년 소회 “별일 아니었다”
“나는 그냥 내게 필요해서 ‘깃’을 만들었다. 만들고 4개월만에 흥미를 잃었다. 20년 중...
ちなみにLinuxではDebian系がamd64、RedHat系がx86_64の表記を好むらしい
Microsoftはx64表記になることが多い
https://onoredekaiketsu.com/x86-64-x64-amd64-what-is-the-difference-between-these/
@joonnotnotJoon 오, 후원 감사합니다!
@saengmotmi생못미
@jasonkim자손킴 안녕하세요, 어서 오세요!
설정이나 명세를 튜링완전한 언어로 기술하면 안되지 않나, 튜링완전한 언어는 프로그램을 짤때 써야하지 않나란 의견이 있는데, 난 오히려 반대라고 생각한다.
설정/명세를 기술한 코드는 그걸 평가해서 어떤 값을 한번 구하면 끝이고, 임의의 입력에 대해 종료함을 보장할 필요가 없다. 그리고 그 코드의 실행은 서비스 단에서 이루어지는게 아니고, 서비스를 만들고 운영하는 과정에서 이루어지기 때문에 종료되지 않는것에 대해 훨씬 안전하다.
반대로, 실제로 돌아가는 프로그램(말이 좀 이상하지만 excuse부탁드림)이야말로 튜링완전한 언어로 짜면 안된다. 우리가 튜링완전한 언어로 개발하는 이유는 우리가 만드는 프로그램을 기술하는데 필요한 자유도가 얼만큼인지 모르고 작업해야하기 때문에 그렇다. 종료하지않는 엉터리 코드를 짤 가능성을 받아들이면서도, 당장 뭔가 만들긴해야하니까 그런 선택을 하는 것이다.
즉 튜링완전성은 메타프로그래밍을 할때만 허용되는것이 (적어도 이론적으론) 정당하다고 생각한다.
RE: https://hackers.pub/@bgl/019647a2-cd0c-7311-97ce-95b59e5a0696
패스키 쓴 이후 나의 해커펍생 달라졌다-
로그인 자체도 안 풀리고 바로 들어오면 된당 며칠 써보니 매우 편하다
그러고 보니 Hackers' Pub에서 해시태그 팔로가 안 되네… 할 거 많다.
@hongminhee洪 民憙 (Hong Minhee) 근데 Pulumi는 서로 다른 클라우드 서비스의 자원들간에 어떤 공통된 추상화를 넣진 않습니다. 그냥 같이 쓸수있을 뿐이에요.
@bglbgl gwyng 아하, 그렇군요! 인프라 구성을 선언적이지 않은 언어로 작성하는 것에 대한 우려도 조금 드는데, 그런 면에서는 어떤가요?
Pulumi 웹사이트를 보고 Apache Libcloud랑 비슷한 건가 싶었는데, Perplexity에 따르면 둘은 꽤 다른 물건이구나.
@hongminhee洪 民憙 (Hong Minhee) Pulumi 자체는 그냥 인프라용 React같은 거구요. React에 React-DOM이랑 React Native가 있듯이, Pulumi에도 여러 드라이버가 있습니다. 개중에 k8s 드라이버도 있어서 k8s띄운다음에 그위에 TS 코드로 프로비저닝 할수도 있고요. 또 홈서버를 쓰더라도 CDN은 붙이고 싶으실수 있는데 이때 AWS든 CF든 드라이버 깔아서 CDN 붙이면 됩니다. 가장 큰 장점은... 그냥 TS코드로 하다보니 자동완성등 인텔리센스가 최상급이라는 점?
@bglbgl gwyng 오… 뭔가 옛날 Apache Libcloud가 떠오르네요. 한 번 살펴보겠습니다.
- 새 MacBook Air 세팅
- 가끔씩 응답이 늦는 Hackers' Pub 버그 살펴보기
- Hackers' Pub 다국어 콘텐츠 기능 설계
https://hackerspub-ask-bot.deno.dev/message/0196468d-7fd8-7447-b2a6-e974c49e42b8 살아는 있는데 이게 왜 해커스펍에 안보이지
@kodingwarriorJaeyeol Lee 저는 잘 보이는데, 아마 팔로를 안 하셔서 타임라인에 안 뜨는 게 아닐까요?
@hongminhee洪 民憙 (Hong Minhee) IaC 위해서 뭔가 새로 배우기 귀찮으시다면 Pulumi 추천드립니다.
@bglbgl gwyng 잘 모르는데, 홈 서버에서도 쓸만할까요?
Hackers' Pub은 현재 원격 콘텐츠에 포함된 온갖 이미지를 캐시하지 않고 원격 URL 그대로 서빙하고 있는데, 일부 ActivityPub 구현은 계정 프로필 사진이 바뀌면 기존 프로필 사진을 아예 삭제해 버려서 가끔씩 원격 계정의 프로필 사진이 로딩이 안 되고 깨지는 문제가 발생하고 있다. 음… 귀찮아서 캐시를 안 하고 있었는데 역시 캐시를 하긴 해야 하나?
あ、あと。来週頭に公開予定の「しゅいろ」さんのMisskey連載もあるよ。
https://gihyo.jp/list/group/Misskey-Webテクノロジー最前線#rt:/article/2023/02/misskey-01
日本語で申し訳ないけど🙏
@hongminhee洪 民憙 (Hong Minhee)
あ、あと。来週頭に公開予定の「しゅいろ」さんのMisskey連載もあるよ。
https://gihyo.jp/list/group/Misskey-Webテクノロジー最前線#rt:/article/2023/02/misskey-01
日本語で申し訳ないけど🙏
@hongminhee洪 民憙 (Hong Minhee)
@daidaisuke このシリーズ、フェディバースに共有される事が多く、記事数本は読んだ記憶が有りますね。共有ありがとうございます。
@hongminhee洪 民憙 (Hong Minhee) 오 어디서부터 하실껀가요? ㅎㅎㅎㅎㅎㅎㅎ
@ujuc우죽 그걸 모르겠어요. 😂
Hackers' Pub에서는 현재 PostgreSQL 드라이버로 Postgres.js를 쓰고 있는데, 문제는 이 드라이버가 OpenTelemetry 지원하지 않는다… 수동으로라도 계측 코드를 짜려면 훅이 필요한데, 훅 API도 들어올 예정이 없다.
그래서 PostgreSQL 드라이버를 아예 node-postgres로 바꿀까 싶기도 한데, 이미 @fedify/postgres 패키지가 Postgres.js에 의존을 하고 있기 때문에 한 애플리케이션에서 두 종류의 드라이버를 쓰는 꼴이 된다. 음, 아무래도 상관 없으려나?
@hongminhee洪 民憙 (Hong Minhee) 브라우저에선 엔진에 관계 없이 대부분 되는 기능이라 어라...? 했는데 노드가 문제였군요... https://github.com/nodejs/node/issues/51006
@nebuletoHaze 네, 그렇습니다. ㅎㅎㅎ
거의 7년 가까이 DevOps에서 손을 뗀 채 지냈더니 이제 DevOps를 어떻게 하는 건지 도통 모르겠다. 처음부터 다시 배워야 하는 상황.
내가 무슨 쿠버네티스를 쓰고 멀티 AZ 분산을 하고 로드밸런서를 붙이고 수평확장을 하고 매니지드디비를 쓰면 뭐하냐
클라우드프로바이더가 네트워크를 날려먹는데!!!!!!!!!! 아니 그러고도 그걸 감지를 못 해서 내가 티켓을 보낼 때 까지도 모르고 심지어 보낸 직후에도 모르고 몇 번 핑퐁을 해서야 상황파악하고 그 이후로도 해결에 4시간 걸린거 실화냐????????????
4일간의 테스트 지원 종료, 파견종료로 고객사를 나오면서, 함께 한 직원과 내돈내산으로 저녁을 먹었다. 파견나와 고생한 직원에 감사와, 고생한 나에 대한 셀프 보상으로 삼겹살 먹음. 😎
내일부터 다시 본사로 출근합니다.
Java (Spring) 프로젝트 끝. 다시 Node (Nest, Next) 프로젝트 시작합니다. 중년의 중소기업 개발자는 어느덧 21년째, 여전히 프로젝트를 먹고 삽니다.
@arkjunJuntai Park 고생 많으셨습니다!
`contentMap`タームについては、例えば日本語で1万文字程度の記事を7言語くらいに訳し分けるとして、本当にそれらを全て単一のオブジェクトに突っ込みたいのか? という感想がある
Mastodonとかは`content`と`contentMap`に同一の内容を入れていて、この場合は圧縮が効きやすいだろうとはいえ、やはりもう少しどうにかならなかったのかとは思ってしまう
`contentMap`タームについては、例えば日本語で1万文字程度の記事を7言語くらいに訳し分けるとして、本当にそれらを全て単一のオブジェクトに突っ込みたいのか? という感想がある
확실히 문서에 잘 정리해놓으니까 AI랑 협업하기가 수월한 것 같음. 개인 프로젝트에도 잘 해놓으면 아주 좋겠구먼
@joonnotnotJoon CONTRIBUTING.md 파일 하나 잘 작성해 두면 사람이랑 협업할 때 뿐만 아니라 LLM이랑 협업할 때도 도움이 많이 되더라고요. Hackers' Pub도 하나 마련해 뒀어요.
>most server implementations (Mastodon, Misskey, etc.) don't properly handle this content as of April 2025
How multilingual content should be handled, in your opinion? Specification doesn't provide any guidance on that matter.
>I'm considering several approaches:
I'd use (2) as primary representation and (3) as fallback.
(1) is fine too (FEP-e232 links could be used instead of inReplyTo, if top-level posts are preferable).
(4) should be avoided, because such content will be rendered as a long post with no clear boundaries between translations. I don't think <hr> is a good solution, and it's not widely supported (m).
How multilingual content should be handled, in your opinion? Specification doesn't provide any guidance on that matter.
It would be great if the existing implementations have language tabs for multilingual posts!
FEP-e232 links could be used instead of
inReplyTo, if top-level posts are preferable
FEP-e232 sounds a good idea! I'm considering that approach too.
(4) should be avoided, because such content will be rendered as a long post with no clear boundaries between translations. I don't think
<hr>is a good solution, and it's not widely supported (m).
I'm also considering using <details> as well. I'm not sure how many existing implementations support it though. 🤔
가장 선호하는 JetBrains IDE가 AI 시대에 뒤쳐지고 있어서 안타까웠는데 AI assistant 와 Junie 업데이트로 이제 좀 쓸만해진 것 같다.
여전히 부족한 점이 많기는 하다.
Agent는 느리고, 현재 상태에 대한 가시성이 없어 계속 기다려야할지 중단하고 새로운 세션을 열어야 할지에 대한 판단이 안선다.
prompt를 별도 관리할 수 있게 한 점은 훌륭하나 포맷이나 디렉토리를 유저가 선택할 수 있게 했더라면 더욱 유용했을 것이다. 나는 prompt가 다른 에이전트와 공유 가능하길 원한다.
vscode copilot처럼 Claude로부터 mcp 서버 설정을 불러올 수 있다. 하지만 역시 현재 상태 가시성이 없어 제대로 mcp 서버와 인터랙션이 되고 있는지 확인하기 어렵다.
그럼에도 불구하고 Cursor 나 Copilot에 충분히 대항할만한 업데이트라 생각한다. 앞으로를 응원한다!
https://www.jetbrains.com/ko-kr/junie/
同じ理由でfedify lookup -a https://www.threads.net/@usernameコマンドで正常に照会が出来ない。一方fedify lookup -a @username@threads.netコマンドは正常に動作。
ThreadsのアカウントがMisskey系からの検索がめちゃくちゃ難しいの、もしかしてアカウントのページ(https://www.threads.net/@アカウント)にtype="application/activity+json"なJSONファイルを用意していないから?
例えばこのアカウントだとhttps://c.osumiakari.jp/@oageoというページには<link rel="alternate" href="https://c.osumiakari.jp/users/9go1hrsqih" type="application/activity+json">が入っており、https://c.osumiakari.jp/@oageoを貼り付けるだけで外からでも簡単にアカウントの参照が出来るようになっている(はず)
Mastodonとかでも同様なんだけどThreadsには無さそう
Pleromaにも無いんだけど、Pleromaの場合は表示されているインスタンスのアドレス/user/ユーザー名でよしなに解決されるから問題ない。しかしThreadsにおいてはhttps://threads.net/ap/users/数字なので、解決されなさそう
@hongminhee洪 民憙 (Hong Minhee) 아 windows 환경이란걸 빠뜨렸군요 ;ㅁ;
어제 출시된 o3가 코딩스타일은 별론데 디버깅을 매우 잘한다고 한다.
위 계정은 HVM 만드는 사람의 것인데, 나는 새 모델이 나올때마다 저 사람이 하는 벤치마크를 체크한다. 사실 구체적으로 뭐하는지는 잘 모르는데,
- 충분히 어려운 과제로 테스트한다는 점
- 진짜로 자기가 할일을 대체할수 있는지 확인할만큼 밀어붙인다는점
- 결과를 세세하게 공유한다는 점
에서 참고할만하다.
@cheeaunChee Aun 🤔
@hongminhee洪 民憙 (Hong Minhee) Also, can one of you invite me to sign up on hackers.pub? I’d love to join the community there :)
@sensingturtleYash Ghelani
@cheeaunChee Aun 🤔 Sure! Let me know your email address.
Deno는 console.log()에서 %c 형식 지정자를 통해 간단한 CSS를 사용할 수 있다.
console.log("%cHello World", "color: red");
console.log("%cHello World", "background-color: blue");
console.log("%cHello World", "text-decoration: underline");
console.log("%cHello World", "text-decoration: line-through");
console.log("%cHello World", "font-weight: bold");
console.log("%cHello World", "color: red; font-weight: bold");
console.log("%cHello %cWorld", "color: red", "color: blue");
console.log("%cHello World", "color: #FFC0CB");
console.log("%cHello World", "color: rgb(255, 192, 203)");
위 코드는 아래처럼 출력된다:
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
Hello World
freelens 빌드 도중 svg로 해당 플랫폼에 맞는 icon을 생성하는 부분에서, sharp 라이브러리를 사용중인데, libvips의존성이 있어서 arm64에선 빌드가 불가능... ㅠㅠ
@quadr최치선 어라, 저 지금 linux/arm64 컨테이너 안에서 sharp 잘 쓰고 있어요!
오늘의 오픈소스 기여. Yarn은 참 잘 만든 소트웨어인 것 같다. 엉망진창인 자바스크립트 생태계를 공격적으로 수정해왔다는 점에서 정말 대단한데... 근데 그 생태계가 자정할수록 맞지 않는 부분이 계속 생기는 듯. https://github.com/toss/yarn-plugin-catalogs/pull/6




![A screenshot of a code editor displaying JavaScript code related to handling keyboard shortcuts and column navigation.
The keyboard shortcuts '[' and ']' will flip based on RTL setting.](https://files.mastodon.social/media_attachments/files/114/358/935/817/775/229/original/741fa8748d14a957.png)

![A GitHub PR on XiNiHa/solid-relay, titled "fix: warn correctly when loading more pages". Fixes the error: "Relay: Expected result to have a string `id` in order to refetch, got `function() { [native code] }`."](https://media.hackers.pub/note-media/eaa01391-ab0d-4742-9e6c-3376320222b8.webp)







