でぃするだいありー?

そんな気はないんだれど、でぃすっちゃってる。 でぃすでれ?

はじめてのnode.js + express

node.jsは初めてではないが、威力を存分に体感したのは初である。
golangで作成したAPIと比較すると、やってることは大したことないので実行速度に差異は認められないが、コマンド実行時の起動速度はnode.jsに大いに軍配が上がる。

今回作成したAPIでやっていることは以下の通り。

  • MySQLからのデータ取得
  • MySQLへのデータ登録
  • OSコマンドの実行
  • ラズパイに接続したセンサからの情報取得

 

やることは決まっているので、実装の作法がわかればなんてことはなく、Xamarin.Androidアプリの改修込みで4日程度で実装完了。むしろ、作法を学ぶためのサンプリングに今回はやや時間を要した。

node.js + express + API というようなキーワードで検索すると、日本語情報も数多くヒットする。Qiitaにも幾つかエントリを発見したが、内容が半端なものでexpress初心者にはあまり向かないと感じられるものばかりに遭遇した。運がない。それとも、昨年の中頃からQiitaの質が云々という話が聞こえてくるようになったが、そうかもしれないと思いつつも、そうだとは思わずに来たが、そうなってしまったということだろうか。

さておき、typoはあるが、以下の記事が参考になった。

www.codementor.io

 

センサの情報取得には以下のライブラリを使用した。

www.npmjs.com

golangAPIインターフェイスを同じにしたので、Androidアプリは実装を変更せずに使えるかと思いきや、Xamarin版ではHTTPリクエストのヘッダContentTypeにUTF-8を指定しないとアカンかった。Kotlin版は変更なしでいける。

自動起動は forever を用いた例で起動を確認した。

qiita.com