Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub!

Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다.

FedifyHolloBotKit、そしてこのサイト、Hackers' Pubを作っています。

嗨,我是 FedifyHolloBotKit 以及這個網站 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
3
1
0

한 2년전부터 XState 대충 알고 쓰면서 느끼는 점들.

  1. 처음부터 정의가 verbose하고 그걸 작성하는게 수고로운건 알고있었다. 하지만 LLM을 믿고 쓰기로 결정했는데, 지금 2025년에도 여전히 LLM이 상태머신 설계를 잘 못한다. 얘한테 설계를 맡겨놓으면 뭐랄까, 성의가 없다고까지 느껴진다. 왜 그런거지?

  2. Snapshot은 subscribe할 수 있다. 근데 그 Snapshot을 유발한 Transition이 같이 전달이 안된다. 사실 이게 필요했던 핵심 기능이었어서 이게 안된다는걸 알고 매우 당황했다. Transition에 반응하는건 오로지 상태머신 내에 설계된 action을 통해서만 가능하고, 상태머신을 구독하는 쪽에서는 안된다. 왜 이렇지?

  3. 상태머신을 확장하는 방식이 제한적이다. 이미 정의해놓은 action, actor들을 다른걸로 override하는 방식을 제공하는데, 상속 비스무리하다는 점에서 한계가 느껴진다. 실제로 사용하면서도 그 한계를 느꼈다.

종합하면 아직까진 수지타산이 안 맞다.

3

開発チーム向けに書籍を買おうかと思うのですが、なにかおすすめありますか?
若手エンジニアの頃にこの本に出逢えてたらなぁ…という本とか。
あとは特に関係なく、ご自身が好きな本があれば知りたいです👀
的な…
これを書きながら「このSF小説にグッと来てエンジニアになったんだ!」とか、そんな話も聞いてみたいかも、と思った🦕

今期からスクラム開発を本格的に実践することになり、まずは自分とエンジニア向けにエッセンシャルスクラムを買うことにしました。
あとは新規事業開発部門ということもあり、エンジニアも知っておいて損はなさそうな本(私がコンサル時代に使ってた本)として、超速フレームワーク考える技術・書く技術は買う予定。

3
1
0
1
3
5
8
6
1
3
4

Biome v2—codename: Biotype is here! The first type-aware linter that doesn't require tsc

🔐 Type-aware lint rules
🧑‍🚒 Plugins
📚 Monorepo support
📝 Revamped, configurable import sorting
🧐 Linter domains
🙅‍♀️ Bulk suppressions
👩‍✈️ Analyzer assist

1
2
3
1
2
6
1
1

데이터에 대한 modality, 가령 동기/비동기, 더 나아가 캐시됨, 캐시되었지만 stale됨 등에 대해 일반적인(polymorphic) 함수를 만드려면 HKT가 필요하다. Relay와 같은 현존하는 JS 상태관리 라이브러리들은 저런 modality를 한번에 다 지원하는 대신, 확장에 열려있지 않는 구조로 되어있다. 타입을 제대로 지원못한다고 해서 구현을 못하는건 아닐테니, HKT 없음이 주된 이유는 아니겠지만 말이다.

2
2
6
2

아까 멘토링 시간에, Next.js가 점점 Vercel에 종속적으로 변해가는 모습에 사용자들이 점점 이탈하지 않을까 하는 질문을 했어요. 그랬더니 아직은 걱정할 필요 없다고 3~5년은 더 갈 거라는데, 개인적으로는 아직 잘 모르겠지만 Vite같은 번들러조차도 지원하지 않는데 Deploy까지 Vercel에 모든 것을 맡겨야 한다고 하면... 눈에 보이는 사용자 이탈에 3년도 안 걸리지 않을까 하는 생각을 조심스럽게 하고 있어요.

4
3

apsigの実装を今週中にある程度終わらせたかったんだけど早めに終わらせないといけない仕事があるのでそれを片付ける必要がある (仕事って書いたけど別に契約してるわけでもお金もらってるわけでもない、ただ個人情報扱ってるので個人的に優先順位高い)

2
1

그리고 하스켈 클라이언트 예제 코드에 해커즈 퍼브 주소를 은근히 적어 넣었다!(깨알 광고)

