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
0
2
2
1
4
1
1
0
0
3
1
4
3
2
1

Gleam 언어는 뭔가 별다른 복잡한 요소가 없어서 오히려 재밌는 구석이 있는 것 같다. 제네릭 말고는 별다른 다형성 기능이 없어서 오히려 설계를 고민하게 만든다던지. 서브타입도 타입클래스도 없으니까 제네릭 인자로 넘긴 타입에 뭔가 연산을 하고 싶으면 반드시 호출하는 쪽에서 연산에 필요한 함수를 그때그때 전달해야 한다. TypeScript의 any 타입처럼 gradual typing이 지원되는 것도 아니라서 정 타입시스템을 우회하고 싶으면 그때그때 Dynamic 타입으로 인코딩과 디코딩을 거쳐야 한다. Erlang 기반이니까 액터를 끌어다 쓸 수 있기는 하지만 아무래도 다른 언어에서 그냥 객체를 정의하고 메서드를 부르는 것보다는 무겁게 느껴진다. 액터라고 해서 타입이 아예 없는 것도 아니고.

2
3
2
1
0
2
3

데이터 애플리케이션 중심 설계를 읽고 있는데, 이걸 읽다보니 간혹 유튜브 스트리밍에서 채팅 순서가 내가 채팅방에서 보는 거랑 실제 방송 화면에 표기되는 게 다르게 나왔던 부분이나 새로고침 했을 때 댓글이 사라졌다 생겼다 하는 이유를 어느정도 추측해볼 수 있게 된 것 같다. 물론 완전히 그 이유 때문인지는 모르겠지만, 그런 이유가 아닐까? 하고 지레 짐작 해볼 수 있는 감이 생긴 것 같다.

4

포스트를 보고 있자니... 11월 말에 해볼까 말까 고민중인 실험:

DGX Spark 가 1.5 Kg 정도 됩니다. 그런데 전원이 240W C타입입니다.

240W 전원 어댑터랑 이것저것 챙기면 대략 5Kg 내외로 들고다니는 GPU 환경이 되는데, 이 예민한 기계를 안전(?)하게 들고 다닐 파우치 좀 알아보고 한번 집행해볼까 싶네요.

포터블 모니터, 키보드, 마우스, 각종 케이블, 집 열쇠, 지갑, 등등을 챙기면 5Kg면 되겠지...

이제 240W 출력이 나오는 보조배터리만 구하면 진짜 포터블이 되는데... (모니터 출력 정도 버티는 보조배터리는 이미 있고)

(겸사겸사 폐쇄망 테스트도 되겠군...)

3
2
2

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

🐶 Husky 물론 멍뭉이얘기는 아닙니다. 하지만!

조내일 @tomorrowcho@hackers.pub

이 글은 사이드 프로젝트에 Husky를 도입한 경험을 바탕으로, Husky의 배경과 필요성, 그리고 실제 적용 방법에 대해 상세히 설명합니다. Git Hooks 설정의 어려움을 해결하기 위해 개발된 Husky는 npm 패키지 형태로 제공되어 팀원 간의 일관된 Git hooks 환경을 구축할 수 있게 해줍니다. 특히, 배포 전 빌드 실패를 방지하는 데 효과적이며, 커밋 전에 자동으로 코드 검사를 실행하여 실수를 줄여줍니다. Husky 적용 가이드에서는 필요한 패키지 설치부터 lint-staged 설정, ESLint 및 Prettier 설정 파일 구성, 그리고 팀 협업을 위한 팁까지 자세하게 안내합니다. 실제 테스트 시나리오를 통해 Prettier 자동 수정과 ESLint 커밋 방지 기능을 검증하며, Husky와 lint-staged가 코드 품질을 효과적으로 관리하는 것을 보여줍니다. 이 글은 코드 컨벤션 준수를 자동화하고 코드 리뷰 효율성을 높이는 데 기여하는 Husky의 가치를 강조하며, 팀 프로젝트의 생산성 향상에 도움이 될 수 있음을 시사합니다.

Read more →
2
1
3

