環境構築

フォント周り

yaourt -S ttf-koruri ttf-ricty otf-ipaexfont

Arch Linuxで日本語フォントをきれいに表示

日本語変換

yaourt -S fcitx-gtk2 fcitx-gtk3 fcitx-qt4 fcitx-qt5 fcitx-im fcitx-configtool fcitx-mozc

以下を設定

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=”@im=fcitx”

必要最低限のソフトウェア

yaourt -S git vim-python3 mikutter zsh nodejs

入れておくと良さ気なやつ

yaourt -S webstorm intellij-idea-ultimate-edition

diffのオプション

-b, --ignore-space-change
スペースの数だけが違う場合には違いを無視する。不完全な行は無視される。
-i, --ignore-case
英大文字と小文字の違いを無視する。
-w, --ignore-all-space
行を比較するときスペースを無視する。不完全な行は無視される。
-E, --ignore-tab-expansion
タブ展開によるスペースの変更を無視する。
--strip-trailing-cr
改行コード無視

diffの改行コードとかを無視する.svnのdiffでも

パーフェクトJavaScript 1~3章

2章 JavaScriptの基礎

  • varは省略するとグローバル変数になる
  • varは省略するな
  • 定数にはconstを使う
  • 定位数はすべて大文字にする慣習がある
  • しかしこれはJSの独自拡張で再代入してもエラーはでない
  • 関数リテラルは関数と違って式なので式の中にかける
  • 関数宣言文と関数リテラル式の変数への代入の働きはほぼ同じ
// 関数宣言文
function sum1(a, b){
  return Number(a) + Number(b);
}

// 関数リテラル式の変数への代入
var sum2 = function(a, b){
  return Number(a) + Number(b);
}
  • 関数宣言文で定義した関数名を右辺に書いて代入することもできる
var sum3 = sum1;
  • オブジェクトは本質的に名前がない
  • 名なしのオブジェクトを名前で呼ぶために変数が存在する
  • 名なしの関数を名前で呼ぶために関数名が存在する
  • Javascriptのオブジェクトはプロパティ(名前と値のペア)の集合
  • オブジェクトリテラル式は中括弧{}で囲んで表現できる
{ プロパティ名:プロパティ値, プロパティ名:プロパティ値, プロパティ名:プロパティ値, ...}
  • ECMAScript5では許されているが最後をカンマで終わるオブジェクトリテラルは避ける
  • ドット演算(.)でプロパティにアクセスできる
  • ドット演算子の後ろにプロパティ名を書くとプロパティ値を読み出せる
  • 存在しないプロパティ値に代入すると新規プロパティの追加
  • プロパティアクセスはドット演算子以外に配列のアクセスっぽくブラケット[]演算子でも可能
var obj = {x:3, y:4};
// 同じ
var x1 = obj.x;
var x2 = obj[x]:
  • オブジェクトのプロパティに関数を代入することもできる
obj.fn = function (a, b) {return Number(a) + Number(b);};
  • new式でオブジェクトを生成できる
  • newのあとに書くのは関数名
  • newのあとに関数名を書くとその関数をコンストラクタとして呼び出す
  • 配列の要素には異なる型の値を並べることができる

3章 JavaScriptの型

  • 以下の5つが基本型
  • 文字列型
  • 数値型
  • ブーリアン
  • null型
  • undefined型
  • これ以外の型をオブジェクト型という
  • 基本型のインスタンス => 値
  • オブジェクト型のインスタンス => オブジェクト
  • 基本型変数 => 数値などの値そのものを持つ
  • 参照型変数 => オブジェクトの参照を持つ
  • NaNはNaN以外になることはない
  • isNaNという関数が用意されている
  • null型は===で判定する必要がある
  • undefined値は以下の様なところに現れる
  • 未初期化変数の値
  • 存在しないプロパティ値
  • 実引数を与えずに関数を呼んdなとき関数内の対応する引数の値
  • return文がないかreturn文に式がない場合の関数の戻り値
  • void演算子の評価結果
  • undefined値を得たいときは
  void 0
  • jsの型変換でfalseになる例
 数値 0
 数値 NaN
 null値
 undefined値
 文字列値"( 空文字列値)
  • オブジェクト型をブーリアン型に型変換すると必ずtrueになる