バックエンドエンジニアの開発に欠かせないツール for Mac OS
こんにちは、ムックです。
ソニックムーブ Advent Calendar 2014 4日目の記事になります。
今回はバックエンドの開発には欠かせないツールや設定ファイル、コマンドなどのTipsを上げてみたいと思います。
サーバ接続編
iTerm2
非常に使いやすいターミナルソフトです。
カラーやscrollback lines以外はほぼデフォルトで使ってます。
よく使うショートカットは以下です。
command(⌘)+t : 新しいタブ作成
command(⌘)+[0-9] : 数字のタブに移動
複数タブ開いてcommand(⌘)+{数字}で移動という感じでターミナル切替しています。
.ssh/configファイル
/Users/{ユーザ名}の直下にある.sshの下のconfigファイル、sshの接続設定を行うファイルになります。
1 2 3 4 5 6 7 8 |
[sourcecode lang="text"] --- Host server1 // 接続名 HostName 172.0.0.1 // ホスト名 User mukku // ユーザ名 IdentityFile ~/.ssh/mukku_rsa // 秘密鍵 --- [/sourcecode] |
を設定すると、
% ssh server1
のように上記で設定した接続名で接続できます。
1 2 3 4 5 6 |
[sourcecode lang="text"] --- Host * ServerAliveInterval 60 --- [/sourcecode] |
とHostにはワイルドカードが設定出来ます。
上記の設定だとすべてのホストにServerAliveIntervalを設定できます。
1 2 3 4 5 6 7 |
[sourcecode lang="text"] --- Host server_* User mukku // ユーザ名 IdentityFile ~/.ssh/mukku_rsa // 秘密鍵 --- [/sourcecode] |
のように設定すれば、server_1,server_appなどのホストに対して、共通設定を適用できます。
便利ですね。
ドットファイル管理
ドットファイル(隠しファイル)は、.bashrcや.vimrcのような設定ファイルとして利用されています。
複数のPCやサーバで利用したい時があるかと思います。
そんな時、ドットファイルをgitで管理すると簡単に置き換えることが出来ます。
1 2 3 4 |
[sourcecode lang="text"] git clone https://github.com/mukku0627/dotfiles.git rsync -a --exclude .git dotfiles/.* ~ [/sourcecode] |
以下のようなスクリプトを作ってシンボリックリンクと置き換えれば、pullするだけで最新のドットファイルを利用できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
[sourcecode lang="bash"] #!/bin/sh # .git以外のdotfileをホームにシンボリックリンクとして作成 cd ~/ DOTDIR='./dotfiles' DOTFILES=(`find ./dotfiles/ -type d -name ".git" -prune -o -type f -name '.*' -print| sed 's/.*\///'`) for DOTFILE in ${DOTFILES[@]} do if [ -f ${DOTFILE} ]; then echo ${DOTFILE} mv ${DOTFILE} ${DOTFILE}.old fi ln -s ${DOTDIR}/${DOTFILE} ${HOME}/${DOTFILE} done [/sourcecode] |
csshX
複数のホストに対して、一括操作が出来るツールになります。
brewで簡単にインストール出来ます。
1 2 3 |
[sourcecode lang="text"] brew install csshx [/sourcecode] |
使い方はとてもシンプル
csshX [--login username] [--config filename] _[user@host1[:port] [[user@]host2[:port]] .. ]
予めホスト名を列挙したファイルを作っておいて、–host指定すると一括で接続できます。
1 2 3 4 5 6 7 8 9 10 11 |
[sourcecode lang="text"] % vi test_server --- server1 server2 server3 --- % csshX --host test_server [/sourcecode] |
説明だけだと地味な感じですが、実はすごく重宝します。
例えば、複数ホストのtailを一括見たい場合など。
表示はこんな感じ、5つターミナルを開いた様子。
開くターミナル数に応じて自動的にウインドウをリサイズしてくれます。
SQL接続編
Sequel Pro
SSHトンネリングでサーバ上のmysqlサーバに接続出来ます。
command + t
command + n
で新しいタブや新しいウインドを量産できるので便利です。
よく使う機能がこれ
右クリックメニューです。
指定行をSQL文としてコピー出来たり地味嬉しい機能があります。
メモ・情報蓄積編
Evernote
有名すぎて語ることありません。
自分は日報、作業ログはEvernoteに入れてます。
kobito
QiitaのIncrements社が提供しているメモ、コードスニペット記録用のアプリです。
非常に見やすく、マークダウンっぽく記述できます。
また、1ボタンでqiitaにアップロード出来るのですが、どうしても社内情報が入ってしまって、なかなかアップできないでいます。
運用系の情報やコードスニペットはkobitoにまとめています。
ログ=Evernote
リファレンス=kobito
な感じで住み分けています。
最後に
今回は、開発で利用しているということにしぼって一部のツールを紹介しました。
また、プロジェクト効率化だとRedmineのプラグインやslack,skypeなどのチャットツールなどいろいろ利用しているツールはありますが、今日はこれくらいで。