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

ast-grep 알듯 모를듯.. 아래같이 하면 innerHTML prop를 넘겨주고, 여닫는 사이에 내용은 없지만 self-closing 안 하는 케이스들을 잡을 수 있겠다.

id: innerhtml-not-self-closed
language: tsx
severity: error
rule:
  all:
  - kind: jsx_element
    pattern: <$TAG $$$ARGS></$TAG>
    all:
    - has:
        kind: jsx_opening_element
        has:
          kind: jsx_attribute
          regex: innerHTML
    - has:
        kind: jsx_closing_element
fix: "<$TAG $$$ARGS />"
1

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

OSTEP 독학 일지 - H.1

Jaeyeol Lee @kodingwarrior@hackers.pub

본 기술 포스팅은 OSTEP(Operating Systems: Three Easy Pieces) 교재를 독학하며 xv6 커널 환경에서 시스템 콜을 구현하는 과정을 담고 있습니다. xv6 개발 환경 설정부터 시작하여, Hello World를 띄우고, 나아가 H.1 Intro Project 과제인 `getreadcount` 시스템 콜 구현에 대한 여정을 상세히 다룹니다. 시스템 콜 정의 방법과, 유저 모드와 커널 모드 간의 전환 과정, 그리고 각 코드 파일들이 어떻게 유기적으로 연결되는지를 `write` 시스템 콜을 예시로 들어 설명합니다. 특히, `readcount` 변수의 원자성을 보장하기 위해 `_Atomic` 지시어를 사용하고, 다중 프로세스 환경에서의 테스트를 통해 그 효과를 검증합니다. 이 글은 xv6 커널의 시스템 콜 구조를 이해하고, 실제 시스템 콜을 구현하며 발생할 수 있는 문제점을 해결하는 과정을 통해 운영체제에 대한 깊이 있는 이해를 제공합니다.

Read more →
8

sap 백엔드 쪽 디벼보다 알게 된 점: 노드 의존도가 정말정말정말정말 높다. 트라이얼판이라 그런거 같긴 한데...

SAP BTP의 CAP 환경은 백엔드·프론트 모두 Node.js 생태계에 강하게 의존한다. 백엔드는 @sap/cds 같은 Node 모듈을 통해 서비스·DB·브로커를 다루고, 프론트는 SAP UI5/Fiori Elements 모듈을 가져다 쓰는 구조다. 실질적으로는 프론트와 백 모두 Node.js 기반으로 구성된다고 보는 게 편할듯.

실무에선 자바로 구축한다고들 하는데 일단은 대충 트라이얼만 돌려보면 백에 자바로 간다는 정도지 노드 비중이 딱히 줄어들 거 같진 않은.

1
1
1
1
4

LLM에게 코딩 시키기, 요즘 바이브 코딩이라 불리는 일을 해 봤다. 동기는, 리니어 공간에서의 이미지 리사이즈 작업이 ImageMagick 같은 전문? 툴 없이 파이썬 라이브러리로만으로 가능한가? 라는 호기심.

의외로, 알려진 알고리즘을 적용하라는 지시에는 LLM이 매우 효과적으로 대응했다. 정형화되어 있는 작업은 그게 조금? 전문적이라고 해도 찰떡 같이 알아듣고 탬플릿처럼 코드를 만들어냈다. 거대 LLM은 지식의 범위가 매우 넓다고 절감했다.

오히려 문제는 쉽다고 예측했던 색영역 프로필 처리에서 일어났다. 존재하지 않는 메소드들을 계속 있다고 하며 라이브러리 버전 문제라고 우겼다. 제미나이도, chatgpt도 동일했다. 해당 라이브러리 문서를 직접 찾아보니, LLM들이 가져온 오브젝트는 유저에게 노출되지 않은 내부 C 코드에 있는 것들이었다.; 오브젝트는 내부를, 메소드는 문서화 되어 있는 API의 것을 조합해서 코드를 만들어 낸 것이었다.

인간 개발자는, 자기 전문 영역이 아닌 한 라이브러리의 내부 코드까지는 잘 보지 않는다. 즉 API 문서를 기반으로 작업을 해 나간다. LLM은 정반대였다. 오픈소스 라이브러리라면, 오히려 문서보다도 외부 문서화되지 않은 소스 코드가 더 잘 학습 되는 자료였던 것이다. 그 과정에서 라이브러리의 전체 동작 과정을 잘 파악할 정도는 아니었기에 동작하지 않는 코드들을 계속 만들어 냈고.

매우 흥미로운 경험이었다. LLM은 인간과는 전혀 다른 학습, 구성 과정을 통해 코딩한다. 요구-설계-개념-문서-코드 라는 단계는 LLM에게는 의미가 없다. 프로그래머들은 이제 이세돌 이후 바둑 기사들이 겪었던 충격과 비슷한 변화를 나름? 받게 된 듯 하다.

4

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

Rust 컴파일러 개발 관련 명령어 모음집

notJoon @joonnot@hackers.pub

