Translate

2015/10/08

RSpec テストのリファクタリング

RSpec をうまく使って、もう少しテストコードを良くした。

入力を多次元配列にする

多次元にしておくと、何かと便利。(経験上)
うまく初期値付きにすることが難しかったけど、最終的には、
   test_item = [\
      [1, 1, 1, "正三角形ですね!"],\
      [2, 2, 2, "正三角形ですね!"]\
    ]
これでOK.

http://canelmo.hatenablog.jp/entry/2015/01/14/184939

見やすくする

Subjectとか使う。

まとめると、
なるべく、Describe, Before, Subjectを使って明確化する。
なるべく、expectを使う。(shouldは古い文法?だけど、未だに使い勝手で混在しているみたい)

例 名前なし:
subject {Triangle.shape_is(1, 1, 1) }
it { except(subject).to eq "正三角形"}
it { excepted.to eq "正三角形"}  # 同じ意味

例 名前あり:
subject (s) {Triangle.shape_is(1, 1, 1) }
it { except(s).to eq "正三角形"}

だけど、一般的に引数があるfunctionをsubjectにするのは難しいみたいなので、クラスをSubjectにするのが無難っぽい。

参考



おまけ

Rubyで行をまたぎたい場合は、"\" だそうです。

DRYは、 Don't Repeat Yourself

MD5 のチェック

Linux を使うようになって、isoイメージをダウンロードしてたら、時々ファイルが壊れていることがあって、チェックサムを確認するようにした。

https://wiki.openoffice.org/wiki/JA/QA/Download/Using_md5sum#Windows.E3.81.A7MD5.E3.83.81.E3.82.A7.E3.83.83.E3.82.AF.E3.82.B5.E3.83.A0.E3.82.92.E7.A2.BA.E8.AA.8D.E3.81.99.E3.82.8B.E6.96.B9.E6.B3.95:

WindowsでMD5チェックサムを確認する方法:

GUIのdigestITを使う

digestITは多くのWindowsユーザーが簡単に使えるグラフィカルなツールです。
  1. digestITをダウンロードします。
  2. ダウンロードしたファイル「MD5Win32.zip」を解凍し、出てきた「MD5Win32.msi」を実行してインストールします。
  3. WindowsのエクスプローラーでOpenOffice.orgをダウンロード(保存)した先のフォルダを開きます。
  4. ダウンロードしたOpenOffice.orgのファイルを右クリックし、 [digestIT]->[Verify MD5 Hash](またはCalculate MD5 Hash) を選択してください。
    digestit.jpg
  5. "Verify MD5 Hash"を選択したのであれば、MD5Sumの一覧ページからMD5チェックサムをコピー&ペーストをしてください。もしチェックサムが合っているのであれば、"Digest matches. Verification succeeded."と表示されます。
    digestit2.jpg
    "Calculate MD5 Hash" を選択したのであれば、算出されたMD5チェックサムと、MD5Sumの一覧ページに記載されているMD5チェックサムを自分の目で比較する必要があります。


・確認はきちんとできた。
・1Gのファイルを計算したけど、かなり時間かかる。
・あと、右クリックメニューもゴチャゴチャするからUIが好きではなかった。

2015/10/06

スキル上げるなら穴掘り型

ソフトウェア開発をしていると、多種多様なスキルが求められると思う。(職場環境でなんでもやる必要があるからかもしれないけど)

ITSSなどのスキルマップから一時期言われたのは、I型からT型・π型を目指せという話。
一つの分野を極めるのが大事である程度に到達したら、広く浅くも必要だし、2つ目の得意分野も極めろ、ということ。

これは、かなり人によって、合う合わないがあると思う。ずっとI型がいい人もいるだろうし、
その中で自分は穴掘り型がいいと思う。

穴掘り型の意味は、

  • T型に近いけど、穴を掘るのと同じように得意分野を頂点に近い技術を中心にスキルアップしていく。
  • 最終的な型だけではなく、穴掘りと同じような時間経過で進めていく。つまり、まずは1箇所を掘る少し広げる。また掘る。
    深く  -> 広く  -> 深く  -> 。。。
  • 穴が深くなれば、穴の外径(広さ)も自然と広くなる。

メリット
  • 1つのことだけやらないので、興味を継続して勉強を継続できる。これ大事だと思う。
  • 似ているスキルなので、応用ができたり、覚えるのが速い。
  • スキル同士を連携させたり、新しい気づきを得たりしやすい。

穴掘り型というと、名前が良くないので、かっこ良く言うなら、ピラミッド形 ?かな。
(上下を逆に考えて。)

2015/10/04

Sublime text 3のカスタマイズ

使いやすくしてみた。

参考



テーマ

flatland を Package control からインストール。
Preference -> User で、以下を追加。普通のメニューからは、color schemeしか変更できなくて、サイドバーが変わらなかった。。。
  "theme": "Flatland Dark.sublime-theme",
  "color_scheme": "Packages/Theme - Flatland/Flatland Dark.tmTheme"
サイドバーの文字の大きさを変えたかったけど、設定ファイルが見つからなくて断念。


プラグイン


入れたもの。入れ方は、普通にPackage controlで。
  1. BracketHighlighter
  2. SublimeLinter
  3. BeautifyRuby
  4. SublimeCodeIntel
  5. RubyTest


課題

RubyTestが動かない。以下やったけどだめ。

rbenv環境の場合は、{インストールフォルダ}/Packages/RubyTest/RubyTest.sublime-settingsを修正します。
?
1
2
3
4
5
6
{
...
   "check_for_rbenv": true,
   "check_for_rvm": true,
...
}


Rubyの実行も同じ。


あと、サイドバーとかのフォントも変更できない。


Ubuntu 15.02 日本語Remixでの日本語インライン入力

以前VMにインストールしたUbuntuでインライン入力ができなかったので、設定した。


Fcitx XIM Frontend の設定

この記事を見ると、XIM Front end を設定するだけで良いらしい。
  • Fcitxの[設定]-[アドオン]-[拡張](チェック)-[Fcitx XIM Frontend]-[設定]-[XIMでOn The Spotスタイルを使う(起動中は変更できません)](チェック)-[OK]で、Fcitxの[再起動]をクリックすると次からインラインで表示するようになります。

アドオンで検索してみると、、、
出てこない。

検索していると、ソフトウェアセンターをチェックした方が良さそうだったので、チェック。



なぜか、gtk2はインストールされていない。これをインストールしてみた。
すると、 無事、XIM frontend が表示され、インライン表示の設定ができるようになった。

おしまい。