日記:2018-05-16
今日やったこと
- node-sassでちょっとハマった
- nodejs の readline について勉強
- riotx
詳細
1. node-sassでちょっとハマった
これ。macで docker
使って開発環境を建ててたんだが、node-sass
のバインディングがおかしくてコケてた。
コンテナに入ってバインディングファイルを確認したら、サフィックスが darwin
になってた。 rebuild
して linux
になっていることを確認し、
アプリも起動することを確認。
2. nodejs の readline について勉強
nodejsでファイルを読み込む際、1行ずつ読み込みたい時もある。その場合 readline とか line-by-line を使ってた。 それが、バージョンいくつからかは知らないが、少なくとも v8 からはデフォルトで nodejs 本体に実装されていた模様。
Readline | Node.js v8.11.2 Documentation
一点、ファイルを読み込んだ時、条件によっては処理を同期的にやりたい場合もあると思うが、そういう時の対処用のメソッドがあるのかと思って調べたが見つからなかったので、
以下のように async/await
を使った。
const fs = require('fs') const readline = require('readline') const rl = readline.createInterface({ input: fs.createReadStream('./dummy.txt'), crlfDelay: Infinity }) rl .on('line', async line => { if (/* 何かしらの条件 */) { await setTimeout(() => { console.log(line) }, 1000); } else { console.log(line) } })
3. riotx
ほぼ写経だが、やっと riotx
使ってアプリ作れた。やっぱり実際に手を動かしてみないと機能も良さも分からんなー。
所感
今日はかなりコーディングできたので満足。ただ、仕事で早朝から起きていたので正直眠すぎる頭でやったので、明日には結構忘れている可能性大。 なんで、明日復習もする。睡眠大事。
明日は riotx
と RiotControl
の比較もしたい。 RiotControl リポジトリにある routing_demo を riotx で作ってみても良いかも。ちょっと Flux
の復習になる気もするが、理解を深めることにもなるので良しとする。
あとは、 riot + redux
だな。riot は軽さと簡単さが売りなので、そもそも redux
と組み合わせるのはその思想に反すると主張する人もいて、
その気持は分かったりもするw がやっといて損はないし、その組み合わせがぴったりハマる場面もある可能性は捨てきれない。
明日やるかは時間との相談だが、それよりも来週の登壇資料を作ろう。
では(;・∀・)