パスワードを忘れた? アカウント作成
7128 story

P2Pで遠隔ペアプログラミングが可能なEclipseプラグイン 48

ストーリー by yoosee
わたしゃあなたのそばがいい 部門より

Anonymous Coward 曰く、 "P2Pフレームワークである SOBAフレームワークを利用することで、P2Pによる 遠隔ペアプログラミングが可能なEclipseプラグイン「 Sobalipse 0.8.1」がリリースされました。
特徴としては
・複数のユーザーが、一つのファイルに対しリアルタイムに書き込むことが可能
・P2Pなのでサーバー不要 (同一LAN内ならば個々のマシンにインストールするだけで使用可能)
などがあります。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • うっかり試してみた例 (スコア:3, おもしろおかしい)

    by Anonymous Coward on 2003年12月24日 8時39分 (#460471)
    Sobaのつもりで始めると、いつのまにか、Spaghettiが出来上がる予感が…
  • セットで使わねば (スコア:3, すばらしい洞察)

    by onoyan (135) on 2003年12月24日 9時38分 (#460492) ホームページ 日記
    ペアプロの重要な点は、常に話し合える状態にあることで、
    同時にソースコードをいじれることはあまり重要ではないと思っています。
    (ペアプロだって同時に2人でキーボ-ド使ったりしません)
    よって、まずは常時会話可能な環境を作った上でこのプラグイン
    という感じですかね。

    どうせなら、ネット上の仮想社屋に出勤して、そこで同僚とペアプロ
    するような環境ができないかなぁ。ゲームっぽくて面白いと思うんだけど・・・。
    --

    --- (´-`)。oO(平和な日常は私を鈍くする) ---
    • 読みましょう (スコア:2, 参考になる)

      by Anonymous Coward on 2003年12月24日 10時11分 (#460517)
      sobalipseはSOBAというP2Pフレームワークを用いてP2P機能を
      Eclipseに持たせるためのプラグインです。
      その使用目的は主に以下の通りになります。
      -P2Pによるチャット
      -P2Pによるペアプログラミング
      -P2Pによるアプリケーションの共有(共同作業)
      -P2Pによるファイル転送
      親コメント
      • 正直、すみませんでした。
        読んだつもりがチャットの部分を見落としてました・・・。

        ということですので、このプラグインだけでOKです!
        (でも音声でのコミュニケーションの方が良いと思う私)
        --

        --- (´-`)。oO(平和な日常は私を鈍くする) ---
        親コメント
    • by yhayashi (19328) on 2003年12月24日 10時14分 (#460521)
      どうもです。開発者です。

      実はペアプロは多少後付けです(笑)。
      本当は、今の職場の開発現場で、もっとコードレビューを行う習慣をつけて、
      みんなのコーディングのモラルを向上させたいと思ったのと、
      超絶的なプログラマのプログラミングを観察したいという思いから、
      このプラグインを作り始めました。

      自由度が高いプラグイン(使っていることすら意識させないことも可能)
      として作ったので、いろんな使い方ができれば良いなぁと思っています。

      ネット上の仮想社屋って面白いですね。でも、労力かかりそう。
      個人プロジェクトでやるのは難しいかな。しょぼーん
      親コメント
      • by ajishio_taro (19329) on 2003年12月24日 11時47分 (#460582)
        元コメントの相方です。少々補足。

        当初、我々はこの機能のことを「リアルタイムコードレビュー」
        と読んでいましたが、独特の呼び方なので、私が「もっと一般的
        な呼称の方がわかりやすいのではないか」と主張したので「ペア
        プログラミング機能」と呼ぶことにした、という経緯があります。

        このSobalipseですが、ペアプログラミングの他にコードの教育
        実習に使えるのでは、と思っています。
        (先生がセッションを作成して生徒たちに入室させ、そこで先生
        の手本となるコードを見ながら、ところどころわざと空けてある
        コードを埋めさせるとか。)
        親コメント
    • 会話はメッセンジャーでOKだと思う。
      最近はこれで即席会議も多い。

      メッセンジャーとこれを組み合わせれば、
      いつでもどこでもペアプログラミング
      ができるかも?
      • 繋ぎぱなしの電話(メッセンジャー)と VNC [realvnc.org] があれば、こんなプラグインいらん。

        元コメントにもあるいつでも会話できることと、相手がやっていることが 見えることがペアプログラミ

        • by Anonymous Coward on 2003年12月24日 13時16分 (#460632)
          算盤があればコンピュータいらん。
          親コメント
        • 厳密なペアプログラミングを遠隔で行うならばVNCが適していると思います。しかし、実際本当にやるとなると、よほどXPが行き渡っている部署か、XPに強いこだわりをもった人が仕切らないと難しいのではと感じます。

          ソフトウェア開発という仕事は、技術の入れ替わりが激しく、歴史も浅いということもあり、まだまだ未成熟な分野で、人間活動的な部分が多分に含まれると思います。また、チーム力や開発体制、技術の技術者への浸透具合も、現場によってばらばらだったりします。

          そんな中で、まずは、束縛が弱く、敷居の低いチーム開発をサポートするツールがあれば、有用なのではないかと思いました。
          親コメント
          • 元ACなのですが、 XPでないのに、XPで有名になった言葉を第一の宣伝文句に使用されたことに、 私は感心しません。 少なくとも、XPの用語と知っていて、宣伝文句に使用したのですからXPを前提に議論されるべきではないでしょうか。

            他の所でのコメントでのご発言を見ると、このツールはXPとは むしろ対極にある方法論におけるチームコードレビューのためのツールのようです。 そういうツールの重要性はあると思いますし、それを作成し、公開されたことには敬意を払いたいのですが、 それとは関係ない、「ペアプログラミング」をうけのいい言葉として、 元の言葉とは別の意味で、宣伝文句だけに利用された ことはいかがなものかと思っています。

            親コメント
            • ペアプログラミングって言葉を使うのは問題ないと思いますがね。

              マルチユーザープログラミングならいいんでしょうか?こっちのが凄そうですが(笑
              名称が似てて紛らわしいならマルチユーザーリアルタイムコードエディット&レビュー?

              宣伝文句だけに利用されたって、、、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, 参考になる)

      by ajishio_taro (19329) on 2003年12月24日 11時14分 (#460557)
      yhayashi氏のもう一人の相方です。

      >まだ見てないのですが、Sobalipseは3人以上も出来る構造になっているのでしょうか?

      ええ、何人でもいけますよ、理論上は。
      ちゃんとした耐久テストをしたわけではないのではっきり何人が
      限界、とはいえませんが、カーソルの色の種類は8色までなので同一
      ファイルに8人以上いると見分けがつかなくなるかもしれませんね。
      親コメント
      • ほぉ。面白いですね。
        では、碁盤の解説みたいに、「これはこっちのほうが」
        「いやこっちのほうが」とかって、同時並行的にソースを…
        ってところまでは出来ないです…よね^^;;

        俄然興味が出てきました。解説、ありがとうございます。
        親コメント
      • by Anonymous Coward
        今時分書いても見られていないと思うのでこそこそと妄想を…。

        対戦機能があったら面白いかも、と思いました。
        書いたコード行に対して観戦者が倍率(又は「○行相当のポイント」)掛けてって、書いたコード量を競うのです。
        観戦者も自分の得意分野だったら、乱入してポイントごっそりもっていったり
        「ここで伝家の宝刀インターフェイスの抽出が出たー
        • by Anonymous Coward
          絶対見られてないことを確信してさらに妄想を。

          ストリートでプロジェクトを集めてバザールを開きましょう。
          バザールに訪れた人は開発者とおしゃべりしたり、一緒に作ったり、競ったりするでしょう。
          そして、経験、技術、知的好奇心の充足などを持って帰るでしょう。

          開発者は自動販売機に缶を入れ、「改善点をお書き下さい」と書いた葉書をぶら下げる仕事から
          相手の顔が見え、自分の仕事を見てもらえ、改善してもらえる可能性がある環境に変わります。
          仕事が終わったらお隣さんを覗いたり、気分転換に手伝ったりするかも知れません。

          有名な「店」にはやはり人がひしめくの
    • by yhayashi (19328) on 2003年12月24日 18時59分 (#460829)
      いいなー。いつかこんなのやってみたいなー。
      何が起こるんだろうか。。。

      実はSobalipseは、リリース直前まで、ファイルごとに編集権が常に一人に定められていたんですよ。ペアプログラミングを行うのもリアルタイムレビューを行うのもほとんどのケースはそれで十分なのは明らかだったので。

      でも、ある日突然、もう少し新しい可能性を追いたい気分になって、同時編集機能を休日に引きこもって追加してしまいました。機能を追加しすぎておかしくなったソフトウェアはたくさんあるけれど、これは、開発者の夢が込められているということで許してください。
      親コメント
  • by kn173205 (14800) on 2003年12月24日 9時09分 (#460477)
    開発の現場でP2Pでアクセスできるようにするのはセキュリティ的に問題があるように思えます。
    開発に専念してるプログラマーが各自で自分のパソコンのセキュリティーに注意するよりも管理者一人置いて対処するほうが現実的だと思います。そして、その場合P2Pを使わずに普通に一元管理するほうがいいと思えるのですが利点はどこにあるのでしょうか?
    • Re:利点は? (スコア:4, 参考になる)

      by yhayashi (19328) on 2003年12月24日 9時54分 (#460501)
      開発者です

      社内で使う分には、P2Pだからといって、とくにセキュリティで問題になることはないと思います。社内外を結ぶ場合は、ファイアーウォール越え行うためのサーバーを立てる必要があり、P2Pではなくなります。(おっしゃる通り個人でセキュリティ管理をするのは無理があります。)

      僕としては、サーバー管理が必要なく開発グループが気軽に導入できるものを意識して、このプラグインを作りました。サーバーで使われているソフトウェアの設定を少し変えるたびに、いちいち会議をしたりとか、使い方を皆に周知させるとかは面倒だと思いましたので。
      親コメント
      • by Anonymous Coward
        修正履歴は双方に同じものが残ると考えてよいのでしょうか?
        それならけっこう使える気がするのですが。
        • by ajishio_taro (19329) on 2003年12月24日 14時03分 (#460658)
          >修正履歴は双方に同じものが残ると考えてよいのでしょうか?
          残念ながらSobalipse自体に履歴を取る機能は現在のところ
          ありません。
          Eclipse自体にローカルファイルの保存履歴から比較してロール
          バックする機能がありますので、それを利用する、といった手段
          はあります。

          どうやらCVSの代替物として見ている方がおられるようですが、
          そうではなく、我々はこれをCVSを補完するものとして捉えています。
          つまり、Sobalipseで書かれた共有コードを、最終的にリーダーがCVS
          にコミットする、といったイメージです。

          履歴機能はCVSやSubversionに任せればよい、と考えています。
          親コメント
          • by Anonymous Coward
            > 履歴機能はCVSやSubversionに任せればよい、と考えています。

            エディターのundoであっても?
          • by Anonymous Coward
            >Eclipse自体にローカルファイルの保存履歴から比較してロール
            >バックする機能がありますので、それを利用する、といった手段
            >はあります。

            まさに知りたいのはここでして。
            ローカルの保存履歴が双方で同じになるのかならないのか、ということ
            なんです。これがならない場合は長時間のペア
            • by yhayashi (19328) on 2003年12月24日 19時58分 (#460866)
              今のところはないです。各自の保存のタイミングも自由ですので。

              ただ、自分のローカル履歴を相手に送って、それを相手側で比較できたり(場合によっては強制的に合わせたり、もしくはマージしたり)すると便利かなぁとはぼんやりと考えたことはあります。考えてみますね。(良い仕様とかアイデアとか思いつきましたら、またぜひ教えてください。)
              親コメント
            • by Anonymous Coward
              あ。
              ものすごい勘違いしてますね(^^;
              同じファイルを直接編集するんですよね(^^;
              だったら履歴も同じになりますよね(^^;

              そうか、CVS と勘違いしてないつもりでしたが、思いっきり勘違い
              してたようです。お恥ずかしい。
    • Re:利点は? (スコア:2, 興味深い)

      by azitt (13075) on 2003年12月24日 10時23分 (#460528)
      バザール方式の開発ならば、CVSよりマッチしていると思います。
      例えば、2ちゃんねる閉鎖危機 [2ch.net]のread.cgiにg_zipを組み込んだ作業に当てはめると、

      ・サーバを立てる必要なく、Eclipseひとつで開発に参加できる
      ・リアルタイムで多数の開発者が参加できるので、バージョン管理自体が不要

      など享受できるメリットが大いにあると思います。

      --
      azitt is not an agitator ;-)
      親コメント
      • Re:利点は? (スコア:2, すばらしい洞察)

        by Anonymous Coward on 2003年12月24日 11時57分 (#460591)
        > リアルタイムで多数の開発者が参加できるので、バージョン管理自体が不要

        みんなでエイヤッとやって、5分くらいで出来ちゃうようなプログラムならそうかも知れませんが、
        もっと規模の大きなプログラムでもほんとに不要ですかね。
        仮に「Aさんが書き直したところバグバグだから、いったん戻そうぜ」とか、
        「Bさんがいじったら動かなくなった、一体何をやったんだ!」となった場合、どうやって戻すんでしょう。
        同時に他の部分も修正されているはずだから、単に時間だけ巻き戻せばいいってもんでもないような。

        "AさんがX時からY時までに修正した部分"というdiffがとれればいいんだけど。
        親コメント
        • by Anonymous Coward
          >みんなでエイヤッとやって、5分くらいで出来ちゃうようなプログラムならそうかも知れませんが、

          それ楽しそー。そうゆう開発やってみたい。
    • by Anonymous Coward
      オープンソースなら、その辺の問題がないということでしょうね。

      クローズド(このことばが適切かどうかはわかりませんが)なら、ご指摘ように、P2P ではデメリットの方が多いでしょうね。
  • by kicchy (4711) on 2003年12月24日 17時41分 (#460793)
    つまり、 screen の eclipseプラグイン版、ということですよね?
    そうなると、サーバを立てて編集セッションを保存できたりすると
    便利だなぁと思いました。
  • 使い方ができると便利かもなぁ
    手軽に共有できる文書空間として。
    • by Anonymous Coward
      SobaMemoがなかなか便利と感じるので
      >手軽に共有できる文書空間として。
      の部分に共感します。
      コードの断片なんかをその場で共有できるのが
      チャットを超えている気がします。
  • by Anonymous Coward on 2003年12月24日 8時18分 (#460469)
    企業で使う分にはP2Pである必要は無いというか
    むしろP2Pでない方が管理上好ましいのかも
    • by Anonymous Coward
      why ?
    • by Anonymous Coward
      うちでは作業用のPCからラップトップにうつして
      同僚とソース眺めながらあーだこーだやる事があるので
      これがあると、IMと併用すればわざわざ遠い同僚のデスクまでいかなくてもよさそうだなぁ なんて思ってみたり。
      IMにコピペして送るとウザいしね
  • by Anonymous Coward on 2003年12月24日 15時35分 (#460707)
    ペアプログラミングというのは
    コード書く「ドライバー」と呼ばれる人と
    ドライバーに対して質問や指摘などを行う
    「パートナー」もしくは「オブザーバー」と呼ばれる人の
    コンビネーションで行います。
    パートナーはコードを書かず、
    パートナーの役割はドライバーとのコミュニケーションです。

    複数の人間が同時にコードの編集ができるという機能が有効に働くと
    一方がコードを入力している間に他方もコードを入力してしまうこととなり
    その時点でペアプログラミングで行われるべきコミュニケーションや
    パートナーによるドライバーへの補助が無くなります。

    ペアプログラミング用としての機能を備えるならば
    一方がドライバーとしてのモードになっている時、
    それ以外のユーザーは完全にパートナーとしてのモードになり
    書き込み禁止となるべきです。
    なおかつ、遠隔地に居る複数の開発者の間のコミュニケーションを
    補助する機能 (チャットやIP電話など) も要求されるでしょう。

    また、ペアプログラミングは男女でペアを組むと
    効率が向上しやすいものです。豚もおだてりゃ木に登る要領です。
    遠隔ペアプログラミングツールに求められるのはこの部分です。
    ボイスチェンジャー機能付きIP電話は外せません。
typodupeerror

Stay hungry, Stay foolish. -- Steven Paul Jobs

読み込み中...