sessionId는 비밀이 아니다 — CollaBoard의 식별자와 입장 권한 분리
CollaBoard에서 공개 식별자, 일회용 입장권, 멤버 토큰, 방장 토큰의 역할을 나눕니다. 참가자 번호를 아는 것과 입장·방장 권한을 갖는 것을 어떻게 갈랐는지 정리합니다.
TOPIC / ARCHIVE
Cloudflare Durable Objects에 관한 기록과 분석.
7편의 기록
CollaBoard에서 공개 식별자, 일회용 입장권, 멤버 토큰, 방장 토큰의 역할을 나눕니다. 참가자 번호를 아는 것과 입장·방장 권한을 갖는 것을 어떻게 갈랐는지 정리합니다.
사진퍼즐처럼 방장이 올린 사진이 게임의 재료인 앱에서, 서버에 사진을 저장하지 않고 참가자에게 전달하기 위해 Direct Play가 만든 자원 요청 라우팅, 16,000자 청크 전송, 해시 검증, 실패 처리를 정리합니다.
Direct Play 사진퍼즐의 EXIF GPS 읽기, 지도 표시, 장소 이름 추천을 설명합니다. 공개 여부를 확인해야 하는 로컬 Flutter 사진첩 구현과 60초 타임아웃에 관한 커밋 기록도 다룹니다.
방장이 계산하는 대신 Durable Object가 참가자 등록, 비공개 선택, 승패 판정과 재접속 상태를 관리하는 Direct Play 가위바위보의 서버 권위 구조를 설명합니다.
Direct Play는 설정 중 1시간 뒤 삭제, 활동 없이 3일 뒤 보관, 보관 후 7일 뒤 삭제를 예약합니다. Durable Object 알람으로 방을 정리하는 방법, 쓰기를 줄이는 장치, 하루 500방 한도를 전역 객체 하나로 세는 방법을 코드로 정리합니다.
4~12명이 함께하는 Direct Play 스파이 게임의 투표와 결선, 마지막 추리 규칙을 설명합니다. 로컬 코드로 확인한 제한 시간 처리와 진행 상태 복원의 한계도 기록합니다.
팀 자료를 서버에 저장하지 않는 협업 도구를 만들기 위해 CollaBoard가 선택한 시그널링, 메시와 스타 토폴로지, 16KB 청크 전송, 입장 보안 설계를 정리합니다.