브라우저 스터디할 때 keep-alive 기능 구현하는 거와 관련해서, 성능 측정하는 코드는 필요하겠다 싶어서 TCP handshake 비용 측정하는 코드 짜달라고 Claude Code한테 시켜줬는데 잘 짜줌. 다른건 손으로 직접 실습을 하더라도, 실험 환경 만드는 귀찮은 작업은 LLM한테 시키면 만사가 편안하다...

TCP handshake 비용을 측정하는 코드가 실행된 모습
2

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

브라우저 스터디 기록 (1)

Jaeyeol Lee @kodingwarrior@hackers.pub

이 글은 Web Browser Engineering 교재를 독학하며 연습문제를 풀이하는 과정을 담고 있습니다. 저자는 추상화 수준에 대한 고민을 드러내며, URL 클래스의 request 메서드 대신 Connection 클래스를 도입하여 소켓 관리를 더 자연스럽게 처리했습니다. 또한, 타입 힌트 적용과 pytest를 이용한 유닛 테스트 환경 구축 등 실습 환경을 풍성하게 구성하는 데 LLM의 도움을 받아 효율성을 높였습니다. 연습문제 풀이에서는 keep-alive 지원의 중요성을 강조하며, TCP handshake 비용 절감 여부를 직접 실험해볼 것을 권장합니다. 리다이렉션 문제에서는 Location 헤더의 다양한 케이스 처리와 최대 리다이렉션 횟수 제한을 고려해야 함을 지적합니다. 캐싱 문제에서는 Cache-Control 헤더의 다양한 옵션에 대한 처리 방법을 제시하고, 압축 문제에서는 Transfer-Encoding: chunked 헤더 처리의 중요성을 강조합니다. 전반적으로 이 글은 단순한 문제 풀이를 넘어, 브라우저 엔진의 동작 원리를 깊이 이해하고 실제 코드에 적용하는 과정을 보여줍니다. 독자들은 이 글을 통해 연습문제 풀이에 대한 힌트를 얻을 뿐만 아니라, 브라우저 개발에 대한 실질적인 인사이트를 얻을 수 있을 것입니다.

Read more →
7
1
1

最近ずっと忙しくてどの勉強会にも参加できなかったんだけど、自治体が後援してるシビックテックcivic techの講座を紹介してもらって、今日その初回に参加してきた!楽しかった!
シビックテックって名前だけ知ってたけど、参加して分かったのは、今までアカデミア側から関わってきたcitizen scienceとちょっと似てるかも。あとOpen dataとかOSSとか技術の民主化とか、なんだかFediverseで遊んでるときの感覚とも近くて、良い〜✨となった。

2
3
2
4

Been thinking about fediverse wiki after @2chanhaeng초무 mentioned it today. Some ideas:

  • Cross-instance page linking: [[Page Title@other-instance.wiki]]
  • Edit pages on other instances with your home account
  • Fork pages across instances: [[Page@instance-a.wiki]][[Page@instance-b.wiki]], sharing edit history up to the fork point
  • Merge forked pages later when needed

The fork/merge model feels natural for federated collaboration. Thoughts?

3

드디어 Chazzy에서 유튜브 라이브 채팅도 볼 수 있게 만들었다.

사실 로그인 없이 유튜브 라이브 방송의 채팅을 가져오는 건 불가능하다고 생각하고 있었는데... 별 기대 없이 Claude Code한테 요청했더니, 비공식 API 라이브러리 Youtube.js로 몇 시간의 티키타가 끝에 동작하는 상태로 우당탕탕 구현해줌... 너무 우당탕탕 구현해줘서 뒤처리가 조금 오래 걸렸는데 아무튼 돌아가는 거 보니까 그것마저 재밌긴 하더라.

p.s. 근데 이번에 eslint 제대로 돌려 보니까 나부터 우당탕탕 짜고 있었어서 남말 할 처지가 아니었다

2
1

