Hi, I'm who's behind Fedify, Hollo, BotKit, and this website, Hackers' Pub!

Fedify, Hollo, BotKit, 그리고 보고 계신 이 사이트 Hackers' Pub을 만들고 있습니다.

FedifyHolloBotKit、そしてこのサイト、Hackers' Pubを作っています。

嗨,我是 FedifyHolloBotKit 以及這個網站 Hackers' Pub 的開發者!

Website
hongminhee.org
GitHub
@dahlia
Hollo
@hongminhee@hollo.social
DEV
@hongminhee
velog
@hongminhee
Qiita
@hongminhee
Zenn
@hongminhee
Matrix
@hongminhee:matrix.org
X
@hongminhee
0
0

해키지(Hackage)[1]에 업로드한 패키지에 하독(Haddock)[2] 문서가 보이지 않을 때 다음과 같이 하면 된다.

먼저 다음 명령어로 하독 문서를 빌드한다.

cabal haddock --haddock-for-hackage

빌드된 압축 파일을 다음 명령어에 인자로 넣어 해키지에 업로드한다.

cabal upload --documentation --publish

이렇게 하면 이미 업로드된 패키지를 버전 변경(bump up)할 필요 없이 패키지에 누락된 하독 문서만 따로 업로드할 수 있다.


  1. 하스켈 패키지 저장소 ↩︎

  2. 하스켈 코드에 적은 주석 기반으로 HTML 문서를 만들어 주는 도구 ↩︎

0
0
0
0
0
0
0
0
0
1
0
0

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

복잡한 코드를 단순하게 줄여나갈 수록 발생하는 버그의 빈도나 심각도가 점진적으로 올라가는 경향이 있다고 느낀다

@disjukr@hackers.pub

이 기술 블로그 포스팅에서는 코드 복잡도와 버그 심각도 사이의 미묘한 관계를 탐구합니다. 저자는 복잡도를 높이는 방향으로 문제를 해결할 때, 버그 빈도와 심각도를 점진적으로 줄일 수 있지만 최적의 해결책에 도달하지 못할 수 있다는 점을 지적합니다. 반대로, 복잡도를 낮추는 방향으로 접근하면 문제 해결에 드는 비용을 예측하기 어렵다는 어려움이 있습니다. 특히, 회사에서 코드 복잡도를 줄이는 대신 높이는 방향으로 문제 해결을 요구받는 상황에서 엔지니어로서의 자아와 현실 사이의 괴리를 느끼는 저자의 고충이 드러납니다. 개인 시간을 투자하여 더 나은 해결책을 찾아도, 이를 회사에 도입하는 데 많은 설득 비용이 소요된다는 점을 강조하며, 회사 내에서 자아실현을 포기해야 하는지에 대한 고민을 토로합니다. 이 글은 기술적 효율성과 조직적 요구 사이의 균형을 찾는 데 어려움을 겪는 개발자들에게 깊은 공감을 불러일으킬 수 있습니다.

Read more →
0
0

옛날에 만들어놓고 저 혼자는 잘쓰고 있는 React 폼 라이브러리 react-form-mozard를 소개합니다.

폼 중에서 Stepper 또는 Wizard라고 하는, 여러 개의 폼을 순차적으로 합친 형태를 다룰때 씁니다. 그래서 하나의 폼에 대해서는 react-hook-form 등 을 쓰고, 그걸 여러개 조합할땐 react-form-mozard를 활용하면 됩니다.

순차적으로 합친 에서 느낌이 오지요? 모나드가... 그대를 부릅니다...

폼 말고 CLI를 만들때를 잠깐 생각해보죠.

const name = prompt("이름이?")
const age = prompt(`{name} 님, 나이가?`)
if (Number(age) < 20) {
  console.info("미성년자는 이용할 수 없습니다")
  return
}
const gender = prompt(`{name} 님, 성별이?`)

