xFramework2.1.1aリリースと、今後。 
水曜日, 12月 27, 2006, 05:39 PM -  PHP
ども、小堤です。

さて、先日さらっとxFramework2.1.1aをリリースしました。
Preview3ではなくαステータスで出しました。
要するに、いまの実装が2.1.1に実装される機能だよってことです。

いまテスト開始しています。弊社でのテストが完了したら、βステータスにあげてリリースします。

うちの会社でも2.1.1がしばらくメインバージョンになりそう。

そしてサイトのFutureに記述されているようにFLEX対応がそろそろ始まります。
何がどうなるのか・・とかはまだ秘密ですが(笑

さて、正月は無いかな・・・。
コメントを書く   |  このエントリーのURL   |  related link   |   ( 2.8 / 9 )

STATICクラスとsingletonパターンの適用 
日曜日, 12月 24, 2006, 02:48 AM -  PHP
久々にプログラマ的な内容を。
っといってもメモみたいなもんだけども。

xFrameworkを開発しているときに気にしながらやっていることなのですが、xFramework内でいくつか、すべてのメソッドが静的(Static)なクラスが存在します。これは共通の機能を提供するクラスなのですが、なぜ静的なのか。
静的にしてしまうと、ソースコードが読み込まれた時点でインスタンス(クラスインスタンスは存在しませんが、メソッド自体はメモリロードされているという意味で)が存在するので、それを利用してクラスを生成しなくても利用ができるわけです。
これって、メモリくうんじゃない?って思う人もいるかもしれません。

そこで、singletonパターンというデザインパターンと比較してみます。
これは、インスタンスが1つであることを保証するためのパターンです。別に1つじゃなくてもいいんだけどもね。
共通処理で、いくつもクラスのインスタンスが生成されてはこまる、無駄などは、singletonパターンを使おうが、Staticだろうが同じく解決してくれます。

んじゃ、なんで静的な方を選んでいるのか。

答えは簡単で、singletonパターンの場合、クラスインスタンスを消したり、自動変数の用に自動的に破棄されたりすることを期待する場合は、singletonパターンを選択したでしょう。しかし、ブートストラップ内で処理を行っている中で、その機能を利用する度に、インスタンスを取得するステップが発生してしまいます。これは高速動作させるためのブートストラップとしては致命的なため、今回は静的な形を多様しているところがあります。

なんて、それっぽいこと書いたけどあってるのか?(笑)
先日購入した下記の書籍は、そんなデザインパターン自体PHPで使うのか?なんて思ってたり、むずかしそうだからいいや、って思ってる開発者にお勧めです。




アライアンスパートナーの増加 
金曜日, 12月 22, 2006, 06:48 PM -  PHP
ども、小堤です。
ちょっとふわふわしております(笑)疲れてるのかな。

さて、前にびっくりするクライアントからお話が・・と書いたことがありますが、正式にきまりましたので、発表できます!

ゼンド・ジャパン株式会社です。

あとで会社とxFrameworkのサイトも更新しますが、先出しでアライアンスパートナーになっていただいたことを発表します。

はぁ〜すごいねぇ・・ゼンド・・・びっくりしましたわぁ。
まぁ今後の話も色々させてもらったので、使っていただいている皆さんにも少しずつそういった情報を提供させていただければ幸いです。

さて、らしくない日記になっちゃいましたが、そんなかんじで(笑


xFramework パッケージインストーラーおよびパッケージビルダー 
火曜日, 12月 19, 2006, 07:43 PM -  PHP
はきそうです、小堤です。

さて、前からぼやいているパッケージインストーラーを今作っているフォーラムに適用してインストール出来るようにしています。ただつくるだけじゃなくて、パッケージインストーラーとして、XMLを記述するだけで画面が出来ていく仕組みにしました。
まだ実際のインストール作業部分はできていないんだけども、まぁ数日あれば・・・。

ってことで、下記の様な感じのものが・・・



<?xml version="1.0" encoding="Shift_JIS"?>
<wizard>
<title>xForumインストールウィザード</title>
<copyright><![CDATA[Copyright &copy;2006 Xenophy.CO.,LTD All Rights Reserved.]]></copyright>
<step>

<!-- アイコンファイル名 -->
<icon>icon_before_check.gif</icon>

<!-- タイトル -->
<title>設置前チェック</title>

<!-- 概要 -->
<description><![CDATA[表示要素が赤く表示されている場合は、設定を修正してください。すべてが緑色の状態でインストールを行わない場合、xForumのインストールに失敗する場合があります。]]></description>

<!-- ボタン設定
next :次へボタン
prev :前へボタン
reload:再読込ボタン
-->
<buttons>
<button>
<type>next</type>
<text>次へ</text>
</button>
<button>
<type>prev</type>
<text>前へ</text>
</button>
<button>
<type>reload</type>
<text>もう一度読み込む</text>
</button>
</buttons>

<!-- 配置アイテム -->
<items>
<item>
<title>_library/txtDBTblPrefix_tbl_article.class.php</title>
<type>is_writable</type>
<name>bWrite_tbl_article</name>
<true>
<msg>書き込み可能</msg>
</true>
<false>
<msg>書き込み不可</msg>
</false>
<path>%XF_EXEC_SCREEN_PATH%../_library/txtDBTblPrefix_tbl_article.class.php</path>
</item>
<item>
<title>_library/txtDBTblPrefix_tbl_forum.class.php</title>
<type>is_writable</type>
<name>bWrite_tbl_article</name>
<true>
<msg>書き込み可能</msg>
</true>
<false>
<msg>書き込み不可</msg>
</false>
<path>%XF_EXEC_SCREEN_PATH%../_library/txtDBTblPrefix_tbl_forum.class.php</path>
</item>
<item>
<title>_library/txtDBTblPrefix_tbl_thread.class.php</title>
<type>is_writable</type>
<name>bWrite_tbl_article</name>
<true>
<msg>書き込み可能</msg>
</true>
<false>
<msg>書き込み不可</msg>
</false>
<path>%XF_EXEC_SCREEN_PATH%../_library/txtDBTblPrefix_tbl_thread.class.php</path>
</item>
<item>
<title>_actions/setLiveRecordArticle.class.php</title>
<type>is_writable</type>
<name>bWrite_tbl_article</name>
<true>
<msg>書き込み可能</msg>
</true>
<false>
<msg>書き込み不可</msg>
</false>
<path>%XF_EXEC_SCREEN_PATH%../_actions/setLiveRecordArticle.class.php</path>
</item>
<item>
<title>_actions/setLiveRecordForum.class.php</title>
<type>is_writable</type>
<name>bWrite_tbl_article</name>
<true>
<msg>書き込み可能</msg>
</true>
<false>
<msg>書き込み不可</msg>
</false>
<path>%XF_EXEC_SCREEN_PATH%../_actions/setLiveRecordForum.class.php</path>
</item>
<item>
<title>_actions/setLiveRecordArticle.class.php</title>
<type>is_writable</type>
<name>bWrite_tbl_article</name>
<true>
<msg>書き込み可能</msg>
</true>
<false>
<msg>書き込み不可</msg>
</false>
<path>%XF_EXEC_SCREEN_PATH%../_actions/setLiveRecordThread.class.php</path>
</item>
</items>

</step>
<step>

<!-- アイコンファイル名 -->
<icon>icon_license.gif</icon>

<!-- タイトル -->
<title>ライセンス</title>

<!-- 概要 -->
<description><![CDATA[xForumは、LGPLライセンスでリリースされているフリーウェアです。]]></description>

<!-- ボタン設定
next :次へボタン
prev :前へボタン
reload:再読込ボタン
-->
<buttons>
<button>
<type>next</type>
<text>次へ</text>
</button>
<button>
<type>prev</type>
<text>前へ</text>
</button>
</buttons>

<!-- 配置アイテム -->
<items>
<item>
<title>ライセンス条文</title>
<type>iframe</type>
<url>http://www.gnu.org/licenses/lgpl.txt</url>
</item>
</items>

</step>
<step>

<!-- アイコンファイル名 -->
<icon>icon_db.gif</icon>

<!-- タイトル -->
<title>MySQLデータベース構成設定</title>

<!-- 概要 -->
<description><![CDATA[xForumをサーバに設置するために、MySQLデータ構成設定を行います。下記の入力項目に必要な情報を入力してください。]]></description>

<!-- ボタン設定
next :次へボタン
prev :前へボタン
reload:再読込ボタン
-->
<buttons>
<button>
<type>next</type>
<text>次へ</text>
</button>
<button>
<type>prev</type>
<text>前へ</text>
</button>
</buttons>

<!-- 配置アイテム -->
<items>
<item>
<title>ホスト名</title>
<name>txtDBHostName</name>
<type>text</type>
<value>localhost</value>
</item>
<item>
<title>ユーザ名</title>
<name>txtDBUserName</name>
<type>text</type>
<value>localhost</value>
</item>
<item>
<title>パスワード</title>
<name>txtDBPassword</name>
<type>text</type>
</item>
<item>
<title>データベース名</title>
<name>txtDBName</name>
<type>text</type>
</item>
<item>
<title>テーブル頭文字</title>
<name>txtDBPrefix</name>
<type>text</type>
</item>
<item>
<title>その他</title>
<name>chkOther</name>
<type>checkbox</type>
<separate>1</separate>
<checkboxes>
<checkbox>
<text>テーブルを空にする</text>
<value>true</value>
<name>chkTblEmpty</name>
</checkbox>
<checkbox>
<text>テーブルバックアップ</text>
<value>true</value>
<name>chkTblEmpty</name>
</checkbox>
<checkbox>
<text>サンプルデータ</text>
<value>true</value>
<name>chkTblEmpty</name>
</checkbox>
</checkboxes>
</item>
</items>

</step>
<step>

<!-- アイコンファイル名 -->
<icon>icon_path.gif</icon>

<!-- タイトル -->
<title>タイトル名の設定</title>

<!-- 概要 -->
<description><![CDATA[xForumに、ご利用目的にあわせたタイトルを設定してください。]]></description>

<!-- ボタン設定
next :次へボタン
prev :前へボタン
reload:再読込ボタン
-->
<buttons>
<button>
<type>next</type>
<text>次へ</text>
</button>
<button>
<type>prev</type>
<text>前へ</text>
</button>
</buttons>

<!-- 配置アイテム -->
<items>
<item>
<title>タイトル名</title>
<name>txtForumTitle</name>
<type>text</type>
</item>
</items>

</step>
<step>

<!-- アイコンファイル名 -->
<icon>icon_admin.gif</icon>

<!-- タイトル -->
<title>管理者情報の設定</title>

<!-- 概要 -->
<description><![CDATA[xForumを管理するユーザ情報を設定してください。]]></description>

<!-- ボタン設定
next :次へボタン
prev :前へボタンの
reload:再読込ボタン
-->
<buttons>
<button>
<type>next</type>
<text>インストール</text>
</button>
<button>
<type>prev</type>
<text>前へ</text>
</button>
</buttons>

<!-- 配置アイテム -->
<items>
<item>
<title>ユーザ名</title>
<name>txtAdminName</name>
<type>text</type>
<value>localhost</value>
</item>
<item>
<title>パスワード</title>
<name>txtAdminPassword</name>
<type>text</type>
</item>
</items>

</step>
<step>

<!-- アイコンファイル名 -->
<icon>icon_complete.gif</icon>

<!-- タイトル -->
<title>インストール完了</title>

<!-- 概要 -->
<description><![CDATA[おめでとうございます。xForumのインストールが完了しました。”サイト”ボタンをクリックしてウェブアプリケーションを開始してください。]]></description>

<!-- ボタン設定
next :次へボタン
prev :前へボタンの
reload:再読込ボタン
-->
<buttons>
<button>
<type>next</type>
<text>サイト</text>
</button>
</buttons>

</step>
</wizard>


って感じのXMLを記述することで生成出来ます。
まぁ・・・こんなんじゃさっぱりわかんないよね・・(^^;
そのうちパッケージビルダーという作ったアプリケーションに対してこういうXMLとパッケージインストーラーを結合するCLIモジュールをxFrameworkに内蔵します。Preview3に入れたいと思っているわけですが、年内にだせるのかなぁ・・・。

結構XMLで画面や入力項目ができていくのは、HTML書いているみたいな感じなんだけども、それがディレクトリ名の変更や、DB名の指定なんかに使える状態でできていく様は結構おもしろいです(わら

がんばって早くだせるようにがんばりますわぁん。
xFrameworkのサイトの方も結構きていただいているみたいなので、そろそろドキュメントもおっつけていかないと・・・フォーラム、xFramework Preview3リリースしたら再会する予定です。


コメントを書く   |  このエントリーのURL   |  related link   |   ( 2.9 / 19 )

死んでます。 
火曜日, 12月 19, 2006, 01:13 PM -  PHP
全然書き込みをしないで、おいっ死んでるんじゃないのか?!と心配されていると勝手に思っている小堤です。こんにちは。

さて、全然関係ないけども、ブルードラゴン買いました(笑)遊んでる場合かぁっ!ってはなしもありますが、GEOにいったら売ってたのでついつい・・・最近のゲームはすごいですなぁ。毎度のことながら時間がないので、ちょっとしかできていないのですが、まぁ休みの日はブルードラゴンちょろちょろやろうかなぁと。

xFrameworkの方ですが、フォーラムもユーザ側の作成が終わり、いま他のスタッフが細かいテストを行っています。同時に僕の方は、前にいったパッケージインストーラーを作成しています。XMLを記述するだけで、開発者が自分の作ったウェブアプリケーションのインストーラーを作成出来る仕組みです。

やっぱウェブアプリケーションの開発をして、納品するときにインストーラーがついていると、お客さんとしても、設置側としても安心するとおもって。

xFramework2.1.1preview3にこれをくみこめたらいいなぁと思っているわけです。
機能の増加を考えると、マイクロバージョンアップでいいのか?という声もありましたが、本来2.1の時にいれたかったことなので、「有り」ってことにしてください(^^;

xFramework,Xenophy,そしてこのブログのカウント数も徐々にあがってきて、いったい誰がみてるんだろーと、もじもじしています。
もじもじ解消のために、興味ある人は連絡ください(笑)テンションがあがります(ぉ

ってことで、生きているよ!報告でした。


Next