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
4
5
1

해커즈펍에 포스트 올릴 때 internal server error 뜨는 거 aws 죽어서 그런 줄 알았는데 지금도 안 올라감… 리포스트는 되네 원래 해커즈펍 시간표시 GMT+00:00으로 된다는 내용을 쓰고 싶었음

0
1

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

[잘라먹는 프로그래밍 언어론] 변수가 스스로의 이름을 지키는 법 (de Bruijn index/level)

RanolP @ranolp@hackers.pub

이 글은 프로그램에서 이름 충돌을 피하고 코드를 정확하게 평가하기 위한 방법으로 de Bruijn index를 소개한다. 변수 이름으로 인한 혼란을 해결하기 위해 α-변환을 설명하고, de Bruijn level과 index를 통해 변수를 숫자로 표현하는 방법을 제시한다. 특히, de Bruijn index는 변수가 얼마나 바깥 스코프를 참조하는지 나타내어, 형식적 증명에서 이름 없는 변수들을 다루는 데 유용함을 강조한다. 이를 통해 코드의 본질을 명확히 하고, 형식적 증명 과정에서 동일한 것을 쉽게 식별할 수 있게 된다.

Read more →
5

fedify로 블로그 만드는 일기 - 1

오늘은 @hongminhee洪 民憙 (Hong Minhee) 님의 글을 읽고 있어요! 이 글을 읽으면서 Next Integration 패키지와 함께 만들어볼까 생각 중이에요!

스스로 만드는 페디버스 블로그라... 재밌겠네요

6
2
2
0
0
1
0
0
2
3
4
2
2

내 거 블로그 연합우주에 연동되게 해야겠다. astro 기반인데 (정확히는 astro-erudite) 잘 할 수 있을까? 사실 astro가 뭔지도 잘 감이 안 오고 프론트엔드는 해본 적도 없음(백엔드도 마찬가지)...ㅋㅋㅋ 어디서부터 시작해야할지 모르겠지만 일단 astro 문서부터 쭉 덕질해야할 듯...그 다음엔 뭐 어떻게 해야하는 걸까..?

2

@starterdroid레몬그린🍋 MidnightSky 보니까 엄청 잘 만드셨던데요ㅋㅋㅋ 튜토리얼이랑 good first issue 라벨 도 있고 메인테이너 분이랑 주요 기여자들도 한국 사람들이라 모르는 거 있으면 Discord 로 바로 여쭤보시면 됩니당 아님 걍 저한테 바로 물어보셔도 돼요ㅋㅋ

1
2
5
1
1
0
0
3

백준 등 프로그래밍 문제에서 계산한 결과를 10^9+7로 나눈 나머지를 출력하라 지시하는 경우가 많은데, 오버플로우를 막기 위함인건 알았지만 그 값을 소수로 사용하는 이유는 오늘 처음 알았다. 그 값이 소수여야 모듈러 곱셈 역원을 구할 수 있기 때문이다. (10^7+9는 10자리인 첫 번째 소수이기 때문에 자주 사용된다고 한다.)

풀어 말하자면 실수에서 2를 나누는 것과 1/2를 곱하는 것 대신 군 안에서는 2를 나누는 대신 모듈러 했을 때의 곱셈 역원인 정수를 대신 곱해줄 수 있는데, 모듈러하는 값이 소수일 때만 곱셈 역원이 항상 존재한다.

예시: 팩토리얼, 조합 경우의 수와 같이 매우 큰 수를 계산할 때 곱셈 역원을 사용할 수 있음

C(n, k) = n! x (k!)^-1 x ((n-k)!)^-1 (mod p)

소수가 아닌 경우 아래같은 케이스가 있음 e.g. (m = 8, a = 1, b = 2) 1 / 2 mod{8}을 구할 수 없음

  • x: 2x mod 8
  • 0: 0
  • 1: 2
  • 2: 4
  • 3: 6
  • 4: 0 ... 반복

