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接続
先日からの続き
CakePHPでDB2接続しては見たが、
ページネータがうまく動かない。(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で起動。
telnetでlocalhostポート4555に接続し、ユーザー作成。id:root / PASS:root。
>adduser testuser password
設定ファイルの変更
severname(前述のhostsファイルの変更)
実在しないユーザーでのエラー回避
リモートへの送信回避
存在しないローカルアドレスと、全リモートアドレス宛のメイルを特定な、メイルアドレスにフォワードするなら以下を追加
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