P2Pで遠隔ペアプログラミングが可能なEclipseプラグイン 48
ストーリー by yoosee
わたしゃあなたのそばがいい 部門より
わたしゃあなたのそばがいい 部門より
Anonymous Coward 曰く、 "P2Pフレームワークである
SOBAフレームワークを利用することで、P2Pによる
遠隔ペアプログラミングが可能なEclipseプラグイン「
Sobalipse 0.8.1」がリリースされました。
特徴としては
・複数のユーザーが、一つのファイルに対しリアルタイムに書き込むことが可能
・P2Pなのでサーバー不要
(同一LAN内ならば個々のマシンにインストールするだけで使用可能)
などがあります。"
うっかり試してみた例 (スコア:3, おもしろおかしい)
Re:うっかり試してみた例 (スコア:0)
Re:うっかり試してみた例 (スコア:0)
Re:うっかり試してみた例 (スコア:1, おもしろおかしい)
哲学者曰く、「Spaghetti を食うには fork が2本いるのですよー」
# いきなりオフとぴ
Re:うっかり試してみた例 (スコア:0)
Re:うっかり試してみた例 (スコア:0)
セットで使わねば (スコア:3, すばらしい洞察)
同時にソースコードをいじれることはあまり重要ではないと思っています。
(ペアプロだって同時に2人でキーボ-ド使ったりしません)
よって、まずは常時会話可能な環境を作った上でこのプラグイン
という感じですかね。
どうせなら、ネット上の仮想社屋に出勤して、そこで同僚とペアプロ
するような環境ができないかなぁ。ゲームっぽくて面白いと思うんだけど・・・。
--- (´-`)。oO(平和な日常は私を鈍くする) ---
読みましょう (スコア:2, 参考になる)
Eclipseに持たせるためのプラグインです。
その使用目的は主に以下の通りになります。
-P2Pによるチャット
-P2Pによるペアプログラミング
-P2Pによるアプリケーションの共有(共同作業)
-P2Pによるファイル転送
Re:読みましょう (スコア:1)
読んだつもりがチャットの部分を見落としてました・・・。
ということですので、このプラグインだけでOKです!
(でも音声でのコミュニケーションの方が良いと思う私)
--- (´-`)。oO(平和な日常は私を鈍くする) ---
Re:セットで使わねば (スコア:2, 興味深い)
実はペアプロは多少後付けです(笑)。
本当は、今の職場の開発現場で、もっとコードレビューを行う習慣をつけて、
みんなのコーディングのモラルを向上させたいと思ったのと、
超絶的なプログラマのプログラミングを観察したいという思いから、
このプラグインを作り始めました。
自由度が高いプラグイン(使っていることすら意識させないことも可能)
として作ったので、いろんな使い方ができれば良いなぁと思っています。
ネット上の仮想社屋って面白いですね。でも、労力かかりそう。
個人プロジェクトでやるのは難しいかな。しょぼーん
Re:セットで使わねば (スコア:2, 興味深い)
当初、我々はこの機能のことを「リアルタイムコードレビュー」
と読んでいましたが、独特の呼び方なので、私が「もっと一般的
な呼称の方がわかりやすいのではないか」と主張したので「ペア
プログラミング機能」と呼ぶことにした、という経緯があります。
このSobalipseですが、ペアプログラミングの他にコードの教育
実習に使えるのでは、と思っています。
(先生がセッションを作成して生徒たちに入室させ、そこで先生
の手本となるコードを見ながら、ところどころわざと空けてある
コードを埋めさせるとか。)
Re:セットで使わねば (スコア:0)
最近はこれで即席会議も多い。
メッセンジャーとこれを組み合わせれば、
いつでもどこでもペアプログラミング
ができるかも?
ツールを作ることが目的化している (スコア:0)
元コメントにもあるいつでも会話できることと、相手がやっていることが 見えることがペアプログラミ
Re:ツールを作ることが目的化している (スコア:1, おもしろおかしい)
Re:ツールを作ることが目的化している (スコア:1)
ソフトウェア開発という仕事は、技術の入れ替わりが激しく、歴史も浅いということもあり、まだまだ未成熟な分野で、人間活動的な部分が多分に含まれると思います。また、チーム力や開発体制、技術の技術者への浸透具合も、現場によってばらばらだったりします。
そんな中で、まずは、束縛が弱く、敷居の低いチーム開発をサポートするツールがあれば、有用なのではないかと思いました。
Re:ツールを作ることが目的化している (スコア:1)
他の所でのコメントでのご発言を見ると、このツールはXPとは むしろ対極にある方法論におけるチームコードレビューのためのツールのようです。 そういうツールの重要性はあると思いますし、それを作成し、公開されたことには敬意を払いたいのですが、 それとは関係ない、「ペアプログラミング」をうけのいい言葉として、 元の言葉とは別の意味で、宣伝文句だけに利用された ことはいかがなものかと思っています。
Re:ツールを作ることが目的化している (スコア:0)
マルチユーザープログラミングならいいんでしょうか?こっちのが凄そうですが(笑
名称が似てて紛らわしいならマルチユーザーリアルタイムコードエディット&レビュー?
宣伝文句だけに利用されたって、、、XP提唱者ご本人ですか?
使用例 (スコア:3, おもしろおかしい)
告知:
クリスマスクリスマスと下界は騒いでいるようです。しかし、私たち
GEEKには、そんな騒ぎなんか関係ありません。鼻で笑って過ごそう
じゃありませんか。
そこで、本日 22:00 から大プログラミング大会を開催いたします。
皆様お誘いあわせの上ご参加ください。
場所
soba://192.168.1.1:12543
時
本日(12/24) 22:00より6時間ほど
対象コード
Slashcode
参加費用
ご自身の時間のみ
用意するもの
Eclipse & Sobalipseプラグイン
なお、当日混雑いたしました場合は、セクション毎に作業を分割する
場合もございます。
詳しくは
http://192.168.1.1:8080
をご覧ください
―――――――――――――――――――――――――――――――
まだ見てないのですが、Sobalipseは3人以上も出来る構造になっているのでしょうか?
# 言う必要はないと思いますけど、一応。
# ネタですよ。ネタ。本当にやるわけじゃないので…。
Re:使用例 (スコア:3, 参考になる)
>まだ見てないのですが、Sobalipseは3人以上も出来る構造になっているのでしょうか?
ええ、何人でもいけますよ、理論上は。
ちゃんとした耐久テストをしたわけではないのではっきり何人が
限界、とはいえませんが、カーソルの色の種類は8色までなので同一
ファイルに8人以上いると見分けがつかなくなるかもしれませんね。
Re:使用例 (スコア:1)
では、碁盤の解説みたいに、「これはこっちのほうが」
「いやこっちのほうが」とかって、同時並行的にソースを…
ってところまでは出来ないです…よね^^;;
俄然興味が出てきました。解説、ありがとうございます。
Re:使用例 (スコア:0)
対戦機能があったら面白いかも、と思いました。
書いたコード行に対して観戦者が倍率(又は「○行相当のポイント」)掛けてって、書いたコード量を競うのです。
観戦者も自分の得意分野だったら、乱入してポイントごっそりもっていったり
「ここで伝家の宝刀インターフェイスの抽出が出たー
Re:使用例 (スコア:0)
ストリートでプロジェクトを集めてバザールを開きましょう。
バザールに訪れた人は開発者とおしゃべりしたり、一緒に作ったり、競ったりするでしょう。
そして、経験、技術、知的好奇心の充足などを持って帰るでしょう。
開発者は自動販売機に缶を入れ、「改善点をお書き下さい」と書いた葉書をぶら下げる仕事から
相手の顔が見え、自分の仕事を見てもらえ、改善してもらえる可能性がある環境に変わります。
仕事が終わったらお隣さんを覗いたり、気分転換に手伝ったりするかも知れません。
有名な「店」にはやはり人がひしめくの
Re:使用例 (スコア:1)
何が起こるんだろうか。。。
実はSobalipseは、リリース直前まで、ファイルごとに編集権が常に一人に定められていたんですよ。ペアプログラミングを行うのもリアルタイムレビューを行うのもほとんどのケースはそれで十分なのは明らかだったので。
でも、ある日突然、もう少し新しい可能性を追いたい気分になって、同時編集機能を休日に引きこもって追加してしまいました。機能を追加しすぎておかしくなったソフトウェアはたくさんあるけれど、これは、開発者の夢が込められているということで許してください。
利点は? (スコア:1)
開発に専念してるプログラマーが各自で自分のパソコンのセキュリティーに注意するよりも管理者一人置いて対処するほうが現実的だと思います。そして、その場合P2Pを使わずに普通に一元管理するほうがいいと思えるのですが利点はどこにあるのでしょうか?
Re:利点は? (スコア:4, 参考になる)
社内で使う分には、P2Pだからといって、とくにセキュリティで問題になることはないと思います。社内外を結ぶ場合は、ファイアーウォール越え行うためのサーバーを立てる必要があり、P2Pではなくなります。(おっしゃる通り個人でセキュリティ管理をするのは無理があります。)
僕としては、サーバー管理が必要なく開発グループが気軽に導入できるものを意識して、このプラグインを作りました。サーバーで使われているソフトウェアの設定を少し変えるたびに、いちいち会議をしたりとか、使い方を皆に周知させるとかは面倒だと思いましたので。
Re:利点は? (スコア:0)
それならけっこう使える気がするのですが。
Re:利点は? (スコア:1)
残念ながらSobalipse自体に履歴を取る機能は現在のところ
ありません。
Eclipse自体にローカルファイルの保存履歴から比較してロール
バックする機能がありますので、それを利用する、といった手段
はあります。
どうやらCVSの代替物として見ている方がおられるようですが、
そうではなく、我々はこれをCVSを補完するものとして捉えています。
つまり、Sobalipseで書かれた共有コードを、最終的にリーダーがCVS
にコミットする、といったイメージです。
履歴機能はCVSやSubversionに任せればよい、と考えています。
Re:利点は? (スコア:0)
エディターのundoであっても?
Re:利点は? (スコア:0)
>バックする機能がありますので、それを利用する、といった手段
>はあります。
まさに知りたいのはここでして。
ローカルの保存履歴が双方で同じになるのかならないのか、ということ
なんです。これがならない場合は長時間のペア
Re:利点は? (スコア:1)
ただ、自分のローカル履歴を相手に送って、それを相手側で比較できたり(場合によっては強制的に合わせたり、もしくはマージしたり)すると便利かなぁとはぼんやりと考えたことはあります。考えてみますね。(良い仕様とかアイデアとか思いつきましたら、またぜひ教えてください。)
Re:利点は? (スコア:0)
ものすごい勘違いしてますね(^^;
同じファイルを直接編集するんですよね(^^;
だったら履歴も同じになりますよね(^^;
そうか、CVS と勘違いしてないつもりでしたが、思いっきり勘違い
してたようです。お恥ずかしい。
Re:利点は? (スコア:2, 興味深い)
例えば、2ちゃんねる閉鎖危機 [2ch.net]のread.cgiにg_zipを組み込んだ作業に当てはめると、
・サーバを立てる必要なく、Eclipseひとつで開発に参加できる
・リアルタイムで多数の開発者が参加できるので、バージョン管理自体が不要
など享受できるメリットが大いにあると思います。
azitt is not an agitator ;-)
Re:利点は? (スコア:2, すばらしい洞察)
みんなでエイヤッとやって、5分くらいで出来ちゃうようなプログラムならそうかも知れませんが、
もっと規模の大きなプログラムでもほんとに不要ですかね。
仮に「Aさんが書き直したところバグバグだから、いったん戻そうぜ」とか、
「Bさんがいじったら動かなくなった、一体何をやったんだ!」となった場合、どうやって戻すんでしょう。
同時に他の部分も修正されているはずだから、単に時間だけ巻き戻せばいいってもんでもないような。
"AさんがX時からY時までに修正した部分"というdiffがとれればいいんだけど。
Re:利点は? (スコア:0)
それ楽しそー。そうゆう開発やってみたい。
Re:利点は? (スコア:0)
クローズド(このことばが適切かどうかはわかりませんが)なら、ご指摘ように、P2P ではデメリットの方が多いでしょうね。
Re:利点は? (スコア:0)
...何故?
オープンソースならばセキュリティ周りの問題が無いなんて主張ははじめて見た。
Re:利点は? (スコア:1)
-- 雪のない富士山もきれいだな
screen ? (スコア:1)
そうなると、サーバを立てて編集セッションを保存できたりすると
便利だなぁと思いました。
Wiki的な、 (スコア:1)
手軽に共有できる文書空間として。
Re:Wiki的な、 (スコア:0)
>手軽に共有できる文書空間として。
の部分に共感します。
コードの断片なんかをその場で共有できるのが
チャットを超えている気がします。
遊び用? (スコア:0)
むしろP2Pでない方が管理上好ましいのかも
Re:遊び用? (スコア:0)
Re:遊び用? (スコア:0)
Re:遊び用? (スコア:0)
同僚とソース眺めながらあーだこーだやる事があるので
これがあると、IMと併用すればわざわざ遠い同僚のデスクまでいかなくてもよさそうだなぁ なんて思ってみたり。
IMにコピペして送るとウザいしね
ペアプログラミングではない (スコア:0)
コード書く「ドライバー」と呼ばれる人と
ドライバーに対して質問や指摘などを行う
「パートナー」もしくは「オブザーバー」と呼ばれる人の
コンビネーションで行います。
パートナーはコードを書かず、
パートナーの役割はドライバーとのコミュニケーションです。
複数の人間が同時にコードの編集ができるという機能が有効に働くと
一方がコードを入力している間に他方もコードを入力してしまうこととなり
その時点でペアプログラミングで行われるべきコミュニケーションや
パートナーによるドライバーへの補助が無くなります。
ペアプログラミング用としての機能を備えるならば
一方がドライバーとしてのモードになっている時、
それ以外のユーザーは完全にパートナーとしてのモードになり
書き込み禁止となるべきです。
なおかつ、遠隔地に居る複数の開発者の間のコミュニケーションを
補助する機能 (チャットやIP電話など) も要求されるでしょう。
また、ペアプログラミングは男女でペアを組むと
効率が向上しやすいものです。豚もおだてりゃ木に登る要領です。
遠隔ペアプログラミングツールに求められるのはこの部分です。
ボイスチェンジャー機能付きIP電話は外せません。
Re:ペアプログラミングではない (スコア:3, おもしろおかしい)
他の人が書き込めないようファイルごとにロックを掛けること
ができる機能があります。 [sourceforge.net]
>ボイスチェンジャー機能付きIP電話は外せません。
一応予定はしています。(sobavv) [sourceforge.net]
が、そもそもSOBAフレームワーク本家自体がP2Pテレビ会議システム
を想定して開発されているので今すぐその機能が欲しければそちらを
使用してください。(またはIMを使用するか)
なぜボイスチェンジャーが必要なのか理解に苦しみますが、とりあえず
裏声を使うかヘリウムを吸うか等で我慢しておいて下さい。(w
Re:ペアプログラミングではない (スコア:1)
>補助する機能 (チャットやIP電話など) も要求されるでしょう。
概要 [sourceforge.net]によると、Coming Soonだそうです。
よかったですね :-)
# 「?」は無視(ぉ