その他の最近の情報

 Redmineーもっと手軽にプロジェクト管理!

 

 著者: 倉貫 義人 栗栖 義臣 並河 祐貴 前田 直樹

発行日: 2009年8月1日

発行人: 土田 米一

発行所: 株式会社インプレスジャパン

231ページ

2,100円+税

 

内容

プロジェクト管理入門から、Redmine導入・運用・プラグイン開発まで

Excel派もTrac派も大注目!使いやすい、覚えやすい、プロジェクト管理の効率が

ぐ~んとUP↑ 1.導入・設定 2.チケット登録 3.すぐ見える化

 

Chapter1 プロジェクト管理をもっと楽に!楽しく!

  • Redmineでプロジェクト管理を変える!
  • 導入と活用のキーポイントを紹介

 

Chapter2 Redmineの使いどころ・勘どころ

  • 導入の前後でどうかわる?導入効率がよくわかる

 

Chapter3 どうやって導入する?[Windows/Linux/Amazon EC2編]

  • Amazon EC2ならインストールなしで、すぐに運用できる!
  • WindowsやLinuxへのセットアップ方法も紹介

 

Chapter4 プロジェクトメンバーはどう使う?

  • メンバーすべてがカンタンに使いこなせる!
  • ユーザーの登録から、プロジェクト/チケットの作成、SCMとの連携まで

 

Chapter5 システム管理者はどう設定する?

  • 標準設定はここまで変えられる!
  • ロール、プロジェクト、チケット、サイト全体などをカスタマイズ

 

Chapter6 どう工夫して運用する?

  • 万が一に備えて、バックアップは必須!
  • 性能もバージョンアップも考えて、しっかり運用

 

Chapter7 プラグイン、動追加する?どう作る?

  • より使いやすく、さらに管理しやすく!
  • さまざまなプラグインを紹介。開発方法hも解説

 

ポイント

 Redmineは、システム開発・運用時にプロジェクト管理で活用することができる、

ITS(Issue Tracking System):課題管理システムです。

以前は開発時のバグ管理や、運用時のサポートツールとして、

BTS(Bug Tracking System)が利用されてきたが、現在では様々な機能が

追加され、プロジェクト管理全般で利用することができるプロジェクト管理ツール

にまで発展してきている。

 

もちろんRedmineでも、BTSとしてだけでなくプロジェクトの概要・活動・ロードマップ

を管理したり、チケット(タスク管理の最小単位)の作成、ニュース・フォーラムの登録、

文書・ファイルの管理、Wiki、ソース管理連携機能などの多くの機能を備えている。

 

Redmineは、ITSの中でも最も後発に出現したシステムの一つであり(2009年現在)

現在、最も評価も高く、高機能なシステムといえるでしょう。

デファクトなシステムの移り変わりとしては、Bugzilla→Mantis→Trac→Redmineと

なってくるのではないでしょうか?

 

さて、本書の内容ですが、上記のようなITS・プロジェクト管理についての概要から

始まり、インストール方法、各機能の操作説明、運用時のポイント、プラグインに

ついてという流れになっています。

 

ある程度、BTS・ITSについて知識があり、オープンソフトウェアのインストールの

経験があれば、概要とインストール方法については、十分Webで調べられる範囲

である。また操作方法についても、基本は直感的に分かる範囲の説明がダラダラ

と書かれているという感じです。調査のための時間短縮にはなると思います。

 

Webでの情報が少ない部分としては、最後の2つの章、どう工夫して運用する?

と、プラグインの活用についてです。こちらは、実際にシステムを業務で利用する

する際に必要になってくる、データのバックアップの方法や運用する、

アプリケーションサーバの変更方法やクラスタリングについて、Redmineの

バージョンアップについてが詳しく書かれています。

Redmineは、ある程度は設定でカスタマイズは可能ですが、Ruby On Railsで

開発されているので、ソースレベルでのカスタマイズが非常に簡単にすることが

可能です。

私も、実際の業務でRedmineを使用しており、項目の並びや、表示非表示、

運用に合わせた画面のリンクの追加、プロジェクト選択時の初期表示タブの変更