https://www.geeksforgeeks.org/dsa/modulo-1097-1000000007 https://www.quora.com/What-exactly-is-print-it-modulo-10-9-+-7-in-competitive-programming-web-sites

5

얼마 전 웹서핑을 하다가 우연찮게 현재 앤트로픽에서 엔지니어이자 연구원으로 근무하고 있는 Nelson Elhage가 쓴 Computers can be understood(=컴퓨터는 이해가능하다)라는 글을 봤습니다. 다 읽고나니 이 분 마인드가 제가 평소에 CS 공부할 때랑 너무 비슷해서 공감이 가고 아직 CS 뉴비인 저한텐 굉장히 도움이 되는 한편, 이 마인드가 어떠한 단점을 또한 가져다주는지 잘 얘기하는 것 같아 (사실 읽으면서 뜬끔하는 게 많았음) 저만 알기엔 아까워서 이렇게 번역해서 올려봅니다.

번역된 글을 보려면 여기로 이동해주세용.

혹시나 오역 및 CS 용어에 문제가 있다면 언제든 알려주시면 감사하겠습니다.

8
4

TIL: macOS 12(Monterey)부터 networkQuality라는 명령어가 추가되었고 이걸로 speedtest.net이라던가 fast.com이라던가 필요없이 터미널에서 인터넷 속도를 측정할 수 있다.

  1. -s 옵션을 주면 다운로드와 업로드를 순차적으로 측정할 수 있다.
  2. -v 옵션을 주면 측정한 서버나 프로토콜, 레이턴시 등을 좀 세부적으로 볼 수 있다.
`networkQuality` 커맨드로 속도를 측정한 macOS 터미널 화면
4
1
2
1

비슷한 문장도 비슷한 증상이 생기는 경우가 있다.

번역 요청한 다른 문장:

I know no fewer than seven people who simply ceased to exist.

응답 일부:

🔹 자연스러운 의역

> 나는 아무 이유도 없이 사라져 버린 사람이 일곱 명이나 있다.
또는
나는 sp그냥 흔적도 없이 사라져 버린 사람을 일곱 명이나 안다.
1
2
3

Tailscale을 비롯한 Wireshark 기반의 VPN 도구를 이번에 처음 접하게 되면서 "신세계"를 맛보고 있습니다.

저는 다양한 개발 환경을 테스트하고 학습하는 것을 선호하다보니 계속해서 여러 종류의 노트북이나 PC를 구입해서 사용해왔습니다. 그러다보니 관리 문제도 있고, 어딘가로 여행을 가거나 떠나야 할 일이 생기면 어떤 디바이스를 챙겨 가야 하는지가 상당한 고민이 되곤 했습니다.

그렇지만 인터넷만 붙어있으면 어디서든 동일 네트워크 상에 존재하는 것처럼 일관된 환경을 만들 수 있고, 모든 네트워크 송수신 트래픽이 암호화된 상태를 유지하고 있으며, 속도까지 빠르니 더할 나위 없이 좋습니다.

제 경우는 그래서, Surface Pro 8, Surface Laptop 7, GPU 달린 Intel 랩탑, 라즈베리 파이 4, 맥북, 아이폰, 아이패드, Azure VM, WSL 2 환경까지 매우 많은 디바이스와 가상 머신을 전부 단일 네트워크 환경에 붙여서 자유롭게 사용하고 있습니다.

만약 노트북과 데스크톱, NAS 등의 디바이스를 동시에 붙여서 사용해야 하는 것이 고민이라면 Wireshark나 Tailscale을 꼭 살펴보실 것을 권해드리고 싶습니다. 👍

5
5

Tailscale을 비롯한 Wireshark 기반의 VPN 도구를 이번에 처음 접하게 되면서 "신세계"를 맛보고 있습니다.

