3rd party storageみたいなの欲しい
説明改めて書いてみた

ローカルのindex.htmlからでもkey-valueへのset/getができる
まだ存在しないかしら
CORS?とかできないといけなくて技術的に無理なのかもしれない説
Denoベースのサーバーを付属させてCORSヘッダーを出力させるようにする?

簡易的な
DaaSみたいなものでしょうか?

正直、DaaSとの違いが分からなかった
どちらも知らないので可否はわかりませんが、できそうなにおいがします
たとえば

がGASでTodoアプリXをつくって、「Xの保存先はあなたが用意してください」「適当にGSSつくって、そのurl(?)をXのここの設定に入れてください」
このイメージ
適当に作るのは簡単です

認証周りをちゃんとやろうとすると難しいですが
Spread SheetをDaaS管理者が勝手に書き換えられないようにしないといけない
もちろん生データをsheetに直接書き込むのもまずいので、暗号化して保存する必要がある
あ、Google Driveを使うのもありか
適当なCloud Storageをuserに選択させて、中のデータ構造とかは全部アプリがやる
ただそれだともちろん開発が複雑になる

CRUDから作る必要がある
↑ これです


この「適当なCloud Storage」として、なんか上手い感じ(語彙力)のやつが欲しかった
CRUDをLocal Storage並に簡単にした、Cloud Storage wrapperみたいなのが近いかな

開発者は使用するCloud StorageのAPI keyさえ用意すれば、そのまま即使えるようになる
ですね

Data As A Serviceだとしたら、yesかもしれません(知らなかった)

ちょっと調べてみるか
ビッグデータのようなでかいデータを扱うニュアンスが強そう
イメージ図
todo.html(TODOアプリ)もdiary.html(日記アプリ)も、ローカルに置いてるjs入りhtmlファイル
これらのhtmlは、Xというクラウドサービス上(右側の四角)にデータを保存するようにつくってある
Aさんがこれらのアプリを使うには
Xのアカウントをつくる
X上でtodo.html用のストアと、diary.htmlのストアを新規する(この時アプリキーが発行される)
todo.htmlやdiary.htmlに、Xのアカウント情報やらアプリキーやらを記入
あれは数値、タイムスタンプだけの格納だけど
まさにこれですね

あとは以下があれば
1: 格納できるデータをjsのオブジェクト全般にする
2: nアプリ分の保存先をつくれる
Pixelaでいうと
"username":"stakiran"
を
"username":"stakiran-todo"
とか "username":"stakiran-diary"
みたいに変えればいけるが
etcdをどっかにホストするのは普通のDBみたいで面倒か
そうですね、自分でホストする手間は負いたくないですね
アカウントつくるくらいでもう保存先ができてほしい
todo.htmlを、たとえばITに詳しくない人にも使わせたい
ITに詳しくない人は、Xのアカウントつくって、ログインしてちょっとごにょごにょして、アプリキーとかコピってきて、todo.htmlに書き加える……くらいでもう使える
レコード数が10000 を超えないなら開発してもいいかな
ちょっとプロトタイプ作ってみよか
いえ、自分がプログラミングのモチベが今ほとんどないので、たぶんつくっていただいても(すぐには)使わない気がします
どちらかといえば、Xのような概念や既存例の有無を確かめたかった
欲しいと考えた動機
Webアプリのデータ保存部分を自製するのがしんどいので、楽したい
index.htmlにjs書く ← これくらいで済ませたい
データ保存のためにサーバーサイドつくるとか管理するみたいなことはしたくない
データ保存は
かなり雑な擬似コード.pylibrary.init(user='...', pass='...', appid='...')
library.set('key1', 'value1')
疑似コードに
.py
とは

これくらいで保存できるようにしたい
この保存先にあたるクラウドサービスが欲しい
どこかの会社がこういうサービスをつくるのか
GoogleDriveなどの既存サービスで使えるようにするのか
Pluginで保存先のクラウドサービスを指定できるようにするのが無難かな

jsimport {GoogleDrivePlugin} from "https://xxx";
import init from "https://yyy";
const {set, get, remove} = await init(new GoogleDrivePlugin({
apiKey: "xxxxx",
clientId: "yyyyy",
}));
await set("key1", "value1");
Google DriveだとOAuth認証を通さないといけないから面倒か
独自の認証なしDB serverを使うときは、例えばこうする
jsimport {MyServerPlugin} from "https://zzz";
import init from "https://yyy";
const {set, get, remove} = await init(new MyServerPlugin());
await set("key1", "value1");
init
の引数の型に合うようにPluginをつくる
ちょいとややこしくなってきたので絵解きしますか

お願いしたいですw

ウッソだろペンタブドライバが認識してくれない

ちょっとお待ち下さい
もちろんのんびりで良いですよ。井戸端ですし
ペンタブ買おうかな……
マウスキツすぎる。。。
20:27:15 ドライバ入れ直したのに
Kakeruに書き込めない……ナンデ……?
ドライバは認識できたみたいだが
入れ直す前はペンタブが接続されていないというダイアログが出たが、入れ直した後はちゃんとWacomの設定画面に移動する
20:50:14 だめだお手上げだ
あとペンのドラッグがスクロールとして認識されちゃうのナンデ?
2021-12-14 08:57:19 絵解きするの忘れてた()

