<< 2010/04/07 | Home | 2010/04/09 >>

プロになるためのWeb技術入門

技術評論社様より「プロになるためのWeb技術入門」を頂きました。



「システム」といえば 「Web ベースのシステム」、「システム開発」といえば 「Web アプリケーション開発」を暗黙的に指すくらい 「Web」という技術は急速に普及してきました。
この本では旧来のデスクトップアプリケーションと Web アプリケーションの違いから始まり、WWW普及の経緯、Web 開発において使われる技術要素、そしてセキュリティ上の注意事項まで体系的に説明されています。

最近のプログラマ、システムエンジニアは社会に出る前から携帯やPCに慣れ親しんでおり空気のようにWebを駆使しているかと思います。
しかし、その Web 技術の根底にある基礎的な知識や仕組みがよく分からないまま「これはそういうもの」「これはおまじない」といった形で詳細には目をつぶって Web システム開発に当たっている方も多いのではないでしょうか。
そういった基礎知識がなくてもサーブレットやWebアプリケーションフレームワーク、データベースやSQLなどの知識があれば Web システム開発は行えますが、この本で詳しく説明されている「Webとは何か」を理解出来ていないといざというとき大きな壁にぶつかって開発やトラブルシューティングが困難になってしまいます。
この本を通して読むことでなぜ Web アプリケーションフレームワークを使うのか、どういうときにセキュリティ上の欠陥が発生するのか「勘どころ」がつくようになりそうです。
言語としては主に PHP と Java が出てきますが、全体の構成としては言語に依存しない内容となっています。
特に 7章の「セキュリティを確保するための仕組み」は全ての Web 開発者が把握しておくべき大事なことが書かれています!

これから Web システムの開発者になりたい方にも、既にバリバリと Web システム開発を行っているけれどもお客様に細かいところを聞かれるとタジタジしてしまう・・という方にもお勧めな本です。

目次:
Lesson 0 プロローグ
Lesson 1 「Web アプリケーション」とは何か
Lesson 2 Web はどのように発展したか
Lesson 3 HTTP を知る
Lesson 4 CGI から Web アプリケーションへ
Lesson 5 Web アプリケーションの構成要素
Lesson 6 Web アプリケーションを効率よく開発するための仕組み
Lesson 7 セキュリティを確保するための仕組み
Lesson 8 おわりに
Lesson 9 付録

明日4月8日発売です。

ちなみにこの本は有名な「なぜ、あなたはJavaでオブジェクト指向開発ができないのか」の姉妹本という位置づけのようです。


関連記事:
[執筆]「プロになるためのWeb技術入門」発売しました - こもりん日記
[執筆]「プロになるためのWeb技術入門」4/9発売! - こもりん日記
「なぜ、あなたはJavaでオブジェクト指向開発ができないのか」6刷増 - こもりん日記

タグ :
このエントリーをはてなブックマークに追加   

JIRA 4.1 のインストール/アップグレード(バージョン 4.0.2 から)

JIRA はAtlassian社のJava ベースのバグトラッキングシステムで、ApacheCodehausでも使われています。
とっつきやすさと高機能をうまく両立しており、また見た目が洗練されている素晴らしい製品です。
オープンソースプロジェクトへは無償ライセンスを提供してくれるので私のプロジェクトでも使っています

今回はアップグレードですが、新規インストールの手順もほとんど同じです。

JIRA のバージョンは 4.0.2 から 4.1 になりました。

1. 現行 JIRA のバックアップ、新規インスタンスでインポート
既存 JIRA インスタンスより、
ADMINISTRATION > Import & Export > Backup Data to XML
File name: /Users/yusukey/jirabackup100310.xml > "Backup"

無事成功すると Data exported to: /Users/yusukey/jirabackup100310.xml と表示されます。
ここで現行インススタンスはシャットダウンします。

2. Atlassian より最新版をダウンロード
http://www.atlassian.com/software/jira/JIRADownloadCenter.jspaより atlassian-jira-enterprise-4.1-standalone.tar.gz をダウンロードしました。

3. MySQL への接続設定
既存データベースに接続させることもできるけれども、最適なスキーマを作るには新規にデータベースを用意した方が良いとのことです。

$ ./mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 14605
Server version: 5.0.45 MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database jira410 character set utf8;
Query OK, 1 row affected (0.07 sec)

mysql> ^DBye

conf/server.xml 内に以下の様に記述し、コネクションプールを設定&コンテクストパスを"/jira"に設定。
<Context path="/jira" docBase="${catalina.home}/atlassian-jira" reloadable="false">
<!-- <Resource name="jdbc/JIRADS" auth="Container" type="javax.sql.DataSource"
driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:${catalina.home}/database/jiradb"
username="sa"
password=""
minEvictableIdleTimeMillis="4000"
timeBetweenEvictionRunsMillis="5000"
maxActive="20"
/>
-->
<Resource name="jdbc/JIRADS" auth="Container" type="javax.sql.DataSource"
username="yusukey"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/jira410?useUnicode=true&amp;characterEncoding=UTF8"
minEvictableIdleTimeMillis="4000"
timeBetweenEvictionRunsMillis="5000"
maxActive="20" />


