気軽に使おうDenoKV
https://gyazo.com/074caea5a588b3f28ac8a6fb562c6391
hashrock
Deno Land inc.のProduct Engineer
そろそろ一年
レガシーWebが好き
掲示板
お絵かき掲示板
Webチャット
Web拍手
アクセスカウンター
絵チャ
遊び場は自作するもの
すべてはデータストアから始まる
データ置き場があれば遊び場が作れる
知人とかフォロワーに使ってもらいたい
→ローカルストレージだと面白くならない
個人Web制作におけるデータストア
とりあえずJSON置き場が欲しい
安価なDBの選択肢が限られる
RDBだと$10 / 月くらいが相場
無料でもプロジェクト数制限があったりして使いづらい
Deno KV
DenoとDeno Deployに組み込まれてるKVストア
詳しくは
https://gyazo.com/ec0305e49f482a53f8107351865e6262
すぐ使えるよ(Terminal DEMO)
code:kv.sh
deno --unstable
const kv = await Deno.openKv()
kv.set("hoge", {user: "Taro"}) const it = kv.list({prefix: "users"}) await it.next()
https://gyazo.com/1153e53643f6550ccd8a22ee5527f34f
https://gyazo.com/6905fd121b0c0a625805c3fe81f1a5bb
https://gyazo.com/5f7606465069df26bbbde0cec09d875e
作ったもの1
ライブラリ化が見込まれている
作ったもの2
ArrayBuffer普通に格納できた(バイナリのまま入っているっぽい)
Valueに64KiBまでしか格納できない問題
チャンクに分ける手があるが、とりあえず2色お絵かきツールにすることで回避
タイムラインは別コレクション
ユーザ名やアバターURLは複数のコレクションに重複してデータを持たせた(KVのワークアラウンド)
作ったもの3
その他
チャンクに分けて大きなValueを保存するライブラリ
画像保存に使えそう
キーをどうするか問題
時系列ソート可能なUUIDが欲しい
所感
すぐ使えるJSON置き場最高
APIキーの設定(.envとか環境変数)しなくていいので楽
RDB向けのアプリではセッション格納など部分的に使うのもあり
waitlistに登録してね
終わり