WEBエンジニア奮闘記

日々の業務から思ったこと、学んだことを書き連ねていきます。

日記:2018-05-16

←昨日の日記

今日やったこと

  • node-sassでちょっとハマった
  • nodejs の readline について勉強
  • riotx

詳細

1. node-sassでちょっとハマった

github.com

これ。macdocker 使って開発環境を建ててたんだが、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 使ってアプリ作れた。やっぱり実際に手を動かしてみないと機能も良さも分からんなー。

所感

今日はかなりコーディングできたので満足。ただ、仕事で早朝から起きていたので正直眠すぎる頭でやったので、明日には結構忘れている可能性大。 なんで、明日復習もする。睡眠大事。

明日は riotxRiotControl の比較もしたい。 RiotControl リポジトリにある routing_demo を riotx で作ってみても良いかも。ちょっと Flux の復習になる気もするが、理解を深めることにもなるので良しとする。

あとは、 riot + redux だな。riot は軽さと簡単さが売りなので、そもそも redux と組み合わせるのはその思想に反すると主張する人もいて、 その気持は分かったりもするw がやっといて損はないし、その組み合わせがぴったりハマる場面もある可能性は捨てきれない。 明日やるかは時間との相談だが、それよりも来週の登壇資料を作ろう。

では(;・∀・)

今日読んだ記事