2024-05-27 16:58:59 絵解きするの忘れてた()

一般化しなくても用途ごとにAPI作ればそれでいい気がする
でも容量500kbしかだめだからちょっと微妙かな?
ありがとうございます。やりたいことはまさにそれです

が、欲しいのは容量無制限&一般化してもっとかんたんに使える、ですかね
たとえばGAS全く知らない人でも使えるレベル
たとえば

がつくったtodo.htmlを、誰でも利用できるようにしたい
使いたい人は
1: ちょっと何か新規登録とかする(ウェブ画面だけでできる)だけで、もうtodo.html用の保存領域をつくれる
2: todo.htmlには your_storage_token=
みたいな場所があるので、1のtokenを書く
すると、todo.htmlが使える& 1 の領域にデータが保存される
この 1 にあたるのがここで 3rd party storage と呼んでいるもの
ポイントは、todo.html開発者は「保存に関する部分」を一切請け負っていないということ
保存は 3rd party storage サービスが請け負っている
todo.html を使いたい人は、自分用の保存領域を 3rd party storage サービスでつくればよい
やっぱり既存では無さそうなので、自分でつくるしかなさそう
というかそういうのしたくないから、どっかにそういうのがあったら楽できるのになぁというのが元々のモチベーションでした
なるほどー

ちょっとAPIに心当たりがあります
でもユーザー認証が必要なので完全自動化は難しそう
…というか、一般の少データ保存サービスにJSONとかのデータを文字列化して保存するのはどうです
データが大規模でないなら、ユーザー登録だけでデータのRead Writeがすぐにできるサービスは見つけられる気がする
すぐには思い当たらないが
ありそうで無さそうなんですよね……

普通はFirebase などでサービス展開側が容易にデータ基盤を構築できるケースな気がするので、小規模辞書データ保管サービスは商機がなくて存在しないかもしれない
あ、もしかしてブロックチェーンがハマってるかも
分散性を突き詰めたのがブロックチェーンですね
今回はそこまでの分散性は必要ないでしょうけど
認証に無頓着で良いならなんでも使えそうだが、、htmlの中にパスワードを書くのはまずくないですか?
ローカルのhtml限定なら良いか
ローカルのhtml限定のつもりでした

FileAPIでローカルファイルに書き出すのはどうか?
インターネットにデータを置きたい?
通知機能を自作したいときに便利かもしれない。
生成AIのおかげで少し理解しやすくなったかも

利用者にOpenAI APIのKeyを入力させるタイプのサービスがある
ある?自分が見たのは以前

さんが井戸端で紹介してたプロト(名前忘れた)だけど
これは「OpenAI APIの部分については、利用者のあなたが契約してる分で使いますよ」ということ
サービス側がOpenAI APIをラップするバックエンドの機能を持っててそれを使う、ではなくて
これと同じことをストレージでやりたい
利用者に3rd Party StorageのKeyを入力させる
これは「本サービスのデータ保存部分については、利用者のあなたが契約してる3rd party storageの分で使いますよ」ということ
サービス側がDBを持っててそれを使う、ではなくて
OAuthでログインするのはダメなんですか?

ダメですね

サービス提供者が自分でストレージ(DB)を持たなくて済むようにしたい
OAuthでGoogle Driveの権限を与えると近いことができそう?

できそうです

そうか、認証はOAuthでも良さそう
Google Driveのデータベース版、みたいなものがあればいいのか

リレーションでもドキュメントでも何でもいいが、データベースと呼ばれるくらいのそれなりに複雑なデータ構造
サービス側はスキーマを定義しておくだけ、実際の保存先はサービスを使う利用者が契約した「"google driveのデータベース版" 側のストレージ」
他にもあったかな……Excalidrawはどうだったかな
そうです

が、ファイルを保存する的な操作で保存するよりもさらに踏み込みたい
たとえば僕がシンプルなTODO管理アプリをつくったとして、このアプリのデータが保存される先にしたい
普通はアプリ運営する僕がDBをつくるなり借りるなりする必要があるが、これはだるい、ここをなくしたい
3rd party storageなるものがあると「利用者側で3rd party storage契約してね」にできる
herokuにデプロイして使ってね、みたいなのに近そう

マネタイズはできないが、、
ローカルにDBファイル保存させて、ユーザー側のDropboxなりで同期させるのは

ネイティブアプリしか使えない技だが、DocumentsにDBを置けばDropboxが同期してくれる
完全なwin32ではなく、electronでもよさそう
ダメそう。Webサービスからユーザー側のローカルにアクセスできない

TODO管理アプリ、という言い方が悪かった。「僕がシンプルなTODO管理サービスをつくったとして」というべきだった
こんなんあるんだ、へー


違う端末からは見えない問題

すでにある同期サービスを活用できないかと...

ブラウザ→ファイルシステムAPI→ファイル→Dropbox?
現状でも利用者がクラウドストレージのAPI登録すれば実現できそう


Google Cloudの登録が必要だが
可能そう、だけどちょっとハードル高そうかまだ

wedataを思い出した

3rd party strogeはwedataの非公開版?

合ってる

事例があるってことは発想自体は珍しくなさそうだぁ

分散SNSのバックエンドとして使われています