
洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 876 following · 620 followers
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).
Fedify、Hollo、BotKit、そしてこのサイト、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
벌려둔 일이 너무 많아서 뭐부터 해야 할 지 정하질 못한 채 우왕좌왕하는 일이 많다.
오늘 Hackers' Pub 모임, 다들 만나 뵙고 정말 좋았습니다! 다음 모임에서 또 뵈어요!
오늘은 Hackers' Public 첫 번째 모임! 다들 튜링의 사과(@TuringAppleDev튜링의 사과)에서 오후 3시에 모여요!
완전 기대…!!
@kodingwarriorJaeyeol Lee 님이 쏘아올린 공…
@logmOh JeongMin 어제는 만나 뵈어서 반가웠습니다! 어서 오세요!
일본의 기술 블로깅 플랫폼인 Zenn 첫 페이지에 내가 Optique에 관해 썼던 글인 「TypeScriptの型推論でCLIバリデーションをなくせた話」(TypeScript의 타입 추론으로 CLI 유효성 검사를 필요 없게 만든 이야기)가 떴다!
Claude에 따르면 대부분의 JavaScript 엔진에서 배열을 비울 때 a.length = 0
과 같이 대입하는 게 가장 빠르고 최적화가 잘 된다고 하는데, 이걸 믿어야 할 지 말아야 할 지… 이게 사실이라고 해도 참 답이 없다고 느낀다. 🤦
X에서 소프트웨어 공학적 담론을 보면 거의 항상 소프트웨어 개발이 언제나 잘 조직된 팀에 의해서 수행된다는 전제를 품고 있다. 어떤 기술을 과도하게 쓰면 조직이 일을 잘못하고 있다는 증거라고 주장하는 식이다. 그런데, 많은 오픈 소스 프로젝트를 포함해서, 세상에는 느슨하게 조직화된 팀에 의해 개발되는 경우도 아주 많다. 그런 경우에는 문제를 사람으로 푸는 것보다 기술과 도구로 푸는 게 더 나을 때도 많다.
Git에서 리베이스나 체리피킹 같은 거 쓰면 뭔가 이상한 거라는 주장이 있네… 음… 소프트웨어 개발에도 반지성주의 같은 게 있다고 봐도 될 것 같다.
Andromeda라는 Rust로 만든 JavaScript/TypeScript 런타임이 있구나. 여러모로 초기 버전의 Deno가 떠오른다.
〈타입 검사는 해결책이 아니라 증상이다〉(Type Checking is a Symptom, Not a Solution).
난 이 글에 동의하지 않는데, 여러 측면에서 그렇지만, 한 측면에만 집중해서 얘기해 보자면: 좋은 아키텍처는 훌륭한 프로그래머를 요구하지만 타입 시스템은 훌륭한 프로그래머를 요구하지 않기 때문이다.
누구나 훌륭한 프로그래머가 되어야만 하는가? 혹은 될 수 있는가? 좋은 아키텍처를 그릴 수 있는 훌륭한 프로그래머가 아니라면 소프트웨어 개발을 해서는 안 될까? 좋은 아키텍처에만 의존하는 것은 잠재적으로 엘리트주의를 끌어들이기 쉽다: 「어떤 시스템이 오작동하는 것은 아키텍처가 나쁘기 때문이다. 아키텍처가 나쁜 이유는 그걸 설계한 프로그래머가 수준 미달이기 때문이다」와 같이.
반면 타입 시스템은 일단 도입만 하면 누구나 그 덕을 볼 수 있다. 팀 내의 프로그래머들의 역량이 뛰어나든 뛰어나지 않든. 훨씬 평범한 보통 사람에게 유리하다. 타입 시스템이 미봉책일 수는 있지만, 그 미봉책이 더 많은 사람들을 프로젝트에 참여할 수 있게 해준다고 생각한다.
좋은 건지 나쁜 건지 모르겠다. (좋은 건지 나쁜 건지 모르겠던 또 다른 예는 Deno의 Node.js API 호환 추가…)
Claude Code에 내장된 편집 도구는 제어 문자들을 날려버린다…
참고로 Hackers' Pub은 패스키 인증을 지원하고 있습니다. ✌️
어떻게 하면 기가 막히게 Optique 소개 글을 써 볼 수 있을까…? 🤔
그놈의 compacting conversation… 😩
오늘은 코드 리뷰 빼고는 Optique 작업만 하고 있다…
참고로 Hackers' Pub의 행동 강령에서는 굳이 정치적인 주제를 금지하지 않고 있습니다. 정치적인 것과 그렇지 않은 것의 경계가 흐릿한 것도 있지만, 그렇게 했을 경우 기득권에 편향되기 쉽다는 점, 그리고 필요하다면 정치에 대해 이야기할 수 있어야 하기 때문입니다. 많은 커뮤니티에서 정치적 대화가 필요할 때 조차 정치적 주제를 기계적으로 금지함으로 인해 자정 능력을 잃는 것을 봐 왔습니다.
個人的には、一時的に開発目的で使うActivityPubサーバーにはngrok
やfedify tunnel
などを活用し、長期的に継続して開発するActivityPubサーバーであればTailscale FunnelやCloudflare Tunnelを使用しています。
「割とモダンな言語」というわけではないが、Haskellもかなり昔からnewtype
というキーワードでサポートしていた。
일주일 넘게 손 놓고 있던 GitHub 이슈/PR 자동 레이블링 봇 다시 작업중.
Apple이 SIM 카드 슬롯 없는 iPhone을 어서 한국에서도 출시해서 K-eSIM을 정상화하는데 일조했으면 좋겠다. iPhone 3Gs가 이동통신 데이터 요금을 정상화하는 데에 결정적인 역할을 했던 것처럼…
딱히 Windows를 좋아하지는 않지만… 그렇다고 내가 만든 소프트웨어가 Windows를 아예 지원 안 하는 건 별개의 이야기. 그래도 가장 많이 쓰이는 운영체제인데, 지원을 아예 안 할 수는 없다고 생각한다.
나는 API가 좀 복잡해도 좋으니까 기능 많은 라이브러리가 좋다. 물론 기능도 많으면서 API까지 단순하면 금상첨화지만.
언젠가는 나만의 Markdown 포매터를 만드리… 이름은 MMF 정도로…
GraphQL에는 어째서 ADT가 없을까…?
나중에 시간이 허락된다면 reStructuredText의 TypeScript 구현을 하나 만들어 보는 것도… 시간 낭비인가…
의외로 잘 안 알려진 도구인데, mise가 정말 좋습니다. 다들 mise 쓰고 행복한 개발 하세요.
토요일에는 점심에 커피챗 약속이 있고 그 외에는 언제나처럼 튜사(@TuringAppleDev튜링의 사과)에 가서 작업을…
일요일에는 @fedifyFedify: ActivityPub server framework OSSCA 모각코가 있습니다.
본가에 AULA F87 PRO, 이른바 독거미 키보드를 하나 두었는데, 확실히 이 가격에 이 정도 퀄리티는 말이 안 될 정도로 혁신적이었던 제품 같긴 하다.
음… Deno에 deno deploy
라는 Deno DeployEA에 배포하는 커맨드가 생겼다는데, 특정 기업이 운영하는 유료 PaaS를 위한 서브커맨드가 추가되는 게 별로 좋아 보이진 않는다.
GPT-5가 어려운 문제에 있어서는 오히려 Claude Opus 4.1보다 낫다기에 한 번 써보고 있는데, Claude Code로는 당연하게도 GPT-5 모델을 못 쓰니 대신 Crush를 써보고 있다. 일단 첫인상으로는 MCP 외에도 LSP를 지원하는 게 마음에 든다. 바로 deno lsp
를 연결해서 써보고 있다.
언젠가는 Hackers' Pub 만우절 특집으로 종서 레이아웃을 선보이고 싶다.
일본의 배우 아베 히로시(阿部寛)의 홈페이지는 90년대 느낌 그대로 콘텐츠만 업데이트되는 걸로 유명한데, 오는 10월 1일부터 HTTPS 대응을 하게 되었다(일본어 기사)고 한다.
You're absolutely right—
Hackers' Pub 티셔츠를 제작 주문했습니다. 9월 3일(水)에 출고 예정이라고 합니다. 비용은 339,300원 들었는데, 총 17장 주문했으니 한 장에 2만원(배송료 미포함)이 되겠습니다.
@jihyeokJihyeok Seo
@kodingwarriorJaeyeol Lee
@z9mb1wwj
@w8385박근형
@2chanhaeng이찬행
@nebuletoHaze
@morealLee Dogeon
@yihyunjoon현준
@seha 아마 주문하신 대부분은 저랑 직접 만나서 전달 드릴 수 있을 것 같긴 한데, 배송이 필요하신 분은 제게 DM으로 이름, 연락처, 주소지, 우편번호를 알려주시기 바랍니다!
감사합니다.
Hackers' Pub은 현재 Fresh 프레임워크로 만들어져 있는데, Fresh 프레임워크의 한계를 벗어나기 위해 GraphQL + SolidStart 스택으로 넘어가는 작업(web-next)을 진행중입니다. 진행 상황을 관리하기 위해 에픽 이슈를 만들었습니다.
Deno로 만든 서버에서 SSRF 공격을 어떻게 막을 수 있을까 고민하다가, Deno에 --allow-net
과 함께 쓸 수 있는 --deny-net
옵션이 있다는 것을 알게 되었다. 대충 아래와 같이 쓰면 SSRF 공격을 기본적인 수준에서는 막을 수 있을 듯하다.
deno run \
--allow-net \
--deny-net=127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,169.254.0.0/16,0.0.0.0/8,224.0.0.0/4,240.0.0.0/4,255.255.255.255,localhost,[::1],[::],[::ffff:0:0]/96,[fe80::]/10,[fc00::]/7 \
script.ts
요즘에는 그런 요구는 잘 없는 것 같았는데, 예전에는 의외로 디자이너가 저런 요구를 하는 경우가 더러 있었습니다. 아이디가 표시되는 화면의 너비에 한계를 정해두기 위해서요.
내가 만든 프로젝트끼리의 의존 관계 그래프를 그려봤다. 자급자족하는 개발…
- Fedify에 이슈 만들기 (이른바 “뉴딜 정책”…)
- LLM을 이용하여 GitHub Issues에 레이블과 마일스톤 설정을 자동으로 해주는 Issues Auto-Labeler 프로젝트 마무리
Hackers' Pub의 환경 설정에 “단문 공개 범위” 및 “공유 공개 범위” 설정 항목이 추가되었습니다. 기여해주신 @nebuletoHaze 님께 감사드립니다!