저는 다양한 개발 환경을 테스트하고 학습하는 것을 선호하다보니 계속해서 여러 종류의 노트북이나 PC를 구입해서 사용해왔습니다. 그러다보니 관리 문제도 있고, 어딘가로 여행을 가거나 떠나야 할 일이 생기면 어떤 디바이스를 챙겨 가야 하는지가 상당한 고민이 되곤 했습니다.

그렇지만 인터넷만 붙어있으면 어디서든 동일 네트워크 상에 존재하는 것처럼 일관된 환경을 만들 수 있고, 모든 네트워크 송수신 트래픽이 암호화된 상태를 유지하고 있으며, 속도까지 빠르니 더할 나위 없이 좋습니다.

제 경우는 그래서, Surface Pro 8, Surface Laptop 7, GPU 달린 Intel 랩탑, 라즈베리 파이 4, 맥북, 아이폰, 아이패드, Azure VM, WSL 2 환경까지 매우 많은 디바이스와 가상 머신을 전부 단일 네트워크 환경에 붙여서 자유롭게 사용하고 있습니다.

만약 노트북과 데스크톱, NAS 등의 디바이스를 동시에 붙여서 사용해야 하는 것이 고민이라면 Wireshark나 Tailscale을 꼭 살펴보실 것을 권해드리고 싶습니다. 👍

11
20
0

그젠가 Hashnode as Headless CMS 글 보고 Ampcode로 바이브 코딩 해봤습니다. 글 목록이랑 태그 목록은 물론, 글 보여주는 부분에서는 리액션도 보여주고 번역된 버전이 있다면 볼 수 있도록 하였습니다.

https://moreal.github.io/hackerspub-astro-template/

Hackers' Pub 로컬 서버에 붙어서 빌드하고 수동으로 gh-pages에 배포했고, hackers.pub 에서 데이터를 가져다 쓰려면 올려놓은 GraphQL 관련 PR들이 반영되어야 합니다.

https://moreal.github.io/hackerspub-astro-template/posts/2025/article-c/ 의 스크린샷입니다. 마크다운 렌더링 테스트용 글이 적혀있습니다.
3
2
4
5

오늘의 Angel: 특정 환경에서 갑자기 database image is malformed 오류가 나고 에이전트 메시지가 제대로 저장되지 않는 기묘한 버그가 발생해서 식겁해서 한참 확인해 봤는데, 다행히도 데이터베이스가 깨진 건 아니었고(실제로 깨진 적이 있어서 이 가능성을 배제할 수 없었다) 특정한 상황에서 부하가 집중될 때 저런 오류가 발생하는 것으로 드러났다. 구체적으로는 에이전트 메시지가 부분적으로 들어 올 때마다 데이터베이스 변경이 일어나는데, 최근에 검색을 위해 해당 테이블의 변경 때마다 FTS5 인덱스 테이블 두 개를 갱신하도록 트리거를 걸어 놓았는데 이게 화근이었던 것 같다. (초당 수십회 UPDATE + 트리거에서 UPDATE 하나당 DELETE/INSERT 각 2회 = 초당 ~500회 갱신!) 결국 트리거를 버리고 수동 처리하는 것으로 전환했다. 진작 이렇게 할 걸...

3

예전 일이지만, Windows CI장비에서 수상하게도 git 작업이 타임아웃이 나는 문제가 있었다. 장비에 접속해서 확인해보니 false.exe가 영-원히 켜져 있는 상태로 멈춰 있었바. 아니... 그냥 exit code 설정하고 끝나는 프로그램이 왜...

대충 그동안의 경험으로 서버 장비라고 안그래도 gnu 싫어하는 백신이 더 심하게 하는가보다 싶었고, https://github.com/uutils/coreutils 에서 false를 빌드해다가 갈아치우니까 문제가 완전히 사라졌다.

진짜 뭐가 맘에 안들어서 그러는지 모르겠다...

1
5
1
1
2
9