この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
どうも、高瀬です。
書く回数が多い気がしますが、本当の順番は、月曜日である今日で、
今日書くのは業務なので一応書きます
以前、自分のブログでscreenのはじめ方 や screen ショートカットキー一覧というエントリを書いたことがありますが、
今回は、何故Railsの開発にscreenを使っているのかという話を書いてみます。
以前、該当のエントリでは、下記の様に書きました。
1.複数シェルを立ち上げてSSHでも画面切り替えが出来る。
2.ssh等の接続が切れても再度つなぎなおす事が出来る。
3.コピペがSSH越しでもキーボードのみで可能。
使い始めた当初は実際それがきっかけだったんですが、
使い込んでくるとRails開発との親和性が高いことがわかってきます。
今じゃローカルでもscreen使ってますからね。
というわけでローカルでもscreenを使い続ける理由
1.プログラムが並行で動かせる
2.コンソール以外は見なくても済む。
3.alt + tabで切り替える画面数が少なくて済む。
4.作業を中断した所から再開できる。
5.screenのログをとる事で作業履歴が追える。
で、特に1.のプログラムが並行で動かせる事が一番の理由だったりします。
実際にrailsの開発時に立ち上げる物としては以下の様な感じになります。
1. vim(もしくはemacs)でプログラム弄る。
2. ruby scrip/console でプログラム試し
3. autotest(もしくはrake実行) でテスト
4. mysqlやpgsql等DBプログラム でデータ確認
5. topコマンド で負荷確認
6. tail -f でログファイル監視
7. svn とか ls とか findとか通常のシェルで
8. ruby script/server(大体の場合これはデーモンとして動かしてます)
計8個です。
これだけWindows等でプログラムを立ち上げたら
切り替え時にALT + TABするだけでも大変です。
しかもコンソール以外にもブラウザやメーラーやメッセンジャ、IRCクライアントなどあれば混乱の極み(アッー)です。
というわけでscreenのウィンドウ毎に名前をつけて、
番号指定して切り替われば作業が効率化するわけです。
(実は本気出せば意外とvimでも実行できたり
IDE系のツールでもできたりしますが。。。)
consoleでちょこっとPG弄くってpgに反映したり、
autotestでエラー出てないか確認したり
dbを見ようとしてmysqlに切り替えたり
svn のチェックしたりとかが全てキーボードで操作できるのです。
全てキーボード、全てコンソール。
凄く幸せです。
ホームポジションから手が動きません。
マウス要りません。
楽です。
文字だけで、グラフィックのない画面を見てると集中できますし、
シェル主体の開発になることで自然とサーバの操作を覚えられる利点もあります。
その気になればウィンドウ分割もできますし、
というわけであなたも今日からscreen使いましょう。
補足:あとはブラウザとしてw3mとかlynxの操作方法を覚えるぐらいでしょうか(※まだ慣れていない)