programmer

開発環境の構築に便利な秘伝のタレ持ってますか?

綺麗な開発環境(美味しいタレ)

プログラミングを行う前に必要なのが、開発環境構築です。 プログラミングを始めたころは、サイトや書籍に書いてある通りに環境を作っていきますが、 情報が古かったり、メジャーではない方法で構築していくと、どんどんカオスな状態になってしまいます。

例えば、Macだとhomebrew(パッケージ管理)とネイティブの両方で同じDBのライブラリを持っていたり、 Rubyの特定のversionをネイティブにインストールしていて、他のversionを使うおうとするときに、 アンインストールをしないといけない等の開発環境が整っていないと、無駄なエラー等も発生してしまいますし、 できるプログラマの人はすでに環境が整っているので、通常とは違うエラーが発生して聞いてもすぐに解決できない可能性もあります。

整った開発環境にするには、休日等時間が取れるときに一度クリーンインストールして、そのインストールした手順をメモしておきます。 そのメモを保存しておいて、ある程度知識や技術が身についてから、もう一度そのメモを見ながらクリーンインストールしてみます。

そして、何度もやっていき、知識がついてくると、今までのメモにも無駄な部分や改良できる部分ができてきます、 それを繰り返すことで、まるで 秘伝のタレのように自分に合った環境を短時間で整えることができるようになってきます

綺麗な開発環境は、メンテナンスや拡張もしやすくなるのでコードと一緒 ですね。

自分の環境をいつでも使えるように

ちなみに私のMac用の初期構築はこれです。tare.md 参考リンクにtherubyracer gemのエラー対処の記事が多いですが、こんな感じで構築中に躓いたところは参考リンクと一緒に書いておいて、 毎回必ず起こるのであれば、レシピの中に対処法を書いてしまいます。

他にも.vimrc.zshrc等のエディタやターミナルもまとめてdotfilesをGitで管理していて公開している人も多いです。 (ちなみに、私の働いているソニックガーデンの人もdotfiles公開してるかなと’sonicgarden dotfiles'でググってみたら、 maedanaさんのGithubリポジトリmaedana/dotfilesが出てきました。 最初の更新が7年前ですけど、2015/08/16の時点で30日前に更新されているので、タレが継ぎ足されてるみたいですね)

常にタレの美味しさを更新しよう

常に技術のトレンドは変わっていくので、タレも継ぎ足ししていかないといけません 。例えばさっきのMacの初期構築のタレだと、 今まではブラウザ等のソフトは、いちいちサイトに行ってインストールしていたんですが、Homebrew Caskを使うと、 リストに登録されていれば普段.dmgファイルをダウンロードしてインストールしているソフトを一括でインストールしたり、 アンインストールもbrewコマンドのように使えて、安定して動いていたので最近タレに追加しました。 ある程度、タレの美味しさも保つためには安定して使えるかの検証もしてから、追加するといいです。

タレ作りは初めてのサーバー構築等でも効果アリ!

自分の環境だけでなくサーバー構築の際にもタレは使えます。 例えば、Linuxのサーバー構築とかraspberry pi等の構築が毎回必要なものも、構築していきながら毎回打ち込んだコマンドを記録しておいて、 進めていきます。

もし結局使わなかったライブラリや間違えていた設定等は、後で打ち込んだコマンド一覧から消しておけば、スッキリしたタレが出来上がり、 他の人にサーバー構築をしてもらうときにも役に立ちます。

履歴は必要だけど

もう、すでにサーバー構築等はドキュメントという形で保管されているかもしれませんが、もしかしたらコメントで ◯月☓日△△ 更新みたいに、 継ぎ足ししすぎて、よくわからない味のタレになっていませんか?

履歴は大事ですが、可能であれば Gitやgoogle document(デフォルトで履歴管理機能がある)でドキュメントを管理しておくと、 スッキリしてくる と思います(誰がどこを編集したかの情報や、最後にいつ使われたのかの情報も残っていると鮮度もわかってなお良いです)。

タレはごちゃごちゃせずに、必要なコマンドだけが読める状態になっているのが望ましいです。

もしかしたら将来は

今は技術も進歩してきて、開発環境をブラウザで構築(Cloud9とかNitrous)できてしまったり、 サーバー構築もDocker技術などで簡単に構築できてしまうので、将来は必要なくなってくるかもしれませんが、 自分のお気に入りの環境というのも、 熟練プログラマには必要なのかなと思います