オレオレ開発環境メモ

まだまだ結構試行錯誤してるけど、なんとなく固まりつつあるので、ブログにまとめてみる

windows+linux(VituralBox)での開発環境なので、Macの人にはあまり参考にならないかもしれない。

## あじぇんだ

- linux

- tmux

- vim

### 前提

開発はもっぱらlinux

開発環境的には、以下のとおり。

- local環境

- developer環境

- staging環境

- production環境

基本的には、local環境は自分だけなのでいじり倒していいが、developer以上の環境は他人が触ることを考慮しないといけないので、勝手にいじり倒すことはできないのでその辺もちょっと考慮する。(自分独自のvimrcをツッコむと嫌われる)

### linux

環境がLinuxなので、WindowsPCにVituralBoxを使ってLinuxを立ち上げて開発している。

WindowsからローカルのLinuxに繋ぐ際には、teratermを使って、接続。

初めて触ったターミナルソフトがこれで、特にこだわりがあって使ってるわけではないが、後述するマクロが強力で気に入ってる。

PoderosaとかPuttyでも全然いいと思う。

#### 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のログインめんどいので

alias ssh_hogehoge='ssh user@hogehote.net' # よく繋げるSSHのサーバー

##### 簡単なシェル

たまに、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というフォントを見つけたのでそれを使ってる。

プログラミング用フォント Ricty

ただ、Windowsで見るとあまりキレイじゃないので、MacTypeTrayというアプリを入れておくと、すごく見やすくなるので、それも合わせてインストール。

### まとめ

まだまだ改修すると思うが、今ん所こんな感じ。

なんか思い出したら追記する予定。

独り言

markdown記法でブログを書けるplugin突っ込んでみたけど、便利。

Markdown for WordPress and bbPressってのをインストールしてみた。

自宅PCはmacなのでMouってアプリ使って書いてる。