など、ソースレベルでどんどん変更し運用しやすいようにカスタマイズしています。

※Ruby On Rails は未経験ですが、MVCモデルがわかれば容易にソースを

変更してカスタマイズできると思います。

最後に、ソースでのカスタマイズだけでなく、プラグインを利用することでの機能

追加の方法や、プラグイ自体の作成方法についても簡単に説明されています。

 

本書以外にも、Redmineの解説書は以下のものが発売されています。

 

 

入門Redmine

 

似たような内容だとは思いましたが、発売日が新しいので私は、

 Redmineーもっと手軽にプロジェクト管理! の方を選択しました。

 

リンク: Redmine.JP - 日本語情報サイト

 

 

Windows7がCMで放送され注目を浴びていますが、
IT業界で働く者にとっても、新しいOSの技術・機能を
理解し学んでいくことは大切です。

Vistaから進化した新しいユーザー・インターフェイス
http://www.atmarkit.co.jp/fwin2k/win7/04newui/04newui_01.html


特に、Windows7では、見た目はVistaと大きな違いがない印象が
あるかもしれませんが、細かなところでたくさんの部分がブラッシュ
アップされているだけでなく、機能強化、機能追加されています。

パフォーマンスもVistaよりも断然良くなって(XPと比べても遜色なくなって)
いるので、今後、XPに代わるOSとして普及が予測されるのではないでしょうか?

Windows7の特徴を少し抜粋すると、

・ジャンプリスト
・新しいタスクバー
・新しいアプリケーションの切り替え/整列
・新しいアプリケーションの最大化/最小化
・ウィンドウのスナップ/シェイク
・デスクトップの透明化
・ガジェットの自由な配置
・通知アイコンの強化/通知メッセージの共有化
・UACレベルの切り替え
・ライブラリ機能

となっています。


IT業界に視点を置くと、こういったOSの進化に、開発する
アプリケーションをどのように進化させていくか、連携させて
いくかを考え、付加価値の高い商品を生み出さないと、
どんどんと時代の波に取り残されることになります。

開発ツールのバージョンアップの中でも、こういったOSの進化に
追随する機能がたくさん盛り込まれています。

例えば、Delphiでは、Delphi2009で完全にユニコード対応になり、
ジェネリクス、無名メソッドなどの新しい言語仕様、Office2008で
採用されている新しいインターフェイスに対応した、リボンコントロール
が追加されたり、今秋発売された、Delphi2010では、Windows7の
シェイク機能を意識した、ジェスチャーコントロール(マウスの動きに
合わせてイベントを発生させる)などが導入されています。

新しい技術の全てを理解し、開発するアプリケーションに取り入れる
必要はありませんが、少なくとも、開発するアプリケーションが陳腐化
しないようにバージョンアップ、メンテナンスをおこない、いつでも、
新しい技術を取り入れられるようにスケーラビリティを確保することが
大切ではないでしょうか?

そのためにも普段からの技術力向上のための取り組みは必須です。

 

 

Windows7(ウィンドウズ・セブン)の一般発売日が日本語を含み、

2009年10月22日、14ヶ国語対応で同時発売となっている。

 

初期の開発コードネームは「Blackcomb」と呼ばれており、

のちに「Vienna」]、さらに「Windows 7」に改められている。

社内開発コード名がそのまま製品版の名称として採用された。

 

7(セブン)の由来は想像が容易かもしれないが、

Windows 1.0 / Windows 2.0 / Windows 3.x / 4.x (95, 98, 98 SE, Me)

5.x (Windows 2000, Windows XP) / 6.0 ( Windows Vista ) に続く

7番目のクライアント向けのメジャーリリースだからである。

 

しかし、Windows 7はWindows Vistaを基に改良されていることから、

バージョン番号としては、正式には6.1となっている。

Vistaと同様、Windows 7も個人向けおよび法人向けの両バージョン、そして

リテールパッケージ版には32ビットと64ビットの両バージョン同梱で出荷される。

 

今回は、Windows7購入後の環境の移行作業ついての詳細な記事が掲載されて

いたので紹介します。

 

XP/Vista→Windows 7 完全移行マニュアル

 

 残念ながら、Windows XPからWindows 7への上書きアップグレードは

