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


/sta/3rd party storageみたいなの欲しいなぁと今日熱烈に考えていた
Local StorageのWebサービス版みたいなイメージ
ローカルのindex.htmlからでもkey-valueへのset/getができる
まだ存在しないかしら
CORS?とかできないといけなくて技術的に無理なのかもしれない説
Denoベースのサーバーを付属させてCORSヘッダーを出力させるようにする?bsahd
本当にそれすらダメな場合はJSONPでやる
簡易的なDaaSみたいなものでしょうか?takker
正直、DaaSとの違いが分からなかった
ごくごく簡単なものなら、Google Apps ScriptGoogle Spreadsheetとを組み合わせれば作れそう
どちらも知らないので可否はわかりませんが、できそうなにおいがします
たとえば
staがGASでTodoアプリXをつくって、「Xの保存先はあなたが用意してください」「適当にGSSつくって、そのurl(?)をXのここの設定に入れてください」
このイメージ
適当に作るのは簡単ですtakker
認証周りをちゃんとやろうとすると難しいですが
Spread SheetをDaaS管理者が勝手に書き換えられないようにしないといけない
もちろん生データをsheetに直接書き込むのもまずいので、暗号化して保存する必要がある
あ、Google Driveを使うのもありか
適当なCloud Storageをuserに選択させて、中のデータ構造とかは全部アプリがやる
ただそれだともちろん開発が複雑になるtakker
CRUDから作る必要がある
↑ これですstasta
この「適当なCloud Storage」として、なんか上手い感じ(語彙力)のやつが欲しかった
CRUDをLocal Storage並に簡単にした、Cloud Storage wrapperみたいなのが近いかなtakker
開発者は使用するCloud StorageのAPI keyさえ用意すれば、そのまま即使えるようになる
ですねsta
Data As A Serviceだとしたら、yesかもしれません(知らなかった)sta
ちょっと調べてみるか
ビッグデータのようなでかいデータを扱うニュアンスが強そう
イメージ図
todo.html(TODOアプリ)もdiary.html(日記アプリ)も、ローカルに置いてるjs入りhtmlファイル
これらのhtmlは、Xというクラウドサービス上(右側の四角)にデータを保存するようにつくってある
Aさんがこれらのアプリを使うには
Xのアカウントをつくる
X上でtodo.html用のストアと、diary.htmlのストアを新規する(この時アプリキーが発行される)
todo.htmlやdiary.htmlに、Xのアカウント情報やらアプリキーやらを記入
このXにあたるサービスが欲しいstastasta
Pixelaあたりが近そう?
あれは数値、タイムスタンプだけの格納だけど
まさにこれですねsta
あとは以下があれば
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書く ← これくらいで済ませたい
データ保存のためにサーバーサイドつくるとか管理するみたいなことはしたくない
データ保存は
かなり雑な擬似コード.py
library.init(user='...', pass='...', appid='...') library.set('key1', 'value1')
疑似コードに .py とはbsahd
これくらいで保存できるようにしたい
この保存先にあたるクラウドサービスが欲しい
どこかの会社がこういうサービスをつくるのか
GoogleDriveなどの既存サービスで使えるようにするのか
Pluginで保存先のクラウドサービスを指定できるようにするのが無難かなtakker
js
import {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を使うときは、例えばこうする
js
import {MyServerPlugin} from "https://zzz"; import init from "https://yyy"; const {set, get, remove} = await init(new MyServerPlugin()); await set("key1", "value1");
init の引数の型に合うようにPluginをつくる
ちょいとややこしくなってきたので絵解きしますかtakker
お願いしたいですwsta
ウッソだろペンタブドライバが認識してくれないtakker
ちょっとお待ち下さい
もちろんのんびりで良いですよ。井戸端ですし
ペンタブ買おうかな……
マウスキツすぎる。。。
20:27:15 ドライバ入れ直したのにKakeruに書き込めない……ナンデ……?
ドライバは認識できたみたいだが
入れ直す前はペンタブが接続されていないというダイアログが出たが、入れ直した後はちゃんとWacomの設定画面に移動する
ドライバの再インストールは以下を参照した
20:50:14 だめだお手上げだ
Kakeruで認識しない原因が全くわからない
8bitpaint webDrawingだと認識するのに
あとペンのドラッグがスクロールとして認識されちゃうのナンデ?
2021-12-14 08:57:19 絵解きするの忘れてた()takker
2024-05-27 16:58:59 絵解きするの忘れてた()takker

yuki_minoh
Google Apps ScriptでPropertiesService使って簡単なAPI作るのがおすすめです
一般化しなくても用途ごとにAPI作ればそれでいい気がする
でも容量500kbしかだめだからちょっと微妙かな?
ありがとうございます。やりたいことはまさにそれですsta
が、欲しいのは容量無制限&一般化してもっとかんたんに使える、ですかね
たとえばGAS全く知らない人でも使えるレベル
たとえばstaがつくった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 サービスでつくればよい
やっぱり既存では無さそうなので、自分でつくるしかなさそう
というかそういうのしたくないから、どっかにそういうのがあったら楽できるのになぁというのが元々のモチベーションでした
なるほどーyuki_minoh
もしかしてGoogle Apps Scriptで完結できるかもしれませんよ
ちょっとAPIに心当たりがあります
Google Apps Scriptには、プロジェクトを新規作成するなどのメタレベルのAPIが提供されており、これを利用すればぎりぎりまで近い挙動にはなるかもしれない
でもユーザー認証が必要なので完全自動化は難しそう

…というか、一般の少データ保存サービスにJSONとかのデータを文字列化して保存するのはどうです
データが大規模でないなら、ユーザー登録だけでデータのRead Writeがすぐにできるサービスは見つけられる気がする
すぐには思い当たらないが
ありそうで無さそうなんですよね……sta
普通はFirebase などでサービス展開側が容易にデータ基盤を構築できるケースな気がするので、小規模辞書データ保管サービスは商機がなくて存在しないかもしれない
あ、もしかしてブロックチェーンがハマってるかも
分散性を突き詰めたのがブロックチェーンですね
今回はそこまでの分散性は必要ないでしょうけど
inajob
認証に無頓着で良いならなんでも使えそうだが、、htmlの中にパスワードを書くのはまずくないですか?
ローカルのhtml限定なら良いか
ローカルのhtml限定のつもりでしたsta
FileAPIでローカルファイルに書き出すのはどうか?
インターネットにデータを置きたい?

hata6502通知機能を自作したいときに便利かもしれない。

web5の話かなって思ったけど違った

生成AIのおかげで少し理解しやすくなったかもsta
利用者にOpenAI APIのKeyを入力させるタイプのサービスがある
ある?自分が見たのは以前blu3moさんが井戸端で紹介してたプロト(名前忘れた)だけど
これは「OpenAI APIの部分については、利用者のあなたが契約してる分で使いますよ」ということ
サービス側がOpenAI APIをラップするバックエンドの機能を持っててそれを使う、ではなくて
これと同じことをストレージでやりたい
利用者に3rd Party StorageのKeyを入力させる
これは「本サービスのデータ保存部分については、利用者のあなたが契約してる3rd party storageの分で使いますよ」ということ
サービス側がDBを持っててそれを使う、ではなくて
OAuthでログインするのはダメなんですか?bsahd
ダメですねsta
サービス提供者が自分でストレージ(DB)を持たなくて済むようにしたい
OAuthでGoogle Driveの権限を与えると近いことができそう?inajob
できそうですsta
そうか、認証はOAuthでも良さそう
Google Driveのデータベース版、みたいなものがあればいいのかsta
リレーションでもドキュメントでも何でもいいが、データベースと呼ばれるくらいのそれなりに複雑なデータ構造
サービス側はスキーマを定義しておくだけ、実際の保存先はサービスを使う利用者が契約した「"google driveのデータベース版" 側のストレージ」

diagrams.netがGoogle Driveに保存とかできたのを思い出した、そういう感じ?seibe
他にもあったかな……Excalidrawはどうだったかな
そうですsta
が、ファイルを保存する的な操作で保存するよりもさらに踏み込みたい
たとえば僕がシンプルなTODO管理アプリをつくったとして、このアプリのデータが保存される先にしたい
普通はアプリ運営する僕がDBをつくるなり借りるなりする必要があるが、これはだるい、ここをなくしたい
3rd party storageなるものがあると「利用者側で3rd party storage契約してね」にできる
herokuにデプロイして使ってね、みたいなのに近そうinajob
マネタイズはできないが、、

ローカルにDBファイル保存させて、ユーザー側のDropboxなりで同期させるのはbsahd
ネイティブアプリしか使えない技だが、DocumentsにDBを置けばDropboxが同期してくれる
完全なwin32ではなく、electronでもよさそう
ダメそう。Webサービスからユーザー側のローカルにアクセスできないsta
TODO管理アプリ、という言い方が悪かった。「僕がシンプルなTODO管理サービスをつくったとして」というべきだった
こんなんあるんだ、へーstasta
違う端末からは見えない問題inajob
すでにある同期サービスを活用できないかと...bsahd
ブラウザ→ファイルシステムAPI→ファイル→Dropbox?

現状でも利用者がクラウドストレージのAPI登録すれば実現できそうbsahdinajob
Google Cloudの登録が必要だが
可能そう、だけどちょっとハードル高そうかまだsta

wedataを思い出したinajob
AutoPagerize のストレージとして使われている
3rd party strogeはwedataの非公開版?bsahd
合ってるsta
事例があるってことは発想自体は珍しくなさそうだぁsta

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