오늘
@fossforall 컨퍼런스 2025에서 發表한 〈야크 셰이빙: 새로운 오픈 소스의 原動力〉의 슬라이드를 共有합니다! 들어주신 분들 모두 感謝합니다!
洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 965 following · 677 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
Sharing the slides from my talk, Embracing yak shaving, which I presented today at the
@fossforall Conference 2025! Thanks to everyone who came to listen!
오늘
@fossforall 컨퍼런스 2025에서 發表한 〈야크 셰이빙: 새로운 오픈 소스의 原動力〉의 슬라이드를 共有합니다! 들어주신 분들 모두 感謝합니다!
님들 고스트(아마 Pro?)로 블로깅하면 연합우주 연동되는 거 알고 있음? 고스트에서 포스트 퍼블리시할 때마다 연합우주에도 포스트 만들어주고 해당 연합우주 계정으로 다른 계정 포스팅에 댓글도 달아줄 수 있음… 어떻게 돌아가는지 참고 → https://hackers.pub/@jm@guji.jjme.me
푸리에 변환 이 미친거 정체가 도대체 뭐지 졸업하고 10년 뒤에 또 봐도 한없이 신비롭네
길을 가다 "없는 것 빼고는 다 있다"는 문장을 보았다.
가능한 모든 품목의 집합을
즉, "없는 것 빼고 다 있다"는 "전체(
로 표현 할 수 있다.
하지만, 여집합(complement)의 여집합은 원래 집합이 되기 때문에
가 되고, 위 명제는 결국
@hongminhee洪 民憙 (Hong Minhee) 사실 문제의 그 글을 여기 쓰고 블스로 알피하려는 생각을 했었는데 CW 설정이 없어서 블스에 쓰고 여기로 공유했어요 😅 있으면 좋을 것 같아요
@eatch잇창명 EatChangmyeong💕🐱 아… 그렇군요. 한 번 검토해 보도록 하겠습니다!
Just opened an issue for a major new task for #Fedify: building an #interoperability smoke test suite.
To ensure Fedify-built servers federate correctly with the wider #fediverse, we're planning to run automated E2E tests in #CI against live instances of Mastodon, Misskey, and more. This is crucial for a framework's reliability.
You can see the full plan and discussion here:
While cleaning a storage room, our staff found this tape containing #UNIX v4 from Bell Labs, circa 1973
Apparently no other complete copies are known to exist: https://gunkies.org/wiki/UNIX_Fourth_Edition
We have arranged to deliver it to the Computer History Museum
RP) 오 여기도 블라인드 구현이 있나보네 여기서 써서 올릴 때도 블라인드 설정이 가능한가요?
@eatch잇창명 EatChangmyeong💕🐱 다른 서버에서 흘러 들어온 CW 걸린 글에 블러 처리는 해주는데, Hackers' Pub에서 CW 걸린 글을 쓰지는 못해요! (필요 없다고 생각해서 안 만들었는데… 필요할까요?)
몇번 Claude Code 리밋에 걸리고 나니까 주 단위 할당량 못채우면 아까워지는 강박에 걸려버림
나는 “cloud-native”하다는 기술들에 대해서 아는 게 하나도 없다…
근데 Hollo를 한 번 날 잡고 제대로 살펴보긴 해야 할 것 같다. 요즘 너무 자주 죽어서…
전반적인 설계는 Hackers' Pub과 유사한데 (물론 Hackers' Pub이 나중에 만든 거라 좀 더 낫긴 함), Hackers' Pub은 멀쩡한 반면 Hollo는 자주 죽는 게 이상하다.
알고 보니 쉽게 고칠 수 있는 문제였다. 일단 hollo.social 쪽 Caddyfile에서 헬스 체크를 업스트림의 NodeInfo 엔드포인트를 바라보게 해 뒀는데, Hollo의 NodeInfo 엔드포인트가 데이터가 많을 때 느려지는 문제가 있어 타임아웃이 나고 있었다. 그래서 Caddy 입장에서는 모든 업스트림 노드가 unhealthy하다고 여겨져서 서비스 전체가 503 Service Unavailable 오류를 내게 되었던 것.
NodeInfo 엔드포인트가 데이터가 많을 때 느린 문제는 SQL을 잘못 짜서 그런 거라 해당 문제를 고쳤고, 이제 모든 문제가 해결되었다.
youknowone replied to the below article:
abab, asc, 123, abc
ㄹ @disjukr@hackers.pub
흔히 사용되는 JavaScript의 배열 정렬 방식인 `arr.sort((a, b) => a - b)`는 코드를 읽는 개발자에게 혼란을 줄 수 있습니다. 이 글에서는 이러한 정렬 코드를 볼 때마다 오름차순인지 내림차순인지 확인해야 하는 번거로움을 줄이기 위해, 더 명확한 함수 이름을 사용할 것을 제안합니다. `sortAsc(arr)`와 같이 오름차순을 의미하는 함수명도 좋지만, `sort123(arr)` 또는 `sortAbc(arr)`처럼 정렬 방향을 직관적으로 나타내는 이름을 사용하면 코드의 가독성을 더욱 향상시킬 수 있습니다. 이처럼 명확한 이름은 코드를 이해하는 데 필요한 인지적 노력을 줄여주어, 개발 생산성 향상에 기여할 수 있다는 점을 강조합니다.
Read more →
@disjukrㄹ 정렬 기준을 바꾸고 주석을 고치지 않는 개발자는 sort123을 내림차순으로 바꿀 때 함수 이름을 sort321로 고쳐줄까요?
XiNiHa replied to the below article:
abab, asc, 123, abc
ㄹ @disjukr@hackers.pub
흔히 사용되는 JavaScript의 배열 정렬 방식인 `arr.sort((a, b) => a - b)`는 코드를 읽는 개발자에게 혼란을 줄 수 있습니다. 이 글에서는 이러한 정렬 코드를 볼 때마다 오름차순인지 내림차순인지 확인해야 하는 번거로움을 줄이기 위해, 더 명확한 함수 이름을 사용할 것을 제안합니다. `sortAsc(arr)`와 같이 오름차순을 의미하는 함수명도 좋지만, `sort123(arr)` 또는 `sortAbc(arr)`처럼 정렬 방향을 직관적으로 나타내는 이름을 사용하면 코드의 가독성을 더욱 향상시킬 수 있습니다. 이처럼 명확한 이름은 코드를 이해하는 데 필요한 인지적 노력을 줄여주어, 개발 생산성 향상에 기여할 수 있다는 점을 강조합니다.
Read more →
@disjukrㄹ arr.sort(function asc(a, b) { return a - b }); 어때요
좀 다른 얘기인데 JavaScript에도 어서 Python의 sorted() 함수처럼 cmp 함수 대신 key 함수를 받고 reverse 옵션을 제공해야 한다고 봅니다.
洪 民憙 (Hong Minhee) shared the below article:
abab, asc, 123, abc
ㄹ @disjukr@hackers.pub
흔히 사용되는 JavaScript의 배열 정렬 방식인 `arr.sort((a, b) => a - b)`는 코드를 읽는 개발자에게 혼란을 줄 수 있습니다. 이 글에서는 이러한 정렬 코드를 볼 때마다 오름차순인지 내림차순인지 확인해야 하는 번거로움을 줄이기 위해, 더 명확한 함수 이름을 사용할 것을 제안합니다. `sortAsc(arr)`와 같이 오름차순을 의미하는 함수명도 좋지만, `sort123(arr)` 또는 `sortAbc(arr)`처럼 정렬 방향을 직관적으로 나타내는 이름을 사용하면 코드의 가독성을 더욱 향상시킬 수 있습니다. 이처럼 명확한 이름은 코드를 이해하는 데 필요한 인지적 노력을 줄여주어, 개발 생산성 향상에 기여할 수 있다는 점을 강조합니다.
Read more →오! 좋은 아이디어 인것 같습니다. 조금 찾아보니 git-branchless나 jj-vcs로 활용해서 AGENTS.md나 스킬에 정의해서시도해봐도 괜찮을듯한 느낌이네요
클로드 코드 쓰고있으니 더 나은 VCS에 대한 욕심이 커진다. 나는 클로드가 브랜치를 더 자주 쪼개서, 원하는 시점으로의 롤백이 더 편해졌으면 좋겠다.
하나 생각나는 아이디어는 브랜치 명을 hierachial하게 만들어서 가령 fix-bug-1/refactor-class-foo/fix-function-bar 이런식으로, 무슨 일하는지의 맥락을 브랜치명에 나타내는 것이다. 그리고 a/b 브랜치는 a 브랜치의 자식이어야 한다는 제약도 강제한다.
내가 쓸 게임 공략 사이트 작업하니까 왤캐 사는게 재밌지
ps. React + Vite 사랑합니다. 겁나 빨라
한국어를 일본어로 정확하게 번역해주는 번역 서비스가 있나요?
@kakkokari_gtyih(仮) 様々な機械翻訳サービスを使ってみましたが、Google翻訳やPapagoのような従来の機械翻訳サービスより、DeepLやKagi翻訳のようなLLMベースの翻訳サービスのほうが品質がずっと良かったです。個人的には、Kagi翻訳が無料なうえに最も品質が良いので使っています。(韓国語↔日本語基準)
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)
컴포넌트 새로 만들다가 써야할 함수를 급하게 날림으로 짜고 남겨뒀던게 기억나서 에이전트한테 테스트 짜달라고 했더니,
주석으로 테스트 대상 코드에 문제 있다고 줄줄이 적어놔서 뭐냐니까 svelte lune mode를 못 알아먹은 거였다. 미덥잖아서 다른 에이전트에 리뷰 던지니까 이번엔 deprecated 된 놈*으로 바꿔야 한다며 … 아주 그냥 쌍으로 환각 파티를 벌이는구만
나도 모르게 감정 이입을 했는지 deprecated 명시한 문서를 던져주니까 한 놈은 수긍하고 한 놈은 끝까지 우긴다 🤣
SvelteKit 2.12: $app/stores deprecated
$app/store/page→$app/state/page
굿모닝입니다
洪 民憙 (Hong Minhee) shared the below article:
컴퓨터공학에서 사용하는 회귀(Regression, 回歸) 라는 용어에 대해
JakeSeo @jakeseo@hackers.pub
이 글은 컴퓨터 공학에서 '회귀(Regression)'라는 용어가 사용되는 두 가지 주요 맥락, 즉 머신러닝과 소프트웨어 테스팅에서의 의미를 명확히 구분하여 설명합니다. 머신러닝에서는 변수 간의 관계를 모델링하여 값을 예측하는 기법을 의미하며, 그 기원과 함께 집값 예측 예시를 들어 이해를 돕습니다. 반면 소프트웨어 테스팅에서는 과거의 버그가 재발하는 현상을 검증하는 과정을 지칭하며, 개발이 '뒤로 회귀했다'는 표현으로 설명합니다. 이 글을 통해 독자는 회귀라는 용어가 가진 다의성을 이해하고, 각 분야에서 어떻게 활용되는지 명확히 파악할 수 있습니다.
Read more →이번주 토요일 광운대학교에서 열리는 FOSS for All 2025 컨퍼런스 개최에 앞서 요즘IT의 선행 인터뷰에 감사하게도 제 이야기가 실리게 되었습니다.
귀중한 지면을 내어주시고 인터뷰 기회를 마련해주신 요즘IT 편집국 여러분과 FOSS for All 운영위원회 분들께 다시 한 번 감사드립니다!
저 외에도 홍민희님, 이성민님, 리처드 하트먼님의 인터뷰도 같이 들어있으니 일독을 권합니다.
굉장히 오랜만에 들어와서 쓰는 근황입니다.
- TIS-100의 모든 레벨을 클리어했습니다. 다음 목표는 아마 Opus Magnum 아니면 A=B가 될 것 같습니다.
- 올해 여름부터 지금까지 7문제를 백준에 출제했습니다. 여기의 맨 아래에서 보실 수 있습니다. 개인적으로 가장 재밌었던 문제는 SWAP-C Sort인데 그만큼 어렵습니다.
- 웹 기반으로 뭔가 만들 게 생겨서 프레임워크를 알아보다가 Solid를 써보기로 결정했습니다. 웹 UI는 Flowbite, 그래픽 요소는 Konva를 쓰게 될 것 같습니다.
- 그런데 이쪽을 첫삽을 뜨기도 전에 갑자기 굉장히 어려운 퍼즐틱한 문제 하나의 풀이가 완성되어서(....) 논문(?!)을 하나 쓰기 시작했습니다. 이런 거 받아주는 저널 어디 없을까요(????)
독서인을 위한 연합우주 서비스 만들까...
@akastoot악하 저는 적독가 사이트에 ActivityPub을 붙일 생각을 계속 하고 있습니다…
어느덧 #FOSSforAll Conference 2025가 이번주 토요일로 다가 왔습니다! 처음으로 열리는 #FOSS for All Conference 에서 어떤 분들이 연사로 나서서 어떤 메시지를 전달할지 궁금하지 않으신가요? 올해 #미디어 파트너 #요즘IT 와 함께 몇몇 발표자 분들을 인터뷰 하였습니다. 인터뷰 기사를 통해 어떤 행사가 될지 알아보세요!
- 기사 읽어보기 https://yozm.wishket.com/magazine/detail/3436/
- 참가등록 https://event-us.kr/fossforall/event/110400
오는 11月 8日 光云大學校에서 開催되는 FOSS for All 컨퍼런스 2025에서 제가 〈야크 셰이빙: 새로운 오픈 소스의 原動力〉이라는 主題로 基調演說을 하게 되었습니다!
올해 처음 열리는 FOSS for All 컨퍼런스는 “Free and Open Source Software for All”이라는 슬로건 아래, 모두를 爲한 오픈 소스 컨퍼런스를 目標로 하는 非營利 오픈 소스 커뮤니티 컨퍼런스입니다.
백준 지금 제출 속도대로라면 11월 8일 저녁 6시에 제출 번호 1억번이 나오겠다
오 예상보다 빨리 나왔다
근데 Hollo를 한 번 날 잡고 제대로 살펴보긴 해야 할 것 같다. 요즘 너무 자주 죽어서…
전반적인 설계는 Hackers' Pub과 유사한데 (물론 Hackers' Pub이 나중에 만든 거라 좀 더 낫긴 함), Hackers' Pub은 멀쩡한 반면 Hollo는 자주 죽는 게 이상하다.
Mörk - a Commonmark compliant markdown parser written in Gleam https://lobste.rs/s/u5xabg #gleam
https://hexdocs.pm/mork/
洪 民憙 (Hong Minhee) shared the below article:
2025년 연말, 중소기업 개발자 채용에 대한 단상
Juntai Park @arkjun@hackers.pub
회사의 면접 과정에 참여하면서 신입 개발자 채용의 어려움을 실감하게 되었다는 내용입니다. 지원자들의 높은 경쟁률과 뛰어난 스펙, 열정적인 준비에 감탄하면서도, 채용 인원의 제한으로 인해 안타까움을 느낍니다. 만약 자신이 지금 신입 구직자라면 합격하기 어려울 것이라는 생각과 함께, 20대든 40대든 모두가 버티고 배우며 나아가야 할 시기임을 강조합니다. 40대 중반 개발자의 주관적인 관점이지만, 현재 개발자 채용 시장의 현실을 엿볼 수 있는 글입니다.
Read more →
@hongminhee洪 民憙 (Hong Minhee) 혹시 protobuf보다 지금 사용하시는 주로 사용하시는 pothos 기반 GraphQL로 결정하신 이유가 있으신가요?!
@hongminhee洪 民憙 (Hong Minhee) 혹시 protobuf보다 지금 사용하시는 주로 사용하시는 pothos 기반 GraphQL로 결정하신 이유가 있으신가요?!
@kanghyojun강효준 일단 종단 타입 안전성(end-to-end type safety)가 지켜지는 거랑 프런트엔드 쪽에서 골치아픈 캐시 무효화 등을 대부분의 경우에 신경 안 써도 되게 해주는 게 큰 것 같아요. 아, 그리고 Relay랑 같이 쓰고 있는데 뷰의 데이터 의존성이 같은 파일 내에 위치하는 것도 중요한 것 같고요!
@theeluwin제이미 님 축하드립니다
저희 학교 강의자료에 올라가셨습니다
git push에 --force 옵션 말고 --force-with-lease라는 게 있네?
"안전한" "force 푸시" 뭔가 양립할 수 없는 말 같지만 그런 게 있나봄
https://leerowoon.dev/posts/git-push-force-with-lease
ㅇㄴ 포켓CU앱 진짜 골때리네 비밀번호 규칙을 '영문+숫자+특수문자 8자리 이상'이라고만 해놓고 12글자 이상이면 퇴짜놓고 특정한 특수문자를 쓰면 퇴짜놓고 이게 맞냐? 그런 규칙이 있으면 나한테 알려달라고
아무래도 대 LLM 시대에 스키마 지향적인 삶을 살아야한다고 생각이 듦과 동시에 원래 사용하던 protobuf 외에도 trpc와 graphql 모두 검토를 진행중. 백엔드, 프론트엔드간 필드 마이그레이션 문제는 결국 다 필연적으로 마주치게되는 것 같고 어떤식으로 해결하거나 감내할것인지 결정하는게 중요할것 같다.
@kanghyojun강효준 저는 웹 프런트엔드–백엔드 사이에서는 그냥 GraphQL 쓰기로…
아무래도 대 LLM 시대에 스키마 지향적인 삶을 살아야한다고 생각이 듦과 동시에 원래 사용하던 protobuf 외에도 trpc와 graphql 모두 검토를 진행중. 백엔드, 프론트엔드간 필드 마이그레이션 문제는 결국 다 필연적으로 마주치게되는 것 같고 어떤식으로 해결하거나 감내할것인지 결정하는게 중요할것 같다.
프로젝트 시작전에, tRPC의 도입을 고민하다가, 학습비용과 프로젝트 기간에 대한 압박이 있어서 일단은 쓰지 않고 진행하고 있는데, Client와 Backend에서 타입일치를 위해서, 동일한 모델 선언이 반복적으로 일어나다 보니 (한쪽의 모델을 참조해서 쓸 수 있게 반쯤 자동화되어 있기는 하지만) 다음에는 (tRPC가 아니라도, 타입불일치를 막을 수 있는 어떤 장치나 무언가를) 도입해야겠다는 생각이 든다.
Interesting poll results! I didn't expect Attoparsec to go toe-to-toe with Megaparsec.
So I did some digging into #Haskell 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.
<밑바닥 부터 시작하는 웹 브라우저>를 샀다
작은 SI 중소기업의 신입,주니어 개발자 채용공고에 왜 이렇게 지원자가 많은가 (약 600명이 넘는 지원자가 몰렸다.)
채용시장이 많이 안좋은가 의문을 갖고 있었는데, 문득 (혹시나) 회사의 복지정책 중 하나인 간식무제한제공때문이 아닐까 하는 생각이 들었다.
(일단은 인하우스 개발인 점도 한몫하겠지만)
@hongminhee洪 民憙 (Hong Minhee) Claude Code는 이렇게 설명해주더라고요.
@gaebalgom개발곰 아… multicodec이 CJS만 지원하는군요… 🤦
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
The model implementation is nearly complete, so it's time to begin tasks such as assigning aliases to the model:









