// TOPIC ARCHIVE
조현철

받은 만큼이 아니라, 일한 만큼 받고 싶다
받은 만큼만 하겠다고 선을 긋기보다 일한 만큼 받겠다는 태도로 일할 때, 보상보다 먼저 내가 달라지고 경험과 성장이 남는다는 생각을 적었다.

하루에 앱 하나를 만들 수 있을까 — 앱 공장 13편을 끝내고
기획, 디자인, 개발, QA와 배포를 스킬과 워크플로로 엮자 정말 하루에 앱 하나가 나왔다. 12개 앱을 만들며 놀랐던 점과 Google Play·Firebase의 현실적인 제약, 마지막까지 사람이…

WordPress 예약 발행이 멈췄다 — Synology에서 WP-Cron을 되살린 기록
예약 시각이 지나도 WordPress 글이 공개되지 않았다. DISABLE_WP_CRON과 빠져 있던 대체 스케줄러를 확인하고, Synology 작업 스케줄러로 예약 발행 경로를 다시 만든 과정을 기록했다.

Google Photos를 지우기 전에, Synology Photos의 7,409개를 전부 검증했다
Google Takeout ZIP 24개를 Synology NAS로 옮긴 뒤 중복과 메타데이터를 정리하고, 최종 미디어 7,409개의 SHA-256을 원본부터 Synology Photos 경로까지 전수 비교한 기록이다.

Claude Code와 Hermes를 HMAC Webhook으로 연결한 방법
다른 서버의 Claude Code가 만든 결과물을 Hermes에 전달하려고 HMAC-SHA256 V2 Webhook을 만들었다. 서명과 재전송 방지, 고정 Git commit과 아티팩트 해시 검증, WordPress 초안까지만 허용한…

앱 공장 13화 – 같은 실수를 두 번 하면 그때부터 사람이 지키는 규칙이 아니게 됩니다
실수 장부 63건을 기록하는 데서 멈추지 않고, 같은 유형이 두 번 나오면 규약이나 코드 가드로 승격한 과정을 정리했습니다.

앱 공장 12화 – 코드는 전부 통과했는데 마일스톤은 통과시키지 않았습니다
코드 조건 3개는 통과했지만 텔레메트리 조건 2개는 데이터가 없어 실패했습니다. 측정할 수 없으면 마일스톤을 통과시키지 않습니다.

Synology NAS에서 Docker 서비스를 HTTPS로 공개하는 전체 과정
Synology NAS의 Docker 서비스를 도메인과 HTTPS로 공개한 과정을 정리했다. 앱 포트는 loopback에 묶고 DSM 역방향 프록시와 인증서를 연결했다.

앱 공장 11화 – 콘솔을 기계가 운전하게 만들었더니, 그중 하나는 API가 있었습니다
Google Play 콘솔 오류를 자동화로 우회했습니다. 국가 지정은 처음부터 API에 있었고, 실제 API가 없는 곳은 세 곳뿐이었습니다.

Synology NAS가 꺼졌다. 70°C NVMe 캐시가 원인이었다
Synology DS920+가 갑자기 종료됐다. DSM 로그를 추적해 70°C에 도달한 2번 NVMe 캐시가 보호 종료를 일으킨 사실과 재발 방지 순서를 정리했다.
