![]() |
安藤幸央のランダウン[39]
ソースコードの宝石箱、
●●Forgeを見逃すなかれ
安藤幸央(yukio-ando@exa-corp.co.jp)
株式会社エクサ
2008/3/18
|
「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部) |
■ 「Forge」とは何か?
突然ですが、「Forge(フォージ)」とは何のことか、お分かりでしょうか?
もともとの意味は「鍛冶屋」「溶鉄炉」のことを示し、「構築する」「鉄を鍛えて〜にする」といった意味もあります。
本記事の読者の皆さんにとっては、SourceForgeのようなオープンソース系の「開発ホスティングサービス」を思い浮かべる人もいると思います。
ソースコードの管理だけではなく、プロジェクトの進行や、コミュニケーション、仮想マシンによるテストなどさまざまなサービスが無料で提供されています。このようなホスティングサービスは「レポジトリ」(貯蔵庫)とも呼ばれます。
■ 開発ホスティングサービスが持つ機能
開発ホスティングサービスの便利なところは、複数の離れたところで作業する開発メンバーが共同で利用できるところです。
また、バグの管理ができたり、旧バージョンのアーカイブを保存できたり、コスト面でも助けられることが多いでしょう。
開発ホスティングサービスでは、主に以下のようなサービスが提供されています。
開発ホスティングサービスの主なサービス |
|
編集部注:CVSについて詳しく知りたい読者は、 「CVSとEclipseで「コードの共同所有」」を、Subversionについては「バージョン管理に便利なSubversiveプラグイン」を、タスク管理については「Mylyn&Tracでリズムに乗ってタスクを大掃除♪」を、それぞれご参照ください
■ 開発ホスティングサービスはどう使うのがオトク?
■■ 使いたい機能だけ“つまみ食い”して使う
開発ホスティングサービスでは、プロジェクトのすべてを任せるだけではなく、「バグトラッキング」だけ活用したり、単独機能だけでも十分有用です。例えば、サイズが大きなプログラムファイルの「配布サービス」としても活用できます。
特に、MySQLなどのデータベース環境や、ソースコード管理のCVSやSubversionのセットアップを独自に行わなくても、登録・承認後、すぐにオンラインで使い始められることもメリットとなっています。
■■ 貧弱なPCを使う人に有効
プログラム開発におけるさまざまな環境/リソースを、自分の端末に持たず、オンラインでアウトソーシングする感覚です。保有するPCのスペックが貧弱なときにとても有用なサービスといえるでしょう。
■■ 小規模から大規模開発まで
前述のように、複数の個所で行う複数の人がかかわるプロジェクトで特に有用ですが、1〜2人といった、ごく少人数のプロジェクトでも十分活用できるし、役立つサービスです。
■■ ソースコード専用の検索エンジンとの連携
ソースコードレポジトリは、Google Code Searchなどのソースコード専用の検索エンジンと組み合わせると最大限の効果を発揮することでしょう。
編集部注:ソースコード専用の検索エンジンについて詳しく知りたい読者は、連載第33回「見つけて得するソースコード専用の検索エンジン」をご参照ください。
■ いろいろなForgeを見てみよう
現在、実に多くの開発ホスティングサービスがWeb上に存在しています。どんなForgeがあるのか、幾つか見てみましょう。
■■ 最大級の開発ホスティングサービス「SourceForge」
![]() |
| 「SourceForge.jp」(日本語サイト)のトップページ |
2008年3月現在、17万件を超えるプロジェクトが登録される、現在進行中の最大級の開発ホスティングサービスです。さまざまな言語で書かれた、数多くのオープンソースプロジェクトが登録されています。
■■ Ruby者開発のための「RubyForge」
![]() |
| 「RubyForge」のトップページ |
プログラミング言語Rubyに限定した開発ホスティングサービスです。2008年3月現在、約5000件を超えるプロジェクトが登録されています。Ruby、Ruby on Rails関連のプロジェクトを探すには重宝すると思います。また、人気のトップダウンロードからは、最近の流行を知ることができます。
■■ Googleに注目する人はココをチェック! 「Google Code」
![]() |
| 「Google Code」のトップページ |
Googleが提供する開発ホスティングサービスです。主に、Google内部で開発され、オープンソース化されたソースコードや「Google Summer of Code」で開発されたソースコードが公開されています。
主に、Webアプリケーション系のものが多く、2008年3月現在、約5万件のプロジェクトが登録されています。Googleプロダクト、Google API周辺の開発を行うときにはチェックが欠かせないサービスです。日本語サイトもあります。
■■ .NET framework周辺の「CodePlex」
![]() |
| 「CodePlex」のトップページ |
Microsoftが提供する開発ホスティングサービスです。.NET Framework周辺のプロジェクトが主流です。統合開発環境Visual Studioからシームレスに接続して作業できます。2008年3月現在約4000のプロジェクトが登録されています。
■■ MacOS環境に特化した「MacOS Forge」
![]() |
| 「MacOS Forge」のトップページ |
Appleが主催する開発ホスティングサービスです。Mac Tech Magazineが主催する「MacForge.net」とは別物で、MacOS環境に特化したオープンソースレポジトリとなります。
Apple社が開発したプロダクトのうち、オープンソース化されたものが公開される場所として活用されています。基本ライセンスとしてCreative Commons 2.5が使われています。
■■ 非公開でもOK、統合開発環境と連携して使える「Origo」
![]() |
| 「Origo」のトップページ |
Origoはオープンソースとともに、クローズド(非公開)なプロジェクトに対しても利用できる開発ホスティングサービスです。EclipseやVisualStudioなど統合開発環境と連携して使えることも特徴のサービスです。
■■ Java開発のための「JavaForge」
![]() |
| 「JavaForge」のトップページ |
プログラミング言語Javaに関するコミュニティサイト「Javalobby」が主催する開発ホスティングサービスです。全登録プロジェクト数は2008年3月現在100件少々で、まだまだ発展途上のサービスです。codeBeamerで運用されています。
■■ Java開発者向けでニュース記事も充実「java.net」
![]() |
| 「java.net」のトップページ |
Sun MicrosystemsとO'Reillyが提供する開発ホスティングサービスポータル、コミュニティサイトです。CollabNetで運用されています。
プログラミング言語Javaに特化していて、特にLinux環境でのJavaのプロダクトが豊富なレポジトリです。開発者向けの技術ニュース「Java Today」の記事も充実しています。
■ クラウド・コンピューティングへの布石
■■ オンラインの仮想サーバ・サービス
開発ホスティングサービスの一歩先にあるのが、Amazon EC2(Elastic Computer Cloud)/Amazon S3(Simple Storage Service)をはじめとするオンラインの仮想サーバ・サービスです。これを利用することによって、自宅や会社ではない、オンライン上にいくつものサーバを立てることができます。
![]() |
| 「Amazon EC2」のトップページ |
Amazon EC2は中規模のサーバ環境を安価に借りることができます。システム構成の違いによって若干価格が変わりますが、2008年3月現在1ノード1時間当たり10セントです。
また、柔軟に活用できる仮想サーバ・サービスで、必要に応じてサーバの数をどんどん追加できます。高速のネットワーク回線でつながれたサーバが安価で安定して利用できるのです。
![]() |
| 「Amazon S3」のトップページ |
Amazon S3 は大容量のストレージサービスをWebサービス経由で利用できます。2008年3月現在、1カ月1Gbyte当たり0.15ドルです。
Amazon EC2/S3はAmazonが培った冗長化の技術などが活用され、比較的長期的に安定して運用されていますが無停止を保証していません。よって、開発中のサービスのテストや、柔軟にサーバ資源を増減したいサービスなどの場合に有用であり、何にでも使えるというわけではありません。
■■ 各種ツール・サービスだけではなく運用でも
こう考えると、開発における各種ツール・サービスは開発ホスティングサービスでアウトソーシングし、実際の運用でさえもAmazon EC2/S3などでアウトソーシング可能になってきたということになります。
メンテナンスやサーバ管理、トラブル時の対処などを考えると、ますます魅力的なサービスに映るでしょう。インターネット上に拡散したコンピューティングリソースを活用してサービスを提供する「クラウド(雲)・コンピューティング」への体系が確立しつつあると考えられます。
編集部注:クラウド・コンピューティングについて詳しく知りたい読者は、「Web上に登場した3種類の“プラットフォーム”」をご参照ください
■ 開発ホスティングサービス活用の“注意”点
開発ホスティングサービスを活用するには気を付けておかなければならないこともあります。オープンソース系のレポジトリは大変便利に活用できますが、利用の際にはライセンス条項に十分注意する必要があるということです。
特に、商用サービスでの利用や改変、再利用などに注意が必要です。特殊な開発を行っているような極端な例では、ソースコードを見ただけでも問題に問われる場合もあるので、ご自身の仕事や環境を十分に把握したうえで活用しましょう。
■ 「貢献」もして、オープンソース界の未来を垣間見よう
一方で、オープンソースは単に利用するだけではなく「貢献」できると多くの人々に役立つことができるでしょう。
プロジェクトの大部分の開発にかかわるということだけではなく、バグレポートを送ったり、パッチを書いたり、ドキュメントの作成を手伝ったりと、貢献できる事柄は数多く存在します。
日々増え続ける数多くのプロジェクトを活用し、後押ししていくことによって、今後のオープンソース界の未来が垣間見えかもしれません。
次回は2008年5月初めごろに公開の予定です。内容は未定ですが、読者の皆さんの興味を引き、役立つ記事にする予定です。何か取り上げてほしい内容などリクエストがありましたら、編集部や@ITの掲示板までお知らせください。次回もどうぞよろしく。
■ @IT関連記事
| 次世代を予感させるグリッドコンピューティング 安藤幸央のランダウン(7)地球外知性探索のSETI@Homeなどで知られるグリッドコンピューティング。今、商用化や標準化など、さまざまな試みに発展している 「Java
Solution」フォーラム 2002/3/6 |
||
| Twitterやクラウドへも分岐するAjax/Web APIの道 Ajax うきうき Watch(29) 芸能人も参加中のGoogleマイマップEXPO、日本語化するTwitter、クラウドコンピューティング、もうすぐ始まるIE 7への自動更新など全8トピック 「リッチクライアント & 帳票」フ ォーラム 2008/1/23 |
||
| RIA/リッチクライアントの明日はどっちだ? RIA in Developers Summit 2008 レポート 先日開催されたデブサミのセッションの中からRIA/リッチクライアントに関するものを中心にいくつかレポートする 「リッチクライアント & 帳票」フ ォーラム 2008/2/20 |
||
| Google OpenSocialによってSNSで何ができるのか? SNSやWebを変える!? OpenSocial徹底解説(前編) SNSの共通APIとして発表されたOpenSocialの概要や登場した背景、どんなアプリを作ればいいのかを徹底解説! 「リッチクライアント & 帳票」フ ォーラム 2008/3/14 |
||
| 明日からできるプロジェクト管理 本連載では、プロジェクトに秩序をもたらすさまざまな手法を、開発プロジェクトの段階を追って解説していく。第1回目は進ちょく管理だ 第1回 デスマーチを止める進ちょく管理の現実解 第2回 成果物・文書管理にすぐ使えるオープンソース 第3回 ビルド管理を楽にするオープンソースツール一覧 第4回 単体テストの品質をチェックするには |
||
| プロフィール |
安藤幸央(あんどう ゆきお) 1970年北海道生まれ。現在、株式会社エクサ
マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。コンピュータ自動彩色システムや3次元イメージ検索システム大規模データ可視化システム、リアルタイムCG投影システム、建築業界、エンターテインメント向け3次元
CG ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。また、Java、Web3D、OpenGL、3DCG
の情報源となるWebページをまとめている。ホームページ Java News.jp(Javaに関する最新ニュース) 所属団体 OpenGL_Japan (Member)、SIGGRAPH TOKYO (Vice Chairman) 主な著書 「VRML 60分ガイド」(監訳、ソフトバンク) 「これがJava だ! インターネットの新たな主役」(共著、日本経済新聞社) 「The Java3D API仕様」(監修、アスキー) |
安藤幸央のランダウン バックナンバー 連載インデックスへ»
- 第1回 Javaを速くするための心構え
- 第2回 サーバサイドで進化するグラフィックス
- 第3回 ユーザビリティ(使いやすさ)の大切さ
- 第4回 Javaプログラマのお役立ちサイト
- 第5回 伝説のイベントJava Night
- 第6回 次世代のインターネット言語curl登場!
- 第7回 次世代を予感させるグリッドコンピューティング
- 第8回 音声はコンピューティングを変える?
- 第9回 GoogleをWebサービスから利用するAPIの登場
- 第10回 これは使える!Java風スクリプト
- 第11回 PtoPはいよいよビジネスのステージに
- 第12回 ハリウッド映画並のCGがPCに到来する日
- 第13回 知的ゲーム「Robocode」でJavaのチャンピオンに
- 第14回 海の上のJava Night
- 第15回 Java版テラリウム? ただいま開催中
- 第16回 進化したアプレット、Viewletとは?
- 第17回 Eclipse:新しい開発環境モデルの誕生
- 第18回 Webサービス、どこまで実用になっている?
- 第19回 SWTは本当に高速なGUIを実現するのか?
- 第20回 JavaOne 2003の注目トピックを振り返る
- 第21回 SIGGRAPH 2003に見るJavaの進化
- 第22回 AmazonWebサービスの可能性
- 第23回 オープンソースの検索エンジン登場
- 第24回 技術者の祭典JTC BOFとJava Night
- 第25回 リッチクライアント時代の到来
- 第26回 Eclipse 3.0のリッチクライアントとは?
- 第27回 データ中心型、簡単リッチクライアントJDNC
- 第28回 浸透する新世代のシンクライアント
- 第29回 WebプログラマはRailsに乗るべきか?
- 第30回 Ruby On Railsのチームに学ぶ仕事術
- 第31回 JavaプログラマはAjaxに乗るべきか
- 第32回 Java SE 6へ移行する理由と移行をとどまる5つの理由
- 第33回 見つけて得するソースコード専用の検索エンジン
- 第34回 Podcastでプログラマーに必要な英語をStudyしよう!
- 第35回 人気のAPI/フレームワークを作るための39カ条
- 第36回 あなたのサイトはiPhoneで見られますか?
- 第37回 バッチ処理はJavaでバッチリ?その現状とこれから
- 第38回 Cometに代表されるサーバ・プッシュ技術の復権
- 第39回 ソースコードの宝石箱、●●Forgeを見逃すなかれ
- 第40回 Webアプリ開発環境としてのSafariを知ってますか?
- 第41回 夏休みに世界へ挑戦! プログラミングコンテスト
- 第42回 開発者が知っておくべきJavaと仮想マシンの歴史
- 第43回 あなたの知らないJDKの便利ツールたち
- 第44回 時を欠ける症状−うるう秒から考えるサステナビリティ
- 第45回 IT業界で楽しく仕事をするための10カ条
- 第46回 そのWebサービスで“対価”をもらえますか?
- 第47回 IT系でも活用しなければ損。論文を読んで広がる知見
- 第48回 Webからの知見、見つけた論文の読み解き方
- 第49回 Java技術者も知っておきたい「AR(拡張現実)」
- 第50回 クラウド活用「雲活」のために押さえるべき39のポイント
- 第51回 意外と知らないバージョン表記・数字の豆知識
- 第52回 グーグルは、○○おもいっきり、テレビ
- 第53回 いま購読するべき15の開発者ブログ
- 第54回 技術者なら知っておきたい「ソーシャルゲーム」とは
- 第55回 開発者は覚えておきたいアプリストア/マーケット大全
- 第56回 売れるスマホアプリを目指せ! テスト達人への道
- 第57回 プレゼン巨人の星となるためのツールと手法のまとめ
- 第58回 ぼくらの七ボタン戦争 - Social Buttons War
- 第59回 師走を楽しもう。技術系アドベントカレンダーの魅力とは
- 第60回 GitHubをもっとソーシャルに使いこなすための7つ道具
| ご意見、ご感想は掲示板へどうぞ |
| JavaコラムINDEX |
TechTargetジャパン
- EclipseでScalaプログラミングを始めるための基礎 (2012/2/10)
概要や5つの特徴を紹介し、開発環境を構築して対話型実行環境「REPL」やEclipse上でHello Worldを実行します - 並列分散処理の常識をHadoopファミリから学ぶ (2012/2/8)
並列分散処理の課題やHadoopの長所/短所、そして短所を補うHadoop関連プロジェクトの構成や概要などを簡単に紹介 - WebLogicサーバ最新版「12c」の気になる4つの特徴 (2012/1/31)
久々にメジャーアップグレードしたJavaアプリケーションサーバについて、製品担当者に軽量インストーラなどの特徴を聞いた - GitHubをもっとソーシャルに使いこなすための7つ道具 (2012/1/23)
ソースコードホスティングのGitHub周辺で便利な新サービスが続々登場しているので、まとめて紹介しよう。特に連動クラウド「fluxflex」が注目だ
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -












1970年北海道生まれ。現在、株式会社エクサ
マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。コンピュータ自動彩色システムや3次元イメージ検索システム大規模データ可視化システム、リアルタイムCG投影システム、建築業界、エンターテインメント向け3次元
CG ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。また、Java、Web3D、OpenGL、3DCG
の情報源となるWebページをまとめている。