뭐 이런 흐름을 생각해볼 수 있는데요. 보시면 먼저 받은 입력값에 따라 이후의 메시지나, 제어 흐름이 달라질 수 있습니다. 즉, 모나딕하죠. 근데 이런 평범한 로직을 Stepper/Wizard 에서 짜게되면 코드게 쉽게 더러워 지는걸 알수 있습니다.

react-form-mozard의 step은 위 예제의 prompt와 같은 역할을 합니다. 그리고 그걸 Generator 위에 얹으면 모나딕한 폼 합성이 가능해집니다.

단점이라면... 지금은 React랑 강결합 되어 있어, XState 등 다른 상태관리 라이브러리를 같이 쓴다면 연동이 깔끔하지 않을수 있습니다. 근데 평소에 쉽게 겪을 문제는 아니라고 보고, 또 추후에 설계를 수정해서 개선이 가능한 부분입니다.

0
0
0
0
0
0

코틀린+스프링 백엔드 개발하다가 지금은 프론트엔드 개발하고 있다는게 다른 사람들에게 꽤 재밌는 이야기로 다가오는 것 같다. 당연히 선택의 이유에 대한 질문을 가장 많이 받는데, 가장 특이한 질문은 OOP가 그립지 않은지(?)라는 질문. (OOP도, AOP도 전혀 그립지 않다.)

그리고 이런 입장에서 BE vs FE 같은 대결 구도가 조금... 그렇다. 사실 업무상 관점이 좀 다를 수는 있어도, 다른 직군으로 분류할 정도로 기술적 관심사나 고민의 주제가 그렇게 까지 다른가 싶기도. 나중에 이 생각의 해상도를 좀 더 높여봐야겠다.

0

코틀린+스프링 백엔드 개발하다가 지금은 프론트엔드 개발하고 있다는게 다른 사람들에게 꽤 재밌는 이야기로 다가오는 것 같다. 당연히 선택의 이유에 대한 질문을 가장 많이 받는데, 가장 특이한 질문은 OOP가 그립지 않은지(?)라는 질문. (OOP도, AOP도 전혀 그립지 않다.)

0
0

darcs tag[1]의 도움말을 읽다가 《Producing Open Source Software》[2]라는 책을 알게 되었습니다. 혹시 이 책의 한글 번역서가 있나요? 《오픈 소스로 미래를 연마하라》(인사이트, 2019)가 약간 비슷한 내용을 다루는 것 같긴 합니다.


  1. https://gist.github.com/nattybear/6beaa578a08b0272e22c6154a606b02f ↩︎

  2. https://producingoss.com/ ↩︎

0
0
0
0

'탈중앙'같은 키워드가 대다수 사용자에게는 그다지 매력적이지 않은게 사실이지만, 적어도 나는 오래 전부터 RSS에서 얻고자 했던 것과 얻지 못 했던 것을 ActivityPub으로 얻을 수 있어서 너무 좋다. 특히 콘텐츠 생산자 입장에서는 정말 참여하지 않을 이유가 없을 것 같은데...

0
0

GN⁺: Node.js에서 Corepack 배포 중단하기로 결정
------------------------------
- Node.js 기술운영위원회(TSC)가 Corepack을 더 이상 Node.js에 포함해 배포하지 않기로 공식 투표로 결정함
- Node.js 25버전부터 적용되며, Node.js 24 이하에서는 실험적 기능으로 계속 제공됨
# Corepack의 역할과 한계
- Corepack은 Node.js 16.9.0에서 도입된 실험적 도구로, Yarn, pnpm 같은 패키지 매니…
------------------------------
https://news.hada.io/topic?id=19970&utm_source=googlechat&utm_medium=bot&utm_campaign=1834

0
0
0
0

"es-git은 Node.js를 위한 현대적인 git 라이브러리예요. 간편하고 직관적인 인터페이스 덕분에 복잡한 git 작업도 쉽게 통합할 수 있으며, TypeScript 타입을 내장해 빠르고 안정적인 개발을 지원해요." github.com/toss/es-git

0
0
0
0
0

