« 2009年01月 | メイン | 2009年03月 »

2009年02月 アーカイブ

2009年02月07日

日本語形態素解析

以前から「夜の」って言葉を付けると、だいぶ卑猥な印象を与える事に個人的に注目していたのですが、yahooの日本語形態素解析を使えば適当な文章をちょいと卑猥な文章に変換できるかなと思ってやってみた。けどそんなに卑猥にならなかった。

夜のRSS

日本語形態素解析apiの使い方は簡単で、パラメータで渡した文章を要素ごとに分解してxmlデータで返してくれるというシンプルなものでした。 ActionScript3で開発する上でのポイントは、
•解析したい文字列を、encodeURI()でURLエンコードする。
as3からescape()の仕様が変わったので、encodeURI()メソッドを使う。
•Namespaceに"urn:yahoo:jp:jlp"を設定する。こんな感じに↓。
private var ns:Namespace = new Namespace("urn:yahoo:jp:jlp");
default xml namespace = ns;
これくらいです。あとはご自由にって感じですね。

追記09/02/13
•windowsでの文字化けを修正
•夜の微調整
•namespaceの削除に挑戦したい

2009年02月12日

flashPlayer必要システム条件まとめ

各FlashPlayerのバージョンに必要なブラウザだのOSだのの情報があやふやだったので個人的にまとてmてみました。unix系のOSとかは怪しいですが、良かったら参考に。

flashPlayer必要システム条件まとめ

以下拾ってきたデータ元です。
FlashPlayer10
FlashPlayer9
FlashPlayer8
FlashPlayer7

2009年02月14日

デバッガ版FlashPlayer

デバッガ版プレイヤーの知識があやふやだったので、メモ程度にまとめておきます。
■デバッガプレイヤーで出来る事(※下の2つは要FlexBuilder)
•trace() メソッドを使用して、デバッガ版の Flash Player のローカルログファイルにステートメントとアプリケーションエラーを出力できます。
•デバッガ版の Flash Player のローカルログファイルにデータサービスログメッセージを書き込むことができます。
•RTE(ランタイムエラー)を表示できます。
•fdb コマンドラインデバッガを使用できます。
•Flex Builder デバッグツールを使用できます。
•Flex Builder プロファイルツールを使用できます。
で、最初のtrace()メソッドでローカルのログファイルに出力する的なものには、"mm.cfg"という設定ファイルを作成する必要があります。

■mm.cfgファイル作成場所

Macintosh OS X:/Library/Application Support/Macromedia
Macintosh OS X(9.0.115.0以降):/home/username/mm.cfg
Windows 95/98/ME:%HOMEDRIVE%¥%HOMEPATH%
Windows 2000/XP:C:¥Documents and Settings¥username
Windows Vista:C:¥Users¥username

で、mm.cfgにとりあえず、下記の内容を記述します。

ErrorReportingEnable=1
TraceOutputFileEnable=1

これでflashlog.txtというテキストファイルにtrace()やエラーの内容が書き込まれます。

■ログファイルの場所

Windows 95/98/ME/2000/XP:C:¥Documents and Settings¥username¥Application Data¥Macromedia¥Flash Player¥Logs

Windows Vista:C:¥Users¥username¥AppData¥Roaming¥Macromedia¥Flash Player¥Logs

Macintosh OS X:/Users/username/Library/Preferences/Macromedia/Flash Player/Logs/

以上こんな感じでしょうか。

*詳しくは、デバッガ版の Flash Player の構成で確認してください。
*mm.cfgファイルの編集後は、ブラウザの再起動を忘れずに。

2009年02月17日

Vectorクラスメモ

FlashPlayer10から追加されたクラスに、Vectorというものがあります。 Vectorクラスというのは、型の指定ができるArray(配列)クラスみたいなもので、Arrayより高速に処理できるそうです。 実際、VectorクラスはArrayクラスの全てのメソッドを実装しています。
Vectorクラスのインスタンスは下記のような感じで作成します。
import __AS3__.vec.Vector;
var vector:Vector.<型> = new Vector.<型>();
Vectorのコンストラクタには、
Vector(length:uint = 0, fixed:Boolean = false)
という2つの引数があります。
1つめの1engthは、初期化時に何個の要素を保持するかを指定します。
2つめのfixedは、1つめの引数にベクターの長さが固定されるか(true)、または変更できるか(false)を指定します。

Arrayには無い便利なメソッドとして、
•every(callback:Function, thisObject:Object = null):Boolean
指定された関数について false を返すアイテムに達するまで、ベクター内の各アイテムにテスト関数を実行します。

var vector:Vector. = new Vector.();
vector.push(0);
vector.push(1);
vector.push(2);
vector.push(3);
vector.push(4);
vector.every(everyTest);

function everyTest(item:int, index:int, vector:Vector.):Boolean{
if(item < 2){
trace("item:"+item);
trace("index:"+index);
return true;
}
return false;
}
//trace結果
item:0
index:0
item:1
index:1


•filter(callback:Function, thisObject:Object = null):Vector.
ベクター内の各アイテムについてテスト関数を実行し、指定された関数について true を返すすべてのアイテムを含む新しいベクターを返します。
var vector:Vector. = new Vector.();
vector.push(0);
vector.push(1);
vector.push(2);
vector.push(3);
vector.push(4);
vector.every(filterTest);

function filterTest(item:int, index:int, vector:Vector.):Boolean{
if(item < 2){
trace("item:"+item);
trace("index:"+index);
return true;
}
return false;
}
//trace結果
item:0
index:0
item:1
index:1


•forEach(callback:Function, thisObject:Object = null):void
ベクター内の各アイテムについて関数を実行します。
var vector:Vector. = new Vector.();
vector.push(0);
vector.push(1);
vector.push(2);
vector.push(3);
vector.push(4);
vector.every(forEachTest);

function forEachTest(item:int, index:int, vector:Vector.):void{
trace("item:"+item);
trace("index:"+index);
}
//trace結果
item:0
index:0
item:1
index:1
item:2
index:2
item:3
index:3
item:4
index:4

なかなか使えそうです。
詳しくは、Using Vectors in ActionScript 3 and Flash Player 10などをご覧ください。

About 2009年02月

2009年02月にブログ「godagoda.net」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2009年01月です。

次のアーカイブは2009年03月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。