"Here are some of the projects the @sovtechfundSovereign Tech Agency has recently commissioned work on: Scala, SDCC, Let's Encrypt, Servo, chatmail, Drupal, Fedify, openprinting, PHP, Apache Arrow, Open SSL, R Project, Open Web Docs, conda, systemd, and phpseclib"

sovereign.tech/news/newsletter

I'm proud to be a part of the team of program managers working on the @sovtechfundSovereign Tech Agency 's side of these projects.

Germany's Sovereign Tech Agency identifies and reviews potential open source software technologies that come into question for commissioning. We accompany the projects, all the way, from the initial proposal to the awarding of the contract through to successful completion of the milestones.

If you are a software developer working on a core open source project, don't hesitate to apply at the Sovereign Tech Fund: sovereign.tech/programs/fund

2

Dear @gotosocial users: we see you, even though you can't see us! 🥲

Well, you can see this account. But any accounts hosted on encyclia.pub aren't visible to you.

The way we use @fedifyFedify: ActivityPub server framework, the ActivityPub framework that powers our connections, uncovers some issues in the code. Curious fedi developers can find details here: github.com/fedify-dev/fedify/i

Attempts at workarounds have sadly been fruitless, so please join us in waiting for a fix in Fedify. ❤️‍🩹

By the way:

As a consumer of the public ORCID API, Encyclia is not allowed to generate revenue. To be on the safe side, we don't accept donations either. However, we are happy to be making a modest contribution out of our private pockets to @fedifyFedify: ActivityPub server framework on @opencollective here: opencollective.com/fedify

If you'd like to donate some money to improve Encyclia's functionality and reliability, @fedifyFedify: ActivityPub server framework is the best place to do so! 🙂

2
3

이런 생각이 받아들여지는 데에는 시간이 많이 걸릴 거라고 생각했는데… AWS 먹통 사태에 대한 사람들의 반응이 생각보다 뜨겁네요. 생각보다 될 것 같기도 하네요.

그러므로 다 같이 외쳐

  • 클라우드는 없다! 남의 컴퓨터 거부하자!
  • 분산을 집중으로 되돌리는 역사의 퇴행 AWS 물러가라!
  • 서버는 기본권이다! 집집마다 서버를! 모든 어린이에게 서버를!
  • 내 컴퓨터 없이 내 보안 없다!
  • 내 컴퓨터 없이 내 프라이버시 없다!
  • 내 컴퓨터 없이 내 자유 없다!
  • 1인 1서버는 인권이다!
  • 1인 1서버가 민주주의 주춧돌이다!
  • POWER TO THE PEOPLE!!! REAL FREEDOM FOR ALL!!!
5

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

"expression"은 "표현식"이 아니라 그냥 "식"

蛇崩 (じゃくずれ) @ja@hackers.pub

이 글은 프로그래밍 용어 "expression"을 "표현식"이 아닌 간결한 "식"으로 번역해야 한다고 주장합니다. 필자는 "expression"이 수학에서 유래되었으며, 수학에서는 이미 "식"으로 번역되어 사용되고 있음을 지적합니다. 또한, 프로그래머들이 "표현식"을 선호하는 이유로 사전적 정의와 초·중등 교육에서 비롯된 선입견을 들지만, 실제로는 "식"으로 번역해도 의미 전달에 전혀 문제가 없다고 강조합니다. 오히려 "표현식"은 "representation"의 번역어인 "표현"과 혼동될 수 있으며, "정규표현식"과 같이 불필요하게 긴 용어를 만들어낼 수 있다고 비판합니다. 결론적으로, 필자는 "expression"을 "식"으로 번역하는 것이 더 정확하고 간결하며, 전산학 용어의 일관성을 유지하는 데 도움이 된다고 주장하며, "정규식"이라는 간결한 용어 사용을 옹호합니다.

Read more →
9
0
0
4

최근 몇 달간 개발을 하는 것에 대한 현타가 심하게 왔었는데, 프로그래밍을 처음 시작했던 중학생 시절부터 남긴 흔적들을 되짚어 보면서 내가 진짜 뭘 하고 싶었던건지 되짚어봤고, 이제 다시 회복이 되가는 것 같음.

8
2
4