STILLCODING

STILL CODING / NOTES

Cloudflare Durable Objects 개발 노트

Cloudflare Durable Objects

여러 앱에서 Cloudflare Durable Objects을(를) 다루며 남긴 노트 7편입니다.

모든 노트 보기
  1. CollaBoard

    sessionId는 비밀이 아니다 — CollaBoard의 식별자와 입장 권한 분리

    CollaBoard에서 공개 식별자, 일회용 입장권, 멤버 토큰, 방장 토큰의 역할을 나눕니다. 참가자 번호를 아는 것과 입장·방장 권한을 갖는 것을 어떻게 갈랐는지 정리합니다.

  2. Direct Play

    사진은 서버를 거치지 않는다 — Direct Play가 게임 자원을 P2P로 나눠 주는 법

    사진퍼즐처럼 방장이 올린 사진이 게임의 재료인 앱에서, 서버에 사진을 저장하지 않고 참가자에게 전달하기 위해 Direct Play가 만든 자원 요청 라우팅, 16,000자 청크 전송, 해시 검증, 실패 처리를 정리합니다.

  3. Direct Play

    가위바위보 선택은 서버에만 보인다 — Durable Object로 만든 비공개 라운드

    방장이 계산하는 대신 Durable Object가 참가자 등록, 비공개 선택, 승패 판정과 재접속 상태를 관리하는 Direct Play 가위바위보의 서버 권위 구조를 설명합니다.

  4. Direct Play

    방에도 수명이 있다 — 알람으로 청소하고 하루 500방으로 지키는 Direct Play의 서버 비용 설계

    Direct Play는 설정 중 1시간 뒤 삭제, 활동 없이 3일 뒤 보관, 보관 후 7일 뒤 삭제를 예약합니다. Durable Object 알람으로 방을 정리하는 방법, 쓰기를 줄이는 장치, 하루 500방 한도를 전역 객체 하나로 세는 방법을 코드로 정리합니다.

  5. Direct Play

    스파이 게임의 진행 규칙 — 역할 확인, 투표, 마지막 추리

    4~12명이 함께하는 Direct Play 스파이 게임의 투표와 결선, 마지막 추리 규칙을 설명합니다. 로컬 코드로 확인한 제한 시간 처리와 진행 상태 복원의 한계도 기록합니다.

  6. Direct Play

    사진 한 장으로 '여기가 어디게?' — EXIF GPS, 지도 임베드, 그리고 사진 만 장 중 한 장 고르기

    Direct Play 사진퍼즐의 EXIF GPS 읽기, 지도 표시, 장소 이름 추천을 설명합니다. 공개 여부를 확인해야 하는 로컬 Flutter 사진첩 구현과 60초 타임아웃에 관한 커밋 기록도 다룹니다.

  7. CollaBoard

    서버는 방만 만든다 — CollaBoard의 WebRTC P2P 협업 구조

    팀 자료를 서버에 저장하지 않는 협업 도구를 만들기 위해 CollaBoard가 선택한 시그널링, 메시와 스타 토폴로지, 16KB 청크 전송, 입장 보안 설계를 정리합니다.