Profile img

Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub! My main account is at @hongminhee洪 民憙 (Hong Minhee) :nonbinary:.

Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다. 제 메인 계정은: @hongminhee洪 民憙 (Hong Minhee) :nonbinary:.

FedifyHolloBotKit、そしてこのサイト、Hackers' Pubを作っています。私のメインアカウントは「@hongminhee洪 民憙 (Hong Minhee) :nonbinary:」に。

Website
hongminhee.org
GitHub
@dahlia
Hollo
@hongminhee@hollo.social
DEV
@hongminhee
velog
@hongminhee
Qiita
@hongminhee
Zenn
@hongminhee
Matrix
@hongminhee:matrix.org
X
@hongminhee

@kakkokari_gtyih(仮) 様々な機械翻訳サービスを使ってみましたが、Google翻訳やPapagoのような従来の機械翻訳サービスより、DeepLやKagi翻訳のようなLLMベースの翻訳サービスのほうが品質がずっと良かったです。個人的には、Kagi翻訳が無料なうえに最も品質が良いので使っています。(韓国語↔日本語基準)

1

Today new apmodel features:

  • User can add and override (required inheritance the class) own model to loader (core models is can't override, show warning)
  • apmodel supports to preload json-ld schema from local (example, schema.org, activitystreams 2.0)
5

컴포넌트 새로 만들다가 써야할 함수를 급하게 날림으로 짜고 남겨뒀던게 기억나서 에이전트한테 테스트 짜달라고 했더니,

주석으로 테스트 대상 코드에 문제 있다고 줄줄이 적어놔서 뭐냐니까 svelte lune mode를 못 알아먹은 거였다. 미덥잖아서 다른 에이전트에 리뷰 던지니까 이번엔 deprecated 된 놈*으로 바꿔야 한다며 … 아주 그냥 쌍으로 환각 파티를 벌이는구만

나도 모르게 감정 이입을 했는지 deprecated 명시한 문서를 던져주니까 한 놈은 수긍하고 한 놈은 끝까지 우긴다 🤣

SvelteKit 2.12: $app/stores deprecated $app/store/page$app/state/page

1
1
3
0
0

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

컴퓨터공학에서 사용하는 회귀(Regression, 回歸) 라는 용어에 대해

JakeSeo @jakeseo@hackers.pub

이 글은 컴퓨터 공학에서 '회귀(Regression)'라는 용어가 사용되는 두 가지 주요 맥락, 즉 머신러닝과 소프트웨어 테스팅에서의 의미를 명확히 구분하여 설명합니다. 머신러닝에서는 변수 간의 관계를 모델링하여 값을 예측하는 기법을 의미하며, 그 기원과 함께 집값 예측 예시를 들어 이해를 돕습니다. 반면 소프트웨어 테스팅에서는 과거의 버그가 재발하는 현상을 검증하는 과정을 지칭하며, 개발이 '뒤로 회귀했다'는 표현으로 설명합니다. 이 글을 통해 독자는 회귀라는 용어가 가진 다의성을 이해하고, 각 분야에서 어떻게 활용되는지 명확히 파악할 수 있습니다.

Read more →
4
2

굉장히 오랜만에 들어와서 쓰는 근황입니다.

  • TIS-100의 모든 레벨을 클리어했습니다. 다음 목표는 아마 Opus Magnum 아니면 A=B가 될 것 같습니다.
  • 올해 여름부터 지금까지 7문제를 백준에 출제했습니다. 여기의 맨 아래에서 보실 수 있습니다. 개인적으로 가장 재밌었던 문제는 SWAP-C Sort인데 그만큼 어렵습니다.
  • 웹 기반으로 뭔가 만들 게 생겨서 프레임워크를 알아보다가 Solid를 써보기로 결정했습니다. 웹 UI는 Flowbite, 그래픽 요소는 Konva를 쓰게 될 것 같습니다.
  • 그런데 이쪽을 첫삽을 뜨기도 전에 갑자기 굉장히 어려운 퍼즐틱한 문제 하나의 풀이가 완성되어서(....) 논문(?!)을 하나 쓰기 시작했습니다. 이런 거 받아주는 저널 어디 없을까요(????)
3
1

오는 11() 8() 光云大學校(광운대학교)에서 開催(개최)되는 FOSS for All 컨퍼런스 2025에서 제가 〈야크 셰이빙: 새로운 오픈 소스의 原動力(원동력)〉이라는 主題(주제)基調演說(기조연설)을 하게 되었습니다!

올해 처음 열리는 FOSS for All 컨퍼런스는 “Free and Open Source Software for All”이라는 슬로건 아래, 모두를 ()한 오픈 소스 컨퍼런스를 目標(목표)로 하는 非營利(비영리) 오픈 소스 커뮤니티 컨퍼런스입니다.

파란色 背景의 FOSS for All 컨퍼런스 2025 發表者 카드. 右側 아래에는 發表者 洪民憙의 寫眞이 있고, 中央의 흰色 말風船 안에는 「Keynote」라는 文句와 함께 發表 題目 〈야크 셰이빙: 새로운 오픈 소스의 原動力〉이 쓰여 있다.
15
0
0
2

근데 Hollo를 한 번 날 잡고 제대로 살펴보긴 해야 할 것 같다. 요즘 너무 자주 죽어서…

전반적인 설계는 Hackers' Pub과 유사한데 (물론 Hackers' Pub이 나중에 만든 거라 좀 더 낫긴 함), Hackers' Pub은 멀쩡한 반면 Hollo는 자주 죽는 게 이상하다.

6

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

2025년 연말, 중소기업 개발자 채용에 대한 단상

Juntai Park @arkjun@hackers.pub

회사의 면접 과정에 참여하면서 신입 개발자 채용의 어려움을 실감하게 되었다는 내용입니다. 지원자들의 높은 경쟁률과 뛰어난 스펙, 열정적인 준비에 감탄하면서도, 채용 인원의 제한으로 인해 안타까움을 느낍니다. 만약 자신이 지금 신입 구직자라면 합격하기 어려울 것이라는 생각과 함께, 20대든 40대든 모두가 버티고 배우며 나아가야 할 시기임을 강조합니다. 40대 중반 개발자의 주관적인 관점이지만, 현재 개발자 채용 시장의 현실을 엿볼 수 있는 글입니다.

Read more →
2
0

@kanghyojun강효준 일단 종단 타입 안전성(end-to-end type safety)가 지켜지는 거랑 프런트엔드 쪽에서 골치아픈 캐시 무효화 등을 대부분의 경우에 신경 안 써도 되게 해주는 게 큰 것 같아요. 아, 그리고 Relay랑 같이 쓰고 있는데 뷰의 데이터 의존성이 같은 파일 내에 위치하는 것도 중요한 것 같고요!

1
3
0
2
4

아무래도 대 LLM 시대에 스키마 지향적인 삶을 살아야한다고 생각이 듦과 동시에 원래 사용하던 protobuf 외에도 trpc와 graphql 모두 검토를 진행중. 백엔드, 프론트엔드간 필드 마이그레이션 문제는 결국 다 필연적으로 마주치게되는 것 같고 어떤식으로 해결하거나 감내할것인지 결정하는게 중요할것 같다.

2

아무래도 대 LLM 시대에 스키마 지향적인 삶을 살아야한다고 생각이 듦과 동시에 원래 사용하던 protobuf 외에도 trpc와 graphql 모두 검토를 진행중. 백엔드, 프론트엔드간 필드 마이그레이션 문제는 결국 다 필연적으로 마주치게되는 것 같고 어떤식으로 해결하거나 감내할것인지 결정하는게 중요할것 같다.

2
3
4

프로젝트 시작전에, tRPC의 도입을 고민하다가, 학습비용과 프로젝트 기간에 대한 압박이 있어서 일단은 쓰지 않고 진행하고 있는데, Client와 Backend에서 타입일치를 위해서, 동일한 모델 선언이 반복적으로 일어나다 보니 (한쪽의 모델을 참조해서 쓸 수 있게 반쯤 자동화되어 있기는 하지만) 다음에는 (tRPC가 아니라도, 타입불일치를 막을 수 있는 어떤 장치나 무언가를) 도입해야겠다는 생각이 든다.

3

Interesting poll results! I didn't expect Attoparsec to go toe-to-toe with Megaparsec.

So I did some digging into based programming language projects on Github, and here's what I found (lexer and parser mentioned separately, if different):

- Purescript: handwritten + Happy
- Elm: handwritten
- Agda: Alex + Happy
- Dex: Megaparsec
- Carp: Parsec
- Dhall: Megaparsec
- Grace: Megaparsec + Earley
- Plutus: Megaparsec
- Grin: Megaparsec
- Futhark: Alex + Happy
- Granule / Gerty: Alex + Happy
- Kaleidoscope: Parsec
- Egison: Megaparsec
- Amulet: Alex + Happy
- Paskell: Parsec
- Facet: Handwritten + Parsec
- Eclair: Megaparsec
- Olifant: Megaparsec
- Shellcheck: Parsec
- Nixfmt: Megaparsec

It seems like Megaparsec is the clear winner when it comes to parsing programming languages in Haskell. However, if I focus on projects that parse file formats and network protocols, Attoparsec is the most popular one.

1
4

작은 SI 중소기업의 신입,주니어 개발자 채용공고에 왜 이렇게 지원자가 많은가 (약 600명이 넘는 지원자가 몰렸다.) 채용시장이 많이 안좋은가 의문을 갖고 있었는데, 문득 (혹시나) 회사의 복지정책 중 하나인 간식무제한제공때문이 아닐까 하는 생각이 들었다. (일단은 인하우스 개발인 점도 한몫하겠지만)

3
0

I making next-version of apmodel, that uses pydantic for better validation and better loader.

Currently, this feature is either not implemented or not fully implemented:

  • export to json is not avaliable

Additionally, some models have not been migrated to pydantic, so they cannot be used properly.

If you interested this, can read this branch: https://github.com/fedi-libs/apmodel/tree/pydantic

洪 民憙 (Hong Minhee) replied to the below article:

Fresh와의 안 좋은 첫 만남: @fedify/fresh 제작기 - 1

개발곰 @gaebalgom@hackers.pub

Deno 팀에서 개발하는 Fresh 프레임워크를 Fedify 프로젝트에 통합하는 과정에서 겪은 문제점을 공유합니다. Fresh 2.X 버전으로 업데이트되면서 기존 코드와의 호환성 문제가 발생했고, Fedify 패키지 구조 변경으로 인해 Fresh 통합을 위한 별도 패키지를 만들어야 했습니다. 개발 환경 설정 중 `node_modules` 관련 오류와 Preact 렌더링 문제가 발생했으며, Fedify 미들웨어 적용 시 Vite의 SSR Module Runner가 CJS를 지원하지 않아 서버 실행에 실패했습니다. Vite 설정에서 외부 의존성을 지정하여 개발 서버 문제를 해결했지만, 빌드 후 실행 시 CJS 관련 문제가 다시 발생하여 Rollup 옵션을 조정해야 했습니다. 이 글은 Fresh와 Fedify를 통합하려는 개발자들이 겪을 수 있는 어려움을 해결하는 데 도움이 될 것입니다.

Read more →
4
0

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

Fresh와의 안 좋은 첫 만남: @fedify/fresh 제작기 - 1

개발곰 @gaebalgom@hackers.pub