RHEL도 좋고 Debian도 좋고... Debian은 GNU에 너무 심취해서 문제긴하지만.. 그들이 없으면 그 많은 GNU 프로젝트들에서 소프트웨어가 나오지 못했을꺼라 생각하기도한다. 리눅스 진형도 좋은데... 현실은 MacOS를 사용하는 입장...ㅎㅎㅎㅎ

0

I just discovered why some of my followers from larger instances (like mastodon.social) would mysteriously unfollow me after a while!

A pull request was just merged in Mastodon that fixes a critical bug in their follower synchronization mechanism.

Turns out Mastodon implements the FEP-8fcf specification (Followers collection synchronization across servers), but it expected all followers to be in a single page collection. When followers were split across multiple pages, it would only see the first page and incorrectly remove all followers from subsequent pages!

This explains so much about the strange behavior I've been seeing with and other -based servers over the past few months. Some people would follow me from large instances, then mysteriously unfollow later without any action on their part.

Thankfully this fix has been marked for backporting, so it should appear in an upcoming patch release rather than waiting for the next major version. Great news for all of us building on !

This is why I love open source—we can identify, understand, and fix these kinds of interoperability issues together. 😊

0
3
0
0
0
0
0

https://news.hada.io/topic?id=19948

나는 프로그래밍을 Solaris에서 시작했고, FreeBSD의 오랜 팬이자 사용자였지만, 이제 와서는 BSD를 권하지 않음. 내 개인적으로도 이젠 더이상 쓰지 않고 있고. 물론 BSD가 특정 시나리오에서는 매우 뛰어난, 그리고 일반적으로 좋은 서버 OS라는 점은 지금도 유효하지만, 더이상 개인이 사용할 우위점은 거의 없다고 생각함.

  1. 리눅스가 충분히 안정화되었고, 가장 안정적인 OS를 찾는다면 RHEL(+클론들)을 쓰면 됨. 대형 유저들이 많으며, 전문가 집단이 구성하고 충분히 테스트한 OS임.
  2. 리눅스가 de facto standard여서, 더 효율적인 솔루션들이 있더라도 작은 차이라도 큰 특수 분야가 아니라면 굳이 다른 방법을 찾는 비용을 정당화하기 어려움. 무엇보다 유지보수, 확장, 인프라 이전 등 모든 면에서 리눅스가 제일은 아닐지 몰라도 충분히 쌈.
  3. 보안에 있어서도 OpenBSD의 품질은 대단하지만, 대형 리눅스 배포판들 또한 취약점 패치 속도에서 매우 빠른 편이고 보안 툴들도 잘 갖추고 있음. 이제 양자간 개발자, 사용자 숫자의 차이는 인원과 설계의 질로 메꿀 수 있는 수준이 아니라고 봄.

0

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

Hacker's Pub에 입문한 한국어권 여러분을 위한 안내서

Jaeyeol Lee @kodingwarrior@hackers.pub

Hacker's Pub은 소프트웨어 업계 종사자들이 자유롭게 생각을 공유하고 소통할 수 있는 소셜 네트워크 서비스이자 블로깅 플랫폼입니다. ActivityPub 프로토콜을 지원하여 Mastodon, Misskey 등 다른 SNS 서비스 사용자들과도 연결되어 플랫폼 경계를 초월한 소통이 가능합니다. 이 글에서는 Hacker's Pub의 의미와 ActivityPub 프로토콜에 대한 간략한 소개, 그리고 커뮤니티에 기여할 수 있는 다양한 방법을 제시합니다. 오픈 소스로 개발되는 Hacker's Pub 생태계에 참여하여 함께 서비스를 발전시키고, 우리만의 클라이언트를 만들어 Hashnode와 같은 블로그 템플릿을 구축하는 미래를 기대해 볼 수 있습니다. Hacker's Pub은 상호 존중과 신뢰를 바탕으로 모든 이들이 자유롭게 의견을 나누고 함께 만들어가는 공간입니다.

Read more →
0
4
0