enebular developer meetup 20220602
by
1ft-seabass
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
enebular developer meetup 20220602 気象庁天気 API を定期的に Airtable に 記録&自動化構築で思ったこと ワンフットシーバス 田中正吾
Slide 2
Slide 2 text
私の話はスライドを後ほど共有します。 話す内容に注力いただいて大丈夫です!
Slide 3
Slide 3 text
田中正吾(たなかせいご) 屋号:ワンフットシーバス 2004年よりフリーランス。以後、FLASH制作を 中心にインタラクティブコンテンツを主に行い現 在に至る。 最近ではWEBフロントエンドをベースにしなが らも、情報とインターフェースが合わさるアプ ローチという視点でIoTやMixed Realityといった 技術も取り入れながら活動しています。
Slide 4
Slide 4 text
今日お伝えすること enebular の実行環境ネタ
Slide 5
Slide 5 text
気象庁天気 API を定期的に Airtable に記録
Slide 6
Slide 6 text
リアルタイムデモ とはいいつつ定期実行の1時間待つのはアレなので手実行します!
Slide 7
Slide 7 text
つくるときに試行錯誤したこと
Slide 8
Slide 8 text
気象庁の天気予報 API
Slide 9
Slide 9 text
公式提供ではないし内部データのJSONだけど 政府標準利用規約に準拠して利用OKとのこと いままでの天気APIの利用の苦しさを考えればとてもありがたい!しっかり触りたかった。
Slide 10
Slide 10 text
正直、仕様が私の力では把握しにくく ほしいデータを狙って取るJSON解析が大変め データ例だけど、ここに至るまでがまず苦労するやつ https://www.jma.go.jp/bosai/forecast/data/forecast/130000.json
Slide 11
Slide 11 text
説明としてとても分かりやすい文献 気象庁の天気予報JSONファイルをWebAPI的に利用したサンプルアプリ https://anko.education/apps/weather_api
Slide 12
Slide 12 text
うまく取得できた
Slide 13
Slide 13 text
Airtable 保存部分
Slide 14
Slide 14 text
記録するあたりは従来の記事でばっちり スプレッドシートのようにデータ管理できる AirtableをNode-REDノードでデータを書き込んでみる https://blog.enebular.com/samples/use-airtable-as-spreadsheet2/
Slide 15
Slide 15 text
カラムのフィールドタイプを気をつけた
Slide 16
Slide 16 text
Create time は Airtable 側で気を利かせて 作成日時を入れてくれる素敵フィールドタイプ こちらでやる処理が減るし、データベースだと一手間必要なので、めっちゃありがたい。検証にも役立つ。
Slide 17
Slide 17 text
Date フィールドタイプは、天気 API が持つ 更新日時を日付を良い感じに扱ってくれる ISO 8601 形式で入れる必要があるが、めちゃくちゃ便利
Slide 18
Slide 18 text
ありがたいことに 天気 API が持つ更新日時は ISO 8601 なのですんなり入る 他の API で日時データが ISO 8601 じゃない場合は JSONata を駆使するといいです https://qiita.com/tseigo/items/e7deb8d6d4902a4aef30
Slide 19
Slide 19 text
Date フィールドタイプは Calendar ビューで 見てやると良い感じに日付で並ぶ これは私の WordPress 投稿のログをカレンダーで並べている Airtable ビュー
Slide 20
Slide 20 text
更新日時を見る限り11:00,17:00,5:00が 予報自体の更新タイミングと分かった
Slide 21
Slide 21 text
これに関してアドバイスいただけた ありがとうございます!
Slide 22
Slide 22 text
アウトプットしてやり取りできて より深掘りできて、ありがたや
Slide 23
Slide 23 text
予報テキストはわりと全角ゴリ押し さらに文字に応じてアイコンにするときは手間がかかりそう
Slide 24
Slide 24 text
風向き・風力がでるのは面白い 何かに使いたい(全角ではあるんですけどね、変換はがんばりましょう)
Slide 25
Slide 25 text
地域に応じて取得するときは 都道府県IDをちゃんと把握して取得する必要 都道府県 ID というのがあるそう 参考: https://support.smp.ne.jp/manuals/field_reference2/ https://www.jma.go.jp/bosai/ forecast/data/forecast/130000.json
Slide 26
Slide 26 text
自動化の目線で enebular 実行環境を考えたこと
Slide 27
Slide 27 text
自動化をつくる流れ おおまかにこんな流れ まず つくる 動かし つづける どこかで 動かす より 良くする
Slide 28
Slide 28 text
自動化をつくる流れ まず つくる 動かし つづける どこかで 動かす より 良くする
Slide 29
Slide 29 text
ワークスペースでデバッグを見れるし 実行環境のログでも見れる プロコードでログ見れる環境をつくるのはパワーが必要。手元はいいけど、サーバーやクラウドで置くとき。
Slide 30
Slide 30 text
debug ノードでシステムコンソールを チェックすると実行環境ログに出ます
Slide 31
Slide 31 text
自動化をつくる流れ まず つくる 動かし つづける どこかで 動かす より 良くする
Slide 32
Slide 32 text
オンライン上でどう実行させるかが 課題になりがちだが肩代わりしてやってくれる 自前でしっかりつくるのはそれなりにパワーと手間が必要なのだがボタン一発でありがたい
Slide 33
Slide 33 text
自動化をつくる流れ まず つくる 動かし つづける どこかで 動かす より 良くする
Slide 34
Slide 34 text
自動化ではスケジュール実行が怯えしがち cron 実行めちゃくちゃイメージしづらい問題
Slide 35
Slide 35 text
こういうのをブックマークして使う時に 必死に思い出すが結構脳にツラい http://miya0.dyndns.org/pc/settei/crontab.html
Slide 36
Slide 36 text
スケジュールトリガーが cron を視覚的に 人間の思考に戻してくれるのでよい 実行予定でやりたいことと照らし合わせられる、ミスが減る
Slide 37
Slide 37 text
自動化をつくる流れ まず つくる 動かし つづける どこかで 動かす より 良くする
Slide 38
Slide 38 text
自分のための自動化は自分の運用力と向き合いがち
Slide 39
Slide 39 text
ローコードでつくれると数か月後も 自分で思い出して自分でメンテナンスしやすい!
Slide 40
Slide 40 text
プロコードで最終的につくるときも ローコードで固めきるというのはとても大切 プロコードでデバッグしたり機能追加するのってパワー使うので、enebular のように GUI でやれるのは素敵
Slide 41
Slide 41 text
自動化をつくる流れ うまく寄り添ってくれてありがたい!気軽につくって、つくりつづけられる! まず つくる 動かし つづける どこかで 動かす より 良くする
Slide 42
Slide 42 text
エクストラ 時間があれば ● いざ実行環境化しようとしたらLCDPノードつけ忘れて 一切発動しなかったウッカリ ● 天気概況の説明も面白いので、文章認識で天候をスコア 化できたら面白そう ● 東京で参照先ミスってずっと小笠原諸島の天気を見てて 一瞬戸惑った話 ● たぶん環境変数で都道府県IDなど動的に入れられるよう にすると汎用性高く作れそうだなってアイデア ● どこに活用していこうか話 使いやすい中間API、IoTへデータ表示 など
Slide 43
Slide 43 text
おおむね動いたので Discover Flow に整えて みんなで使えるよう公開するつもりです!