TL;DR
- Claude가 생성·수정하는 훈련 일정을 비공개가 아닌 비밀(secret) GitHub Gist의 iCal 파일로 호스팅해 휴대전화 캘린더와 동기화함.
- 목표 대회와 일정 조건, 현재 스케줄을 Claude에 제공하면 정적 웹사이트와 구독 가능한 iCal 파일을 생성함.
- Gist의 피드 주소는
https://gist.githubusercontent.com/<user>/<gist-id>/raw/<file>.ics형식이며 TLS를 무료로 제공함. - 응답의
content-type은text/plain; charset=utf-8이며, 사용 사례에서는 iCal이 문제없이 처리했지만 동작은 환경에 따라 다를 수 있음. - Gist가 최대 5분간 캐시되므로 캘린더 반영이 즉시 이뤄지지 않으며, 최신 파일을 받으려면 제시된 URL 형식을 사용해야 함.
훈련 일정과 비밀 Gist
- Claude에 목표 대회, 일정 조건, 현재 스케줄을 알려주면 기본 훈련 계획을 정적 웹사이트와 구독 가능한 iCal 파일로 생성함.
- 정적 웹사이트는 tailnet에서 호스팅하고, Claude가 iCal 파일을 갱신하도록 구성함.
- 비밀 Gist를 만들고 휴대전화에서 구독하면, 계획을 변경할 때 Claude가 파일을 수정하고 휴대전화가 다음 피드 확인 시 변경 사항을 동기화함.
- Gist는 비밀이지만 비공개는 아니며, 이 사용 사례에서는 그 절충을 받아들임.
피드 주소와 동기화 특성
- 피드 URL은
https://gist.githubusercontent.com/<user>/<gist-id>/raw/<file>.ics형식임. - TLS가 무료로 제공되며, 캘린더에서 TLS가 필요할 가능성이 높음.
- 요청 확인에 사용하는 명령은
curl -I https://gist.githubusercontent.com/<user>/<gist-id>/raw/<file>.ics이며, 응답은HTTP/2 200임. - 응답 헤더에는
cache-control: max-age=300,content-type: text/plain; charset=utf-8,etag: "<hash>",x-content-type-options: nosniff,date: Tue, 06 Oct 2026 15:40:27 GMT,x-cache: HIT,expires: Tue, 06 Oct 2026 15:45:27 GMT,source-age: 124가 포함됨. - 주목할 헤더는
content-type: text/plain; charset=utf-8임. iCal은text/plain콘텐츠 유형을 문제없이 처리하는 듯하지만,text/calendar를 요구할 가능성도 있으며 사용 사례에서는 정상 동작함. - Gist는 최대 5분간 캐시되므로 캘린더 동기화 시 변경 사항이 즉시 반영되지 않음. 훈련 일정 변경이 드물어 이 사례에서는 큰 문제가 아님.
- SHA에 고정된 파일 대신 항상 최신 Gist를 받도록 위에 제시된 URL 형식을 사용해야 함.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요