sbtでPlay!

引き続き、Play2.0学習中。
Pluginを使用したく、ソースコードからBuild。
sbtの使用は、初めてなので覚え。

開発環境は、winXP
事前にsbtをインストールしておく
GitHubから必要なPluginをzip download。
適当なフォルダに展開。
コマンドラインより
  projectフォルダに移動。
>cd \play_plugin\Spring4Play2\project-code
  コマンド"sbt"を実行。
>sbt
コンパイルするため、コマンド"compile"を実行。
[Spring] $ compile
  リコンパイルする際には、事前にcleanコマンドでtarget配下を削除。
正常終了すれば、jarにまとめるため、コマンド"package"を発行。
[Spring] $ package
プロジェクトフォルダ配下のtarget\scala2.9.1フォルダにjarが生成される。

TESTでPlay!

PlayFramework2.0.1を学習中。

eclipsfyを使用して、eclipseでコーディング。
TDDに取り組みたく、テストアノテーションで、テストプログラムを実装。
Play1.2.4では、コンソールでtestコマンドを実行しておけば、
(runコマンドを発行したの時の、実装モジュールのコーディングと同じイメージで)
1.eclipseでテストプログラムを保存。即時コンパイル
2.eclipse上で、Junitテストを実行/確認。

Play2.0.1では、コンソールでtestコマンドを実行すると
test runnerが起動し、その場でテストプログラムがコンパイル/実行
その場で実行結果出力されてしまう。
挙動を見る限り、eclipseでテストプログラムを保存しても、自動でコンパイルされない。

testプログラムのコンパイルは、
コンソールでtestコマンドを発行する以外は内容に思える。(!!)
コンソールの実行結果では、情報が少ない。eclipseの実行結果を確認したい。
Play1.2.4の時のようなサイクルでTDDを行おうと思うと

1.eclipseでテストプログラムを保存。
2.コンソールでtestコマンド発行。
3.テストプログラムがコンパイルされ、実行される。(実行結果出力に不満)
4.eclipse上で、Junitテストを実行/確認。

あと1つ以上テストプログラムを作成しても、コンソールからtestコマンド
発行しても、実行されるテストは一つだけ??
Eclipseでプログラム指定をすれば、いずれも実行可能だが)

なんとかならないか。もう少し調査が必要。

EclipseでPlay!

友人に勧められ、Play!勉強中。
チュートリアルを、SAKURAを使用して、がむしゃらに進めるが生産性が悪い。
IDEを使用したくてググってみた(感謝です)。
Playに、eclipsify コマンドというの用意されているらしい。
Play new でPlay!アプリケーション作成後、以下のコマンドを発行
D:\play_sample>play eclipsify yabe←プロジェクト名

あとは、Eclipseで、ファイル->インポート->既存のプロジェクトをワークスペースへでインポート。出来た!!

アプリケーションの起動、テストモードでの起動は、
eclipseフォルダしたの各lunchを実行。

ブラウザでアクセスすると

素晴らしい!

PHP5.3へのバージョンアップ

一年に最低一つの言語習得を目標に、7月ぐらいから、PHPの勉強を始めた。
5ヶ月たち、勤務先の業務アプリへの適用も目処が立ち
一区切りつけようとおもったら、使用しているバージョンが旧いことに気づいた。

現環境は
windowsXP
apache2.2
php:5.2.17

php5.3.8へのバージョンアップを試みる。
こちらから、windows版のbinaryをダウンロード。
解凍後、pathを通し、apache httpd.confのLoadModule php5_module と
PHPIniDir を新環境に変更するが
apacheの起動でエラー発生!
VC9版のためかとか、いろいろ試みるがエラーが発生する。
初心に帰り、phpのインストール手順を見直すと

phpのインストール
1.ダウンロードしたファイルを適当なフォルダに解凍。
2.解凍フォルダ内のphp5ts.dllをC:\WINDOWS\system32にコピー!

そうだ! 5.2.17インストール時にも、コピーした記憶があり、
5.3.8のphp5ts.dllをC:\WINDOWS\system32にコピーを試みると
上書きの警告。

次のバージョンへの、UP時に繰り返しそうなので、覚書に。

CakePHP oracle接続

先日からの続き
CakePHPDB2接続しては見たが、
ページネータがうまく動かない。(OS400 V5ではlimit関数が使えないためとの事)
charsetでUTF-8の使用に、運用的な問題あり。
等の課題がある。
そこで、oracleの利用を検討中。
solaris9のoracle 9.2へ、windows XPのapache2.2へ配置したCakePHPからアクセス。

oracleの接続にOCIを利用
OTNより、Instant Clientをダウンロード。
(Instant Client Package - Basic: All files required to run OCI, OCCI, and JDBC-OCI applications
instantclient-basic-nt-11.2.0.2.0.zip)
適当なところに解凍し、pathを通す。
解凍したフォルダに、tnsnames.oraを配置。

CakePHPのdatasource.php
class DATABASE_CONFIG {

var $default = array(
'driver' => 'oracle',
'connect' => 'oci_connect',
'persistent' => false,
'host' => ホスト名,
'login' => ユーザー名,
'password' => パスワード,
'database' => tnsnames.oraのネットサービス名 ,
'prefix' => '',
'charset' => 'utf8'
);

ローカルホストにMTAを設定

CakePHPでQdmailをサンプリング。
ローカルなクローズ環境でテストをしたくて
ローカルホストにMTAを設定。

参考にしたのはこちら。感謝です。
apache jamesを利用。
hostsファイルのlocalhostをdefault.localに変更。
localhostのままでは、email形式のvalidateでエラーとなる恐れがあるため。

apache jamesをダウンロードして解凍。
./bin/run.batで起動。
telnetlocalhostポート4555に接続し、ユーザー作成。id:root / PASS:root。
>adduser testuser password
設定ファイルの変更
severname(前述のhostsファイルの変更)
default.local
実在しないユーザーでのエラー回避
の部分を削除
リモートへの送信回避
の部分削除
存在しないローカルアドレスと、全リモートアドレス宛のメイルを特定な、メイルアドレスにフォワードするなら以下を追加

test1@default.local

mysql5 パスワードのリセット

前の日記に書いたとおり
ubuntu 11.04にて開発環境構築中
mysql5のインストールはしたが、アクセスしようとすると
Access denied for user 'root'@'localhost'」
と怒られる。
グーグル先生で調べると、mysqlインストール後に、まずパスワードのリセットが必要。
手順を覚えに
1.mysqlデーモンプロセスを停止
sudo /etc/init.d/mysql stop

2.mysqlデーモンプロセスを --skip-grant-tables オプションで起動
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
3.mysqlクライアントプロセスを起動
mysql -u root
4.mysqlプロンプトでパスワードの変更可能にするコマンドを実行
FLUSH PRIVILEGES;

5.その上でパスワードのリセット/更新を実施
SET PASSWORD FOR root@'localhost' = PASSWORD('password');

6.localhost以外から接続するのであれば、以下の変更も
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE user='root';

最後にmysqlの再起動を行いおしまい。
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

あとは、mysqladminにて、データベース(Ex:test)を作成。
     misqladmin -u root -p create test