노트· Notes

記錄技術探索、開發心得與生活碎片。每一篇都是當下最真誠的思考。

19태그 84조회 2621
2026年8月
68月
2026年8月6日位元築夢

Trakt가 내 API 앱을 지웠다:「지금 보고 있는 것」 파이프라인 전체를 Simkl로 옮기다

7월 31일 밤, 「지금 보고 있는 것」 페이지가 7월 25일에 멈춰 있는 걸 발견했다. 에러 메시지는 없었다. 서버도 멀쩡하고, 페이지도 정상적으로 그려지고, 애니메이션 쪽은 여전히 갱신되고 있었다. 영화와 드라마 쪽만 멈춰 있었다. 수동으로 다시 로그인하려고 Trakt 사이트에 갔더니 더 이상했다. 분명 로그인은 성공하는데, 화면을 옮길 때마다 첫 페이지로 튕겨 나왔다. ![로그인한 상태...

#Trakt#scrobbler#시청 페이지#브라우저 확장
27
48月
2026年8月4日位元築夢

VS Code Remote-SSH가 서버를 96°C까지 태웠다: rust-analyzer가 cargo check를 무한히 재실행하고 있었다

집에 둔 서버에서 서른 몇 개의 컨테이너가 돌아갑니다. 이 블로그, NAS 대시보드, 모니터링, 자체 호스팅하는 서비스 몇 개. 거기에 더해 평소 개발도 VS Code Remote-SSH로 거기에 붙어서 했습니다. 워크스페이스는 36 GB, 파일 수는 사십만 개입니다. 7월 중순 어느 오후, 그 머신이 타 죽어서 응답을 멈췄습니다. 사흘을 추적한 결과 범인은 에디터였습니다. 서른 몇 개의 컨...

#自架伺服器#故障排除#VS Code#rust-analyzer
17
位元築夢

UPS와 NUT으로 서버를 정전 시 자동 종료시키기: 설정 전 기록과, 고양이가 갉아 먹은 케이블

이사한 다음 주부터, 서버가 매일 밤 혼자 꺼지기 시작했습니다. 크래시도 재부팅도 아니고 전원이 끊기는 형태의 죽음입니다. 켜면 반드시 ext4 recovery가 돌고, uptime은 0으로 돌아가고, 직전까지 돌던 것들은 아무 유언도 남기지 않았습니다. 게다가 시간대를 고릅니다. 거의 새벽이었습니다. 처음 의심한 건 케이블 헐거움이라 전부 다시 꽂았습니다. 다음 날 또 죽었습니다. 이사 후...

#Linux#自架伺服器#NUT#UPS
15
2026年7月
317月
2026年7月31日位元築夢

다른 자가 호스팅 운영자와 상호 감시: Uptime Kuma 교차 호스팅, 그리고 Trust Proxy를 켜서 오히려 위험해진 이야기

자가 호스팅을 오래 하다 보면 난처한 문제와 마주친다. 감시 대상 머신 위에서 감시 도구가 돌고 있다면, 그 머신이 죽었을 때 누가 알려주는가? 내 모든 서비스는 Uptime Kuma로 지켜보고 있는데, 정작 그 Kuma가 감시 대상과 같은 머신에 올라가 있다. 정전, 회선 단절, 통째로 먹통. 그러면 모니터링도 함께 죽고 알림은 한 통도 나가지 않는다. 이걸 해결하려면 모니터링을 다른 곳에...

#보안#Let's Encrypt#자가 호스팅#Uptime Kuma
56
297月
2026年7月29日位元築夢

친구들을 위해 팰월드 전용 서버 세우기: Docker 자가 호스팅과, 모두가 막히는 UDP 연결

친구가 팰월드(Palworld)의 1.0 소식을 보고 같이 하자고 불렀다. 그들은 2년 전에 한 번 깬 적이 있어서 이 대규모 업데이트를 계기로 다시 한 바퀴 돌고 싶다고 했고, 나도 마침 그 무렵 한가했다. 솔직히 이 게임 첫인상은 별로였다. 그때 그 "포켓몬 표절" 논란이 있었으니까. 하지만 나중에 소송에서 이겼고, 1.0 업데이트 폭도 정말 커서, 생각만큼 심하진 않겠거니 하고 나도 손...

#Docker#서버#팰월드#자가 호스팅
138
位元築夢

블로그 글 렌더링 전략: CSR 껍데기에서 SSG/ISR, 그리고 eval하는 MDX와 더는 깜빡이지 않는 첫 프레임까지

모든 블로그는 결국 같은 질문에 답해야 합니다. 글 한 편이 어떻게 데이터베이스에서 독자의 화면까지 도달하는가? 제 사이트는 지난 2년 동안 가장 게으른 답을 쓰고 있었습니다. 바로 순수 CSR입니다. 이 글은 그 답을 세 번 다시 쓴 이야기입니다. 먼저 SSG로 옮겼고, 제가 직접 만든 prere...

#TanStack Start#SSG#ISR#MDX
119
位元築夢

3D 별밭 배경 성능 대장정: OffscreenCanvas Worker → WebGPU/TSL 재작성

배경은 사이트 전체에서 가장 먼저 눈에 들어오면서도, 가장 신경 쓸 필요가 없어야 하는 요소입니다. 그저 장식일 뿐입니다——천천히 도는 별밭 하나, 오른쪽에 걸린 토성 하나. 그런데 바로 이 장식이, 순진한 작은 장난감에서 시작해 자칫 첫 화면 전체를 백화면으로 만들 뻔한 괴물로 자라났습니다. 앞뒤로 세 단계, 스무 몇 개의 commit이 들었습니다. 이 글에서는 koimsurai.com의 ...

#WebGPU#Three.js#TSL#성능 최적화
76
位元築夢

아무도 안 만든 anigamer SDK 만들기:AniGamer API 리버싱, 스스로 비운 cookie, 그리고 못 읽는 HttpOnly

전에 [자동 갱신되는 「지금 뭐 보는 중」 페이지] 이야기를 쓸 때 복선을 하나 남겼습니다: 페이지의 그 애니 데이터는 제가 직접 리버싱한 애니 시청 SDK에서 긁어온 것이라고. 그 글에선 한 줄로만 언급하고, 이 부분은 한 편 통째로 쓸 만하다고 했죠. 그게 바로 이 글입니다. 시작은 작았습니다—페이지에 제 진짜 애니 시청 기록을 띄우고 싶었어요. 영화·드라마엔 Trakt라는 붙일 곳이 있...

#Rust#바하무트 애니메#리버스 엔지니어링#TypeScript
57
位元築夢

스스로 갱신되는 '지금 뭘 보는 중' 페이지 만들기:動畫瘋 × Trakt × TMDb 시청 기록 통합

시작점은 사실 "시청"과는 상관없었습니다. 제가 원한 건 Innei 같은 짧은 메모 블로그——뭔가를 다 보면 링크 하나 던지고 한 줄 적기. 그런데 그와 저 사이엔 결정적 갈림길이 있습니다: 그는 손으로 유지하고, 저는 게으릅니다. "보고 나서 끄적이고 링크만 두는" 그 리듬은 흉내 낼 수도, 내고 싶지도 않습니다——저는 그게 스스로 갱신되길 바랍니다. 그래서 "수동 끄적임"은 다른 것으로 ...

#바하무트 애니메#Trakt#TMDb#scrobbler
91
位元築夢

NLLB 번역을 Rust에 붙이며 Windows 툴체인의 모든 층을 뚫다:ct2rs × CTranslate2의 protobuf 충돌, /MT vs /MD CRT 전쟁, 종료 데드락, 그리고 NVIDIA 크래시

오프라인 NLLB 번역 기능을 Python에서 Rust로 옮기려 했습니다. 모델은 int8 양자화된 NLLB-200 600M, ct2rs(ctranslate2-rs)라는 CTranslate2 바인딩을 거칩니다. Linux에서는 모든 게 깔끔했습니다. 그런데 Windows로 옮기자마자, 같은 길 위에서 세 개의 벽에 잇따라 부딪혔습니다: 링크가 안 되고, 종료가 안 되고, G...

#CTranslate2#Rust#Windows#데드락
132
2026年6月
位元築夢

흩어진 데이터베이스에 잠긴 창 하나:Outerbase × Mongoku × Authelia로 만드는 2FA 읽기 전용 DB 콘솔

제 서버에는 "내 데이터베이스"가 여기저기 흩어져 있습니다. 블로그, n8n, Uptime Kuma, 3x-ui, Jarvis, NAS가 각각 SQLite를 가지고 있고, 다른 프로젝트에는 MongoDB가 하나 더 있죠. 데이터를 좀 보려 할 때마다 컨테이너에 ssh로 들어가 sqlite3를 치거나, 일회용 웹을 띄우거나, 노트북에 또 Compass를 까는 식이었습니다. 진짜 아픈 건 SQL...

#SQLite#2FA#Authelia#MongoDB
54
位元築夢

tool-calling 복구 프록시를 만들려다, 내가 만든 벤치마크가 아이디어를 죽인 이야기

지난 글에서 xl-ai + 로컬 Gemma와의 진흙탕 싸움을 끝낸 뒤, 제 머릿속에는 하나의 결론이 새겨졌습니다. 로컬 모델은 tool calling을 도무지 못 한다. Gemma 3 27B는 안정적인 JSON조차 뱉지 못했고, "모델이 얌전히 tool-call 형식을 말해줄 것"이라 전제하는 라이브러리(xl-ai 같은)는 연결하는 순간 터졌습니다. 결국 백엔드에 손수 만든 어댑터를 끼워서 ...

#로컬 모델#복구 레이어#모델 선택#Qwen3.5
526
2026年5月
位元築夢

BlockNote의 AI를 로컬 Gemma에 연결하기:Vercel AI SDK tool-calling 포맷과의 한판 승부

완전 오프라인 데스크톱 노트 App을 만들고 있고, 에디터 코어로 BlockNote를 씁니다. BlockNote에는 공식 AI 패키지 @blocknote/xl-ai가 있어서 「글 개선 / 간결화 / 맞춤법 수정 / 번역 / 이어쓰기」 같은 선택 AI를 할 수 있고, 게다가 아주 예쁜 <Annot note="인플레이스 대조: AI의 변경을 원문 위에 바로 표시—옛 텍스트에 취소선, 새 텍스트에...

#AI 도구#프런트엔드 개발#LLM#삽질기
229
2026年2月
位元築夢

PostHog Data Pipeline 로컬 배포 삽질기: DinD와 Caddy 사이에서 살아남기

얼마 전 회사에서 데이터 동기화 요구사항을 하나 만났습니다. 발단은 프런트엔드가 로그인 처리에서 사용자의 부서(dept) 이름을 도무지 제대로 못 가져온다는 것. 그래서 DBA가 해법을 하나 냈습니다. 아예 가장 아래층부터 손대서, 데이터 파이프라인으로 데이터베이스에 있는 기존 member 레코드를 뽑아 sync하고, 그 김에 빠진 dept 정보까지 채워 넣자는 것. 이 요구사항을 위해 우리...

#PostHog#마이크로서비스#데이터 동기화#ODBC
230
聲律拾遺

요루시카 '노인과 바다': 신발끈을 풀고, 그저 바람이 되기까지

숨이 막혀 가라앉기 직전에, 목덜미를 붙잡아 단숨에 드넓은 바다 위로 끌어올려 주는 노래. 당신에게도 그런 곡이 있나요? 저에게는 ヨルシカ (요루시카)의 《老人と海》(노인과 바다), 바로 그 곡입니다. 일본 노래를 들어온 십 년 동안, 제...

#요루시카#감성 힐링#일본 노래#음악 해설
307
202月
2026年2月20日位元築夢

이미지를 스스로 관리하는 Markdown 에디터 만들기: Monaco Editor와 백그라운드 업로드에서 NAS 갤러리와 이미지 월까지

얼마 전부터 블로그 관리자 에디터로 Monaco Editor를 쓰기 시작했습니다. VS Code의 핵심, 코드를 쓰라고 태어난 에디터인데, 그걸 블로그 쓰는 데 가져다 쓰니 스스로도 좀 하드코어하다 싶죠. 다만 이 글의 주인공은 Monaco 자체가 아니라, 「그 안에 이미지 한 장을 넣는」다는 시시해 보이는 행위입니다. 그 작은 요구 하나가 결국 Base64, 백그라운드 업로드,...

#Monaco Editor#이미지 업로드#Markdown#NAS
320