2009-10-19

Alvila, Opensource Software Project


最近, IAESTE国際インターンシッププログラムの研修報告書を書き上げたのですが, 研修内容が"オープンソースソフトウェアの立ち上げ"という内容だったので, 告知のため, 研修報告書の内容の一部を引用してブログでも取り上げることにします.

未だドキュメント云々の作業が残っているため, 2009年10月現在, Alvilaプロジェクトは非公開となっていますが, 今年度中には(多分)公開される予定です. もし興味があれば, 後日, 訪れて頂ければ幸いです.

2010年春、公開されました。というか、気付いたら会社名もAlvilaになってました(笑)。.orgを.comに置換すると会社のHPに飛べます。

Alvila URL:
http://www.alvila.org/

研修報告書の一部 (pdf ver.)


----- 以下, 研修報告書から一部を引用 -----
本レポートでは, 2009年度IAESTE国際インターンシッププログラムを通して私が経験したことについて述べる. また, 本レポートでは, 研修先での研修内容だけでなく, 派遣国での生活全般についても述べる. 以下は, 本レポートで述べる内容のアウトラインである.

1. 研修先での研修内容
1.1. 参加したプロジェクトの概要
1.2. 具体的な作業内容
1.2.1. Pop-up Shell Filter機能の実装
1.2.2. ウェブページの制作
2. 研修中の生活について
3. まとめ

1. 研修先での研修内容
私は, IAESTE国際インターンシッププログラムを通して, 2009年8月1日から2009年9月20日までの約2ヵ月間, チェコ共和国の首都プラハにあるPageUpというベンチャー企業で働いた. 研修先では, Alvilaプロジェクトという, オープンソースソフトウェアを立ち上げるプロジェクトの一員となって終始働いた. 研修中の主な作業内容は2つあり, フトウェアの開発と, そのソフトウェアを公開するためのウェブページの作成である. 本章では, 私が参加したプロジェクトの概要と, 私の作業内容について, それぞれ具体的に述べていく.


1.1. 開発したソフトウェアの概要
Alvilaプロジェクトで公開するオープンソースソフトウェアは, 表管理システムの作成を支援するソフトウェアである. 似たようなオープンソースソフトウェアとして, JGoodies FormsやSWTFormsが挙げられる. JGoodies FormsやSWTFormsでは, 表管理システムのレイアウト作成に焦点を当てたフレームワークソフトウェアである. 一方, Alvilaプロジェクトで開発するソフトウェアは, 表管理システムで管理するコンテンツ作成に焦点を当てたフレームワークソフトウェアとなっている. 例えば, AlvilaプロジェクトのSkills.Tablesを用いて表管理システムを作成すると, 生成した表データに対して, 文字列を用いたフィルタリング機能(cf. GMailやMSN Hotmailのメール検索機能)や, 列項目の各要素を用いたフィルタリング機能(cf. MS Office ExcelやOpenOffice.org CalcのAuto Filter機能)を容易に実装することができる.

Alvilaプロジェクトでは, 2009年10月現在, 2つのソフトウェアが公開されている. 1つはSkills.Formsというソフトウェアで, 表管理システムの入出力フォーム作成を支援する. もう1つは, Skills.Tablesというソフトウェアで, 表管理システムのフィルタ機能作成を支援する. これらのソフトウェアは別々に使用することも可能であるが, 組み合わせて使うことも出来る. 以下の図1は, Skills.FormsとSkills.Tablesを組み合わせて作成した表管理システムの実装例である. 図1の上部にあるアイコン, 文字列入力フォームおよびボタンは, Skills.Tablesによって提供された機能である. この機能を用いることで, 表データのフィルタリングが出来る. 例えば, 文字列入力フォームに”456”と入力すると, 4行目のArgentinaのデータが消える. 一方で, 図1の下部にある文字列入力フォーム等のコンポーネントは, Skills.Formsによって提供された機能である. この機能を使うことで, 新しいデータや作成や, 既存のデータの編集および削除ができる.


図1. Skills.FormsとSkills.Tablesを用いて作成した表管理システムの実装例