Deno 팀에서 개발하는 Fresh 프레임워크를 Fedify 프로젝트에 통합하는 과정에서 겪은 문제점을 공유합니다. Fresh 2.X 버전으로 업데이트되면서 기존 코드와의 호환성 문제가 발생했고, Fedify 패키지 구조 변경으로 인해 Fresh 통합을 위한 별도 패키지를 만들어야 했습니다. 개발 환경 설정 중 `node_modules` 관련 오류와 Preact 렌더링 문제가 발생했으며, Fedify 미들웨어 적용 시 Vite의 SSR Module Runner가 CJS를 지원하지 않아 서버 실행에 실패했습니다. Vite 설정에서 외부 의존성을 지정하여 개발 서버 문제를 해결했지만, 빌드 후 실행 시 CJS 관련 문제가 다시 발생하여 Rollup 옵션을 조정해야 했습니다. 이 글은 Fresh와 Fedify를 통합하려는 개발자들이 겪을 수 있는 어려움을 해결하는 데 도움이 될 것입니다.

Read more →
4
0

새로운 서비스를 실험하고 있는데요.

너무 연속으로 컨텐츠를 봐서 피로해지는 서비스가 아닌, 어쩌다 접속해서 멍 때릴 수 있는 서비스를 고민하며 기획을 했습니다. 가끔 버스 창밖을 바라보며 멍때리는 것처럼요. 멍때리다 창밖의 간판들이 가끔 눈에 들어 오듯, 글이나 낙서가 눈에 띄면 어떨까 싶어서, 초기 인연이 있는 분들에게 부탁해서 다양한 글을 좀 채워 넣으려 했습니다. (AI로 목업을 채워 넣으면 맛이 없을 것 같아서, 실제 다양한 사람들의 글을 원했습니다.) 이게 매우 어려운 벽이다를 실감하고 있습니다.

  1. SNS 성격의 서비스는 이용하기 싫다.
  2. 이미 이용 중인 SNS가 여러 개라, 또 추가하기 싫다.
  3. 로그인 해서 보니, 그다지 나한테 맞지 않는다.
  4. 몇 번 로그인해서 봐도 흥미가 생기지 않는다.
  5. 가끔 접속해서 보는 소소한 재미가 있을지도 모르겠다.
  6. ...

0번은 어차피 제외고, 초기 지인 분들은 적어도 3번까지는 가 주길 기대했는데, 1번조차 넘질 못하고 있습니다. 쓸만한 서비스 혹은, 기획을 조정하면서 고민해 볼 가치가 있는지 보기 위해선, 그래도 1번은 넘어 가야 뭘 할텐데 말입니다. 부탁을 받은 지인들 조차 1번을 넘기 어려운데, SNS 서비스를 홍보한다는 건 꽤 험난한 길이겠습니다.

처음 제가 해커스펍의 1번 문턱을 넘었던 이유를 생각해보면, 저는 사람이었던 것 같습니다. 같은 직군에 있는 사람들이 모여 있어, 대화가 잘 통할 것 같아서 선뜻 들어 온 게 아닐까 싶습니다. 몇 달을 써 보면서 결론은, 해커스펍은 분명 자기만의 영역이 있는 서비스란 생각이 듭니다. 좋다는 생각을 가지기 까지는 좀 써봐야 아는 건데, 해커스펍이 꽤 어려운 걸 돌파했구나란 생각이 듭니다.

혹시 ikariam이라는 게임을 즐겨 본 분 계신가요? 그거, 은근 재밌게 했는데, 주변에서 제가 하는 걸 보더니 "어떻게 그런 게 재밌냐"고 묻는 사람들이 대부분이긴 했습니다. 오랜만에 찾아 보니 아직도 ikariam은 잘 살아 있네요. 멍때림이 싫지 않은 사람들이 분명 있긴 있을텐데, 어떻게 그 분들을 찾아 1번을 넘어가게 할까 고민이네요.

9

몇 년 동안 Haskell 프로젝트를 빌드할 때 Stack만 써 왔는데, 요즘에는 Cabal도 괜찮아진 것 같아서 Cabal에 hpack 정도만 얹어서 써볼까 싶기도 하다.

2

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

참 쉽죠?

박준규 @curry@hackers.pub

