鳩舎

レースしない

Rackhub で始めるペアプログラミング

こんにちは、20時から予定がありました。遅刻しそうです。

さて、ということでさっくり話をすると、「ペアプロってやったことないな」ってところからスタートです。

ペアプロするのって難しい

難しいんです。何が難しいって、相手が居ない。居ないんですよ相手が。家庭内ペアプロとかやってる夫婦を1組知ってますが、そんなん普通ねーよ。アホか。

そして会社でペアプロするのは違うんです。違う、そうじゃない。会社でペアプロするのはいい。いいんだ。でも俺は趣味のコードとかを友達ときゃっきゃうふふしながら書きたい。

だからペアプロするのは難しい。勉強会にいって「どうもーはじめましてロージーですー」と自己紹介してその直後に「ということでペアプロしませんか?」とでも聞いたらその場で Twitter に勉強会にホモがいるとか言われて ID 晒されて大炎上ですよ。リスキーすぎる。

ということで簡単に、とりあえず俺は友達とペアプロしたいんだ!って人向けです。

キーボードを共有する

今記事を読んでらっしゃるあなたは JIS 派ですか? US 派ですか? JIS とか US とか何?派の人ですか?

US 派の人に聞きたいんですけど、人のキーボード触るのって苦痛じゃないですか?

HHK ユーザーの方、今更糞でかいフルキーボードでコード書くとか想像できますか?小指攣りませんか?

ということで僕は全面的にコードを書くときは自分のキーボード以外でやるのは生産性がさがるだけで無駄だと思っています。無駄やろどう考えても。

どうせペアプロするんです、思い切って贅沢して、お互いの物理マシン上ではなく、どこかの環境でやりましょう。

「雲の上の localhost

ということでやっと Rackhub の話です。え? Rackhub を知らない?ここでいますぐアカウント作って Rack 一台契約してきてください。あなたが毎週のように買うジャンプと値段は大差ないから。

ということで抑えた Rack にまずはコントリビュータで友人を招待します。方法は割愛。 Web の管理画面からさっくりやれます。

そしたらふたりとも自分のマシンから Rack に SSH ログインしましょう。

$ ssh rackhuber@example.rackbox.net -p 50030 -A

ログインしたらまずはどちらかが tmux を起動します。

$ tmux

起動できたらもう片方はアタッチします。

$ tmux a

これでターミナルが共有出来ました。チョロイ!!

これ、他の VPS なんかでやろうとすると結構たいへんなんです。なんせユーザーがまずもって違うから。

その点 Rackhub だと rackhuber という同一のユーザーとしてログインできるので、 tmux のセッションも簡単に共有出来ます。

また、 screen じゃなくて tmux なのには理由があります。もちろん screen でも同じようなことが出来るのですが、

  • tmux はウィンドウの移動も同期される
  • screen みたいに最初に設定ファイルを頑張って書いたりしなくていい

というような利点があります。もちろん「むしろスクリーン移動は同期したくない!」という方はそちらのほうがいいです。

あとはコード書きまくるだけ

Rackhub は最初から RVM やら NVM やらの便利ユーティリティが入ってる上、大体の設定は済んでますから、あまり頑張らなくてもいきなりリッチな開発環境でやっていけます。足りない時は適宜追加しましょう。

コミュニケーションは Skype をつないで音声コミュニケーションを取るといいです。

これで遠隔地で離れていても手軽にペアプロ出来るようになりましたね。

ということで Happy Pair Programming!

この記事を作るにあたって、初期の頃にコントリビュータとして検証を手伝ってくれた @xga もありがとう!