サポートされていないようなので、手動による移行作業が必要になる。

 

また、Vistaからユーザ別のドキュメント等のファイルの保存場所が変更に

なっているため、いざ環境の移行作業をしようとした際に戸惑うのではない

でしょうか?

 

事前に上記の記事を読んで、概略でも理解しておきたいです。

 

最初に

"Ruby(ルビー)"は、まつもとゆきひろにより開発された和製オブジェクト指向スクリプト言語で、従来Perl、PHPなどのスクリプト言語が用いられてきた領域でオブジェクト指向プログラミングを実現することができる。特徴的な機能としては、クラス定義、ガベージコレクション、強力な正規表現処理、マルチスレッド、例外処理、イテレータ・クロージャ、Mixin、演算子オーバーロードなどである。

 

また"Rails(レイルズ)"とは、David Heinemeier Hanssonによって発表された、Webアプリケーションを簡単に開発できるフルスタックのフレームワークです。Rubyのスクリプト言語としての使いやすさと、オブジェクト指向による再利用性と生産性の高さ、動的なふるまいなどが人気を呼んでいます。

 

MVCアーキテクチャ

JavaでのStruts(ストラッツ)をはじめ、多くのWebアプリケーションフレームワークが採用している"MVCアーキテクチャ"をRailsも採用しています。その中でもRailsは、シンプルに、簡単に利用できるように考えられています。ルールに従った開発をおこなうことで余分な設定ファイルを定義することなく利用できます。この導入の容易さはとても重要です。

 

インストール

Ruby, Railsともにインストールはてても簡単です。それでは早速インストールの手順を書いていきます。Windows環境、Linux環境それぞれについて同時に説明していきます。

まずは、Rubyをインストールします。

 

[Windows環境]

以下より、One-Click installerをダウンロードします。

http://rubyforge.org/projects/rubyinstaller/

2009/2/15現在の最新のリリース版、"One-Click Ruby Installer 186-26 Final Release"

を今回はダウンロード・インストールしました。インストールは実行形式のファイルなので、

標準的に問題なくインストールできました。

※Rubyのパッケージ管理システムである、RubyGemsも同時にインストールされます。

 

[Linux環境]

私の環境のFedoraではパッケージより簡単にインストールできます。

# yum install ruby ruby-libs ruby-devel ruby-irb ruby-ri

引き続き、RubyGemsもインストールします。

#yum install rubygems

 

また、ソースからインストールするには、以下よりソースコードを入手します。

http://www.ruby-lang.org/ja/downloads/

現時点での最新版は、1.9.1でした。(パッケージでのインストールだと1.8.6)

>gzip -dc ruby-1.9.1-p0.tar.gz | tar xf -

>cd ruby-1.9.1-p0

>./configure

>make

>su

#make install

#exit

>make clean

 

同様にRubyGemsは、以下よりダウンロードします。

http://rubyforge.org/projects/rubygems/

現時点での最新版は1.3.1でした。パッケージでのインストールだと0.9.4)

>tar -xzf rubygems-1.3.1.tgz

>cd rubygems-1.3.1

>su

#ruby setup.rb

#exit

>

 

次に、Railsをインストールします。

 

[Windows環境]

コマンドラインより以下のコマンドを実行します。

>gem install rails --include-dependencies

 

[Linux環境]

シェルより以下のコマンドを実行します。

>su

#gem install rails --include-dependencies

 

以上で、それぞれの環境でそれぞれのツールがインストールされました。

Ruby,RubyGems,Railsです。バージョンはそれぞれのコマンドのオプションで、

-V を指定して実行すると表示されますし、動作確認も これでできます。

 

私の環境では、

ruby -v

->ruby 1.8.6

gem -v

->0.9.4

rails -v

->Rails 2.2.2

でした。

 

ここで1点注意点!!

パッケージやバイナリにてインストールすると、RubyGemsのバージョンが低く、

Railsの2.2.2の場合、実行することができません。RubyGemsを1.3.1以上に

アップデートしないといけないようです。

 

[Windows環境]

通常は以下のコマンドでアップデートできるのですが...。

>gem update --system

