scalamatsuri / 2020.scalamatsuri.org

ScalaMatsuri 2020 official website repository
https://2020.scalamatsuri.org/
4 stars 15 forks source link

プロポーザル周りのアーキテクチャ検討 #218

Open taisukeoe opened 4 years ago

taisukeoe commented 4 years ago

背景

今年はWebサイトリニューアルと並行してプロポーザル公開をしたため、運用上の懸念がいくつか残るアーキテクチャになってしまった。

今年度の実装が優先ではありつつも、来年度のアーキテクチャをこのissue上で検討していく。

ScalaMatsuri 2020(現在)のアーキテクチャ

CFP応募フォーム ⬇️ ... Google Formの設定 フォームの回答SpreadSheet(言語ごとのシート、秘匿情報アリ - 旅費助成金など) ⬇️ ... GAS: ID採番、カラム名(英日)の名寄せ。トリガー: 新レコード追加 Master SpreadSheet(英・日統合シート、秘匿情報アリ - 旅費助成金など) ⬇️ ... GAS: 秘匿情報の除去。トリガー: 日次 Public SpreadSheet (英・日統合シート、秘匿情報ナシ) ⬇️ ... GAS Web Appとして公開: カラム名とkeyのmap, 値の整形 JSON ⬇️ ... Nuxt.jsアプリケーション(このリポジトリ)から参照 プロポーザルページで表示

運用

掲載内容修正

翻訳

運用課題

taisukeoe commented 4 years ago

1/25 に @grimrose さんと話したメモ

ScalaMatsuri 2021~ のアーキテクチャ

CFP応募フォーム ⬇️ ... Google Formの設定 フォームの回答SpreadSheet(言語ごとのシート、秘匿情報アリ - 旅費助成金など) ⬇️ ... GAS: ID採番、カラム名(英日)の名寄せ。トリガー: 新レコード追加 統合 SpreadSheet(英・日統合シート、秘匿情報アリ - 旅費助成金など) ⬇️ ... GAS: 秘匿情報の除去。トリガー: レコード変更 Public SpreadSheet(英・日統合シート、秘匿情報ナシ) ⬇️ ... CSVダウンロード( HOW?) ⬇️ ... yamlへ整形( HOW?) Nuxt.jsアプリケーション(このリポジトリ)のassetsへyamlをcommit(yamlをマスターとして管理) ⬇️ ... ビルド時にローカルでyamlからjsonへ変換( HOW?) プロポーザルページで参照し、表示

意図

運用

掲載内容修正

翻訳

taisukeoe commented 4 years ago

GAS Web AppのレイテンシやRate Limitなどが不明

Google SpreadSheet API v4 Rate Limit によれば:

This version of the Google Sheets API has a limit of 500 requests per 100 seconds per project, and 100 requests per 100 seconds per user. Limits for reads and writes are tracked separately. There is no daily usage limit.

Google Apps Scriptでも同じRate Limitが適用されるのだろうか 🤔 もしそうだとしても、100秒ごとに500リクエストまでなら、PV毎にcallしても余裕そうですね。