플랫폼의 가상 키보드 입력이 필요한 화면에서, 웹뷰는 네이티브스럽게 표현하는게 어렵거나 불가능한 것 같다.
洪 民憙 (Hong Minhee)
@hongminhee@hackers.pub · 937 following · 651 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
대충 일단 게시물을 가져오는데는 성공했으니 나머지는 자고 일어나서 마저 작업하는걸로...
대충 작업된 것들
- Next.js에서 Tailwind v4 + TanStack Start 바탕으로 프로젝트 옮기기
- 스타일시트, 컴포넌트, 유틸리티 함수 등등 옮기기
성공적인 마이그레이션까지 남은 것들
- 검색 엔진을 위한 meta 태그 처리
- ContentLayer가 아니라 Content Collections를 써서 mdx 파일의 렌더링
- Server Component가 아닌 형태로 SSR을 지원하는 네이버 스마트에디터 게시물 컴포넌트
- 각
sitemap.xml구현 - Netlify (혹은 CloudFlare) 로 배포하기
그 뒤에 할 것들
- 사이트 이래저래 개편하기
- 태그 페이지 추가로 태그를 통한 네이버 카페 게시물 가져오기
- 같은 코드 베이스로 내 블로그 웹 만들기
Next.js를 쓰면서 큰 생각 없이 서버에서만 렌더링될 컴포넌트엔 use server, 클라이언트에서만 렌더링될 컴포넌트엔 use client를 썼는데 Tanstack Start로 옮기면서 하나하나 createServerFn으로 감싸면서 아찔함을 느끼고 있다.
Next.js가 제공해주던 Metadata도 그렇고 지금까지 너무 프레임워크가 제공하던 매직에 편안함을 느꼈던 것 같단 생각도 들고.
마이그레이션 끝나면 좋은 글감이 나올 것 같다.
아... 싫다 싫어
Next.js를 쓰면서 큰 생각 없이 서버에서만 렌더링될 컴포넌트엔 use server, 클라이언트에서만 렌더링될 컴포넌트엔 use client를 썼는데 Tanstack Start로 옮기면서 하나하나 createServerFn으로 감싸면서 아찔함을 느끼고 있다.
Next.js가 제공해주던 Metadata도 그렇고 지금까지 너무 프레임워크가 제공하던 매직에 편안함을 느꼈던 것 같단 생각도 들고.
마이그레이션 끝나면 좋은 글감이 나올 것 같다.
Building the official Hackers' Pub iOS app with Claude Code.
Optique 0.6.0: Shell completion support for type-safe CLI parsers https://lobste.rs/s/rnekre #javascript #release
https://hackers.pub/@hongminhee/2025/optique-060
たしかにAstroは静的サイト向けだからFedify Studioには使えない...
どちらかというとこの呟きはNuxtが出てきたから呟いた独り言ですね (誤解されてたらすみません)
結局、僕の場合は変に機能があっても使いこなせないからNuxtとかNextは使っても微妙な気がする (Nuxt Contentも個人的に苦手意識ある)
言いたいことは普通に僕にNuxtは合わなかった、それだけ
Nuxt、一時期使ってたけど最近触ってないな
起動が遅めだったのと (これは別にどうでもいい)、単純に僕の今の技量だと合わなかった
아아… 오랜만이군. 이 서늘하고도 묵직한 감각. 「무중단」으로 돌아갈 때다
UPS 배터리 나가리 된 뒤로 그냥 서지 프로텍터로만 쓰고 있었는데, 새 배터리를 넣어 비상시 하드 디스크 드라이브의 안정(과 내 마음의 안정)을 찾기로 한다.
- APC BE700-KR UPS 배터리 교체. APC UPS에 로케트 ES 7-12 배터리 장착
- APC BE700-KR UPS 배터리, 로케트 ES 7-12 F2 배터리로 교체 후기
컴터맨 님 덕분에 잘 찾아서 집어넣었다
(한편 APC BE550 은 그다지 추천하지는 않는다. 가정용 UPS 로는 더 좋은 물건이 있다고 들었다)
분산 만세! 분권 만세! 연합우주 만세! 집 서버 만세!
집집마다 서버를! 온 우주에 휘날려라 셀프호스티드의 깃발
프로톤 메일에는 hide-my-email alias 라는 기능이 있다. alias 생성을 누르면 nosuch.implode984@passmail.net 같은 주소를 즉석에서 생성해 주고, 이 주소로 들어온 모든 메일은 다 내 인박스로 들어오게 된다. 무료 사용자는 이런 주소를 열 개까지 만들 수 있다.
그래서, 직접 메일 서버 구축하기 전까지만 써 봐야지 하는 생각으로 무제한을 질렀다 (…) 매월 EUR 13 정도인 것 같다. (즉 “어서 자체 메일 서버를 구축해라”라는 EUR 13 짜리 채찍질을 매월 당하고 있는 것이다.)
다만, 이걸로 수신만 될 거라고 생각하고 있었다. 어차피 여러 사이트 가입할 때 각각 이메일 주소가 있었으면 했던 것이라서, 발신을 이걸로 할 필요성은 굳이 못 느끼고, 제대로 알아보지도 않았다.
그런데 오늘 시도해 보니 답장은 alias 로 바로 보낼 수 있다. 으잉? 그래서 들여다보니, https://app.simplelogin.io/dashboard/ 에서 “reverse alias” 를 만들면 새 이메일도 hide-my-email alias 에서 보낼 수 있다! 원하는 alias 선택해서 그 안에다가 contact 추가하면, 전용 주소가 하나 생기는데, 그걸 경유하면 된다.
그러니까 이게 SimpleLogin이라는 엔지니어링의 정체인 모양인데… 아니, 이렇게까지 해야 한단 말인가?
잘했다고.
3.5 인치 HDD 여덟 장을 기본으로, 스무 장까지 확장 가능한 대용량 설계! (절망편)
아아… 오랜만이군. 이 서늘하고도 묵직한 감각. 「무중단」으로 돌아갈 때다
UPS 배터리 나가리 된 뒤로 그냥 서지 프로텍터로만 쓰고 있었는데, 새 배터리를 넣어 비상시 하드 디스크 드라이브의 안정(과 내 마음의 안정)을 찾기로 한다.
- APC BE700-KR UPS 배터리 교체. APC UPS에 로케트 ES 7-12 배터리 장착
- APC BE700-KR UPS 배터리, 로케트 ES 7-12 F2 배터리로 교체 후기
컴터맨 님 덕분에 잘 찾아서 집어넣었다
(한편 APC BE550 은 그다지 추천하지는 않는다. 가정용 UPS 로는 더 좋은 물건이 있다고 들었다)
Transparency update: Web framework integration progress
We're sharing a public project board to track our progress on web framework integrations for #Fedify, work commissioned by the Sovereign Tech Fund (
@sovtechfundSovereign Tech Agency). You can follow along at:
https://github.com/orgs/fedify-dev/projects/1
About this work
The Sovereign Tech Fund invested in Fedify to expand its ecosystem through official integrations with popular web frameworks. This investment enables developers to add federation capabilities to their existing applications without changing their technology stack.
Notably, some of these integrations were completed between our initial application submission and the official kickoff of the #STF investment. This demonstrates both our commitment to the project and the community's active development momentum.
Current status
Already completed:
- Next.js integration supporting both App Router and Pages Router (completed before STF kickoff)
- Elysia integration optimized for the Bun ecosystem (completed before STF kickoff)
In progress:
- Fastify integration (PR currently under review)
Upcoming:
- Koa integration
- Comprehensive documentation for all integrations
Why this matters
These integrations make Fedify accessible to developers across different JavaScript ecosystems and runtime environments. Each integration follows established patterns from our Express and h3 integrations, ensuring consistency and ease of adoption.
Investment details
Fedify has been awarded a service agreement by the Sovereign Tech Fund for this work, with a budget of €32,000 and completion target of November 30, 2025. The Sovereign Tech Agency supports the development, improvement, and maintenance of open digital infrastructure through investments like this.
We believe in transparent development and welcome community input and contributions.
#cosmoslide 작업 내역
-
https://github.com/cosmoslide/cosmoslide/pull/45 PDF 업로드 기능이라도 구축은 해야할 것 같아서 진행함. 보통은 express라던가 등등 JS 기반의 웹서버 프레임워크에서는 파일시스템/S3/GCS 등의 스토리지에 파일을 업로드할때, 스토리지에 접근하는 과정 자체를 추상화하는 flydrive라는걸 쓰는데, flydrive는 NestJS에서 사용이 되지 않는 ESM-only 모듈이어서, 어떻게 해야 하나 하다가 Claude Code한테 AWS S3에 접근하는 것만 적당히 추상화해서 야크쉐이빙 해달라고 했더니 그냥 순식간에 되었다. 문서를 뜯어보고 구현해야하는 수고는 줄었고, aws sdk를 어떻게 활용하는지는 가성비있게 학습할 수 있는 기회가 되었다.
-
https://github.com/cosmoslide/cosmoslide/pull/46 프로필 화면에 Presentation 탭을 넣었고, 프레젠테이션 파일을 업로드하면 Create(Note) 액티비티가 발생되도록 처리했다. react-pdf 이용해서 커스텀 PDF 뷰어 적당히 끼워넣었다.
코딩 테스트에서, AI 사용 능력 등을 종합적으로 판별하는 법을 생각해보았다(언젠가 말했던 것도 같은데...). AI를 사용하게 해 주되, 면접에서 로컬 AI(지식이 제한되거나, 파라미터가 낮아서 쓸모없다고 판단되어 일반적으로 안 쓰는 AI들)만을 써서 과제를 즉석에서 해내는 시스템 디자인 면접은 어떨까?
로컬 AI의 출력물"만"을 써서 과제를 해야 하는 것이라면, 진짜 실무적인 관점에서 아랫것들(실무에서는 물론 더 좋은 걸 쓰겠지만)을 갈구는 실력을 볼 수 있을 지도 모른다.
뭐, 아님 말고.
이것이 Network-attached storage 다! (절망편)
3.5 인치 HDD 여덟 장을 기본으로, 스무 장까지 확장 가능한 대용량 설계! (절망편)
이것이 Network-attached storage 다! (절망편)
한편 도메인 네임 레지스트라 옮기면서 트래블월렛으로 결제를 해 봤는데, 괜찮았다. 항상 카드로 해외 결제를 할 때마다 불만이었던 게
- 환율은 얼마인지
- 수수료는 얼마인지
- 내 통장에선 언제 정확히 얼마가 빠져나가는 건지
이런 게 다 불투명하다는 것이었다. 찾아보면 매입시점이 어떻고 전신환매도율이 저떻고 온갖 복잡한 이야기에 내가 굳이 이걸 보고 있어야 하는가 자괴감 들고 괴롭다. 미리 원하는 통화로 원하는 만큼만 환전해서 긁을 수 있고 그 과정이 투명하게 드러난다는 게 마음에 든다.
실물 카드도 원래는 예전에 잠깐 출국했을 때 쓰려고 발급받은 건데, 실제로 환전부터 결제까지 너무 매끄럽고 빠르게 잘 되어서 놀랐던 기억이 있다. 앱이랑 기가 막히게 실시간으로 잘 엮여 있고, 앱 자체도 깔끔하게 잘 만들었고. 카드를 편의점 ATM 에서 즉시 찍어낼 수 있다(…??)는 것도 문화컬처충격쇼크였다. 근데 집에서 온라인 결제할 때도 이렇게 편할 거라고 생각 못했다. EUR 이랑 USD 둘 다 결제해 봤는데, 아주 깔끔하게 잘 되었다.
트래블월렛 바이럴 아닙니다. 내돈내산입니다. 저는 트래블월렛과 전혀 상관이 없는 사람임.
scoped API token 지원하는 도메인 네임 레지스트라 따위 한국에는 없겠지? ㅋㅋ ㅠㅠ 혹시 아시는 분은 제보 부탁드립니다. (.kr 도메인 네임이 있어서...)
NameSilo API 옛날부터 생각만 하다가 방금 처음 써 봤는데, 생각보다 너무 쉽고 간단해서 깜짝 놀랐다.
문제가 심각하다.
아니, 그냥 API 키 발급 누르면 즉시 나오고, 그걸로 내 계정의 모든 것을 다 할 수 있으며, 심지어 연장이나 신규 구입 등 카드 결제 일으키는 행위도 할 수 있다고. 있는 거라고는 API 키를 읽기 전용으로 하는 거랑, "Block Restorations" 뿐이다. 도메인 네임을 제때 연장 못해서 소유권 잃은 경우, 좀 더 큰 돈을 내고 소유권을 회복할 수 있는데 이걸 restoration 이라고 한다. 이건 돈이 많이 들고 환불도 어려운 행위이기 때문에, 이것만 API 키로 못하도록 설정하게 해 준다는 것이다.
그러니까 이거 말고는 권한 관리도 없고, 여러 개의 API 키 중에서 하나만 폐지(revoke)하는 기능도 없고, 모든 API 키를 폐지하는 기능도 안 보이고, 이 API 키를 최근에 사용한 IP 주소는 어디냐 같은 기록도 아무 데도 안 보이고, 하다못해 이 API 키로 행할 수 있는 결제액의 상한 같은 것도 설정할 수 없고, 아무것도 없어!
나는 나 자신을 믿지 않는다. 나는 반드시 사고를 칠 것이다. 엔지니어라면 당연히 그렇게 가정해야 한다! 더구나 이 API 키는 내 도메인 네임의 소유권을 다 상실시킬 수도 있는 물건...? 내가 뭔가 잘못 이해하고 있는 건가? 멀쩡한 관리 페이지가 따로 있는데 네임사일로가 꽁꽁 숨겨 놔서 못 찾고 있는 건가?
거의 10년 넘게 쓰던 서비스인데 진지하게 탈출 고민이 생겼다.
여러분은 서비스가 "쓰기 쉽다는 이유로" 탈출을 고려하는 장면을 보고 계십니다. 이것이 2025년이다.
아무래도 네임사일로의 API 보안 모형이 끔찍하다는 것은 확실해 보인다. 어휴 진짜 생산적인 일 좀 하려고 했더니 이런 게 발목을… 빨리 탈출하자. 어디로 탈출하면 좋을까? 어떤 도메인 네임 레지스트라가 좋은 도메인 네임 레지스트라인가?
내 기억으로는 엔지니어들의 레지스트라 평판에서 한쪽 극단에 있는 것이 GoDaddy 이고 반대쪽 극단에 있는 것이 Gandi 이다. (어느 쪽이 어느 쪽이라고는 하지 않았습니다.) 아무튼 한번 최신화를 해 보자.
이런 것은 보통 나 같은 가짜 광기가 흉내낼 수 없는 훌륭한 진정한 광인들께서 조사해 주신 바가 있게 마련인데, 예를 들어 FSF 나 EFF 같은 데서 옥음을 내리신 게 없는가 기웃거려 본다. EFF 에서 Which Internet Registries Offer the Best Protection for Domain Owners? 라는 자료를 발표한 바가 있긴 하다.
근데 이건 레지스트라(registrar)가 아니라 레지스트리(registry)에 관한 이야기다. 물론 이것도 중요하고 알찬 이야기이긴 한데, 이건 새로운 도메인 네임을 등록할 때 참고할 이야기이고, 나는 이미 있는 도메인 네임을 들고 나가려는 거라서…
하지만 웃기게도 이게 도메인 네임 문제이다 보니 정보가 있는데, 바로 fsf.org 와 eff.org 라는 도메인 네임은 어디서 등록되어 있는지 (ㅋㅋㅋㅋㅋㅋㅋㅋ) WHOIS 찍어 볼 수 있다는 것이다. 아니 이럴 수가 두 군데 다 Gandi 쓰는군요!
그러자 갑자기 뇌리를 스치는 생각이 있었다. 이거 이거 왠지… 끼리끼리 놀 것 같은 그분들 도메인 네임 레지스트라 어디인지 다 찍어 보자
fsf.orgfsfe.orggnu.orgeff.orgsfconservancy.orgsoftwarefreedom.org
이분들 다 레지스트라가 Gandi 이다. 아니. 그밖에 openwrt.org 도, mastodon.social 이나 joinmastodon.org 도…
NameSilo API 옛날부터 생각만 하다가 방금 처음 써 봤는데, 생각보다 너무 쉽고 간단해서 깜짝 놀랐다.
문제가 심각하다.
아니, 그냥 API 키 발급 누르면 즉시 나오고, 그걸로 내 계정의 모든 것을 다 할 수 있으며, 심지어 연장이나 신규 구입 등 카드 결제 일으키는 행위도 할 수 있다고. 있는 거라고는 API 키를 읽기 전용으로 하는 거랑, "Block Restorations" 뿐이다. 도메인 네임을 제때 연장 못해서 소유권 잃은 경우, 좀 더 큰 돈을 내고 소유권을 회복할 수 있는데 이걸 restoration 이라고 한다. 이건 돈이 많이 들고 환불도 어려운 행위이기 때문에, 이것만 API 키로 못하도록 설정하게 해 준다는 것이다.
그러니까 이거 말고는 권한 관리도 없고, 여러 개의 API 키 중에서 하나만 폐지(revoke)하는 기능도 없고, 모든 API 키를 폐지하는 기능도 안 보이고, 이 API 키를 최근에 사용한 IP 주소는 어디냐 같은 기록도 아무 데도 안 보이고, 하다못해 이 API 키로 행할 수 있는 결제액의 상한 같은 것도 설정할 수 없고, 아무것도 없어!
나는 나 자신을 믿지 않는다. 나는 반드시 사고를 칠 것이다. 엔지니어라면 당연히 그렇게 가정해야 한다! 더구나 이 API 키는 내 도메인 네임의 소유권을 다 상실시킬 수도 있는 물건...? 내가 뭔가 잘못 이해하고 있는 건가? 멀쩡한 관리 페이지가 따로 있는데 네임사일로가 꽁꽁 숨겨 놔서 못 찾고 있는 건가?
거의 10년 넘게 쓰던 서비스인데 진지하게 탈출 고민이 생겼다.
여러분은 서비스가 "쓰기 쉽다는 이유로" 탈출을 고려하는 장면을 보고 계십니다. 이것이 2025년이다.
장렬한 삽질 끝에 라즈베리 파이 컴퓨트 모듈 4 에다가 DFR0767 붙이고 Pi OS + nftables + dnsmasq + hostapd + unbound + Pi-hole 해서 완전한 유무선 공유기의 설정을 끝냈다…
도대체 왜 이렇게 해야 하는가? 이렇게 해서 얻는 장점이 무엇인가? unattended-upgrades 됩니다. 그밖의 장점은 나중에 시간과 여력이 있으면 글로 쓰겠습니다.
洪 民憙 (Hong Minhee) shared the below article:
terminal buffer를 통한 pwd sync
이광효 @widehyo@hackers.pub
이 글은 Vim의 `:terminal` 커맨드를 활용하여 터미널 버퍼를 효율적으로 사용하는 방법에 대한 여정을 담고 있습니다. `:terminal`로 열리는 터미널 버퍼는 `Terminal-Job`과 `Terminal-Normal` 모드를 지원하며, `tmap`을 통해 제어할 수 있습니다. 특히 `terminal-api`를 이용하면 터미널 모드에서 Vimscript를 호출하여 Vim의 기능을 확장할 수 있습니다. 글에서는 터미널 버퍼의 현재 디렉터리를 Vim의 현재 디렉터리와 동기화하는 방법, 그리고 이를 자동화하는 과정을 상세히 설명합니다. `.bashrc` 설정과 Vimscript 함수를 결합하여 터미널에서 파일 시스템을 탐색할 때마다 Vim의 현재 디렉터리도 함께 변경되도록 구성합니다. 또한, 내장 셸(`:sh`)과의 전환, REPL 환경에서의 사용, 일회성 명령 실행 등 다양한 사용 사례를 고려하여 터미널 사용 모드를 전환하는 기능까지 구현합니다. 이 포스팅은 Vim의 터미널 기능을 깊이 있게 활용하고자 하는 사용자에게 유용한 팁과 실질적인 설정 방법을 제공하며, Vim과 터미널을 더욱 긴밀하게 통합하여 생산성을 높이는 데 기여합니다.
Read more →
洪 民憙 (Hong Minhee) shared the below article:
vim popup으로 floating window를 사용해보자
이광효 @widehyo@hackers.pub
Vim 8 이상에서 제공하는 `popup` 기능을 활용하여 플로팅 윈도우를 만드는 방법을 소개합니다. 특히 `popup_menu()`를 사용하여 리스트를 팝업 메뉴로 표시하고, `callback` 함수로 팝업 종료 동작을 변경하거나 `filter`를 통해 키 입력을 제어하는 방법을 설명합니다. Less 바인딩, visual mode, yank 기능을 포함한 `filter` 예시를 통해 `echomsg` 디버깅 내용을 쉽게 복사할 수 있도록 합니다. 또한, Ex 명령어나 시스템 명령의 결과를 플로팅 윈도우에서 편리하게 확인하는 함수를 제시하고, 자주 사용하는 명령에 대한 키 매핑 설정 방법을 안내합니다. Neovim에서는 플로팅 윈도우를 더 편리하게 사용할 수 있으며, Lua 스크립트를 통해 동일한 기능을 구현하는 방법을 소개합니다. 이를 통해 Vim과 Neovim에서 플로팅 윈도우를 활용하여 작업 효율성을 높일 수 있습니다.
Read more →
洪 民憙 (Hong Minhee) shared the below article:
NFA를 이용한 정규표현식 구현
이광효 @widehyo@hackers.pub
이 글은 톰슨의 구성을 사용하여 정규표현식을 구현하는 과정을 상세히 설명합니다. 정규표현식을 후위표현식으로 변환하고, 이를 바탕으로 NFA(Non-deterministic Finite Automata) state diagram을 만드는 핵심 단계를 다룹니다. Aho-corasick 알고리즘과의 유사점을 언급하며, tri 구조에서 state diagram으로의 발전된 자료 구조 사용을 강조합니다. 코드 예시와 함께 `split` 및 `match` 노드를 포함한 special node와 정규표현식 operator에 대응하는 NFA fragment를 시각적으로 제시하여 이해를 돕습니다. 특히, 파이썬으로 구현된 `post2nfa` 함수는 후위표현식을 state로 변환하는 방법을 설명하며, `re2post` 함수는 정규표현식을 후위표현식으로 변환하는 과정을 상세히 다룹니다. 마지막으로, graphviz를 사용하여 NFA diagram을 시각화하는 방법을 제시하며, 실제 정규표현식 예제에 대한 결과물을 제공합니다. 이 글을 통해 독자는 정규표현식 엔진의 핵심 원리를 이해하고, NFA를 이용한 패턴 매칭 구현에 대한 깊이 있는 통찰력을 얻을 수 있습니다.
Read more →
洪 民憙 (Hong Minhee) shared the below article:
functools.partial 구현기 (using awk)
이광효 @widehyo@hackers.pub
이 글은 `awk` 언어의 제약 사항을 극복하고 `functools.partial`과 유사한 기능을 구현하는 과정을 상세히 설명합니다. `awk`는 자료형, 함수, 변수 등 여러 면에서 제약이 많지만, 문자열 처리와 associative array를 활용하여 이를 극복합니다. 특히, 함수 시그니처를 문자열로 저장하고, global table을 이용하여 함수의 binding 정보를 관리하는 방식이 핵심입니다. `gawk`의 `@fn` 문법을 활용하여 함수 간접 호출을 구현하고, 런타임에서 필요한 정보를 담은 global variable을 직접 만들어 `functools.partial`의 기능을 흉내 냅니다. 이 글은 `awk`의 제약 속에서 창의적인 해결책을 찾아 함수형 프로그래밍의 가능성을 탐색하는 과정을 보여주며, `awk`에 대한 깊이 있는 이해와 응용력을 높이는 데 기여합니다.
Read more →초등학교 5학년 때? 6학년 때? 아니면 중학생 때? 무슨 컴퓨터 대회를 나갔는데 장소는 어느 학교 과학실이었고, 컴퓨터를 가져와야 했다. 그때나 지금이나 우리 집에는 차가 없었고, 노트북은 다른 사람들은 들고 온 것 같기도 한데 아무튼 흔하진 않았다. 온 가족이 CRT 모니터랑 본체 끌어안고 키보드 마우스 챙기고 케이블 빠진 거 없는지 확인하고… 그렇게 택시를 타고 시험장으로 가서 시험을 보고, 다시 다 분해해서 택시를 타고 집에 돌아왔다. 그래도 그게 나았던 기억이 난다. 어떤 시험은 어느 학교 컴퓨터실에서 거기 있는 컴퓨터를 썼는데, 소프트웨어가 제대로 실행되지 않았는데 자리를 바꿔달라고 말해야 하는지도 몰라서 대충 제대로 하지도 못하고 나왔던 기억이 나서.
옛날에는 KOI(한국정보올림피아드) 경시부문 지역대회 참가자가 자신의 컴퓨터와 모니터를 대회장으로 가져가야 하는 시대가 있었답니다. 플로피 디스켓에 코드를 저장해서 제출하던 시절이죠. 그 시절에 참 별별 일이 다 있었는데.
어느 해 서울대회 때 대상을 받은 분께 언론기사 보도용 사진 촬영 협조(??)를 위해 제 자리를 빌려드려야 했죠. 그러니까, 제가 대회 참석을 위해 가져간 모니터가 꽤 사진빨이 잘 받다보니, 언론사에서 저에게 자리를 빌려달라고 요청했던 겁니다.
다음날 신문에 나온 제 모니터와 컴퓨터, 그리고 낯선 대상 수상자의 얼굴을 보면서 살짝 금이 간 저의 동심. 그렇게 초등학교 5학년의 소년은 어떻게든 정보올림피아드 경시대회를 접수하겠다는 마음을 먹게 되고,
그렇게 세월이 흐르며... 훗날 소년은...
단 한 번도 경시대회 대상을 받거나 국가대표 후보 교육과정에도 진입하지 못했지만-
직업인으로 12년차, 어린 시절의 취미 개발을 포함하면 20여 년차 개발자로 오늘도 개발개발!
I'll write a detailed blog post soon, but I'm thrilled to share that Fedify has received investment from the Sovereign Tech Fund, which means I'll be able to focus exclusively on the Fedify project for the next year or so.
I'll write a detailed blog post soon, but I'm thrilled to share that Fedify has received investment from the Sovereign Tech Fund, which means I'll be able to focus exclusively on the Fedify project for the next year or so.
早晩間 블로그 글로 仔細히 풀겠지만, Fedify 프로젝트가 STF로부터 投資를 받게 되어, 제가 앞으로 約 一年 동안 Fedify 프로젝트에만 專念할 수 있게 되었습니다.
We're excited to announce that #Fedify has been awarded a service agreement by the
@sovtechfundSovereign Tech Agency! The Sovereign Tech Fund is investing €192,000 in Fedify's development over 2025–2026 to strengthen the fediverse ecosystem.
This investment will enable us to significantly expand Fedify's capabilities and make it easier for developers to build federated applications. The commissioned work focuses on improving developer experience, adding comprehensive debugging tools, and ensuring Fedify remains at the forefront of #ActivityPub innovation.
Here are the key milestones we'll be delivering:
-
Web framework integrations: Official adapters for Next.js, Elysia, Fastify, and Koa, making it seamless to add federation to existing applications
-
ActivityPub debug & development tools: Real-time debug dashboard with WebSocket monitoring, federation lifecycle hooks, and implementation checklist CLI to make federation interactions transparent and debuggable
-
Storage & infrastructure enhancements:
SQLiteKvStorefor robust file-based storage across Node.js, Deno, and Bun, plus performance optimizations for production deployments -
Comprehensive documentation & examples: Specialized tutorials for building federated blogs, social networks, and content platforms, with complete working examples and migration guides
-
Observability & monitoring: Full OpenTelemetry metrics, performance benchmarking tools, and federation health dashboards for production environments
-
Advanced features & standards: FEP-ef61 (Portable Objects) support and implementation of emerging Fediverse Enhancement Proposals to keep Fedify at the cutting edge
All developments will be open source and available for the entire #fediverse community to use, contribute to, and build upon.
요즘 코딩권태기 옴... 손에 안 잡힘...ㅠㅠ
Optiqueを見てて、ぼーっと今年のアドカレは各言語とメジャーなコマンドラインパーサー/パーサーコンビネータの組み合わせを比較してみようかなーなんて
RustのclapとかGoのCobraとか Haskellにもなんかそういうのあるんだよね確か
Optiqueを見てて、ぼーっと今年のアドカレは各言語とメジャーなコマンドラインパーサー/パーサーコンビネータの組み合わせを比較してみようかなーなんて
Ferrrero roshell 언젠간 만들어야지
Anyone have same errors Astro running in Bun?
I can't know how reproduce this...
Bun Canary v1.2.24-canary.26 (e3a1ae09) Windows x64
Windows v.win11_dt
CPU: sse42 avx avx2 avx512
Args: "node" "F:\amasecc\foxtail\node_modules\astro\astro.js" "dev"
Features: Bun.stderr(2) Bun.stdin(2) Bun.stdout(2) fetch(115) http_server jsc spawn(3) transpiler_cache(28) tsconfig process_dlopen(3)
Builtins: "bun:main" "node:assert" "node:async_hooks" "node:buffer" "node:child_process" "node:crypto" "node:dns" "node:events" "node:fs" "node:fs/promises" "node:http" "node:https" "node:module" "node:net" "node:os" "node:path" "node:perf_hooks" "node:process" "node:querystring" "node:readline" "node:stream" "node:tls" "node:tty" "node:url" "node:util" "node:vm" "node:zlib" "node:worker_threads" "ws" "node:v8" "node:http2"
Elapsed: 1791059ms | User: 47062ms | Sys: 25015ms
RSS: 1.45GB | Peak: 1.55GB | Commit: 1.41GB | Faults: 1572143 | Machine: 68.34GB
panic(main thread): Segmentation fault at address 0x2E
oh no: Bun has crashed. This indicates a bug in Bun, not your code.
To send a redacted crash report to Bun's team,
please file a GitHub issue using the link below:
https://bun.report/1.2.24/wn2e3a1ae04gBugk0ggC228qyB+3p8wB__0omt2CA2A8C
error: script "dev" exited with code 3
PinnedなリポジトリをFeaturedに入れるようにした (自動化してある)
해외리모트잡 페이가 국내에 비해 너무 좋길래, 주변에 어떻게 이럴수 있냐고 했더니 다들 너무 당연하게 국내 페이가 싸서라고 한다. 그리고 해외에서 한국 개발자 선호하는것도 그냥 단순히 싸고 가성비 좋아서라고 한다.
세계 10위권의 경제대국의 국민으로써 느낌이 좀 이상하다. 그러니까 나는 K-인도 개발자였구나..
Next.js 수준으로 React를 사용할 수 있는 오픈소스 프레임워크가 나오면 좋겠다
추석 때 읽으려고 산 책.. 추천사부터 많이 들어본 이름들이 나오는...
모델의 컨텍스트도 깃 처럼 버전 관리를 할 수 있는 방법이 없을까
최근 (오픈소스) 프로젝트 관련해서 종종 연락을 받고 있습니다. 대체로, 검토해보겠다던 기능이 추가되는데 왜이렇게 늦어지냐는 내용으로 추정됩니다.
추정인 이유는 건너서 들은 것도 있기 때문입니다.
제가 이 글을 올리는 이유는 상당히 험한 말도 나왔다는걸 전해 들었기 때문입니다.
저는 외부의 어떠한 보수도 받지 않고 혼자서 정규업무 외 시간에 제 프로젝트의 개선과 이슈사항을 해결하고 있습니다.
최근에 개인적 사유로 커밋 빈도가 줄었던 것은 맞지만 그럼에도 우선순위가 높은 작업은 너무 늦어지지 않도록 노력했습니다.
제 프로젝트로 구축 및 운영을 하시는 분들이 있다고 하니 늘 감사하게 생각합니다만, 저는 이 일을 보수를 받고 하지 않습니다.
혹여 답답하신 분이라면 깃허브에 올라와있는 제 프로젝트 내용물을 통채로 복사해서 전문 개발 업체에 커스터마이징을 맡기시길 바랍니다.
그렇게 나온 결과물에 대해선 독점권 행사도 무리없이 행사하실 수 있도록 적극적으로 돕겠습니다. 감사합니다.
Weibo、ハンドル名に漢字を使えるの面白いので是非ともActivityPubに対応して場を掻き回して欲しい(?)
이번 연휴 때 서울에서 모각작, 모각코 하실 파티를 만들어보려고 페북메신저 채널을 만들었습니다.! 파이브스팟이나 원루프사당을 쓸 것 같습니다.
https://m.me/cm/AbbiwdoizU4gxbqc/?send_source=cm:copy_invite_link
If you are using Vercel, will you cancel your account and move your hosting elsewhere now that they publicly support and work with genocidial fascists?
OSSCA 모각코 사진 보니 맨날 똑같은 자리 앉아있음
무슨 괴담도 아니고😂
Optique 0.6.0 is adding shell completion! We already support:
- Bash
- zsh
- fish
- PowerShell
This covers most users, but should we add more niche shells? Your input helps us prioritize!
나도 모르는 사이에 타임머신을 개발한건가? 왜 벌써 10월이고 최종 보고서를 제출해야 하는 것이지?


