Windows環境の場合はうまく動かないようなので、以下のコマンドを実行します。

>gem install rubygems-update

>update_rubygems

RubyGemsアップデート用のパッケージをインストールして実行するという方法

 

[Linux環境]

>su

#gem update --system

 

以上で、めでたく以下のように更新され、Ruby,Railsの動作が確認できました。

>gems -v

1.3.1

 

今度は、実際にRubyの動作確認や、Railsの実行方法など、Ruby全般の解説

をしていきたいと思いますのでまた見に来てください。

 

シリアライズ

タイトルの処理は非常に簡単です。

ADODB.Recordset.Save "filename.xml", adPersistXML

ADODB.Recordset.Open "filename.xml"

これでレコードセットのXMLデータでのシリアライズ・デシリアライズはOK

 

それではシリアライズをどのように利用するかについてですが、

前の記事で書いたように、サーバからWebサービスとしてXMLデータを受信し、

クライアント側でデシリアライズしてレコードセットを生成し利用するということです。

(参考)COMを利用しJavaからADO接続してデータをXML出力

 

このことにより、クライアント側直接RDB(データベース)に接続する環境がなくても、

ADOのレコードセットの機能を使用して開発を行うことが可能です。

またクライアントもADOが利用できるツールであれば何でもOKなので、クライアント側

の選択肢も広がります(VBをはじめ、Excel等のVBA、Delphi、etc)

 

プログラミング

それでは、サーバにHTTPリクエストにてSQLを送信し、結果をXMLデータで受取り、

レコードセットに変換する処理を書いてみます(実際に動作させて検証OKのものです)

クライアントにはExcelを利用し、VBAでコードを記述しています。

 

Private Sub cmdRun_Click()
  'XMLHTTPオブジェクトの生成
  Dim oXmlHttp As Object
  Set oXmlHttp = CreateObject("MSXML2.XMLHTTP")
 
  'リクエストデータの準備
  oXmlHttp.Open "POST", "http://tomcat:8080/app/xml.jsp", False
  oXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
 
  'パラメータを送信して実行
  oXmlHttp.send UrlEncode("sql=" + Cells(1, 1).Value)
 
  '結果確認
  If (oXmlHttp.readyState = 4) And (oXmlHttp.Status = 200) Then
    '成功
    Dim RS As ADODB.Recordset
    Call GetRecordset(RS, oXmlHttp.responseText)
    Call Cells(2, 1).CopyFromRecordset(RS)
  Else
    'エラー
    MsgBox "エラーです。HTTP Status Code : " & oXmlHttp.Status
  End If
End Sub

'パラメータをUTF8でエンコードする
Public Function UrlEncode(ByVal sText As String) As String
    If Len(sText) = 0 Then Exit Function
    With CreateObject("ScriptControl")
        .Language = "JScript"
        UrlEncode = .CodeObject.encodeURI(sText)
    End With
End Function

'XMLデータからレコードセット生成
Public Sub GetRecordset(RS As ADODB.Recordset, sXml As String)
  Dim oStream As ADODB.Stream
  Set oStream = New ADODB.Stream
  oStream.Open
  oStream.WriteText sXml
  STR.Position = 0
  Set RS = New ADODB.Recordset
  RS.Open oStream
End Sub

 

  • 配置したボタンをクリックすると、XmlHttpオブジェクトを使用し、サーバーへ
    セル"A1"に書かれたSQL文をPOSTデータで送ります。
    POSTデータはUTF8でエンコードします。
  • レスポンスで受け取ったXMLデータをADODB.Streamオブジェクトを利用し、
    レコードセットを生成しています。
  • 生成されたレコードセットのデータを、セル"A2"へコピーしています。

※POSTするSQL文はSELECT文のみ考慮しており、セキュリティ対策等は特に考慮

していないので実際に類似の運用を行う場合は十分考慮することが必要です。

※ADODB.StreamオブジェクトはADO2.5から追加されたオブジェクトなので、

ADOのライブラリのバージョンには注意が必要です。

 

以上、サンプルになりますが、

逆にクライアント側で更新したレコードセットをシリアライズし、サーバへポストして

更新系のアプリケーションも作成することも可能でしょう。