{-# LANGUAGE OverloadedStrings #-}

module Main where

import Data.Default
import Web.Finger.Client

query :: Query
query = def { qryTarget = resource }
  where
    resource = ResAccount (Account "curry" "hackers.pub")

main :: IO ()
main = do
  manager <- newManager
  result <- webfinger manager query
  print result
10

@bubbler 문서를 읽어보인 jj에서 브랜치는 git에서와 같이 끝점이 하나인거 같은데 맞을까요? darcs와 같이 브랜치에 '시작' 리비전도 있는 경우와 비교해서 질문드렸습니다.

2

지금은 아니지만 내가 HHKB 레이아웃을 쓰고 터미널에서 이것저것 하는 것 때문에 vim 에 대해 관심을 가지는 동료들이 있었다. 가장 쉽게 적용할 수 있는 것은 예쁜 터미널 에디터였고 그 첫 후보로 nvchad 를 추천 또는 설치해주었다. https://nvchad.com/ vscode 에서 이걸로 당장 넘어오라고는 당연히 못하고 터미널에서 코드 읽어 볼 때 사용하라곤 했다. 몇몇은 vscode 에서 vim 플러그인을 설치해 사용하기 시작했다. lazyvim 과 nvchad 를 번갈아 가며 쓰고 있다. siduck 의 미감은 훌륭하다.

타이머 패널은 마우스로 드래그할 수 있다.
5

오늘은 docker 환경에서의 원시적인 CI를 간단히 구축했다. C++ 프로젝트를 마운트해서 docker 안에 있는 toolchain으로 빌드해야 했는데, docker 안에서 수행할 script를 바깥에서 같이 마운트해서 다른 script로 호출하는 구조로 땜빵했다. 다른 부서원들이 편히 쓸 수 있어보여 만족스럽다.

bash script는 짤 때마다 앎이 넓어진다. 오늘 새롭게 배운 목록이다.

  • set -o pipefail로 nonzero exit code를 pipe를 통해서도 전파할 수 있다.
  • echo -e로 backslash를 확장해서 \e[1;33m 등의 색상을 적용할 수 있다.
  • cat은 기본적으로 색상출력을 지원하지 않는다.
  • grep -q는 조건이 부합되면 바로 종료되기 때문에 앞 프로세스의 입력을 다 받지 못할 수 있다.
  • 정말 오랜만에 printf%*를 써봤다.

작성하는데 테스트까지 1~2시간 정도 걸렸는데 요즘 AI라면 금방 끝내지 않았을까 싶다...

1
1
5
4

Existential Lens란걸 알게되었는데 정의는 다음과 같다

data Lens s a = forall c. Lens (s -> (c, a)) ((c, a) -> s)

돌무식 렌즈(get, set 레코드)보다는 좀더 어렵지만 Van Laarhoven Lens보다는 훨씬 더 직관적이라서 렌즈의 이해에 도움이 많이 되었다.

전체 설명은 요깄다.

7

어제부터 Jujutsu라는 버전 관리 시스템을 써보고 있습니다. git의 branch는 연속적인 단일 작업을 표현하는 느낌이 강하게 드는데 사실 그저 어느 commit을 가리키는 포인터일 뿐이라는 걸 느끼게 해주네요. Jujutsu에서는 같은 커밋에서 다음 커밋을 여러 개 만들면 그게 브랜치이고, 여러 커밋을 parent로 하는 커밋을 하나 만들면 그게 머지이고, 수정이 다 끝나면 그냥 원하는 브랜치 이름의 포인터를 적절히 옮기면 됩니다. 부분 변경을 커밋 간에 자유롭게 옮길 수 있는 것까지 합치면 재미있는 사용 방법이 많이 있을 것 같습니다. 특히 megamerge workflow를 쓰면 git 쓰다가 생겼던 "지금 하는 작업을 끝내야 다음 변경사항을 작업"하는 강박이 해소될 것 같아 기대가 많이 됩니다.

12
6
5
6
4

洪 民憙 (Hong Minhee) shared the below article:

RI 알고리즘 적용 작업중 잡담

Hyaline @hyaline@hackers.pub

기존 플러그인의 검색 알고리즘 속도 문제에 직면하여, Subgraph isomorphism 문제 해결을 위해 다양한 논문과 알고리즘을 탐색하고 RI, ArcMatch, VF3 등의 솔루션을 검토한 과정을 소개합니다. 특히 RI 알고리즘을 플러그인에 통합하는 과정에서 겪은 어려움과, 알고리즘의 복잡성 때문에 코드를 완전히 이해해야만 플러그인의 설계 의도에 맞게 수정할 수 있었다는 점을 강조합니다. Rider의 LLM 기능을 활용하여 코드를 분석하고 이해하는 과정을 거쳐, 재귀 없이 배열 기반으로 트리 순회하는 흑마술 같은 코드를 처음 접하며 겪는 혼란과 즐거움을 공유합니다. 타인의 오랜 노력이 담긴 결과물을 빠르게 습득하는 과정에서 느끼는 달콤함과 만족감을 표현하며, 이 경험이 과거 공부에 어려움을 겪던 자신에게 큰 동기부여가 되었을 것이라는 소회를 밝힙니다.

Read more →
2

日本語(일본어)에서는 「非推奬(비추장)」이라는 말을 쓴다는데, 韓國語(한국어)에서는 「推奬(추장)」이라는 말을 잘 쓰지 않으니 「非推薦(비추천)乃至(내지)는 「非奬勵(비장려)程度(정도)가 되려나? 듣고 보니 「止揚(지양)」 같은 말로 翻譯(번역)해도 좋을 것 같기도…?

2