オレオレ開発環境メモ
まだまだ結構試行錯誤してるけど、なんとなく固まりつつあるので、ブログにまとめてみる
windows+linux(VituralBox)での開発環境なので、Macの人にはあまり参考にならないかもしれない。
## あじぇんだ
- linux
- tmux
- vim
### 前提
開発はもっぱらlinux。
開発環境的には、以下のとおり。
- local環境
- developer環境
- staging環境
- production環境
基本的には、local環境は自分だけなのでいじり倒していいが、developer以上の環境は他人が触ることを考慮しないといけないので、勝手にいじり倒すことはできないのでその辺もちょっと考慮する。(自分独自のvimrcをツッコむと嫌われる)
### linux
環境がLinuxなので、WindowsPCにVituralBoxを使ってLinuxを立ち上げて開発している。
WindowsからローカルのLinuxに繋ぐ際には、teratermを使って、接続。
初めて触ったターミナルソフトがこれで、特にこだわりがあって使ってるわけではないが、後述するマクロが強力で気に入ってる。
#### bashrcについて(localのみ)
bashrcにいろいろ入れることでカスタマイズ。
※zsh入れてみたけど、慣れずによくわからんかったので、結局bashに戻した。
vi ~/.bashrc
alias la='ls -lAhF --color=auto'
alias ll='ls -lhF --color=auto'
alias ls='ls -hF --color=auto'
alias work='cd ~/work/hogehoge' # よく使う作業フォルダへの移動
alias mysql_local='mysql -uroot -ppassword test' # mysqlのログインめんどいので
##### 簡単なシェル
たまに、developer環境にちょっとだけソースをあげて確認したいときがあったりする。
そのためにコミットしてデプロイするのはちょっと手間なので、scpを使ってアップするのも手だと思う。
以下のようなシェルを作っておく。
適当なファイル名で保存して、PATHを通したフォルダにおいておくと、ターミナルで叩けば使えるようになる。
こういう小さいプログラムもあると便利なので手間をかけても作るべき。
#### tetaterm
ターミナルソフトですが、マクロがすごい便利
以下のようなマクロを作って、*.ttlで保存するとOK。
個人的に使ってるWindows用のランチャー(bluewind)にttlで保存した突っ込んで呼び出すと、すぐにdeveloper環境等に繋がる。
; sshでログイン
username = 'user'
hostname = 'user@hogehoge'
msg = hostname
strconcat msg ':22 /ssh /auth=pageant /user='
strconcat msg username
connect msg
; シェル実行
remote_prompt = '$'
wait remote_prompt
sendln "source ~/hogehoge/.bashrc"
;tmuxを使ってるなら、以下の設定のほうがいいかも
;sendln "tmux -L session_name -u a"
開発環境によっては、プロンプトが気に入らなかったりするので、自分独自に設定したbashrcを用意して、ログインしたらそいつを呼び出しておくと自分が使うaliasも一緒に入るので便利。
### tmux
tmux.confの設定
自分がtmuxを使うメリット
- タブのように1つのセッションで複数の画面を管理できること。
- 一度セッションが切れても、再度繋ぎ直すことで続きの作業ができること
複数の画面の構成を作れるが、[prefix + ,]で画面名に名前をつけれるので、tailとかDBとか適切な名前で突っ込んでおく。
* ひたすらlogを流してる
* DBに繋いでゴニョゴニョ
* ソースコード読む
* よく参照するディレクトリにいて作業する
* その他、作業する系
またローカルだけでなく、staging環境等に繋げる際にも使うが、その場合にtmux.confファイルをいじって、ステータスバーの色を変えることができるので、local環境との差別化を図ることで、誤動作を防ぐようにしたりもしている。(誤って、本番DBにinsertやらupdateやら投げないように)
自分でカスタマイズした設定ファイルをどこかのフォルダにおいておくと、そこから呼び出すことが可能。
tmux -L session_name -f ~/hogehoge/.tmux.conf
サーバー上のカレントディレクトリのフォルダにおいておくと、全部の設定が変わってしまうので、自分用のフォルダにおいておこう。
### vim
なんとなくvim使ってるけど、vimのキーバインドであれば正直なんでもいいので、sublimetext2やphpStormをvimのバインドにして使ったりするのでもいいと思う。
以前、qittaで紹介されてたvimをタブ化するってやつは試してみたけど、tmuxの画面分割と被ってよくわからんことになったので、個人的には使っていない。
vimのすごい便利なのにあまり使われていない「タブページ」機能
### その他
#### フォント
標準のフォントがあまり好きでなかったので、何かないかと探していたが、rictyというフォントを見つけたのでそれを使ってる。
ただ、Windowsで見るとあまりキレイじゃないので、MacTypeTrayというアプリを入れておくと、すごく見やすくなるので、それも合わせてインストール。
### まとめ
まだまだ改修すると思うが、今ん所こんな感じ。
なんか思い出したら追記する予定。