Archives
All the articles I've archived.
-
로컬 LLM 홈서버, 신형 맥미니·맥스튜디오 손익분기 계산
로컬 LLM 홈서버용으로 M6 맥미니와 M5 맥스튜디오를 살지 말지, 메모리 대역폭과 API 토큰 단가로 직접 계산해봤습니다. 'AI 성능 4배'의 실체와 가동률 기준 손익분기까지.
-
리눅스 로그인 지연과 비밀번호 변경 실패, 두 번 오진한 기록
리눅스 로그인 지연 28.2초와 비밀번호 변경 실패. 하나로 묶으려다 두 번 틀렸습니다. setuid 비트, 죽은 fstab 한 줄, PAM 잔재 — 원인은 셋이었습니다.
-
RustDesk Wayland 무인 원격 접속, 승인 창 없이 연결하기
RustDesk가 Wayland 무인 원격 접속 프리뷰 빌드를 냈습니다. 매번 뜨던 화면 공유 승인 창이 사라진 원리(DRM/KMS 직접 캡처)와 설치 전 확인할 제약·보안 조건을 정리했습니다.
-
폴더 구조 정리 규칙 10개: 직접 만들어 쓰는 디렉토리 표준
폴더 구조 정리가 사흘 만에 무너지는 이유부터, 폭 20개·깊이 5레벨·파일 네이밍·바로가기까지 규칙 10개로 정리한 디렉토리 구조 표준입니다. 처음이라면 네 개만 지켜도 됩니다.
-
AWS 서버리스로 긴급 장애 온콜 전화·SMS 자동화하기
긴급 장애 메일 1통을 담당자에게 TTS 음성 전화와 SMS로 동시에 보내는 AWS 서버리스 온콜 알림 시스템을 아키텍처와 실전 함정 중심으로 정리했습니다.
-
Google Search Console 등록: 발행한 글이 검색에 안 뜰 때
발행한 블로그 글이 구글에 안 나올 때, Google Search Console 등록부터 도메인 속성 DNS 인증, 사이트맵 제출, 색인 요청까지 실제 절차와 정직한 기대치를 정리했습니다.
-
Cloudflare Web Analytics로 정적 블로그 방문자 읽기
GitHub Pages 정적 블로그에 Cloudflare Web Analytics를 붙인 실제 경험. 왜 분석을 붙이는가, 비컨으로 무엇을 알 수 있는가(유입·인기 글·Core Web Vitals), 그리고 한계까지 정리했습니다.
-
돈 잃은 사람은 없고 데이터 잃은 사람은 있었다 — AWS 비용 알람 오탐 사건
Updated:AWS 빌링 시스템의 단가 오류로 터진 대규모 비용 알람 오탐 사건. 추정치와 확정 인보이스를 가르고, 리소스 실존 여부로 진짜 과금을 판별하는 절차를 정리했습니다.
-
'데이터 좀 뽑아주세요'를 줄이는 길 — 대화형 데이터와 데이터 조직의 다음 단계
데이터 좀 확인해달라는 요청, 사소한 질문은 늘 망설여집니다. Snowflake의 대화형 데이터 협업(cowork) — 데이터웨어하우스에서 AI 에이전트, 대화형 BI(표·차트 artifact), 컬럼 단위 보안 거버넌스로 이어지는 네 층을 짚고, 데이터 조직이 지향해야 할 방향을 정리합니다.
-
재부팅 한 번에 알림이 끊겼다 — 홈서버 도커 서비스를 자동 복구하는 3가지
홈서버에서 docker로 돌리던 개인 서비스가 재부팅 후 조용히 사라졌습니다. 재시작 정책(restart policy)·기동 순서(healthcheck)·상태 영속(bind mount) 세 가지로 '재부팅해도 알아서 다시 뜨는' 구성을 만드는 법을, 실제로 겪은 장애와 함께 정리합니다.
-
FortiGate SSL VPN이 사라진다: Tailscale·AWS Client VPN 전환 비교
FortiOS 7.6.3부터 SSL VPN 터널 모드가 사라집니다. 현재 FortiGate SSL VPN을 쓰는 소규모 조직 관점에서 Tailscale과 AWS Client VPN을 사용성·보안 관리(디바이스 제어·비밀번호·계정 만료)·가격으로 비교하고, 계정 50·동시접속 15 미만·Google SSO 환경과 ISMS 심사 항목에 맞는 선택을 정리합니다.
-
Codex iOS 플러그인 출시: SwiftUI 앱을 Codex 안에서 개발하기
OpenAI가 2026년 6월 4일 공개한 Codex iOS 플러그인(Build iOS Apps)을 정리합니다. SwiftUI 개발부터 시뮬레이터 실행·프리뷰 핫 리로드까지 Codex 안에서 도는 워크플로를 살펴봅니다.
-
Astro 정적 블로그 구축 — 콘텐츠 컬렉션부터 배포까지
Astro 정적 블로그를 콘텐츠 컬렉션, Zod 스키마, RSS·사이트맵, GitHub Pages 배포까지 4단계 흐름으로 정리한 실전 가이드입니다.
-
Saegida 블로그 시작 — Astro + GitHub Pages
정적 사이트로 기술 블로그를 다시 세웁니다. 공개/비공개 분리와 글쓰기 규칙.
-
오픈소스 라이선스 한눈에 — MIT·Apache·GPL부터 AGPL까지
"오픈소스니까 그냥 써도 되지?" — 아닙니다. 오픈소스도 저작권이 있는 소프트웨어이고, 라이선스는 "이 조건을 지키면 써도 된다"는 이용 허락 계약입니다. 조건을 어기면 저작권 침해가 됩니다. 특히 어떤 라이선스는 내 코드까지 같은 라이선스로 공개하
-
클로드 코드로 시스템 만들기 — 요구사항·문서부터 가드레일까지
코드부터 시키지 마세요. 클로드 코드(Claude Code)에게 곧장 "로그인 기능 만들어줘"라고 하면, 그 순간의 빈약한 컨텍스트로 코드를 짜냅니다. 결과는 매번 달라지고, 뒤로 갈수록 앞뒤가 안 맞습니다. 해법은 단순합니다. 먼저 설계 문서를 만들
-
Syncthing으로 여러 PC 동기화 — TrueNAS 허브 + Tailscale
여러 대의 PC를 클라우드 없이 동기화하고 싶다면. 집·사무실·노트북 3대에 같은 작업 폴더를 두고 쓰는데, 드롭박스에 매달 돈 내기도 싫고 내 파일이 남의 서버에 올라가는 것도 찜찜하다면 Syncthing이 답입니다. 중앙 서버 없이 내 기기끼리 직
-
Ed25519 한 번에 정리 — SSH 키·서명부터 MariaDB 인증까지
왜 이걸 정리했나? Ed25519는 하나의 서명 알고리즘이지만 쓰임새가 여러 곳에 걸쳐 있습니다. 서버 접속용 SSH 키로 쓰고, Git 커밋·파일에 전자서명을 붙이는 데도 쓰고, 심지어 MariaDB의 비밀번호 인증까지 같은 알고리즘으로 처리할 수
-
Claude CLI + Discord 멀티채널 연동 — 어디서나 AI와 대화하기
왜 이걸 만들었나? Claude CLI는 강력하지만 터미널을 열어야만 쓸 수 있습니다. 모바일이나 외출 중에는 접근이 어렵고, 여러 프로젝트를 동시에 진행하면 컨텍스트가 뒤섞이는 문제도 있습니다. Discord를 Claude의 인터페이스로 연결하면 세
-
재부팅 후 tmux + Claude CLI Discord 봇 자동 실행 (systemd user service)
왜 이걸 설정했나? Claude CLI를 Discord 봇(mybot)으로 항상 켜두고 싶었습니다. Discord에서 메시지를 받으면 언제든 응답할 수 있어야 하고, 서버를 재부팅해도 자동으로 다시 살아나야 합니다. 그러려면 두 가지가 필요합니다. 1