. てやんでい!職人気質 ブースターテクノロジー Webシステム開発 . .

社長日記

FlexでTabキー以外のフォーカス移動
例えば、TextInputがたくさんあるようなFlexの入力画面で、 Tabキーによる移動だけでなく、Enterキーでも移動したい!という場合。
/**
 * 次のタブへ移動
 */
public function nextInput( e:KeyboardEvent):void
{
    //enterが押された場合
    if (e.keyCode == 13)
    {
        //次の項目にフォーカスを移動
        this.focusManager.getNextFocusManagerComponent().setFocus();
    }
}
ビューからフォーカスを取得し、次の項目を取得し、フォーカスをセット。

--
2008年05月14日


Apache2が起動できない

Apache1.3系とApache2.2系がインストールされているWindowsXPでApache2が起動できない。当然2重起動はない。
なぜ?

そこである記憶がよみがえった。
『Skype起動してるとApacheがあがらない』というフレーズ。
そういえば誰かいってたな。

Skype止める ⇒ Apache2起動 ⇒ OK!

Skypeの詳細設定で
『上記のポートに代わり、ポート80を使用』がデフォルトで『チェック』になっているので80番がバッティングしていた。
このチェックは外しておこう。

--
2008年05月08日


NVL関数の代わり

OracleでいうNVL関数の代わりになるようなもの。

[MySQL]
ifnull関数でnull値を代替。
> select ifnull(admin_name,'null desu') from admin;

[PostgreSQL]
coalesce関数で、最初のnull でないデータを返す。
> select coalesce(null, admin_name, 'null desu') from admin;

--
2008年04月28日


ExpressionEngineでCodeIgniter

ExpressionEngine2で完全にCodeIgniter化されるらしい。
ExpressionEngine 2.0: fully CodeIgnited!

ExpressionEngine自体を全く知らなかったので、全くノーマークでしたが、海外ではかなり使われているCMSツールらしい。
それがCodeIgniter化するので、日本でもCodeIgniterがメジャーになるかもしれない。

--
2008年04月20日


FlexのDatagridのマメ知識

■Datagridの列をドラッグ&ドロップで入れ替えた際のイベント
⇒ Datagrid の headerShift イベント。
IndexChangedEvent クラスのイベントが発生。

■Datagridの列幅を広げた際のイベント
⇒ Datagrid の columnStretch イベント。
DataGridEvent クラスのイベントが発生。

--
2008年04月10日


coreserver使ってみた

テスト用のレンタルサーバによくxreaを使っていたのですが、選択したサーバによっては使い物にならないくらいパフォーマンスが悪い場合が多々ありました。
価格がとても安いので、あまり文句もいえず、我慢して使うことが多かったのですが、上位サービスである、『coreserver』を試してみました。

いいです。
価格が安い割に、パフォーマンスは非常にいいですし、MovableTypeもサクサク動きました。
PHPもMySQLも問題ありません。
普通のサイト作る分には充分だと判断しています。

--
2008年04月07日


Flexでカレンダーを作ってみた

Flexでちょっと複雑なカレンダーを作ろうとすると
DateChooserの拡張ではきつい。

DateChooserのソースをがちゃがちゃいじって・・・ってやるくらいなら全部作った方が早い。
カスタマイズも自由にできるし。
とりあえず動くレベルで作ってみた。
⇒ サンプル

Google Calendarみたいに会議の予定とか入れるようすることももちろん可能。あとは細かい仕様次第で。

--
2008年03月24日


DBDesignerからPropel用定義ファイルを生成

Propel用の定義ファイル(schema.xml)を生成するツールがないかなと探していたら、やはりあった。

DBDesignerで作成したファイルから生成可能。
DB Designer 4 TO Propel Schema Converter

これでschema.xmlを作成する工数が大幅に削減可能。
なければ作ろうと思っていたけど、充分使える。
うれしい。感謝。

--
2008年03月21日


PostgreSQLからschema.xmlを生成する際のエラー

■問題
Propelではcreoleを使って、schema.xmlを既存DBから生成できる。

> propel-gen ./ creole
で可能だが、DBがPostgreSQLの場合、エラーが発生する。

[propel-creole-transform] There was an error building XML from metadata: Could not list sequences [Native Error: ERROR: column "name" does not exist

■対策
PgSQLDatabaseInfo.php を修正すればOK。
http://propel.phpdb.org/trac/ticket/330

■結果
無事にschema.xml が生成された!

--
2008年03月18日


BlazeDSを使ったパフォーマンス測定

[目的]
・BlazeDSを使ったRemoteObject通信がどれほど高速なのか知る

[条件]
・WindowsXP SP2、Tomcat6.0.16、MySQL5.0.45、Java1.6.0_02、BlazeDS 3.0.0.544
・MySQLの1つのテーブルに10万件格納しておく
※1レコード約50バイト
・全件取得するSQLを実行

[テスト]
・Flex側で取得ボタンを押して、datagridに表示されるまでの時間を測定

[結果]
・RemoteObject(BlazeDS) ⇒ 3~4秒
・HTTPService (XML) ⇒ 27~28秒

ちなみに1万件の場合は、
・RemoteObject(BlazeDS) ⇒ 0.2秒
・HTTPService (XML) ⇒ 2秒

圧倒的に速い。
使うべし。

--
2008年03月13日


Flysprayを使ってみる

Trac以外で何か良いバグ管理ツールがないかと思い、探していたら
バグ管理ツール『Flyspray』に出会った。
・PHP + MySQL でOK。
・インストールはMovableType並に簡単
・言語で『ja』を選べる

などなど動作も直感的だし、普通に使えると思った。

その他には、
・Bugzilla3.0 はPerlの必須モジュールのインストールで手間取る。。
・Mantisは見た目や操作感が直感的でなかった。

--
2008年03月04日


CodeIgniterを使ってみた

知人が『日本CodeIgniterユーザ会』に所属しており、『CodeIgniter』を紹介されたので使ってみた。
#PHPのMVCフレームワーク

まずは設定後、チュートリアルにしたがってHello Worldアプリを作成する。
Mojaviを以前使っていたので感覚的にはほぼ同じ。

で、その他動作確認。
・Smarty対応
・ログイン済み認証チェック
・入力値チェック機能
・DB接続

という感じで試し、普通にOKでした。
コミュニティ・ドキュメントも充実しているし、全体通して非常に使いやすいと感じた。

--
2008年02月20日


Flexで回転メニュー

Flexで回転メニューを作ってみました。
⇒ Flexで回転メニュー

アニメーション処理にはTweenerを使用。
『easeOutBounce』や『easeOutElastic』は動き的に面白い。

--
2008年02月18日


Flexで観音開き効果

Flexでページめくりの派生で観音開きも作ってみました。
⇒ Flexで観音開きサンプル

ちょっとオモロイです。

--
2008年02月13日


Flexでページめくり効果

Flexのカスタムエフェクト・マスクに強くなる必要が生じた。
で、Flash Hacks にあるようなページめくり効果をFlexでもできないかと思い作ってみた。
⇒ Flexでページめくり効果サンプル

Flash Hacksのダウンロードページから関連flaファイルをダウンロードして読む。
まず仕組みを理解するのに時間かかり、実装にも少し手間取ってしまったが、なんとかできた。いい勉強になった!

--
2008年02月06日