Profile img

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).

FedifyHolloBotKit、そしてこのサイト、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

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

PyCon JP 2025 후기

Jaeyeol Lee @kodingwarrior@hackers.pub

이 글은 PyCon JP 2025에 참가한 한국인 개발자의 생생한 후기를 담고 있습니다. 저자는 PyCon KR에 꾸준히 참여해왔지만, 해외 컨퍼런스는 처음이라 설렘과 기대를 안고 일본으로 향했습니다. 히로시마에서 열린 이번 행사에서 저자는 다양한 세션에 참여하고, Findy와 Python Asia Association에서 주최한 DrinkUp 파티, 그리고 PKSHA Technology의 파티에 참여하며 여러 개발자들과 교류했습니다. 특히 FastAPI 개발자인 tiangolo와의 만남, Neovim을 사용하는 데이터 엔지니어와의 공감대 형성, 그리고 Emacs 사용자에게서 느낀 위기감 등 재미있는 에피소드들이 인상적입니다. "Innovation is a side effect of solving problem"이라는 tiangolo의 어록은 깊은 인상을 남겼습니다. 이 글은 PyCon JP가 외국인을 위한 배려가 돋보이는 행사였으며, 다양한 주제의 세션과 네트워킹 기회가 많았음을 강조합니다. 다음 PyCon JP에 발표자로 참여하고 싶다는 의지를 밝히며, 한국 커뮤니티도 외국인이 즐길 수 있는 컨텐츠가 늘어나기를 바라는 마음을 전합니다.

Read more →
13
3

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

CSI Cyber 에피소드 정리 (1화 - 4화)

고남현 @gnh1201@hackers.pub

CSI Cyber 1화부터 4화까지의 주요 내용을 요약하면 다음과 같습니다. 1화에서는 홈 카메라 해킹을 통해 아이가 납치되는 충격적인 사건을 다루며 C&C 서버, 펌웨어, 악성코드 등 정보보안의 주요 개념을 소개합니다. 2화에서는 롤러코스터 프로포즈 중 벌어진 폭발 사고를 통해 블루투스 해킹, 하드웨어 해킹, 산업제어시설 해킹의 위험성을 경고합니다. 3화에서는 택시 호출 기록의 미스터리를 통해 악의적으로 설치된 공개 와이파이의 위험성을 보여줍니다. 마지막으로 4화에서는 IoT 해킹으로 인해 집 전체가 화염에 휩싸이는 사건을 통해 적절한 보안 처리가 되어있지 않은 와이파이의 위험성을 강조합니다. 이 드라마는 현실적인 정보보안 문제를 흥미롭게 풀어내어 시청자들에게 보안의 중요성을 일깨워줍니다.

Read more →
2

마인크래프트 내에 레드스톤으로 물리적으로 언어모델을 만든 사람이 나타남... 그러니까 간단한 디지털 회로도 아니거 언어모델을 만듬 ㅋㅋㅋ 외부 언어모델을 연결한것이 아닙니다;; 말그대로 트랜스포머를 구축해놨던데 세상은 넓고 천재는 많다... www.youtube.com/watch?v=VaeI...

I built ChatGPT with Minecraft...

1
4

타입시스템이 충분히 좋은 언어는, 특정 함수(타입을 만족하는 프로젝트 내의 아무 함수)를 CLI 바이너리로 빌드하는 기능을 one-liner로 지원할 수 있을 것이고, 그건 아마 지원할만한 기능일 것이다.

Context: Cabal의 어떤 내부 함수를 끄집어내서 CLI 툴로 만드는데 황금같이 귀중한 내 주말을 써야했다.

5
8
4
1
4
3

요즘 개발 스터디나 모각코가 예전만큼 열리지 않는 것 같다는 이야기를 나눴다. 바로 떠오른 게 페이스북이었는데, 페이스북을 사람들이 덜 쓰게 되면서 페이스북 그룹 같은 (접근성이 좋고 열려 있는) 모임 공간을 만들고 접하기 어려워진 게 크지 않을까 하는 생각이 들어 그렇게 말씀드렸다. 내가 그런 게 열리는 사회에서 멀어진 게 원인일 수도 있겠지만..

1

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

ChakraCore를 JSON 디코더 및 인코더로 활용하기

고남현 @gnh1201@hackers.pub

이 글에서는 .NET 환경에서 JSON을 처리할 때 기존 라이브러리가 가진 한계를 극복하고, JavaScript 스타일을 최대한 유지하면서 효율적인 JSON 입출력을 구현하기 위한 고민과 해결책을 제시합니다. 표준 라이브러리의 크기, 신뢰성 문제, 그리고 JavaScript 스타일과의 괴리를 해결하기 위해 ChakraCore 엔진을 활용한 방법을 소개합니다. ChakraCore 엔진을 통해 JSON 직렬화 및 파싱을 수행하는 C# 코드를 예시로 보여주며, 기존 .NET의 XML 처리 방식과 유사하면서도 JavaScript 스타일에 가까운 JSON 입출력을 가능하게 합니다. 이 접근 방식은 다른 프로그래밍 환경에서도 JSON 포맷 처리 시 유사한 문제에 대한 해결책을 제공할 수 있습니다.

Read more →
4

최근 하스켈 리포트를 보니, 언어 서버 지원이 뭔가 바뀌었답니다.

Hannes made hie-bios use Cabal’s --with-repl command to load the session, which greatly simplifies the implementation and its treatment of multiple home units

이런 게 있네요. 당연히 --with-repl 로 했어야 하는 것 아닌가, 기존에는 어떻게 했나 찾아보니, 각 툴들이 각자 도생하고 있었다네요. 명확히 동일한 환경으로 언어 서버가 실행되는 줄 알았는데, 아니었나 봅니다.

2

macOS Tahoe에서 일렉트론 애플리케이션이 말도 안되게 느렸던 이유는 Liquid Glass 도입으로 시스템에 전반적 연산이 늘어난게 아니라 Electron이 AppKit의 private API를 잘못 쓰면서 WindowServer에서 GPU를 미친듯이 쓴 것이었다.

https://github.com/electron/electron/pull/48376

5
3
1
4
4
3
13
1

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

Jenkins의 모든 Job 설정이 날아간 사건과 복구한 얘기

Juntai Park @arkjun@hackers.pub

Jenkins Job 설정이 전부 사라진 아찔한 사건과 이를 해결한 과정을 소개합니다. Jenkins를 사용하던 중 플러그인 충돌과 네트워크 정책 문제로 Job 설정이 초기화되는 문제가 발생했습니다. 원인은 특정 해외 mirror에 대한 접근 차단으로 인한 플러그인 설치 실패 및 기존 버전과의 충돌이었습니다. 서버 차단 정책을 수정하고 플러그인을 업데이트한 후, Jenkins 자체도 최신 버전으로 업그레이드하여 문제를 해결했습니다. 다행히 빌드 기록이 남아 있어 Pipeline Script를 복구하여 Job 설정을 복원할 수 있었습니다. 이 경험을 통해 Jenkins는 플러그인 의존도가 높고, 네트워크 환경에 민감하며, Job 설정 백업이 필수적임을 다시 한번 깨달았습니다. CI/CD도 코드처럼 관리해야 한다는 기본기를 상기시켜주는 계기가 되었습니다.

Read more →
5
2
6

Why doesn't Bash's programmable completion provide the cursor offset within the word being completed? With all the complexity around word splitting—shell quoting, escpaing, expansions—figuring out the intra-word cursor position by hand is a nightmare. Would it really be so hard for Bash to offer this info natively, rather than leaving script authors to replicate the shell's own parsing logic?

0
5
5

I've signed the Plan Vert letter, calling on Rails Core and the wider Ruby community to fork Rails and cut ties with DHH and his work.

Please sign, the future of Rails and Ruby depends on it. github.com/Plan-Vert/open-lett

1
1
6

lens 라이브러리의 타입들은 optics(광학기구)라고 불립니다. 여기에는 Prism, Lens, Iso, Traversal, Fold, Getter, Setter 같은 것들이 포함됩니다. 이 이름들 중 일부는 빛의 굴절에 대한 말장난에서 비롯되었습니다. 예를 들어, 렌즈(lens)는 망원경이 풍경의 작은 일부를 시야 가득히 채워 보이게 해주는 것이고, 프리즘(prism)은 흰빛을 분리하여 그 구성 색들을 드러내 줍니다. 어느 정도는 은유가 담겨 있지만, 이런 이름들은 깨달음을 주기보다는 귀여운 쪽에 가깝습니다. 따라서 이름 자체에 너무 깊이 집중하는 것은 권하지 않습니다.

— 《Finding Success (and Failure) in Haskell》, 158쪽

6
2
2
2

최근에 Apple의 Pkl에 옵션 추가하려 한 게 내 예상보다 스코프가 넓어서인지 SPICE(Pkl의 기능제안 프로세스인 듯) 작성해달라는 요청을 받았음. 문서 길이가 길어서 제미나이 CLI한테 내 PR 내용과 이미 있는 SPICE들 읽어서 작성해달라 요청했더니 소소한 실수 몇 개 빼고는 꽤 만족스럽게 작성해줬다!

https://github.com/apple/pkl-evolution/pull/24

3

