Q4M はそもそも MySQL 上で動作するメッセージキューです。
詳細は奥さんの記事を見てください。
というわけで、さっそくインストールしてみました。
バイナリ版Q4Mインストールメモ を参考にしてしてみた。
びっくりするくらい簡単にできた。
使ったレポは後で追記しときます。
あと MySQL のバージョンが違って rpm を探すのがめんどかったのでまとときます。
ちなみに構築した環境は Fedora8 x86_64 です。
MySQL 5.1.28
MySQL-client-5.1.28-0.glibc23.x86_64.rpm
MySQL-server-5.1.28-0.glibc23.x86_64.rpm
MySQL-shared-compat-5.1.28-0.glibc23.x86_64.rpm
Q4M
Q4M
(※ オフィシャルのrpmのMySQLはfast-mutexがonらしいので注意)
ソースからインストールしたい場合は
Q4Mをインストールしてみたメモ
を参考にすればよいかと。
とーとー買ってしまいました。
ちなみに買ったのはこれ。
アマゾンのサーバでエラーが起こっているかもしれません。一度ページを再読み込みしてみてください。
誘惑には勝てず。
はやくとどかないかなぁ〜
ASDebugger という debug ツールを作ってます。
で、ある程度まとまった (正確には機能を削ったw) ので spark にあげました。
ほんとならあーしたかったとかあるけど、そのうち反映させます。
以前作った Dumper を組み込んだデバッグするためのライブラリって感じです。
簡単にいうと plugin 形式でバシバシ機能拡張でき、出力先をオレ様ロガーをならってプラガブルに設定できるといったものです。
そして誰でも簡単に Debugger(出力先) や Plugin を追加することができます。
今のところ Debugger は SimpleLogger(予定), Trace, Firebug, Thunderbolt には対応しています。
(※id:borealkissさんには確認してもらってるとこです。)
これって何がいいかって言うと何も考えずに plugin 書くだけで
出力先のことは気にせずに 作れば作るほど便利になっていきます。
Dumper はすでに書き直して組み込んでます。
後は忘れがちな FlashPlayer のバージョンや使用メモリやら security やらのメソッドもはやしてます。
これだけだとわかりにくいんで サンプルは spark の方にあるんでそっちを見てください。
なんだかんだで、ある程度は形になったってレベルなんで、もっと使いやすいようにせねば。そのうちよします。
特に nobu さんや yossy さんとかとか。つっこみ歓迎です。
むしろ勝手になおしちゃってもいいんでw
あと ASReflect に依存しているので 使用の際は気をつけてください。
追記 2008/12/28 11:17:20
ASDebuger は間違いで ASDebugger でしたw
すでに修正したのをコミットしてます。
随時ドキュメントに関しては変更していきます。
前回までの流れ
過去記事
perlをワンライナーで便利な使い方(compcを使う時に便利)
compc で swc ファイルを作る際に外部ライブラリ(swc)と共にビルドする方法
前回までの記事にもあるように地味にこれの行為は毎回するのめんどくさいんです。
わざわざコピペしたりファイル追加されたらめんどくさいこと、この上なし。
SDK でせずに Flex Builder 使えばいいじゃんと思うが。。。
それは全くその通りですw
あと、もーすぐ ASDebuger ってのを公開する予定。みなさんよろしくですw
スクリプト
compc.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| #!/usr/bin/perl
# Author: dealforest
# Last Update: 2008-12-13
# Version: 0.01
use strict;
use warnings;
use File::Find::Rule;
my $project = "ASDebuger";
my $lib_dir = "lib"; # 外部 swc を利用する場合は ./lib 以下にいれておけばおk
my $output_dir = "."; # 生成した swc をおくところ
my $package_dir = "net/dealforest"; #swc にする as ファイルのある場所
my $swc_name = "$project.swc"; # swc のファイル名
$swc_name = "$project-$ARGV[0].swc" if $ARGV[0];
my $files = join ' ',
map { s{\.as$}{}; s{/}{\.}g; $_ }
File::Find::Rule->file
->name('*.as')
->in($package_dir);
`compc -output $output_dir/$swc_name -source-path . -compiler.library-path $lib_dir --include-classes $files`; |
ディレクトリ構成
[dealforest@mac] tree
.
|-- compc.pl
|-- lib
| |-- asreflect-1.00-rc1.swc
|-- net
`-- dealforest (<- $package_dir)
`-- ASDebuger
|-- Constant.as
|-- DebugerManager.as
|-- Logger.as
|-- PluginManager.as
|-- debugers
| |-- DebugerBase.as
| |-- FirebugDebuger.as
| |-- IDebuger.as
| |-- SimpleLogger.as
| `-- TraceDebuger.as
|-- plugin
|-- Dumper.as
|-- FlashPlayer.as
|-- IPlugin.as
|-- MemorySnapShot.as
`-- PluginBase.as
簡単な説明
これ完璧に自分の環境用なので、動かなくても保証しませんw
一応, File::Find::Rule を使ってるので OS 間の差異はないはず。
File::Find::Rule->file
->name('*.as')
->in($package_dir);
# net/dealforest/ASDebuger/Constant.as ....
ここで net/dealforest 以下のファイルをとってきてます。
このままだと actionscirpt の名前空間と違うので変換します。
/ -> .
.as -> 削除
これを空白で文字連結をして --include-classes に渡しています。
内容自体はたいしたことしてません。
Find::File::Rule に関してはここがわかりやすいと思います。(CPAN)
おまけ
perl compc.pl #ASDebuger.swc ができる
perl compc.pl 0.01 #ASDebuger-0.01.swc ができる
タイトルのまんま。
通常、重い adobe のサイトでみないといけないのがローカルで
それも AIR でみることができます。
相当便利です。
と、おもわせといて、、、
検索できないのが痛い。それさえできれば相当便利なのにな〜

DL はここから。AIR App: AS3 Language Reference
(※AIR のインストールは必要です。)