JDBC ドライバ mysql-connector-java-5.0.4-bin.jar を lib 以下にコピー。MySQLのドライバは同梱されているのでドライバのコピーは不要でした。

4. JIRA のデータソース設定
atlassian-jira/WEB-INF/classes/entityengine.xml を修正
接続 DB を hsql から mysql に、schema-name を削除。
99:    <datasource name="defaultDS" field-type-name="hsql"
100: schema-name="PUBLIC"

99: <datasource name="defaultDS" field-type-name="mysql"
100: <!--削除-->



5. メールセッションの設定
conf/server.xml 内に以下の様に追記してメールセッションを有効にします。
<Context path="/jira" docBase="${catalina.home}/atlassian-jira" reloadable="false">
<Resource name="mail/jiraMail"
auth="Container"
type="javax.mail.Session"
mail.transport.protocol="smtp"
mail.smtp.host="smtp.gmail.com"
mail.smtp.port="465"
mail.smtp.auth="true"
mail.smtp.user="jira@yusuke.homeip.net"
password="****"
mail.smtp.starttls.enable="true"
mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory"
/>


また、atlassian-jira/WEB-INF/lib/ 以下の activation-1.1.1.jar と mail-1.4.1.jar を lib/ 直下に移動します。
atlassian-jira-enterprise-4.1$ mv ./atlassian-jira/WEB-INF/lib/activation-1.1.1.jar lib/
atlassian-jira-enterprise-4.1$ mv ./atlassian-jira/WEB-INF/lib/mail-1.4.1.jar lib/


これは Tomcat レベルでメールセッションを設定する場合、クラスパスの階層の兼ね合いから JIRAの WEB-INF/lib 以下に JavaMail 関連のライブラリがあるとメール送信時に NoClassDefFoundError が発生してしまうからです。
JIRA の管理画面で smtp サーバを設定する場合はこの手順は不要です。
しかし、JIRA の管理画面からは Gmail 等 SSL しか受け付けない SMTP サーバを設定する場合必要になります。
参考:
Using Gmail as a JIRA Mail Server
Configuring JIRA to Send SMTP Mail

6. jira.home の設定
atlassian-jira/WEB-INF/classes/jira-application.properties の jira.home に任意のディレクトリを絶対パスで指定します。
jira.home=/Users/yusukey/jirahome


7. 起動パラメータの調整
ヒープサイズ、Permanent領域サイズを bin/setenv.sh では以下のように設定しました。
JVM_MINIMUM_MEMORY="170m"
JVM_MAXIMUM_MEMORY="170m"
JIRA_MAX_PERM_SIZE=160m

8. JIRA の起動
バージョン4.1から起動時に以下の様に Because you have issues! というファンキーなロゴが表示されるようになったみたいです。

MMMMMMMMMM .,MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMM. OMM. ~MM.. MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMDMMZ7MMMMMMMMN7DMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMDMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMZ IMMM ..MMN= ,8MO 8 IN +DM8 ?MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMM ..OI . 8I...MMMO 8 IN M7 ,MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMN, . +MMMMMO 8 IN =O M~ ~..$MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMM~... +MMMMMMO 8 IN . . IN I..+MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMI . OMMMMMMMO 8 IN := ,O =8 MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMD ... .MMMMMMO 8 IN =O + .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMM, =N. .7MMMM~. 8 IN =O :. =M. .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMM, . MMD. .+MMM= :$M IN =O , IM: .MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
____ _ _ _
| _ \ | | (_) | |
| |_) | ___ ___ __ _ _ _ ___ ___ _ _ ___ _ _ | |__ __ ___ _____ _ ___ ___ _ _ ___ ___| |
| _ | / _ \/ __/ _` | | | / __|/ _ \ | | | |/ _ \| | | | | '_ \ / _` \ \ / / _ \ | / __/ __| | | |/ _ \/ __| |
| |_) | __/ (_| (_| | |_| \__ \ __/ | |_| | (_) | |_| | | | | | (_| |\ V / __/ | \__ \__ \ |_| | __/\__ \_|
|____/ \___|\___\__,_|\__,_|___/\___| \__, |\___/ \__,_| |_| |_|\__,_| \_/ \___| |_|___/___/\__,_|\___||___(_)
__/ |
|___/

JIRA Standalone Edition
Version : 4.1


9. データのインポート
JIRA にアクセスし、インポート。
Import Existing Data
File name: /Users/yusukey/jirabackup100408.xml

10. アップグレード完了!
以上でバージョンアップが完了。

関連記事:
JIRA 4.0.0 から JIRA 4.0.2 へのアップグレード - 侍ズム
アトラシアン(Atlassian)製品の価格と購入方法
Atlassian が JIRA4 をリリース - 指名ユーザライセンス制を導入 - 侍ズム
JIRA 3.13.1 へ FishEye プラグイン 2.3 をインストール
JIRA をバージョン 3.13.1 へアップデート - 侍ズム
FishEye 1.6.3 のインストール
JIRA をバージョン 3.12.3 へアップデート

このエントリーをはてなブックマークに追加