AI와 함께 오라클 클라우드에 terraform으로 쿠버네티스 클러스터 올리기 해서 결국 성공했다... 맨날 콘솔로 만들땐 실패했었는데 역시 오라클은 자체서비스 믿지말고 무조건 외부서비스를 사용해야 한다는 생각이 더 강해졌다...

5
1
1

http://logitext.mit.edu/main 재미있는 웹 앱 중 하나. 논건 대수(Sequent Calculus)를 사용해 1차 논리("모든 대상에 대해"나 "어떤 대상이 있어"를 서술할 수 있는 논리)의 명제를 상호작용을 통해 증명해 볼 수 있다. 예를 들어 A /\ B -> A (A 그리고 B이면 A이다)를 증명하려면

  • 위 명제를 입력칸에 넣는다.
  • ->를 눌러 명제 안의 "이면"을 증명에서 쓸 수 있는 가정(|-의 왼쪽에 있는 것)으로 바꾼다.
  • 가정의 A /\B를 눌러 "그리고"의 양 측에 해당하는 가정 AB 각각을 얻는다.
  • 가정이나 결론의 A를 눌러 가정을 사용하는 것으로 증명을 끝낸다.

보다 입문자에게 친절한 설명은 http://logitext.mit.edu/tutorial 에서 읽어볼 수 있다.

4
4
4

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

2025 Q2/Q3 Review

Jaeyeol Lee @kodingwarrior@hackers.pub

이 글은 2025년 2분기 결산을 미루고 3분기에 몰아 작성한 개발자의 회고록입니다. 4월부터 9월까지 2~4주 단위로 굵직한 이벤트들이 연이어 발생하며 '업보 청산'의 시간을 보냈다고 합니다. 임금 미지급, 파이콘 발표 준비, Fedify 프로젝트 참여, UbuCon Korea 발표, PyCon KR 참여, Hackers' Public 주최, PyCon JP 참여 등 다사다난했던 3분기를 요약하고 있습니다. 특히 Fedify 프로젝트에 기여하며 NestJS 기반의 연합우주 소프트웨어 개발에 집중하고, Hackers' Public 밋업을 성공적으로 개최한 경험을 강조합니다. 현재는 수입이 거의 없는 상태이지만, 취업 준비와 외주를 병행하며 바쁘게 지내고 있습니다. Node.js 백엔드 엔지니어 또는 풀스택 엔지니어로서의 취업을 목표로 하고 있으며, 기술 면접 준비와 함께 OS 및 네트워크 관련 지식을 쌓고 있습니다. 마지막으로, 4분기에는 현재 진행 중인 프로젝트를 마무리하고 크리스마스 이전에 취업하는 것을 목표로 하고 있습니다.

Read more →
19

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

레코드 생성자

박준규 @curry@hackers.pub

하스켈에서 레코드 타입을 다루는 다양한 관용구를 소개하는 글입니다. 레코드 생성 시 `NamedFieldPuns`나 `RecordWildCards` 확장 기능을 활용하여 코드를 간결하게 만들 수 있으며, 레코드 필드에 접근할 때는 접근자 함수, 패턴 매칭, 또는 `RecordDotSyntax` 확장을 사용할 수 있습니다. 일부 패키지에서는 레코드 생성자를 숨기고 스마트 생성자를 제공하여 API를 제어하기도 합니다. 저자는 스마트 생성자보다는 레코드 생성자를 직접 내보내는 방식을 선호하며, 이는 하스켈 입문자들의 진입 장벽을 낮추고 코드 기여를 활성화하는 데 도움이 된다고 주장합니다. 장기적으로는 언어 차원에서 기본값을 가지는 필드를 지원하여 레코드 타입 정의를 더욱 유연하게 만들 수 있을 것이라는 전망을 제시하며, 이 글은 하스켈 패키지 작성자와 사용자 모두에게 유용한 정보를 제공합니다.

Read more →
5

너무 이른 시점에 일반화를 걱정하는 것은 위험할 수 있습니다. 자신이 코드를 작성하든 다른 사람의 코드를 이해하려 하든, 우리는 이 책에서 취한 접근 방식을 따를 것을 권장합니다. 즉, 일반적인 것부터 시작하지 말고 구체적인 예시부터 시작하세요. 그런 다음 그들이 어떤 측면을 공유하는지 관찰하세요. 학습자로서 이러한 순서는 더 쉬운 구체적인 예시를 토대로 더 어려운 추상적 개념을 이해할 기회를 더 많이 제공합니다. 저자로서 이러한 순서는 더 추상적인 발상이 타당성을 갖고 목적을 지닐 수 있도록 도와줍니다.

— 《Finding Success (and Failure) in Haskell》, 149쪽

6
2