@2chanhaeng@hackers.pub초무 저 그정도로 개발 잘 못하는데 어흐흑

洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 927 following · 644 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
@starterdroid레몬그린🍋 MidnightSky 보니까 엄청 잘 만드셨던데요ㅋㅋㅋ 튜토리얼이랑
good first issue
라벨 도 있고 메인테이너 분이랑 주요 기여자들도 한국 사람들이라 모르는 거 있으면 Discord 로 바로 여쭤보시면 됩니당 아님 걍 저한테 바로 물어보셔도 돼요ㅋㅋ
Fedify 기여 해주세요
오늘의 #cosmoslide 기여. 이제 내가 올리지 않은 프레젠테이션은 안 보이게 변경... 하긴 했는데 생각해보니 이건 디자인(유저 흐름)을 좀 더 논의해야 되지 않을까...
C#으로 RAG를 구현하려고 할 때 어려울 수 있는 문제점 중 하나인 RAG를 위한 인터넷 페이지 본문 추출을 추가적인 파이썬 프레임워크나 AI의 도움 없이, ReverseMarkdown과 SmartReader로 간편하게 해낼 수 있습니다.
Razor 컴포넌트로 콘솔 TUI를 만들어주는 흥미로운 커뮤니티 프로젝트가 있어, 이것을 File-based App 코드로 만들어보았습니다. 요즈음 유행하는 TUI 기반 챗봇 UI를 아주 손쉽게 만들 수 있었습니다. :-D
백준 등 프로그래밍 문제에서 계산한 결과를 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
얼마 전 웹서핑을 하다가 우연찮게 현재 앤트로픽에서 엔지니어이자 연구원으로 근무하고 있는 Nelson Elhage가 쓴 Computers can be understood(=컴퓨터는 이해가능하다)라는 글을 봤습니다. 다 읽고나니 이 분 마인드가 제가 평소에 CS 공부할 때랑 너무 비슷해서 공감이 가고 아직 CS 뉴비인 저한텐 굉장히 도움이 되는 한편, 이 마인드가 어떠한 단점을 또한 가져다주는지 잘 얘기하는 것 같아 (사실 읽으면서 뜬끔하는 게 많았음) 저만 알기엔 아까워서 이렇게 번역해서 올려봅니다.
번역된 글을 보려면 여기로 이동해주세용.
혹시나 오역 및 CS 용어에 문제가 있다면 언제든 알려주시면 감사하겠습니다.
아... #cosmoslide 기여해야 되는데... 기여하려고 컨트롤러 수정했는데 안 먹히길래 몇시간동안 도커빌드도 다시 해보고 별 짓을 다 했는데 그냥 잘못된 컨트롤러를 보고 있던 것이었다...
TIL: macOS 12(Monterey)부터 networkQuality
라는 명령어가 추가되었고 이걸로 speedtest.net이라던가 fast.com이라던가 필요없이 터미널에서 인터넷 속도를 측정할 수 있다.
-s
옵션을 주면 다운로드와 업로드를 순차적으로 측정할 수 있다.-v
옵션을 주면 측정한 서버나 프로토콜, 레이턴시 등을 좀 세부적으로 볼 수 있다.
문서 보니까 GADT가 있다고 해서 하스켈처럼 싱글톤 어쩌고 하는 게 되지 않을까 하고 내심 기대했는데 자연수도 못만들더라
왜냐면 이 글을 재작성하고 있고 인터랙티브 부분이 복잡해서 타입 안정성은 웬만하면 챙기고 싶은데 타입스크립트도 안되고 ReScript도 안되고 굳이 Idris를 가져다 쓰는 건 오버킬같고...
JS에서 의존 타입을 쓰고 싶어서 ReScript를 설치해봤는데 안되나보다......🥲
문서 보니까 GADT가 있다고 해서 하스켈처럼 싱글톤 어쩌고 하는 게 되지 않을까 하고 내심 기대했는데 자연수도 못만들더라
JS에서 의존 타입을 쓰고 싶어서 ReScript를 설치해봤는데 안되나보다......🥲
단어, 구 단위로 자세히 번역을 요청해도 "sp"가 번역에 포함된다.
비슷한 문장도 비슷한 증상이 생기는 경우가 있다.
번역 요청한 다른 문장:
I know no fewer than seven people who simply ceased to exist.
응답 일부:
🔹 자연스러운 의역
> 나는 아무 이유도 없이 사라져 버린 사람이 일곱 명이나 있다.
또는
나는 sp그냥 흔적도 없이 사라져 버린 사람을 일곱 명이나 안다.
전자책 리더기 카페에서 누가 무섭다고 올린 ChatGPT 오류를 따라해보니 재현이 꽤 쉽게 된다. 해마 이모지 출력 요청의 응답 과정과 비슷한 기전으로 발생하는 것 같긴 한데... "sp"라는 토큰은 무슨 의미가 있는 거지.
단어, 구 단위로 자세히 번역을 요청해도 "sp"가 번역에 포함된다.
전자책 리더기 카페에서 누가 무섭다고 올린 ChatGPT 오류를 따라해보니 재현이 꽤 쉽게 된다. 해마 이모지 출력 요청의 응답 과정과 비슷한 기전으로 발생하는 것 같긴 한데... "sp"라는 토큰은 무슨 의미가 있는 거지.
Tailscale을 비롯한 Wireshark 기반의 VPN 도구를 이번에 처음 접하게 되면서 "신세계"를 맛보고 있습니다.
저는 다양한 개발 환경을 테스트하고 학습하는 것을 선호하다보니 계속해서 여러 종류의 노트북이나 PC를 구입해서 사용해왔습니다. 그러다보니 관리 문제도 있고, 어딘가로 여행을 가거나 떠나야 할 일이 생기면 어떤 디바이스를 챙겨 가야 하는지가 상당한 고민이 되곤 했습니다.
그렇지만 인터넷만 붙어있으면 어디서든 동일 네트워크 상에 존재하는 것처럼 일관된 환경을 만들 수 있고, 모든 네트워크 송수신 트래픽이 암호화된 상태를 유지하고 있으며, 속도까지 빠르니 더할 나위 없이 좋습니다.
제 경우는 그래서, Surface Pro 8, Surface Laptop 7, GPU 달린 Intel 랩탑, 라즈베리 파이 4, 맥북, 아이폰, 아이패드, Azure VM, WSL 2 환경까지 매우 많은 디바이스와 가상 머신을 전부 단일 네트워크 환경에 붙여서 자유롭게 사용하고 있습니다.
만약 노트북과 데스크톱, NAS 등의 디바이스를 동시에 붙여서 사용해야 하는 것이 고민이라면 Wireshark나 Tailscale을 꼭 살펴보실 것을 권해드리고 싶습니다. 👍
Wireguard라고 해야하는데 잘못 썼습니다 🤣🙏
Tailscale을 비롯한 Wireshark 기반의 VPN 도구를 이번에 처음 접하게 되면서 "신세계"를 맛보고 있습니다.
저는 다양한 개발 환경을 테스트하고 학습하는 것을 선호하다보니 계속해서 여러 종류의 노트북이나 PC를 구입해서 사용해왔습니다. 그러다보니 관리 문제도 있고, 어딘가로 여행을 가거나 떠나야 할 일이 생기면 어떤 디바이스를 챙겨 가야 하는지가 상당한 고민이 되곤 했습니다.
그렇지만 인터넷만 붙어있으면 어디서든 동일 네트워크 상에 존재하는 것처럼 일관된 환경을 만들 수 있고, 모든 네트워크 송수신 트래픽이 암호화된 상태를 유지하고 있으며, 속도까지 빠르니 더할 나위 없이 좋습니다.
제 경우는 그래서, Surface Pro 8, Surface Laptop 7, GPU 달린 Intel 랩탑, 라즈베리 파이 4, 맥북, 아이폰, 아이패드, Azure VM, WSL 2 환경까지 매우 많은 디바이스와 가상 머신을 전부 단일 네트워크 환경에 붙여서 자유롭게 사용하고 있습니다.
만약 노트북과 데스크톱, NAS 등의 디바이스를 동시에 붙여서 사용해야 하는 것이 고민이라면 Wireshark나 Tailscale을 꼭 살펴보실 것을 권해드리고 싶습니다. 👍
개발자들이 연합우주에 잘 오지 않는 이유는 연합우주로 취업하기 어렵기 때문이다 연합우주 카르텔을 만들어서 서로 밀고 끌고 해줘야 한다!! (절대 제가 일자리를 알아보고 있어서 하는 말입니다)
그젠가 Hashnode as Headless CMS 글 보고 Ampcode로 바이브 코딩 해봤습니다. 글 목록이랑 태그 목록은 물론, 글 보여주는 부분에서는 리액션도 보여주고 번역된 버전이 있다면 볼 수 있도록 하였습니다.
https://moreal.github.io/hackerspub-astro-template/
Hackers' Pub 로컬 서버에 붙어서 빌드하고 수동으로 gh-pages에 배포했고, hackers.pub 에서 데이터를 가져다 쓰려면 올려놓은 GraphQL 관련 PR들이 반영되어야 합니다.
간단히 Tiptap 에디터랑 SSR 되는 렌더러 만들어서 뿌듯하게 올리려 했는데 문단 이슈를 맞닥뜨리다...
ampcode free 써보는데 이렇게 광고가 나온다 😲
오늘은 하라는 #cosmoslide 개발은 안하고, "프로젝트는 기세다!" 라는 마음가짐으로 docs 페이지를 만들었다
오늘의 Angel: 특정 환경에서 갑자기 database image is malformed 오류가 나고 에이전트 메시지가 제대로 저장되지 않는 기묘한 버그가 발생해서 식겁해서 한참 확인해 봤는데, 다행히도 데이터베이스가 깨진 건 아니었고(실제로 깨진 적이 있어서 이 가능성을 배제할 수 없었다) 특정한 상황에서 부하가 집중될 때 저런 오류가 발생하는 것으로 드러났다. 구체적으로는 에이전트 메시지가 부분적으로 들어 올 때마다 데이터베이스 변경이 일어나는데, 최근에 검색을 위해 해당 테이블의 변경 때마다 FTS5 인덱스 테이블 두 개를 갱신하도록 트리거를 걸어 놓았는데 이게 화근이었던 것 같다. (초당 수십회 UPDATE + 트리거에서 UPDATE 하나당 DELETE/INSERT 각 2회 = 초당 ~500회 갱신!) 결국 트리거를 버리고 수동 처리하는 것으로 전환했다. 진작 이렇게 할 걸...
예전 일이지만, Windows CI장비에서 수상하게도 git 작업이 타임아웃이 나는 문제가 있었다. 장비에 접속해서 확인해보니 false.exe가 영-원히 켜져 있는 상태로 멈춰 있었바. 아니... 그냥 exit code 설정하고 끝나는 프로그램이 왜...
대충 그동안의 경험으로 서버 장비라고 안그래도 gnu 싫어하는 백신이 더 심하게 하는가보다 싶었고, https://github.com/uutils/coreutils 에서 false를 빌드해다가 갈아치우니까 문제가 완전히 사라졌다.
진짜 뭐가 맘에 안들어서 그러는지 모르겠다...
시작되었다... 오퍼레이션 지옥이...
고장난 테스트를 다 고쳤다. 하지만 CI에서 돌리기는 요원한데... 독점 소프트웨어 + GUI의 지옥의 콜라보... 분명 cli를 지원하는데 cli에서 GUI를 통해 실행되는 명령을 똑같이 실행해도 에러가 난단 말이지...
The federated and networked oekaki board, Oeee Cafe, now support emoji reactions from the fediverse! You also get notifications from the fediverse as well.
This made me very nostalgic. Travis CI was one of those truly industry changing things. It was one of those moments where the before state of running your own Jenkins instance to have some CI for your projects suddenly just felt wildly silly
On this day twelve years ago, in 2013, #curl got its first ever CI jobs. On Travis CI.
Before that we only ran post-merge tests on a set of volunteers' machines.
Today, we have around 230 separate CI jobs and we have tripled the number of test cases since then.
아주 조악하긴 하지만 순수 C# 기반의 VNC 서버 초기 구현체를 만들어봤습니다. VNC 서버가 멀쩡히 있는데 왜 또 만들었냐하면, 대개 VNC 서버들이 GPL 라이선스나 상용 라이선스인 경우가 많아서 불만이었기 때문이었습니다.
Github Copilot + Anthropic Claude 4.5 + Visual Studio 2026으로 개발을 진행해봤습니다. 대개 VNC 서버들이 GPL 라이선스를 쓰고 있어서, 라이선스 전염같은 독소 조항이 없는 안전한 구현체도 필요하지 않겠는가 생각하여 1.5일 정도만에 뽑아내어본 결과물입니다.
추가로 이번에 작업해보면서 Code가 아닌 정식 IDE 기반으로 AI 코드 어시스턴트를 효과적으로 활용하기 위한 사용법도 몇 가지 알게 된 것이 있습니다.
AI 코드 어시스턴트에게 stdout이나 stderr이 아닌 다른 채널 (System.Diagnostics)에 로그를 남기도록 지시하고, 그 로그만 따로 모아서 발생하는 문제에 대한 트러블슈팅을 부탁하는 식으로 VNC와 RDP의 복잡한 내부 구현을 다듬어가면서 완성할 수 있었습니다.
매우 실험적인 과정이었지만, 의외로 꽤 괜찮은 결과물이 나와서 공유해봅니다! 기회가 되면 계속 발전시켜보도록 하겠습니다.
https://forum.dotnetdev.kr/t/github-copilot-vs-2026-1-5-c-vnc/13886
제 집필서 표지가 나왔어요. 설레네요. 두근두근.
연합우주 소프트웨어(#cosmoslide)에 기여를 하고 있는데, fedify를 쓰는데 인메모리 큐를 쓰고 있는 게 조금 신경쓰인다...
My GitHub notifications now look like this every few days 😅
Random bots keep creating repos (not forked) and one of the commits mention me.
Original repo and commit here: https://github.com/matiassingers/awesome-readme/commit/4130eb071cf649d2c1c2b3451aae5baa3a119d17 (Jan 2015) — I don't remember why I was mentioned 🤷♂️
No way to block/mute. I can't bother to report every single account and repo.
Threads에서 연합우주 글을 재공유(repost)할 수 있는 날이 온다면, 그것도 그거대로 특이점이 될 것 같음. "Threads에서 구독이 가능한 블로그 서비스"
아무도 도전하지 않는다면, 1분기에 Hackers Pub 안드로이드 앱 만드는걸 도전해봐야겠다. 플레이스토어는 모르겠고, F-droid 마켓에는 올려보는 경험을 해보고 싶음...!!
게임을 하든 프로그램을 설치하든 무조건 설정부터 건드리는 사람
Zed의 윈도 버전이 드디어 공식 출시되었다. https://zed.dev/blog/zed-for-windows-is-here
공식 버전 출시 전까지는 deevus/zed-windows-builds 저장소 것을 쓰고 있었는데, 2주 전부터 베타 신청한 사람들에게 클로즈 베타를 쓸 수 있도록 링크를 보내주더니 드디어 정식 출시가 되었다. Private alpha 때부터 가벼운 반응 빠른 텍스트 에디터로, 또 개인 프로젝트용으로 잘 사용하고 있던 터라 감개가 무량하다.
Rust로 만들어져 윈도에서도 가볍고 빠릿빠릿하며, LLM 에이전트나 WSL 지원도 물론 완벽히 잘 된다!
이제 arm64 윈도용 빌드도 내 줬으면 🥺
p.s. 현재 한국어 IME 이슈가 있어서 제보해둔 상태 https://github.com/zed-industries/zed/issues/40335
와우 코딩테스트 mock interview 했는데 개털림 ㅋㅋㅋ 심지어 풀었던 건데 못 풀고 난리도 아니었음...1) 누군가 내가 코드하는 걸 보고 있다 2) 그 코드하는 걸 내가 설명해야한다 3) 시간 제한이 있다 4) 여러가지 티키타카하면서 주고 받아야한다 이 4가지가 한꺼번에 팍 오니깐 와우 가장 기본적인 것들도 어버버버 하고 패닉와서 나 왤케 멍청하지 하면서 그냥 별 생각없이 풀 때랑은 차원이 다르다는 걸 깨달았습니다..
Zed의 윈도 버전이 드디어 공식 출시되었다. https://zed.dev/blog/zed-for-windows-is-here
공식 버전 출시 전까지는 deevus/zed-windows-builds 저장소 것을 쓰고 있었는데, 2주 전부터 베타 신청한 사람들에게 클로즈 베타를 쓸 수 있도록 링크를 보내주더니 드디어 정식 출시가 되었다. Private alpha 때부터 가벼운 반응 빠른 텍스트 에디터로, 또 개인 프로젝트용으로 잘 사용하고 있던 터라 감개가 무량하다.
Rust로 만들어져 윈도에서도 가볍고 빠릿빠릿하며, LLM 에이전트나 WSL 지원도 물론 완벽히 잘 된다!
이제 arm64 윈도용 빌드도 내 줬으면 🥺
한국의 함수형 프로그래밍 컨퍼런스 LiftIO 2025가 슬슬 열린다고 한다.
- liftIO 2025 연사 신청 링크: (https://forms.gle/RsmowMdtNxH1Pchc6)
- 컨퍼런스 신청 링크(https://event-us.kr/liftioconf/event/114005)
函數型 프로그래밍 컨퍼런스인 liftIO 2025에 參加 申請했다. Optique로 發表하려고 演士도 申請했는데 될지 모르겠네…
https://github.com/malkoG/malkoG/blob/master/resume.typ
여러분도 typst 쓰세요. 저처럼 이력서 깔끔하게 뽑힘... 소스코드로 버전관리도 가능하고, LLM이 또 코드를 기막히게 잘 말아줌...
SSH.NET은 SSH 연결과 명령어 송수신을 닷넷에서 프로그래밍 방식으로 처리할 수 있도록 도와주는 라이브러리로, 이 라이브러리를 이용하면 리눅스 명령어 사용을 코드 레벨로 가져와서 프로그래밍할 수 있습니다.
예를 들어 특정 컨테이너의 상세 정보를 docker inspect 명령으로 조회하는 것으로, docker inspect의 출력 자체가 JSON으로 들어오기 때문에 이것을 곧바로 System.Text.Json의 JsonDocument로 받을 수 있다는 것입니다.
요새 코딩을 잘 못하구 간간히 리트코드나 풀고 있는데,
- 리트코드를 웹에서 풀다가 불편해서
- 리트코드를 로컬에서 편하게 풀고 싶어서 emacs 플러그인을 짜는데
- emacs 플러그인을 편하게 짜고 싶어서 emacs 테스트 플러그인을 짜는 중...
한글과 컴퓨터로 졸논을 왜 작성해야합니까?
그 소프트웨어를 사용할 권리를 먼저 줘야하는거 아닙니까
한글과 컴퓨터로 졸논을 왜 작성해야합니까?