最近のモダンな開発ツールについてまとめられたWEB†DB PRESSの開発ツール徹底攻略を読んでみました。
- 作者: Junio C Hamano,大塚弘記,川口耕介,kana,大竹智也(tomoya),尾藤正人,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2013/04/10
- メディア: 大型本
- クリック: 1回
- この商品を含むブログ (3件) を見る
以下のツールについてまとめられています。
Vim,Emacs,Linuxはモダンと言うよりは、最近はやりの言語が統合開発環境で作るよりもこういうエディタ+pluginで作ったほうが効率的になっているからふたたび価値が高まっているような感じですね。自分も開発を始めたのがエクリプス全盛期だったので、Ruby書くのにもエクリプス使ってたのですが、Vimに乗り換えてその価値はあったと感じています。というか、最近はあらゆることをVimのキーバインドで編集したくなっています。
というわけでJava以外の言語触るのにエクリプス使っている人は頑張ってVimかEmacsに乗り換えたほうがいいんじゃないでしょうか。
で、本書の感想とか、良かったところとか。
全体
これだけの開発ツールを取り扱っているので、どうしても内容は「広く浅く」になってしまっています。gitやVim,Emacsについては、それ用の専門書がたくさん出ているのでそれを比べると内容は深くないですが、入門用に読むというのはいいと思います。
一冊でこれだけの内容をカバーしている本なので、新入社員や若手が読むとか、会社でエクリプス+SubversionやVSSが強いられているけど最新の技術にキャッチアップするために読みたい、とかいう用途で読むと凄いお得な本だと思います。
また、Jenkinsについては私の知ってる限りだと日本語の専門書は2冊、かな?GitHubに至っては本がないので、これらの情報を書籍として扱っている本としては貴重だと思います。なのでこの分野についての情報がほしい人には良いと思います。
git編
この前git本再読したところなのでほとんど新発見はなかったですよ―、と見せかけて、
- git add -A
- git add -p
を覚えたりした。 特にgit add -p
やばいでしょ、便利すぎでしょ。なにこれ。 これを知らずに30年以上生きてきた自分が情弱過ぎてつらい。30年前だとgitまだねえけど。
GitHub編
みんな大好きOctocat。 意外と使いこなしてたみたいで新発見それほどなかった!やはり業務で利用しているというのはでかい。
書籍の内容としてはほとんどのメニューについてカバーされて書いているので、gitの保存先としてしか使ってないとか、アカウント取ったものの使い方よくわからないって人には非常に良い内容が書かれていると思います。
面白かった内容として、以下のが挙げられます。
- 開発の途中で論議するための Pull Request(p.71)
途中の状態でコミットして、みんなから意見をもらいながらコミットを重ねていってブランチを育てていって、最後にマージする、というやり方。この発想はなかったので目からうろこでしたね。pull req,つまりコードレビューはどうしてもゲート的な審査っぽい感じになって、よりよいコードを作るための場なんだ、と思ってても自分の中でそのイメージを払拭できていないことに気付かされました。このやり方は本当にコードをみんなで育てていく感じでいいですね。技術的課題の大きい箇所の修正で活用できそうに思えました。
- pull reqのブランチをマージして、pushしたらpull reqが閉じられる(p.76)
まじかよ!( ゚д゚ )
- Travis CI と Coder wall
会社では使えないので、自分プロジェクトで試してみようと思いました。
Jenkins編
会社ですでに構築済みのを使わせてもらってて、割と直感的に使えて良いツールです。 で、今後使えそうなだな、と思ったのが
- fork/join
- サブルーチン
です。 今、処理の重いテストを幾つかに分割して実行、みたいなのを個別にジョブ作って実行してやってるのですが、これらの機能を使えばもっと楽に実現できそうな気がしました。
- Sauce OnDemand
Jenkinsとは関係なく、Seleniumテストを走らせてくれるクラウドサービスらしいです。同僚が以前、話していたような。 2週間ほど前、Seleniumでつらい思いをしたのでこういうのも調べてみるといいのかな、と思いました。
Vim編
初心者によくある間違いは次のような意識で操作を行うことです。
テキスト入力を行うためにiでインサートモードに「移行」し、
でノーマルモードに「移行」する(p.131)
す、すみません(;´Д`)
- vimrcのリロードと落とし穴(p140-141)
リロード自体知らなくて再立ち上げしてました。リロードできると便利そうですな。
- 意識すべきこと、に関する記述(p.154)
- 不便だと感じる点や繰り返し行なっている定型操作がないかどうか意識すること
- そのような点に気づいたらすぐにメモを取ること。メモを取らなければ必ず忘れてしまう
- 時間ができたときにメモを見返してカスタマイズを行うこと
- カスタマイズの結果や過程は公開すること
Vimに限らず、あらゆることに当てはまるなぁと思いました。例えばRubyのGemとかもこういうところから便利なものが作れそうな気がします。とりあえずいろいろ使ってて不便だな、と感じたら付箋紙にメモしていくように心がけます。
Emacs編
Vimmerなので読んでませんすみません。
Linux編
Linux、超情弱なので、
- tail head(p.154)
すら使ってませんでしたよ・・・。テキスト読むときcatとviとlessしかつかってませんでしたorx
- パイプ、リダイレクト
これもよくわかってなかったのでgrepと組み合わせるといろいろ捗るってことがわかって良かったです。ログ解析とかするときにこういうコマンドがすらすら出てくるかが作業効率に響いてくると思うのでがんばります。