2014年11月27日木曜日

Selenium の歴史

http://blog.trident-qa.com/2013/05/so-many-seleniums/
いいページ。これは知っておかないと。

2014年11月26日水曜日

WebStrom9 で Node.JS ステップ実行

node-inspector によるデバッグよりも使い易いと思うので紹介したい。

express でアプリを作成。(手順は略)

WebStorm を起動
run --> Edit Configuration --> + をクリック --> Node.js を選択
Name は適当に記載
Javascript file に bin/www を記入



Browser/Live Edit をクリック


Launch After にチェック。お好きなブラウザを選択。
http://localhost:3000 を記入
OK をクリック。


虫のアイコンを押すとNode.js のアプリが立ち上がり、ブラウザが自動的に立ち上がる。
ブレークポイントを入れるとステップ実行ができる。


ますますNode.js の開発が楽しくなるな。

2014年11月21日金曜日

WebStorm(OSX) でLess を自動コンパイル

WebStorm でless を自動コンパイルできた。
styles.less を編集すると自動的に styles.css を作ってくれる。(素敵!)

まず、less 本体をnpm でインストール。

npm install -g less

メニューの WebStrogm --> Preferences --> Tools --> File Watchers --> Less でless コマンドのパスを指定。(例ではフォルダは指定していない)


これだけ。
Arguments にはデフォルトで --no-color が入っているが、削除しないと動かなかった。

2014年11月20日木曜日

大きなものを得るにはミスを減らす

To Make Big Gains, Avoid Tiny Losses

James さんの記事に日本が出てきて嬉しい。
高度成長期に日本製品が売れるようになったのは、製造の過程でミスを減らすことに注力したから。
何かを手にいれる際、掴むものを大きくするより減るものを減らす方が実現しやすいというお話。
筋トレで自己ベストを更新するより、毎日休まずトレーニングをする方が実現しやすいように。
思えば、システム管理者もいかに障害を減らすかを考え続けるので同じ事だと思う。
そして障害が起きにくいコードが書けるようになると、複雑なシステムを構築できるようになると私は信じている。

2014年11月19日水曜日

Wix のTransfer Code とさくらインターネットのAuth Code は同じ

Wix からさくらインターネットへドメイン移管を行った。
移管に必要なコードをWix では Transfer Code と呼び、さくらインターネットでは Auth Code と呼んでいる様だ。

私はなぜか1回目の移管手続きが失敗した。
その原因はTransfer Code と Auth Code が別物だからだと思って調べていたらこちらの記事が見つかった。
Transfer Code とは別に3-4日でAuth Code が送られてくるとあったので待っていたが、1週間経っても来なかった。
止む無くサポートに問い合わせたところ、タイトルの件と「他社にドメインを移管」のリンクをもう一度押せば新しいコードがメールされる事を教えてもらえた。

今度こそうまく行くだろう。

2014年11月17日月曜日

白湯

無理を感じない範囲でたくさん飲んでみた。
お通じが良くなったのと、飲み始めるともっと飲みたくなることが分かった。
今まで気づかなかったが、僕は乾燥していたのかもしれない。

2014年11月16日日曜日

早起きのおまえらにちょっといいこと教えてやる

早起きのおまえらにちょっといいこと教えてやる
・死ぬほど水を飲め
・なんか作れ
・続けろ
この3つが重要だ 
これはいい話だと思う。
James Clear さんと同じ理屈だ。
私も頑張ろう。

2014年11月13日木曜日

甘いものは食後に食べれば大丈夫なのだろうか

今やスマートなホリエモンが、ライブドア全盛期にぽっちゃり系だったのはプログラミングをしていたからだとか。
プログラマは仕事中あまり動かない上、何かを食べながらコーディング(プログラムを書く事)することが多いので太りやすいのは当然と言っても良いでしょう。
私はそれに加えて甘党です。

そんな私が、見つけたのは甘い物は食後に食べた方が太りにくいというこちらの記事。
どうせ、夕方になると仕事の合間にお菓子を買いに行くので、昼食時にがっつり甘い物を食べた方がましというわけだ。

それで今日のお昼は、サンマルクでプリン・チョコパフェを注文。
普段は無意識にパフェは自制するのが、今日の自分を遮るものは全くない。



