月曜日までに考えておきます

ITネタとゲームネタ中心に興味のあること色々書きます。

WEB+DB PRESS PLUS 開発ツール徹底攻略を読んだので感想

最近のモダンな開発ツールについてまとめられたWEB†DB PRESSの開発ツール徹底攻略を読んでみました。

開発ツール徹底攻略 (WEB+DB PRESS plus)

開発ツール徹底攻略 (WEB+DB PRESS plus)

以下のツールについてまとめられています。

Vim,Emacs,Linuxはモダンと言うよりは、最近はやりの言語が統合開発環境で作るよりもこういうエディタ+pluginで作ったほうが効率的になっているからふたたび価値が高まっているような感じですね。自分も開発を始めたのがエクリプス全盛期だったので、Ruby書くのにもエクリプス使ってたのですが、Vimに乗り換えてその価値はあったと感じています。というか、最近はあらゆることをVimキーバインドで編集したくなっています。

というわけでJava以外の言語触るのにエクリプス使っている人は頑張ってVimEmacsに乗り換えたほうがいいんじゃないでしょうか。

で、本書の感想とか、良かったところとか。

全体

これだけの開発ツールを取り扱っているので、どうしても内容は「広く浅く」になってしまっています。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)

まじかよ!( ゚д゚ )

会社では使えないので、自分プロジェクトで試してみようと思いました。

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と組み合わせるといろいろ捗るってことがわかって良かったです。ログ解析とかするときにこういうコマンドがすらすら出てくるかが作業効率に響いてくると思うのでがんばります。