axiosでPOST

axiosでpostするとContent-Typeがapplicaiton/jsonになってしまう。 content-type: x-www-form-url-encodedで送るためにURLSearchParamsを使うのが推奨されているっぽい。 safariに対応するためpolypillを利用した。

URLSearchParamsのpolypillとして https://github.com/WebReflection/url-search-params を使う。

create-react-appでapplicationを作成してるため、yarn run eject後にconfig/polyfill.jsに

window.URLSearchParams = require(‘url-search-params’);

を記述すればok。 これでGlobalでURLSearchParamsがpolyfillしてくれる。

アヒルと倉庫

Reduxでフロントエンドを書いているといつも思うのがそのboilerplateの多さ。そこで、actionなりreducerなり関心ごとをまるっと一つのファイルにまとめちゃおうというducksという指針が提唱された。

これはこれで壁もあるみたいなんだけど、boilerplateの煩わしさを考えるとけっこう良さそうなので、取り入れてみようと思う。

あとNerflixの人のトークみてからRxも気になってる。observableもちょっと触ってみよう。

React SPAのトラッキングについて

バイト先でReactのSPAを作ったのだが、GAみたいなトラッキングがちょっとめんどくさそう。
今は、react-gaというライブラリのメソッドをreact-routerのonUpdateで呼んでるだけになっているんだが、もう少し小さいurlの変更のないイベントをトラッキングするのにすこし細かく書かなきゃいけないみたいだ。

あとは、プロジェクト全体でGCPを導入しようとしているので、Googlestackdriverも活用していく予定。
これに関しても導入がうまくいったらなんか書きたいと思う。

Raspberry Pi

思い立ってずーっ埃をかぶっていたRaspberry Piをいじっていたんだけど、どうやらmicroSDの接触が悪いらしくてうまく起動しない。
5回に1回くらい起動すればいい方という感じだった。
それでもなんとか、Nodeのバージョンをアップデートしたりしていたら、とうとう一昨日完全に動かなくなってしまった。

そこで、1月まで研究室に在籍していたドクターに譲り受けたModel Aにチェンジして起動させたら難なく起動した。
ところが今度はNodeが動かなくなったので、調べてみるとどうやらModel Aはarmv6らしく、Model BにインストールしたNodeは動かない。
仕方なくarmv6用のNodeをバイナリから入れ直した。

今度はちゃんと動くようになったぞ!
IoTやるぞ!