00:06
神経質やせ男です。
今日は、私が開発している
Note、Dashboard、自動化ツールの
大きな進化についてお話しします。
これまでのツールは、
もっと見るボタンを2秒ごとに自動クリックして
全記事、データを取得する仕組みでした。
ところが、ここに大きな落とし穴がありました。
通信速度が遅かったり、
ページの読み込みが重かったりすると、
まだページの取得途中なのに、
プログラムがもう終わったと
勘違いしてしまうんです。
結果として、一部の記事データが
取得できないという問題が発生していました。
せっかく分析するなら、
データを100%揃っていて欲しいですよね。
そこで今回挑戦したのが
JavaScriptの非同期処理です。
具体的には、async、await、
そしてpromiseという仕組みを使いました。
正直、この部分は今回の開発で
一番苦労したところです。
プログラムを書き始めた頃は、
何秒待つという発想ばかりでした。
しかし本当に必要だったのは、
何秒待つかではなく、
状態が変わるまで待つという考え方でした。
例えば、もっと見るボタンを押した後は、
0.2秒ごとに行数が増えたかどうかを監視します。
増えたら次へ進む。
増えていなければ待ち続ける。
さらに、もっと見るボタンが消えた後も
すぐ終了しません。
通信中で一時的に見えなくなっている
可能性があるため、
0.5秒待って再確保にします。
それでもなければ本当に終了です。
この仕組みを入れたことで、
通信環境に作用されず、
最後の一件まで確実に取得できるようになりました。
今回学んだのは、
自動化において大切なのは、
時間を待つことではなく、
状態を監視することだということです。
非同期処理は、
初心者にとって最初の大きな壁ですが、
ここを乗り越えると、
作れるものの幅が一気に広がります。
私自身もようやくその入り口に立てた気がしています。
これからも失敗と試行錯誤を繰り返しながら、
時間喪失のためのツール開発を続けていきます。
最後までお聞きいただきありがとうございました。
次回もよろしくお願いいたします。
本日の内容は以上となります。
最後までお聞きいただきありがとうございました。
最後にAmazon Kindleで発売中の電子書籍のお知らせです。
キレイごとゼロの別居介護をリアルに環状ではなく、
システムとExcelで立ち向かった瞬間、
手取り23万円のエンジニアがExcel1枚で
実家の破綻を防いだ話、
そして実家の保守運用をこなすための時間を
圧倒的にひねり出す技術を書いた
会社公認爆速仕事術PC魔改造、
この2冊が現在Amazon Kindleにて絶賛発売中です。
どちらもKindle Unlimited読み放題の対象となっていますので、
会員の方は追加料金なしですぐにお読みいただけます。
03:02
音声を聞いた後にスマホの画面の下にある
概要欄のリンクからぜひチェックしてみてください。
それではまた次回の配信でお会いしましょう。