その他
    ホーム技術発信DoRubyRailsの開発でscreenを使う理由

    Railsの開発でscreenを使う理由

    この記事はアピリッツの技術ブログ「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使いましょう。

    [screenのはじめ方]

    補足:あとはブラウザとしてw3mとかlynxの操作方法を覚えるぐらいでしょうか(※まだ慣れていない)