ES6構文の「...」(スプレッド演算子)
reducers にある ...state の ... ってなに?
case UPDATE: return { ...state, list: action.payload.list };
↓と同じ
return Object.assign({}, state, { list: action.payload.list })
普通だったらこうなるものを
var parts = ['shoulder', 'knees']; var lyrics = ['head', parts, 'and', 'toes']; console.log(lyrics); > [ 'head', [ 'shoulder', 'knees' ], 'and', 'toes' ]
これでできちゃう
var lyrics = ['head', ...parts, 'and', 'toes']; console.log(lyrics); > [ 'head', 'shoulder', 'knees', 'and', 'toes' ]
Redux のうんぬんではなく、 ES6 の構文。スプレッド演算子というらしい。
Factory Method ってなに?
他のクラスのインスタンス化の責任を負う必要がある普通の実装。
class Sample { class showName() { Name name = new AName(); System.out.println(name.getName()); // I'm A Name name = new BName(); System.out.println(name.getName()); // I'm B } } abstract class Name { abstract void getName(); } class AName extends Name { void getName() { System.out.println ("I'm A"); } } class BName extends Name { void getName() { System.out.println ("I'm B"); } }
インスタンスの生成は一箇所に集約して、責任を Factory に任せる実装
abstract class Factory { abstract Name factoryMethod(); } public class NameFactory extends Factory { abstract Name factoryMethod(); return new GetName(); } } public abstract class GetName { public abstract void manA(); public abstract void manB(); } public class Name extends GetName { public void manA() { System.out.println ("I'm A"); } public void manB() { System.out.println ("I'm B"); } } class Sample { void hoge() { Factory factory = new NameFactory(); Name name = factory.factoryMethod(); name.manA(); // I'm A name.manB(); // I'm B } }
CPU の使用状況をチェックする方法
CPU の使用状況をチェックする方法 (sar -u)
$ sar -u 00:00:00 %usr %sys %wio %idle 01:00:00 0 0 0 100
%usr
プロセッサがユーザーモードになっている時間の割合が表示されます。
%sys
プロセッサがシステムモードになっている時間の割合が表示されます。
%wio
プロセッサがアイドル状態で入出力の完了を待っている時間の割合が表示されます。
%idle
プロセッサがアイドル状態で入出力を待っていない時間の割合が表示されます。
一般に、%wio
の値が大きい場合は、ディスクの処理速度が低下していることを意味します。
参照
http://docs.oracle.com/cd/E19504-01/805-1753/spmonitor-40118/index.html