Slide 1

Slide 1 text

ノンコーディングで京急する ポキオ

Slide 2

Slide 2 text

ポキオ ● https://pokiiio.github.io/ ● R&D 園児にゃー ● Twitter/GitHub : @pokiiio ● Blog : Androidのメモとか(https://relativelayout.hatenablog.com/)

Slide 3

Slide 3 text

京急が大好き

Slide 4

Slide 4 text

京急ガジェットを いろいろ 作ってます

Slide 5

Slide 5 text

京急は神 (個人の感想です)

Slide 6

Slide 6 text

ノンコーディング

Slide 7

Slide 7 text

ノンコーディング ● コーディングしないでプログラミングをするという解釈 ● 非エンジニア向けツールのニーズ高まってきている ○ 企画な方々 ○ 教育・学習用途 ○ PoCでプロトタイピング ● 誰でもプログラミングできる世の中って、ちょっとすごいよね

Slide 8

Slide 8 text

Node-REDのよさみ ● グラフィカルに処理を設計できるツール ● ノードとノードをつなげてデータのフローを作る ● ハードウェアからWebサービスに関するノードが準備されている ● ノンコーディングでもプログラミングができる ● 簡単な静的サイトならチョッパヤで作れる ● 他サービスとの連携も可能 簡単なロジックなら爆速プロトタイピング

Slide 9

Slide 9 text

他サービスとの連携も可能

Slide 10

Slide 10 text

ノードライブラリで広がる可能性

Slide 11

Slide 11 text

enebularのよさみ ● 無料でも使える ● クレジットカード登録不要 ● Node-REDが使える ● 設計したロジックをAWSやHerokuにデプロイできる (他にもたくさん機能はあります!) サクッと始めて気に入ったら本格運用

Slide 12

Slide 12 text

ノンコーティングと京急と私

Slide 13

Slide 13 text

Start enebular for IoT 2019での様子 ● ご査収ください

Slide 14

Slide 14 text

日本ユーザー向けノード ● 少ない(個人の感想です) ● すくなくとも京急ノードとか存在しない ● livedoor天気予報のノードを公開中(ちょっと宣伝) ○ https://flows.nodered.org/node/node-red-contrib-lwws

Slide 15

Slide 15 text

ノードがなければ 作ればいいじゃない

Slide 16

Slide 16 text

つくったお( ^ω^)

Slide 17

Slide 17 text

node-red-contrib-keikyu ● 京急の運行情報を取得するだけのノード

Slide 18

Slide 18 text

node-red-contrib-keikyu ● これを使って、みなさんがノンコーティングで京急できれば…! ● そのためなら、私は努力を惜しまない! ● 他路線も鋭意作成中! ・・・の、はずだった。

Slide 19

Slide 19 text

ノード公開中にトラブル発生

Slide 20

Slide 20 text

ノンコーディングで京急したかった (旧題:ノンコーディングで京急する) ポキオ

Slide 21

Slide 21 text

そもそもノードって? ● Node.jsのnpm(Node Package Manager)パッケージとして作成 ● Node-RED向けに必要なパラメタやファイルを追加すると Node-REDで使えるノードしてワークするようになる

Slide 22

Slide 22 text

ノード作成の大まかな手順(一例) 自分でやる 自動で公開 npmjs.comをクロール 自動で公開 GitHubに リポジトリを 作成 頑張って コーディング する npm パッケージと して公開 npmjs.comで 公開される Node-REDのラ イブラリで 公開される https://nodered.org/docs/creating-nodes/

Slide 23

Slide 23 text

それぞれのフェーズで作ったノードを試す手段 GitHubに リポジトリを 作成 頑張って コーディング する npm パッケージと して公開 npmjs.comで 公開される Node-REDのラ イブラリで 公開される ソースコードをNode-RED実行環境に準備すればノード利用可能 npmコマンドでノード利用可能 Node-RED上から ノード利用可能

Slide 24

Slide 24 text

それぞれのフェーズで作ったノードを試す手段 GitHubに リポジトリを 作成 頑張って コーディング する npm パッケージと して公開 npmjs.comで 公開される Node-REDのラ イブラリで 公開される ソースコードをNode-RED実行環境に準備すればノード利用可能 npmコマンドでノード利用可能 Node-RED上から ノード利用可能 なぜか ノードライブラリに 反映されず・・・ Node-RED UI上から ノードのインストールが できない状態

Slide 25

Slide 25 text

よくある「やらかしポイント」 ● package.jsonのkeywordsに「node-red」がない ● プレフィックス「node-red-contrib-」を用いて命名されてない ● README.mdがない ● LICENSEがない ● npmで公開されてない ● npm versionしたあとにgit pushし忘れてる 問題なさそう

Slide 26

Slide 26 text

https://nodered.org/docs/creating-nodes/packaging コメント&ご確認 ありがとうございます … ですよねぇ… もう1日以上 経ってるんですが…

Slide 27

Slide 27 text

コードに不備はない npmの検索に引っかかっていない 今できるワークアラウンドはない (バージョンアップしてpublishし直してもダメだった)

Slide 28

Slide 28 text

詰んだ

Slide 29

Slide 29 text

くやしい

Slide 30

Slide 30 text

でもちょっとまてよ

Slide 31

Slide 31 text

ノードが追加 できなければ 最初からプリイン すればいいじゃない

Slide 32

Slide 32 text

常に気持ちはマリー・アントワネット ● enebularのheroku向け実装「enebular-agent-heroku」をフォーク ● 実際に使われているev2ブランチのpackage.jsonの依存関係に 自作ノード(node-red-contrib-keikyu)を追加 ● それをherokuにデプロイ https://github.com/pokiiio/enebular-agent-heroku/tree/ev2

Slide 33

Slide 33 text

はい ● プリインされてますね(にっこり)

Slide 34

Slide 34 text

まとめ

Slide 35

Slide 35 text

まとめ① ● ノンコーティングはすばらしい ● コーディングができる人はノードを作成・公開して ノンコーティングでできることを広げてましょう

Slide 36

Slide 36 text

まとめ② ● ノード公開時の「やらかしポイント」に注意 ● ライブラリに反映されるまでに時間がかかることもあるので 計画的にpublishしましょう ● 反映されないときは再度publishすると反映されることがある ● ワークアラウンドがないトラブルはない!

Slide 37

Slide 37 text

THANK YOU