읽기 설정
계획하시는 동안, 이 템플릿이 일반적인 템플릿과 다른 몇 가지 기능들을 보여드리겠습니다.
10 스택 시작됩니다. 여기서 서버.ts라는 커스텀 엔트리 포인트로 시작되죠.
이렇게 해야 내구 가능한 객체를 내보낼 수 있는 건가요, 맞죠?
워커 내 각 진입점에서는 이 기능을 사용하신다면 내구 가능한 객체를 내보내셔야 합니다.
이것은 기본적으로 제공되는 것이 아니라, 이 템플릿을 사용하시면 얻으실 수 있는 기능입니다.
웹소켓 연결이 일치하는 경우, 서버 엔트리를 생성하고, 이를 연결 대상으로 전달하도록 하겠습니다.
만약 일치하지 않는다면, 내구성이 좋은 객체에 이렇게 웹 소켓 연결을 설정합니다.
웹 소켓으로 진행한 후에는 일반적인 10 스택 시작을 가져오고, 다음으로 저희의 내구성이 뛰어난 객체가 있습니다.
자, 이걸 한번 열어볼게요. 잘 되어있네요. 내구성이 뛰어난 객체의 경우, 스토리지를 초기화합니다.
그리고 드리즈도 실행하고, 구성하는 동안에는 마이그레이션을 실행합니다.
그리고 마이그레이션은 제가 잠시 후에 보여드릴 스키마에 저장됩니다.
그리고 나서 그냥 카운터입니다. 그러니까 가져오거나 만들어서 카운터. 아주 좋습니다. 실제 스키마를 한번 살펴봅시다.
DB 내부에 DO 스키마가 있습니다.
현재는 ID와 함께 개수만 표시하는 방식인 것 맞죠?
그래서 제가 플러스 플러스 플러스를 누르는 걸 보셨을 거예요. 이 개수도 여기 저장되는 거죠.
잠깐 다시 내구성이 있는 객체로 돌아가죠. 그러니까 제가 증가시키면 가져오는 거죠.
현재 카운트 값은 증가하고, 그 값을 1만큼 더해서 새로운 카운터 값을 저장합니다. 그리고 그 값을 브로드캐스팅합니다. 그래서 저희는...
방금 말씀하신 내구성이 뛰어난 객체에 대해, 다음에 내구성을 갖춘 스키마에 대한 마이그레이션 계획을 말씀드릴 예정입니다.
계획을 살펴보기에 앞서, 마이그레이션에 대해 먼저 말씀드리겠습니다.
여기서는 제가 package.json에 있는 스크립트를 실행할 때, 다음과 같은 상황이 발생합니다.
내구 객체(durable object)를 위한 마이그레이션을 생성하는 db-generate-durable-object라는 스크립트가 있습니다.
만약 제가 마이그레이션을 실행한다면, 이 마이그레이션, 이 마이그레이션을 말씀드리는 건데요.
여기에는 실제로 그 블록 동시성 지갑 내에서 실행될 SQL 파일들이 있을 것입니다.
항상 최신 SQLite 테이블을 유지할 수 있도록 해야 합니다.
계획을 한번 살펴볼까요? 아주 훌륭한 다이어그램과 픽셀 그리드네요. 브라우저와 웹소켓은 연결될 때 픽셀 데이터를 브로드캐스팅합니다.
픽셀 그리드 테이블이 있습니다. ID와 블롭 데이터가 전부입니다.
맞아요, 배열을 저장하고 있기 때문입니다. 그리고 몇몇 마이그레이션이 있는데, ID와 데이터만 아주 간단합니다.
그리고 Dura, 메모리 내 상태를 가질 겁니다.
네, 좋습니다. getGrid를 가져오고, 픽셀을 설정하고, WebSocket 연결을 가져오게 됩니다.
좋네요.
제가 방금 보여드린 것처럼, 새로운 그리드 패턴을 만들고, 새로운 라우트를 렌더링해서 그리드를 표시하고, 카운터를 삭제하고, 내구성을 업데이트할 수 있습니다.
곧 말씀드릴 Xterm 색상 관련해서요.
노 드리즈(No Drizzle)에서는 디오 마이그레이션(Dio migrations)을 다시 생성할 수 없다고 해요. 그 부분은 잘 모르겠습니다.
이거 잠깐 확인해 보겠습니다. 채팅에 추가하고, BB에서 비디오 생성(BB generate video)을 실행하고 싶습니다.
저희를 위해 마이그레이션을 생성해 줄 것입니다.
그 외에는 괜찮아 보이네요. 계획을 수정하도록 할게요.
마이그레이션 탭에서 마이그레이션을 실행했어요. 마이그레이션이 생성되었고, 제가 플랜 모드에서 에이전트 모드로 전환했기 때문에 구현이 시작되었어요.
알겠습니다. 이제 빌드되고 있으니 나중에 코드를 검토할게요.