Twitter Bootstrap 3.0のグリッドシステムの変更点を調べてみた。
Twitter Bootstrap 3.0がリリースされていた。
グリッドシステムが2.3から変更になったみたい。
2.3では
<div class="row"> <div class="span2">・・・</div> ・・・ </div>
だったけれど、3.0からは
<div class="row"> <div class="col-md-2">・・・</div> ・・・ </div>
のようになった。
mdの部分はほかにxs、sm、lgを指定できて、デバイスの画面幅によって振る舞いを変更できる。
.visible-xxと.hidden-xxと組み合わせると、指定した範囲の可視・不可視を制御できるので便利そう。
ここらへんは公式サイトに説明があるけれど、DotInstallの解説がわかりやすかった。
他にも変更点がいくつかあるようなので、ひと通りドキュメントを読んで試してみたいと思う。
「実践テスト駆動開発」を読み始めた。
「継続的デリバリー」と同じタイミングで購入して積読になっていたものを読み始めました。
(継続的デリバリーのほうもまだ積読だったりする)
第Ⅱ部「テスト駆動開発のプロセス」まで読み終えたところ。
内容的にはテスト駆動開発をする上で抑えておくべきポイントであったり、オブジェクト指向設計とテスト駆動開発の関係が丁寧に説明されています。
「なぜテスト駆動開発がよい設計につながるのか」ということの理由が著者の経験に基づいて解説されているのでおすすめです。
以前にスタブとモックの違いがいまいち理解しきれず悩んだことがあったのですが、この本があればモックの用途と意図を理解しやすいと思います。
ちなみにスタブとモックの違いはこのブログ記事がわかりやすいです。
特におもしろかったのは第4章「テスト駆動のサイクルに火を入れる」のビルド・デプロイ・エンドツーエンドテストの自動化の話。
ユニットテストと受け入れテスト自動化の話は他の書籍でもよく出てきますが、この本では「テスト駆動開発のプロセス」そのものを確立するためにプロジェクト開始時からビルド・デプロイ・エンドツーエンドテストを自動化すべきと主張しています。
開発プロセス全体の視点から自動化のメリットが解説されているのがわかりやすくてよかったです。
ここらへんの話は「継続的デリバリー」により詳しく書いてあると思うので、そちらを読むのも楽しみにしていたいと思います。
実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる (Object Oriented SELECTION)
- 作者: Steve Freeman,Nat Pryce,和智右桂,高木正弘
- 出版社/メーカー: 翔泳社
- 発売日: 2012/09/14
- メディア: 大型本
- 購入: 4人 クリック: 262回
- この商品を含むブログ (29件) を見る
RubyMotionがおもしろそう。
ここ2・3日、RubyMotionに手を出そうかどうかでちょっと迷っています。
おもしろそうなので触ってみたいという好奇心が大きいのですが、自分にとって開発しやすい環境を手に入れられるのではないかという期待もあります。
などといったところが良さそうで、Xcode+Objective-Cに比べてストレスを減らせそう。
1点目に関してはRubyのシンタックスで書けるといってもCocoaTouchの知識は必要なので気分の問題かも。
2点目に関しては自分の使いやすいエディタを使えるのが一番だと思います。選択の自由度はすごく大事。
3点目に関してはテストをRspecライクに書けることに加えてタップやピンチ操作までエミュレートしてくれるので大分テストが書きやすくなりそう。
という感じで良さそうな点を書いてみましたが、結局のところは開発者の好みで選ぶのが良さげ。
普段CUIを使ってWebサービスの開発をしている人にとっては開発環境とスキルセットを活かせる気がします。
Pixateもそうだと思いますけど、Webサービス開発のスキルセットで何かを開発できるツールはまだまだ需要がありそう。
vimのプラグイン管理ツールをvundleからneobundleに移行した。
vimのプラグイン管理ツールをvundleからneobundleに移行した。
最初にvundleで管理していたプラグインとvundle自身を削除する。
% rm -rf .vim/bundle/* % rm -rf .vim/vundle.git
次にneobundleをインストールする。
dotfilesとしてGitHubで管理しているため、git add submoduleで追加した。
% git submodule add https://github.com/Shougo/neobundle.vim .vim/bundle/neobundle.vim
あとは.vimrcに設定を加えて、:NeoBundleInstallすればOK。
% vi .vimrc set nocompatible if has('vim_starting') set runtimepath+=~/.vim/bundle/neobundle.vim/ endif call neobundle#rc(expand('~/.vim/bundle/')) NeoBundleFetch 'Shougo/neobundle.vim' NeoBundle 'Shougo/vimproc', { \ 'build' : { \ 'windows' : 'make -f make_mingw32.mak', \ 'cygwin' : 'make -f make_cygwin.mak', \ 'mac' : 'make -f make_mac.mak', \ 'unix' : 'make -f make_unix.mak', \ }, \ } NeoBundleCheck :NeoBundleInstall
.vimrcの設定はneobundleのGitHubリポジトリを参考にした。
NeoBundleFetchはNeoBundle自身をNeoBundleで管理するための設定で、NeoBundleCheckはvim起動時にプラグインのインストール状態をチェックするための設定。
NeoBundle 'Shougo/vimproc'を設定しておくと、vimprocのコンパイルを自動でやってくれる。
プラグインの追加は.vimrcに
NeoBundle 'hoge' NeoBUndle 'fuga'
のように設定して、:NeoBundleInstallを実行すればOK。
CocoaPodsを使ってObjective-Cのライブラリ管理を自動化する。
CocoaPods
http://cocoapods.org/
Objective-Cのライブラリ管理ツールであるCocoaPodsを試してみた。
MacやiOSアプリ開発に使うライブラリのダウンロードや依存関係チェックなんかを自動化できる。
RubyのBundlerと同じように使えるので慣れている人であれば簡単に使えると思う。
Podfileに必要なライブラリを記述してpod installコマンドを実行するとライブラリがダウンロードされる。
ライブラリは公式で検索できるので使う前に調べておくとよいかもしれない。
インストール
Bundlerを使っていつも通りインストールする。
CocoaPodsのバージョンが確認できれば完了。
% bundle init % vi Gemfile gem 'cocoapods' % bundle install % bundle exec pod setup % bundle exec pod --version 0.23.0
Xcodeプロジェクトの作成
Xcodeからプロジェクトを作成する。
Podfileの作成とライブラリのダウンロード
xcodeprojファイルと同一のディレクトリにPodfileを作成する。
% vi Podfile platform :ios, '6.0' pod 'ASIHTTPRequest', '~> 1.8.1'
これで
% bundle exec pod install
するとライブラリがダウンロードされてxcworkspaceファイルが作成される。
以後はxcprojectファイルではなくxcworkspaceファイルを開いて開発を行う。
ダウンロードしたライブラリは
#import <ASIHTTPRequest.h>
で使えるようになっている。
設定作業が自動化されてすごく快適!!
アプリケーション毎にPodfileを準備してgitで管理しておくと幸せになれる。