이 글은 러스트 컴파일러에 기여할 때 자주 사용하는 명령어와 작업 흐름을 소개합니다. 기본적인 빌드 명령어부터 특정 컴포넌트만 빌드하는 방법, 테스트 실행 및 `--bless`, `--force-rerun` 플래그 활용법을 설명합니다. Stage 시스템(Stage 0, 1, 2)을 구분하여 각 Stage의 역할과 사용법을 안내하고, UI 테스트 작성 규칙과 에러 주석 문법을 상세히 다룹니다. 또한, 직접 컴파일러 실행, 디버그 어설션 활성화, 백트레이스 활성화 등 디버깅 명령어와 컴파일러 버그 수정 워크플로우를 예시와 함께 제시합니다. 마지막으로, 자주 발생하는 문제와 해결법, 빌드 시간 단축 방법, 디버깅용 환경 변수 설정까지 다루어 러스트 컴파일러 개발에 실질적인 도움을 제공합니다. 이 글을 통해 러스트 컴파일러 기여자들이 효율적으로 개발하고 디버깅하는 데 필요한 지식을 얻을 수 있습니다.

Read more →
11
1
6

We'd like to recognize the valuable contributions from two developers who participated in Korea's (Open Source Contribution Academy) program. Both contributors identified important gaps in 's functionality and documentation, providing thoughtful solutions that benefit the broader ecosystem.

@gaebalgom개발곰 contributed PR #365, addressing issue #353 regarding NodeInfo parser compatibility, originally reported by @andypiper. The issue arose when Fedify incorrectly rejected documents from snac instances due to overly strict version string parsing that required semantic versioning compliance. Their solution improves the fallback behavior in the parseSoftware() function to handle non-SemVer version strings by parsing dot-separated numbers and defaulting to zero for missing components. The implementation includes thorough test coverage for various edge cases, including single numbers (3), two-part versions (2.81), and malformed version strings. This fix provides immediate compatibility improvements across the fediverse while maintaining backward compatibility, and will be included in Fedify 1.9. The contribution serves as an interim solution, with a more comprehensive fix planned for Fedify 2.0 (issue #366), where the NodeInfo software.version field will be changed from the SemVer type to a plain string to fully comply with the NodeInfo specification.

@z9mb1wwj contributed PR #364, resolving issue #337 by adding practical examples for Fedify's custom collection dispatchers feature. Custom collections were introduced in Fedify 1.8 but lacked clear documentation for developers seeking to implement them. Their contribution provides a comprehensive example demonstrating how to set up custom collections for tagged posts, including proper routing patterns, pagination handling, and counter functionality. The example includes mock data structures, shows how to configure collection dispatchers with URL patterns like /users/{userId}/tags/{tag}, and demonstrates the complete request/response cycle using federation.fetch(). This work provides developers with a clear, runnable reference that reduces the complexity of implementing custom collections in ActivityPub applications.

We appreciate these meaningful contributions that help make Fedify more accessible and robust for the entire ActivityPub community.

3
0
0
4
8
0
2
8
2

... 지난번에 이야기했었는데 warp 터미널로 뭐 하다가 틀리면 가끔 기계한테 상황을 물어보는데 얘가 상황 분석한다고 커맨드 막 넣는걸 보니 오싹하더라고요. 그리고선 “이 명령으로 해결할수있어 할래? (y/n)" 이러는데 ....... 약간 스카이넷 작동시키는 느낌 .....

https://hackers.pub/@nyeong/01989d45-41f1-7bfa-8f0a-f46fbe8fbaba

3

공유가 조금 늦었습니다. 지난 8/10 오후에 있었던 Ubucon Korea 2025에서 발표한 “식탁보 프로젝트의 세계관 확장” 발표 자료를 공유합니다.

현재 리눅스 버전의 식탁보 프로젝트 개발을 진행 중에 있으며, PoC 당시에 사용하던 Bazel Starlark DSL을 대신하여 .NET Native AOT로 코드 베이스를 전환하는 것을 추진 중입니다.

그리고 올 연말 프리뷰 버전 공개를 목표로 계속 작업 중입니다. :-D

좋은 발표 기회를 마련해주신 한국 우분투사용자 그룹 관계자 여러분들께 다시 한 번 감사드립니다.!

https://forum.dotnetdev.kr/t/ubucon-korea-2025/13553

4
3

그동안 Conal이란걸 만들고 있었습니다. Classic FRP 라이브러리입니다.

또, 소개글 쓰려니까 머리 아파서, 클로드랑 즉석 팟캐스트를 열었습니다. 술술 읽혔으면 좋겠네요.

당장 프로덕션에 쓰려면 개선할 부분이 많습니다. 피드백과 기여 환영합니다.

8
4

이제 Amazon Kiro, Windsurf 등에서 dotnetdev-kr-custom.csharp으로 익스텐션을 검색하여 설치하면 VS Code가 아닌 다른 AI 코드 에디터에서도 최신 버전의 C# 언어 지원 익스텐션을 활성화해서 쓰실 수 있습니다.

개인적으로 Microsoft의 vscode-csharp 업스트림 태그를 추적해서 정기적으로 OpenVSX에 퍼블리싱하는 GitHub Action Workflow를 만들어서 가동 중이어서, 최신 태그가 올라오면 약 6시간 시차를 두고 자동 퍼블리싱되도록 구성했습니다.

스크린샷은 실제로 Amazon Kiro에서 .NET 10의 File-based App 프로그래밍 기능을 사용하는 예시 화면입니다.

VS Code 외의 환경에서 C 최신 언어 지원이 아쉬우셨던 분들께 도움이 되었으면 하여 시작하였고 소기의 성과를 낼 수 있게 되어서 기쁩니다. :-D

https://open-vsx.org/extension/dotnetdev-kr-custom/csharp

Amazon Kiro에서 .NET 10의 File-based App 방식으로 코딩하는 예시 화면
4
2
4
2
2
4
7
2
7
3
1
2
6
4
0
9
4
3
3
4
2
9
2