oh-my-zshの導入とか、zshとvimの環境をナウでヤングでシンプルな感じにした
エンジニアだった自分も含めて専門職がよくやらかすのが、俺流をこじらせてカスタマイズし過ぎて、個人のパフォーマンスは上がったけど、作業ミスのリスクが高くなってるとか、独自すぎる俺流に慣れ過ぎて、パフォーマンスの高い新しい標準的技術についていけなくて、逆にその時点からのパフォーマンスが下がるとか。
リスクについては例えばこういうケース。
担当者が長年マニュアル無視、上長も容認──ファーストサーバ障害、調査報告書を公開 - ITmedia
同社のシステムメンテナンスは通常、社内マニュアルに沿って行われるが、不具合を起こした担当者だけは約10年前からマニュアルを無視し、自ら作成した更新プログラムを利用するなど独自方式でメンテナンスを行ない、上長もそれを容認していたという。
この担当者が6月20日午後5時ごろ、メールシステムの障害対策のため、以前作成した更新プログラムを改変し、更新プログラムを作成した。その際、過去に書いていた「対象外サーバ群のファイル削除」コマンドを消し忘れたという。複数人にレビューされていないコードとかでクリティカルな業務をやるのはよくない。自分はもう仕事でコード書くことがなくなったので、今ではあまり重要でないけど、.zshrcや.vimrcなどにもできるだけ独自のコードを書くことなく、一般的なプラグインに依存するようにしています。
多くの人にレビューされた標準的な仕組みでシンプルな形にした方が作業ミスのリスクを圧倒的に減らせるのと、他人から教えてもらったり、逆に教えたりもしやすくていい。
現在のzshとvimの環境
- Homebrewでパッケージ管理
- dotfilesをGitHubで管理
- NeoBundleでvimプラグインを管理
- oh-my-zshでzshプラグインを管理
また、.zshrcと.vimrcはGitHubのパブリックリポジトリに置いてありますので、興味があればご参考頂ければ。新しいのを試しながら覚えたりしていて、よくわかってないまま変な設定が入ってることがありますので気をつけてください。
akihisa-higuchi / .dotfiles | GitHub
https://github.com/akihisa-higuchi/.dotfiles
最近変えた点としては、以下のとおり
- 以前専門書からパクった独自過ぎるコードをなくした
- NeoBundleLazyで一部遅延ロードするように
- oh-my-zshを導入した
robbyrussell/oh-my-zsh | GitHub
https://github.com/robbyrussell/oh-my-zsh
導入方法は上記アドレスのページでも公開されてますが、一応ここでも書いときます。
- GitHubからリポジトリをclone
- $ git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
- 現在の.zshrcを念のためバックアップ
- $ cp ~/.zshrc ~/.zshrc.orig
- oh-my-zsh用の.zshrcをテンプレートからコピー
- $ cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
oh-my-zshでのプラグイン導入は、.zshrcの「plugins=()」に対象プラグイン名を追記することで行えます。また、自分の場合は、.zshrcの「Customize to your needs...」以下に下記のコードを追加しました。
- export LANG=ja_JP.UTF-8