node.jsを利用したクローラー作成(43)

後回しにしてた各モジュールのテスト…。

テストはものすごくやりたくない。不思議だ…。あまりにもやりたくなさすぎて、qiitaでやりたくないで検索したりもした。(8万件🤕)

イラスト4

けど、そんなことやっててもテストは進まないので諦めて進める。

✅バックエンドのテストok
✅フロントエンドok...と思う

とりあえずアルファ版としてフロントdeployしてみる。
web上でサイトの動作確認を行う。

バグ祭り😂!急いで直す!←細かいのは直した。

iam権限が足りないのかsignedUrlが動かないのがキツイ。
どーしても直らない💀明日に持ち越し…。
(追記:identity and access management api有効にしたら行けた!
細かくエラーログ拾ったらエラー内容に表示されていた…)

その他

アプリ内の静的データをapp.yamlで明示的に指定することで、CDNが効いたファイルとして提供できる。こんな感じ。

runtime : nodejs10
handlers:
 - url: /
   static_files: public/html/index.html
   upload: public/html/index.html

 - url: /stylesheets
   static_dir: public/stylesheets

これをやれば、Express内のstatic提供middlewareは無効にできる。

コンテンツ提供速度は800ms->3msぐらいに変わった。
(動的生成vs静的なのでむべなるかな…)

画像2

画像3

app.yamlで配置したファイルはアプリから書き換えができないようだ。
(そもそも、ファイルシステムでのアクセスは/temp以外許可されてない?)

アクセスが一番多いindex.htmlを静的データとした場合は、
動的データ部分はクライアントjavascriptから書き換えさせればよさそう。
(SPAはこういう思想なのかな?)

調査結果より
・Expressでstatic表示していたものはapp.yamlのhandlerに任せる
・index.htmlの静的データ化は、SW・クライアントスクリプト間通信の実装と検証コストが必要そう。
deployしたら表示が結構遅かったのでやらないとダメかも。
F1インスタンスもっと頑張ってくれよー。

今日も敗北しつつ寝る。

この記事が気に入ったらサポートをしてみませんか?