なお, 上述の2つのソフトウェアのように, 表データそのものを取り扱うソフトウェアは, Skillsというカテゴリに分類される. 現在はSkillsというカテゴリのみが公開予定となっているが, 来年度以降には, 表管理システムとデータベースとのインタフェースを取り扱うソフトウェアも公開される予定となっている.


1.2. 具体的な作業内容
Alvilaプロジェクトのメンバーは非常に少人数で構成されていたため, 各メンバーに決められた役割というものは存在せず, 各自が細かく分割されたタスクをそれぞれ個別に処理していた. このため, 私の具体的な作業内容は, SWT Botを使ったテストプログラムの作成から, UMLを使ったクラス図の作成まで, 多岐に渡っている. 本項では, 私の具体的な作業内容のうち, 私が1から実装したPop-up Shell Filter機能と, 私が制作したウェブページについて, それぞれ簡単に紹介する.


1.2.1. Pop-up Shell Filter機能の実装
Pop-up Shell Filter機能とは, 図2-1でポップアップ表示されたウィンドウのことを指す. このウィンドウは表データのヘッダ部をクリックすることでポップアップ表示され, このウィンドウを使って列データのソートおよびフィルタリングができる. 例えば, 図2-1のPop-up Shell FilterでAdvertisementsをクリックすると, Position列のうちAdvertisementsの要素だけを抽出することが出来る. その結果を, 図2-2に示す.


図2-1. Pop-up Shell Filterの表示


図2-2. Pop-up Shell Filterよるフィルタリング

Pop-up Shell Filterによるフィルタは, 重複してかけることができる. また, 既存のフィルタ機能とも互換性を保っているため, より柔軟なフィルタリングが可能になる. 以下の図2-3では, 図2-2の状態から, city/state列のNorte Dameでフィルタリングし, さらに, 文字列“wa”を含むデータのみを抽出するようにした結果である.


図2-3. 複数のフィルタ機能を重複してかけた結果

このように, Pop-up Shell Filterでは柔軟なフィルタリング機能を提供しているため, 膨大なデータ量から目的のデータ郡のみを閲覧および編集したい場合などで, 効率的な作業が可能となる.


1.2.2. ウェブページの制作
Alvilaプロジェクトで開発されたソフトウェアのダウンロードおよび詳細な説明は, ウェブサイトを通じて行われている. このウェブサイトは, 開発したソフトウェアをより多くの人に知って欲しいという理由から, 英語から複数の言語に翻訳されている. このうち, 私が制作したウェブページは, 日本語翻訳されたページと, Skills.Tablesの一部のページである. 以下の図3は, 制作されたページの一部である. 図3の右部にある”日本語”リンクをクリックすることで, 日本語翻訳されたページに飛ぶことが出来る.


図3. Alvilaプロジェクトのウェブページの一部


2. 研修中の生活について
研修中は, IAESTE CRが所有しているアパートの一室借りて, 他のIAESTE研修生と共にハウスシェアリングしていた. その宿泊施設はプラハ近郊に位置しているため, 交通手段や日常で必要な生活用品などで困ることは特になかった.
週末には, IAESTE研修生およびIAESTE委員が毎週何らかのイベントを企画してくれるため, 非常に充実した週末を過ごすことが出来た. また, チェコの物価は日本と比べて安いため, 毎週末そういったイベントに参加しても, 金銭的に困ることはほとんどなかったことも良かった.
研修中の生活で不備だと感じることはほとんどなかったが, 勉強できる場所が少なかったことは気にかかった. 日本であれば, 大学やカフェ等を利用して夜遅くまで勉強することが出来るが, チェコではそういった勉強をする環境が少ないため, 勉強時に不備を感じることが多かった.


3. まとめ
今回の研修では, オープンソースプロジェクトの立ち上げるプロジェクトに参加し, ソフトウェアの開発およびウェブページの制作に貢献した. 研修中, 非常に魅力的なイベントが毎週末企画されため, 技術的な経験だけで無く, 遊びの面においても充実した生活を送ることができた.

0 件のコメント: