
Garage 에 garage-webui 를 붙여 레이아웃·버킷·키를 브라우저에서 관리한다. compose 서비스 하나와 htpasswd 로그인 설정.
더 읽기 →
missing field s3_region 부터 서명 리전 불일치까지. 도커 컴포즈로 Garage 를 띄워 버킷에 객체를 넣는 데까지.
더 읽기 →
Synology DSM에서 acme.sh와 Cloudflare DNS 인증으로 Let’s Encrypt 무료 SSL 인증서를 발급하고 자동 갱신하는 방법을 정리한다. synology_dsm deploy-hook 설정과 2FA 및 Hostname 오류 해결까지 안내한다.
더 읽기 →
텔레그램 공식 내보내기와 달리 기간 지정·특정 방 선택·말풍선 보기·익명 처리가 가능한 브라우저 백업 도구를 소개합니다. 설치 없이 바로 쓰고 서버를 거치지 않아 로그인 정보가 외부로 나가지 않습니다.
더 읽기 →
INVALID_REQUEST_PARAMETER_ERROR 는 파라미터 문제가 아닐 수 있다. data.go.kr 은 헤더 값의 environment= 을 거부한다.
더 읽기 →
Linux 서버에 WireGuard VPN을 설치하고 키 생성 방화벽 개방 서비스 등록까지 구성하는 방법을 설명합니다. Mac 클라이언트 conf 설정과 GUI 연결 확인 절차를 포함해 안전한 원격 접속 환경을 구축할 수 있습니다.
더 읽기 →
Cloudflare 가 robots.txt 를 대신 써 주고 AI 봇을 엣지에서 차단한다. 어떤 봇이 얼마나 가져갔는지도 보여 준다.
더 읽기 →
AI 크롤러 때문에 robots.txt 에 적을 것이 늘었다. 용도별 봇 이름과 Google-Extended 와 Content-Signal 을 정리한다.
더 읽기 →
Sentry 는 나가는 모든 요청에 sentry-trace 와 baggage 를 붙인다. 왜 붙는지와 tracePropagationTargets 로 좁히는 방법.
더 읽기 →
정적 사이트를 Cloudflare 에 올리고, 그 앞에 코드를 한 겹 얹어 SEO 를 개선하기까지. 네 편으로 나눠 정리한 시리즈의 안내판.
더 읽기 →
Workers Static Assets 가 무엇이고 요청이 어떤 순서로 흐르는지. 언제 워커가 돌고 언제 과금되는지. 정적 사이트에 동적 처리를 얹기 전에 알아야 할 것.
더 읽기 →
워커가 외부 API 를 부를 때 캐시를 거는 두 가지 방법과, 모르면 반드시 밟는 함정 셋. 데이터센터별 캐시·Tiered Cache·캐시 키.
더 읽기 →아래 블로그 글 상당수는 이 서비스들을 만들고 운영하면서 부딪힌 문제를 기록한 것입니다.

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

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

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

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