하스켈(Haskell) 프로젝트를 처음 시작하는 사람들을 위해, `cabal`을 이용한 간단한 실행 파일 생성 과정을 소개합니다. 이 글은 `ghc`와 `cabal`이 `ghcup`을 통해 이미 설치되었다는 전제하에, 프로젝트 디렉터리 생성부터 기본적인 파일 구조 초기화, 그리고 빌드 및 실행까지의 단계를 최소한의 노력으로 빠르게 따라 할 수 있도록 안내합니다. `cabal init` 명령어를 사용하여 프로젝트를 초기화하고, 생성된 `app/Main.hs` 파일을 통해 "Hello, Haskell!"을 출력하는 예제를 통해 하스켈 개발의 첫걸음을 쉽게 내딛을 수 있도록 돕습니다. 이 글은 복잡한 설정 없이 하스켈 프로젝트를 시작하고 실행하는 기본적인 방법을 제시하며, 독자들이 하스켈의 세계에 더 쉽게 접근할 수 있도록 돕는 것을 목표로 합니다.

Read more →
9

I'm working my way through the Web Browser Engineering book (by Pavel Panchekha & Chris Harrelson), but I'm using asyncio for my implementation instead of the book's examples.

I hit a roadblock in Chapter 2, which introduces tkinter. How do you make tkinter's event loop and asyncio's event loop play nicely together?

A bit of research led me to this fantastic library, async-tkinter-loop, which seems to solve this exact problem. Sharing in case anyone else is on a similar journey!

P.S. If you're curious, the repository I'm working on is here: https://codeberg.org/hongminhee/hongju.

2
1

Ghost 라는 도구를 self-hosted 로 직접 구동하려고 하는데, 설치 사용자 경험이 무척 안좋다. 좀 더 정확하게는 강결합되어 있는 Tinybird라는 도구의 설치 사용자 경험이 매우 안좋다. 딱 2시간만 더 써보고 기대/예상대로 동작 안 하면 포기해야겠다.

4

I making next-version of apmodel, that uses pydantic for better validation and better loader.

Currently, this feature is either not implemented or not fully implemented:

  • export to json is not avaliable

Additionally, some models have not been migrated to pydantic, so they cannot be used properly.

If you interested this, can read this branch: https://github.com/fedi-libs/apmodel/tree/pydantic

3
1

git worktree로 작업하고 변경 사항 가지고 오려고하면 같은 로컬 머신에 디렉토리에 있는 변경사항인데 remote 리포지토리까지 거쳐야하는게 참 멀리 돌아온다! 라는 생각을 하다가 worktree 작동 특성상 걍 git 명령어로 cherry pick 혹은 switch가 되어야하지 않을까 싶어서 써보니 잘된다.

역시 설명서를 잘 읽어야…

2
5
1
11

Gleam의 흥미로운 점 두 가지.

  1. 함수 오버로딩도 인터페이스 다형성도 타입클래스도 없다. 심지어 이건 기본 타입과 연산자에서도 동일해서 정수 타입인 Int와 부동소수점 실수 타입인 Float는 사용하는 연산자가 다르다! 실수 두 개를 더하려면 5.0 + 3.0이 아니라 5.0 +. 3.0이라고 써야 한다. https://tour.gleam.run/basics/floats/
  2. 위의 링크를 눌러 보았다면 눈치챘을지도 모르겠지만, Gleam에서 0으로 나누기는 에러가 아니다! 이건 정수와 실수 모두 동일하며, 그렇다고 Infinity-Infinity, NaN 따위가 나오는 것도 아니다. Gleam에서 a / 00이다.
2
10

After being a dedicated Vim/Neovim user for over 20 years, I somewhat reluctantly switched to VS Code about five years ago when I started coding in TypeScript, mainly pulled in by its ecosystem. However, I've recently started using , and I'm incredibly satisfied. One of the biggest reasons I always loved Vim/Neovim was its lightweight and fast performance. Zed feels like it captures the best of both worlds: it's modern and feature-rich like VS Code, yet remains as light and responsive as Vim.

4