大満足だったが、よく見ると523Kcal も。ご飯2膳以上!
毎日食べるのはまずいかも。でもまた食べたいなぁ。美味しかったなぁ。

2014年11月12日水曜日

アクセスログ解析ツール超個人的まとめ

世の中には選びきれないほどある。独断と偏見によるまとめ。

(1) Google Analytics

js を埋め込めば解析してくれる。流石Google 先生で、使いやすくて分かりやすい。
1000万アクセスまでは無料。データの所有権はGoogle 社となる。


(2) 忍者ツール

同じくjs を埋め込めば解析してくれる。小さなバナーも出る。
100ページまで無料。最新4ヶ月以前のデータは見えなくなる。
お世話になってます。


(3) Awstats

Apache 等のログをperl のプログラムを通して解析する。
解析後はブラウザから視覚的に見える。
10年ぐらい前から見かけるが、今時点でもアクティブに活動されているのがとても素敵。(2014/10に更新されている)
セットアップに多少OSやWeb の知識が要るが、極力簡略化されていてるので人によっては頑張れると思う。
アクセスログを外に出さないので、社内システムでも有効に使える。


(4) Fluent + Kibana + Elasticsearch

複数サーバーのApache 等のログをFluentd で一箇所に集約し、分散検索エンジンであるElasticSearch を用いて解析。その結果をグラフで表示可能。
まだ、試していないが最近の流行りなのでやってみたい。


(1) や (2) のjs を埋め込むタイプはセットアップが簡単でわかりやすくて良いが、一定期間が過ぎたログは見えなくなる。自前で構築するタイプの(3) や (4) はそのような問題は起きない。

2014年11月11日火曜日

他人と比べることの危険性

またもや大好きな James Clear さんの記事を紹介。

Martha Graham on the Hidden Danger of Comparing Yourself to Others

ダンス振り付け師のAgnes de Mille さんは自分がすごく良くできたと思った振り付けでは評価されず自分がまずまずと思ったものが大ヒットした。

彼女は自分の感覚と世間の評価が異なることに悩んむようになり、同じくダンス振り付け師のMartha Graham さんに相談する。

Graham さんの返事は次の通り。

すべての瞬間で表現はユニークであり、1度しかできない。それが良くできているとか、価値があるとか、他と比べてどうとかは、あなたが決めることではない。代わりにあなたがやることは、ただ作ることだ。

私も頑張ろう。

2014年11月7日金曜日

OS X Yosemite 10.10 頑張れ

お気に入りの Mac Book Air 11inch (2012 mid) だが、ライオンからアップデートした後お疲れな感じ。
Mac ユーザーお馴染みのカラフルなクルクルが出る頻度が上がった気がする。
あと、iPhone で Bluetooth 経由のテザリングをしているのだが、正に今も切れた。その前は、15分ほどiPhone とペアリングできず結局 Mac を再起動したら直った。
なんとか安定して欲しい。

2014年11月5日水曜日

さくらのVPS(1G) のApache は MaxClient=20

http://www.k4750.net/2013/09/12/sakuravps-apache-maxclients/

時々Apache が繋がらなかったが、これで解決!
リンク先の方に感謝。

2014年11月4日火曜日

if 文の書き方

すごく小さなコーディングの話。
if 文をこうやって書く人を見かけることがある。

private void method(){
  if (checkSomething){
    // a few steps
  }else{
    // very long steps
    // very long steps
    // very long steps
  }
}

checkSomething は例えばバリデーションのようなもので、true ならログを出して終わる程度の短い処理を想定して下さい。

この様な場合、自分はこう書いた方が良いと思っている。

private void method(){
  if (checkSomething){
    // a few steps
    return
  }
  // very long steps
  // very long steps
  // very long steps
}


こちらの方がインデントが浅くなるので可読性が高い。
さらに、もし追加で if 文が必要になってもインデントが深くならない。

private void method(){
  if (checkSomething){
    // a few steps
    return
  }
  if (checkAnotherSomething){
    // another a few steps
    return
  }
  // very long steps
  // very long steps
  // very long steps
}


これを最初の書き方で書くと、パッと見た時に複雑に感じるのではないだろうか。

private void method(){
  if (checkSomething){
    // a few steps
  }else{
    if (checkAnotherSomething){
      // another a few steps
    }else{
      // very long steps
      // very long steps
      // very long steps
    }
  }
}