Slide 1

Slide 1 text

JSONataで擬似的なデータ生成(+α) 2022年1月13日 (木) Node-RED Park Vol.3 @オンライン 豊田陽介( ) @youtoy

Slide 2

Slide 2 text

自己紹介 ビジュアルプログラミング・ IoT関連のコミュニティや、 その他にも 豊田陽介( ) 普段は、某通信会社勤務 @youtoy ・IT系イベント主催、登壇や運営なども ・子ども向けの活動いろいろ(IT系以外も) ・ Microsoft MVP(2021/10 から) プライベートでの活動 ・ガジェット好き その他 自宅にたくさん

Slide 3

Slide 3 text

JSONataを 最初に知ったきっかけ

Slide 4

Slide 4 text

ある時この発表資料を見かけて

Slide 5

Slide 5 text

資料のこの部分が個人的に響いた 👍 これが避けられるのは良いな

Slide 6

Slide 6 text

せっかくなので、 ビジュアルなプログラミング で完結させたい

Slide 7

Slide 7 text

というのをやるのに ピッタリでは!?

Slide 8

Slide 8 text

そこにこだわりすぎて 逆に複雑になりすぎたり、 という場合は悩ましいけど🤔

Slide 9

Slide 9 text

JSONataを知る

Slide 10

Slide 10 text

そして、 Functionノードを使った 作例を元に...

Slide 11

Slide 11 text

当時何かを試したはず (だけど、はっきりとは 思い出せず😅)

Slide 12

Slide 12 text

半分、勢いで 登壇枠の申し込みを していた状況

Slide 13

Slide 13 text

発表ネタがなかった!?😅

Slide 14

Slide 14 text

Qiitaに何か書き残してそう! 🔍 「jsonata user:youtoy」で検索 記事が 出てきた

Slide 15

Slide 15 text

JSONataを試していた事例の1つ 📝 記録が残っていたやつ

Slide 16

Slide 16 text

JSONata でやってたこと ↓ 擬似的なデータ生成

Slide 17

Slide 17 text

JSONataを使っていた部分

Slide 18

Slide 18 text

やりたかったこと お試し1 お試し2 UIのボタンを押して 状態を切り替える 連続的に発生する状態変化に連動して変わる 「お試し2」のやつを手軽にやりたかった(乱数とか使って)

Slide 19

Slide 19 text

「Node-RED 乱数生成」で検索 検索で出てきた事例: Functionノードを使っているもの (検索結果の上位のものはこのパターン)

Slide 20

Slide 20 text

そこでJSONata@injectノード とりあえず乱数生成 0.5秒間隔で処理

Slide 21

Slide 21 text

発生した乱数から真偽値を changeノードでの処理 node-red-contrib-ui-led の色変化の仕様

Slide 22

Slide 22 text

🤔🤔🤔

Slide 23

Slide 23 text

資料を作っていて今さらながら思った changeノード不要では? injectノード 1つあれば...

Slide 24

Slide 24 text

ノード1つで十分だった

Slide 25

Slide 25 text

自分が活用できそうな 事例が他にも 1つ

Slide 26

Slide 26 text

enebular editorで シリアル通信をする時

Slide 27

Slide 27 text

余分な空白などをサクッと消去 change ノードで

Slide 28

Slide 28 text

余分な空白などをサクッと消去 change ノードで 欲しい部分 だけに なった!

Slide 29

Slide 29 text

自分が活用できそうな事例、 他にもいろいろありそう

Slide 30

Slide 30 text

終わり!