GWに久しぶりにプログラミングに触れようと、ProtoOut Studioの主催する講座に参加している。
初日の5/2につくったものは、「APIを活用した天気予報のLINE Notify通知」。一定の間隔で、取得したlivedoorの天気予報情報を、自分のLINEアカウントに通知するというもの。
復習として、以下に幾つかポイントをまとめておく。
####APIで取得したデータ構造を理解する
例えば、今回はlivedoorが公開している天気情報のデータを、APIを経由して取得した。これらのデータを上手く活用するためには、
・データの階層構造
・オブジェクト、配列の理解
が欠かせない。逆に言うと取得してきたデータが、どのような性質で、どこに配置されているのかが理解できれば、それらを通して無限の組み合わせでデータ活用が可能になる。
response.data.pinpointLocations[0].name
上記の.data以降は、データの住所を示すようなものであり、ドットを記述することで、入れ子のように階層をさげていくことができる。[ ]は配列で、何番目に格納されているデータかを示す。
####Cron式によるタスクのスケジューリング
Cron式というのは、タスクのスケジューラーの記述方式とのこと。特定の時間や曜日、トリガーを元にして、タスクを実行する予約を行う。用途としては、例えば以下のようなもの。
処理内容 | 記述 |
---|---|
月曜-金曜でAM7:00にタスクを起動する | 0 00 7 ? ** MON-FRI |
5分間隔で、同じ処理を実行する | */5 * * * * |
記述が独特で、しばらく慣れる必要がありそう。また時間指定する際には、日本時間ではなくUTCタイムゾーンに準拠しているので、基本的に-9時間の調整を行って記述をする。こうしたスケジューラーは、幅広い用途で汎用的に使えそうなので、ぜひマスターしていきたいところ。
<参考にした記事>
Cron式へのガイド
####もう少し学びを深めたいところ
・Axiosを利用したのだが、利用前、利用後のメリット/デメリットがいまいち実感できていない
・APIのドキュメントの読み方のポイントを抑えたい。英語&情報量多いので整理できてない
・Cron式の時間設定の記述方法が応用効かないので活用事例を増やしたい