
Linux 서버에 WireGuard VPN을 설치하고 키 생성 방화벽 개방 서비스 등록까지 구성하는 방법을 설명합니다. Mac 클라이언트 conf 설정과 GUI 연결 확인 절차를 포함해 안전한 원격 접속 환경을 구축할 수 있습니다.
더 읽기 →Ollama로 로컬 LLM 서버를 세우고, 평소 쓰던 Claude Code까지 로컬 모델로 연결하는 방법을 정리합니다.
더 읽기 →
Claude Code를 Ollama 로컬 LLM으로 연결하는 방법을 설명합니다. Claude 호환 API, 환경변수, 모델 선택, LiteLLM 프록시가 필요한 경우까지 정리합니다.
더 읽기 →
SEO 감사 리포트가 HSTS·CSP·X-Content-Type-Options·Referrer-Policy를 지적하는 이유와 각 헤더의 역할을 정리합니다. 값이 고정된 헤더는 Cloudflare Transform Rules로, 자주 바뀌는 CSP는 HTML meta 태그로 나눠 관리하는 방법과 meta에서 frame-ancestors가 안 되기 때문에 X-Frame-Options가 필요한 이유를 다룹니다.
더 읽기 →
텔레그램 공식 내보내기와 달리 기간 지정·특정 방 선택·말풍선 보기·익명 처리가 가능한 브라우저 백업 도구를 소개합니다. 설치 없이 바로 쓰고 서버를 거치지 않아 로그인 정보가 외부로 나가지 않습니다.
더 읽기 →
네이버 지도 Open API에서 Authentication Failed(200) 오류가 나는 원인을 정리합니다. 콘솔 통합으로 ncpClientId·govClientId·finClientId가 ncpKeyId로 바뀜 점과, 포트·URI를 제외해야 하는 웹 서비스 URL 등록 규칙까지 확인하세요.
더 읽기 →
정적 사이트를 Cloudflare 에 올리고, 그 앞에 코드를 한 겹 얹어 SEO 를 개선하기까지. 네 편으로 나눠 정리한 시리즈의 안내판.
더 읽기 →
Workers Static Assets 가 무엇이고 요청이 어떤 순서로 흐르는지. 언제 워커가 돌고 언제 과금되는지. 정적 사이트에 동적 처리를 얹기 전에 알아야 할 것.
더 읽기 →
워커가 외부 API 를 부를 때 캐시를 거는 두 가지 방법과, 모르면 반드시 밟는 함정 셋. 데이터센터별 캐시·Tiered Cache·캐시 키.
더 읽기 →
React SPA 를 정적 호스팅에 올리면 원본 HTML 이 빈 껍데기다. 서버를 새로 세우지 않고 Cloudflare Workers 만으로 단계적으로 개선한 과정.
더 읽기 →
wrangler 설치와 타입 설정, wrangler dev 로 workerd 를 띄우는 법, 그리고 배포. wrangler dev 가 프론트 개발 서버가 아니라는 점부터.
더 읽기 →Notion→Hugo→GitHub Pages로 블로그를 만들고, 커스텀 도메인 연결, 다국어 지원, 보안 헤더 적용까지 순서대로 정리합니다.
더 읽기 →아래 블로그 글 상당수는 이 서비스들을 만들고 운영하면서 부딪힌 문제를 기록한 것입니다.

전국 병원을 지역·진료과목·응급실·달빛어린이병원 조건으로 빠르게 찾습니다. 지도 위치, 비급여 진료비, 대중교통 정보까지 한 화면에서 확인할 수 있습니다. 아이가 아플 때 어디로 데려가야 할지 헤매고, 한국 의료 체계를 잘 모르는 외국인이 어느 병원을 가야 할지 몰라 곤란해하는 모습을 보며 시작했습니다.

텔레그램 대화를 브라우저에서 바로 내 컴퓨터로 내보냅니다. 서버를 거치지 않기 때문에 대화 내용이 외부로 전송되지 않고, 설치나 가입 없이 무료로 쓸 수 있습니다. 대화 내용을 누구 것인지 드러나지 않게(익명으로) 백업할 방법을 찾다가 마땅한 게 없어서 직접 만들었습니다.

위 서비스들이 실제로 쓰고 있는 공공 데이터 API입니다. 콘솔에서 앱을 등록하고 관리하면 바로 쓸 수 있습니다. 기관마다 흩어져 있는 데이터를 하나로 합쳐, 키 하나로 여러 데이터를 불러올 수 있습니다.

위 서비스와 API들의 사용법을 한곳에 정리해뒀습니다. 직접 붙여보고 싶다면 여기부터 보시면 됩니다.
게임과 플랫폼 백엔드·인프라를 다루는 서버 엔지니어 손원철이 만든 서비스들을 모아둔 곳입니다. 평소에 필요해서 만든 도구들을 위 서비스들로 공개해뒀습니다. 만들면서 부딪힌 문제와 해결 과정은 블로그에 기록하고 있습니다.
대부분 제가 직접 겪었거나 주변에서 지켜본 어려움에서 나온 도구들입니다. 아이가 아플 때 좋은 병원을 찾아 헤매거나 한국 의료 체계에 낯선 외국인이 어느 병원을 가야 할지 몰라 곤란해하는 모습을 보며 MediFinder를 만들었습니다. 텔레그램 대화를 익명으로(누구 것인지 드러나지 않게) 백업할 방법을 찾다가 마땅한 게 없어서 Telegram Exporter를 만들었습니다. 만들고 나서 다른 사람도 같은 문제를 겪을 것 같으면 그대로 공개했습니다.
이 서비스들을 운영하면서 겪은 인프라·백엔드 문제(서버 구축, 배포 자동화, 보안 설정, 성능 최적화 등)는 전부 블로그에 정리해두고 있습니다. 실제로 운영 중인 서비스에서 나온 문제라 이론보다는 직접 겪고 해결한 과정 위주입니다.