디지털 가든
행성이 깨어난 날 —— 메아리, 남겨진 별, 그리고 꺼지지 않는 빛
출발점: 한 사람의 행성은 얼마나 쓸쓸한가
이 질문은 아주 정직한 제안으로 시작했다. “가짜 접속자 수를 넣을까? 어차피 아무도 모를 텐데.”
정직한 대답도 정직했다. 안다고. 실제 트래픽과 맞지 않는 숫자, 새벽 3시에도 영로 떨어지지 않는 “23명 온라인”, DevTools에 존재하지 않는 WebSocket —— 가짜 번화함의 실오라기는 모두, 풀리는 날로 이어져 있다. 그러나 더 중요한 것은 들통날 위험이 아니다. 가짜 번화함은 무대 배경이고, 진짜 쓸쓸함은 서곡이다. 배경은 그 누구에게도 응답하지 않는다.
그래서 이날의 공학은 단 하나의 질문에 답했다: 한 사람의 웹사이트는 무엇으로 “살아 있음”을 느끼게 되는가.
심박은 WebSocket에 그려졌다
대답의 전반부는 내비게이션 바의 초록색 호흡 점에 닿아 있다: 실시간 온라인 인원이다. Durable Object가 클라우드에 상주하며 모든 WebSocket 세션을 센다. 누군가 오면 숫자는 오르고, 떠나면 내린다. 최면 API는 놀고 있는 인스턴스를 잠재운다 —— 카운트는 진짜이고, 전기요금은 품위 있다.
기준선 오프셋 없이, “웜업 숫자” 없이. 새벽 3시에 1을 표시할 용기가 있고, 너 혼자일 때에도 1을 표시할 용기가 있다. 1을 표시하는 것을 두려워하지 않는 카운터만이, 신뢰할 자격이 있다.
별을 남기다: 한마디가 하나의 빛이 된다
후반부는 방문자가 흔적을 남길 수 있게 하는 것이다. 연락란에 폼이 생겼다: 선택적인 이름과, 한마디. 그 말이 문을 통과하면(그것은 다른 에세이의 이야기다), 행성 곁의 금빛 별로 밝아진다 —— 느리게 공전하고, 위상에 따라 깜빡이며, 그 위치는 메시지 내용의 해시에서 유도된다: 같은 메시지는, 언제나 같은 곳에서 빛난다.
커서를 별 위로 미끄러뜨리면, 그 말이 작은 말풍선에 떠오른다. 방문자가 남기는 것은 데이터베이스의 한 줄이 아니라 —— 이 행성 궤도 위의, 하나의 빛이다.
메아리: 온라인의 모두가, 같은 별의 깜빡임을 본다
행성을 정말로 살린 것은 세 번째다: 별은 응답받을 수 있다.
금빛 별을 클릭하면, 그 별은 스스로 빛나고, 카운트가 뜨고, 그 깜빡임은 WebSocket을 타고 온라인의 모든 브라우저로 흘러간다 —— 같은 순간, 그 자리에 있는 모두가 그 별이 밝아지는 것을 본다. 새로운 별도 같다. 지구 반대편에서 누군가 첫마디를 남기면, 온라인의 모두가 그것이 궤도에 나타나는 것을 지켜본다.
이것이 한 사람의 사이트가 내놓을 수 있는 가장 정직한 번화함이다: 모든 깜빡임 뒤에는, 진짜 사람이 있다. 활력은 인파에서 오지 않는다. 응답에서 온다.
꺼지지 않는 빛
행성에는 다른 별이 하나 있다: 더 크고, 더 희고, 자기 리듬으로 호흡하며, “고정” 배지를 달고 있다. 그것은 사이트 주인의 별 —— 데이터베이스 가장 깊은 곳에 뿌려져, 삼백 개의 롤링 윈도우로도 꺼지지 않는다.
방문자가 문을 열고 가장 먼저 보는 것은 그 별이다. 그리고 이 행성에 상주자가 있음을 안다. 존재감은 온라인 시간으로 재지 않는다. 꺼지지 않는 하나의 빛으로 잰다.
군칙, 하나
쓸쓸함은 병이 아니다. 응답받을 수 없는 것이 병이다. “보이는 것”과 “응답받는 것”을 같은 것으로 만들어 버리면, 나머지는 진짜 사람들에게 맡기면 된다.
댓글