2008年4月30日水曜日

ドキュメントクラスのフィールドがコンフリクトしてしまう

スズキです。

FlashCS3(AS3)でシンボル(MovieClipを)作って、
インスタンス名(hoge)を指定して、
ドキュメントクラスにhogeという名前で
型がMovieClipのフィールドを宣言してパブリッシュすると、

定義 hoge (名前空間 internal) にコンフリクトが存在します。

というエラーが出力されます。
(本来は、hogeフィールドにFlashCS3で作成した
インスタンスが入っていて欲しいのですが...)

そして上記の解決(実現)方法は下記となります。
http://d.aoikujira.com/blog/page/2008%252F02%252F19%252F%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%82%AF%E3%83%A9%E3%82%B9%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%90%E3%81%8C%E3%82%B3%E3%83%B3%E3%83%95%E3%83%AA%E3%82%AF%E3%83%88

パブリッシュの設定のAS3.0の設定で、
「ステージのインスタンスを自動宣言」を外せばOK、
ということです。

たまにFlash(AS3)やると必ず忘れてて、ググってる内容でした。

--

http://suz-lab.blogspot.com/

匿名関数でスコープを一段下げる(Javascript)

スズキです。

近頃、ブログパーツを作る機会があり、
グローバル変数は使いたくないなー、
ということでググりました。

下記のように、匿名関数を使うことで
スコープを一段下げることができます。

----hoge.js
(function() {
  var msg = "test";
  document.write(msg);
})();
----

これで、基本的にグローバル変数を使わない、
他に迷惑をかけないスクリプトができるはずです。

でも、この内容って、いまさらながらなんだよなー...

--

http://suz-lab.blogspot.com/

2008年4月29日火曜日

今日のブックマーク 04/29/2008

2008年4月28日月曜日

2008年4月27日日曜日

そろそろiKnow!

スズキです。

iKnow!という英語学習サービスがあります。
http://www.iknow.co.jp/

以前、会員登録して試してみたのですが、
続ける習慣がつかず、ほったらかしていました。

近頃、携帯の機種変更を行い、
その携帯でiKnowが使えることに気づきました。

実際、携帯iKnowを試してみると、
電車の中などで、ちょくちょく進める習慣がつきそうになってます。

せっかくなので、この習慣が定着するよう、
本ブログにブログパーツを入れ、(iretの中の人の下)
進行が常にさらされるようにもしておきました。

"It's a Smile World"(http://blog.2-laps.com/)
もやっているので、負けないように続けていこう。
http://www.iknow.co.jp/user/more

--

http://suz-lab.blogspot.com/

SimpleXML(PHP)で異なるネームスペースの要素にアクセス

スズキです。

WebAPIと呼ばれているものは、
レスポンスがXMLであることが多く、
PHPでその処理をするために、
SimpleXMLというものを使ってみました。
http://search.net-newbie.com/php/ref.simplexml.html

まあ、マニュアルどおり、直感的に使えてはいたのですが、
異なるネームスペースの要素にアクセスしようとすると、
それがなかなか取得できず、困ってしまいました。

とりあえず、最後にネームスペースの要素を取得をしている
コードをのせました。(まだまだ改善の余地はあると思います)
取得元XMLはYouTubeの特定ユーザーがアップロードした
ムービー一覧です。
http://code.google.com/apis/youtube/developers_guide_protocol.html#User_Uploaded_Videos

ポイントは3点です。

1. $ns = $xml->getDocNamespaces();
XMLで使われているネームスペースを取得
$ns["media"]
とprefixをキーに指定することで、該当するネームスペース
http://search.yahoo.com/mrss/
を取得することができます。

2. $group = $entry->children($ns["media"])
childrenの引数にネームスペースを指定することで、
そのネームスペースの要素を取得できるようになります。

3. $content->attributes() as $key => $value
さらに、その要素の異なるネームスペースを取得する場合は、
children/attributeの引数に該当するネームスペースを
指定します。
(デフォルトネームスペースの場合は何も指定しません)

ちょっと慣れるのに大変でした。
(なぜかXPathは使えなかった…、Windowsだからか?)

<?php
$url = "http://gdata.youtube.com/feeds/api/users/";
$url .= "GoogleDevelopers";
$url .= "/uploads";
$xml = simplexml_load_file($url);
$ns = $xml->getDocNamespaces();
foreach ($xml->entry as $entry) {
  $group = $entry->children($ns["media"])->group;
  foreach ($group->content as $content) {
    foreach($content->attributes() as $key => $value) {
      switch($key) {
        case "type":
          $type = $value;
          break;
        case "url":
          $url = $value;
          break;
      }
    }
    if($type == "application/x-shockwave-flash") {
      print($url);
      print("<br />");
    }
  }
}
?>

--

http://suz-lab.blogspot.com/

2008年4月26日土曜日

iretの中の人、23人に!

スズキです。

"MEMO 4 ME"ががんばってくれて、
iretの中の人が23人まで増えました。
http://memo4me.seesaa.net/

次のステップとして、戦闘力の推移を
XPathGraphで表示してみようかなー、と思っています。
http://xpath.kayac.com/
(参考)
http://d.hatena.ne.jp/amachang/20080425/1209098271

この辺の活動も、日々改善していかなくては...

--

http://suz-lab.blogspot.com/

2008年4月24日木曜日

MySQLのストレージエンジン(MyISAM)の設定

スズキです。

久しぶりに、MySQLをMyISAMで使う案件をやることになりました。
デフォルトはMyISAMらしいので、何も設定する必要は内容なんだけど、
念のため、my.confに下記のように記述しておきました。

default-storage-engine=MYISAM
※default-table-typeでもいいそうです。

(参考)
http://dev.mysql.com/doc/refman/5.1/ja/storage-engine-setting.html

今回は速度が重要です。
次はレプリケーションだ!

--

http://suz-lab.blogspot.com/

今日のブックマーク 04/24/2008

2008年4月23日水曜日

そろそろAMFPHP導入のタイミングか?

スズキです。

僕が関係している仕事は、

AS2/3 - Java、AS2/3 - PHP
jQuery - Java、jQuery - PHP

の組み合わせで通信させるものが多いです。

Javaに関しては、
jQueryとの通信はTeeda-Ajaxの枠組み(JSON)を用い、
AS2/3との通信はS2Flex2の枠組み(AMF0/3)を用いることで、
かなり固まってきています。
(S2BlazeDSも評価しなくては...)

で、PHPの仕事も多いのですが、PHPに関しては、
全然固まってなく、対jQueryはjson_encode使って,
JSONを使った通信、対AS2/3に関しては、
XMLを使った通信でとりあえず作っています。
(本当はこちらもAMF使いたいのですが...)

そろそろ、このPHPの方も、適当なフレームワーク使って
パターン化したいなーと思ってきたのですが、
AMFPHPを使うと、一気にこのあたりがすっきりするのでは?
と期待しています。
http://amfphp.sourceforge.net/

理由は、AMFPHPというプロダクト名になっていますが、
同じ枠組みで、AMFだけでなく、JSON出力、XML-RPC出力も
できるようなことがうたわれているからです。
(XML-RPCは使わないと思いますが...)

まあ、何が言いたかったかというと、
「僕はXMLが嫌いです」
なので、なんとかAMFPHPを形にしたいところです。

--

http://suz-lab.blogspot.com/

今日のブックマーク 04/23/2008

2008年4月22日火曜日

PHPの$_POSTや$_GETで配列を使うには

スズキです。

PHPネタです。

PHPは"hoge=a"などのパラメータを
$_GET["hoge"]で取得することができます。
(POSTでも同じ用に$_POSTで取得できます)

そして、"hoge=a&hoge=b"は配列で取得できるかな?
と試してみると、配列で扱うためには、パラメータを
"hoge[]=a&hoge[]=b"とする必要がありました。
http://blog.ohgaki.net/phpa_r_post_get_cookiea_reb_cana_le_a_a

なので、
----test.php
<?php var_dump($_GET); ?>
----
に対し、
http://localhost/test.php?hoge[]=a&hoge[]=b
とアクセスすると、
----
array(1) {
  ["hoge"]=> array(2) {
    [0]=> string(1) "a"
    [1]=> string(1) "b"
  }
}
----
と表示されます。

PHPの小技でした。(あまり知られてないらしい)

--

http://suz-lab.blogspot.com/

2008年4月21日月曜日

今日のブックマーク 04/21/2008

Javaで四捨五入

スズキです。

たまに出てくると、すぐに思い出せず、ググってしいます。
http://always-pg.com/java/j2se_rd/number/setscale.html

BigDecimal、使えってことですね。

これくらいは、脊椎反射でできるようにしておきたいなー。

--

http://suz-lab.blogspot.com/

2008年4月20日日曜日

Apache(PHP:pdo_mysql)起動時にlibmysql.dllがないよエラー

スズキです。

suz-labにはポータブルアプリケーションを集めた
suz-labセットと呼ばれるものがあります。
iret社でも採用されています。
http://www.iret.co.jp/

このセットにはApache、PHP、MySQLも含まれているのですが、
PHPからPDOでMySQLを利用する必要があったので、
php.iniの下記のコメントをはずして、

extension=php_pdo_mysql.dll

Apacheを実行してみたら
「libmysql.dllがないよエラー」
が発生しました。

まあ、MySQLもポータブルなので、システム的に
PATHとかレジストリとかは全然です。
なので、当たり前といえば、当たり前の現象です。

で、解決方法ですが、
Apacheを実行する前に、libmysql.dllがあるフォルダに
下記のようにPATHと通せばOKです。

set PATH=\sbin\mysql\bin

suz-labセット、充実してきたなー。

--

http://suz-lab.blogspot.com/

2008年4月18日金曜日

"OpenOffice2.4&Firefox2.0.0.14 Portable"リリース

スズキです。

表記の通り、OpenOfficeとFirefoxのポータブル版が
バージョンアップしています。

"Firefox Portable"は2.0.0.14に
http://portableapps.com/apps/internet/firefox_portable
"OpenOffice.org Portable"は2.4に
http://portableapps.com/apps/office/openoffice_portable
なっています。

OpenOfficeはまた、日本語化しないとなー。
http://oootranslation.services.openoffice.org/pub/OpenOffice.org/localized/ja/2.4.0/

--

http://suz-lab.blogspot.com/

2008年4月14日月曜日

Teeda-AjaxはServiceクラスにアクセスすべき!?

スズキです。

結構、Teeda-Ajax使っていたのですが、
何も考えず、Pageクラスにアクセスしていました。

最近"Seasar-user ML"にて、下記のように
Serviceクラスにアクセスする考え方が投稿されてました。
▼Serviceクラス等にアクセスする方がいい
https://ml.seasar.org/archives/seasar-user/2008-April/013713.html
▼ServiceからSessionの参照の仕方
https://ml.seasar.org/archives/seasar-user/2008-April/013718.html
▼その補足
https://ml.seasar.org/archives/seasar-user/2008-April/013719.html

こちらの方が、美しい気がします。
次からは、Serviceクラスにしよう。

--

http://suz-lab.blogspot.com/

2008年4月10日木曜日

MayaでPythonが使える

スズキです。

近頃、Blenderのスクリプト書くために、Python環境を整えていたのですが、
弊社3DCG担当の"Akashic Records"から、
http://vjakashic.blog.shinobi.jp/
MayaでもPythonが使えると聞き調べてみると、
下記のように、いろいろ情報が出てきました。

▼Maya Python 入門 ( Maya Python - 06AA )
http://www.not-enough.org/abe/manual/maya-python/introduction-python.html
▼Autodesk Media & Entertainment(Pythonの紹介)
http://me.autodesk.jp/external_newsletter/2007/maya8.5/index_0323.html
▼Python Maya Package
http://cgkit.sourceforge.net/mayadoc/
▼Maya2008(ヘルプ)
http://download.autodesk.com/us/maya/2008help/wwhelp/wwhimpl/js/html/wwhelp.htm

Mayaのトライアル版、ダウンロードしよう。

--

http://suz-lab.blogspot.com/

2008年4月4日金曜日

AS3の"Physics Engine"再び

スズキです。

以前こんなの書きました。
http://suz-lab.blogspot.com/2007/06/as3physics-engine.html

時間もたったので、再度、調べてみました。

▼APE(以前から)
http://www.cove.org/ape/index.htm
▼Fisix Engine(以前から)
http://www.fisixengine.com/engine.asp
▼Box2DFlashAS3(今回発見)
http://box2dflash.sourceforge.net/
▼WOW-Engine(なんと3D)
http://seraf.mediabox.fr/wow-engine/as3-3d-physics-engine-wow-engine/

あとはアイデアか...

--

http://suz-lab.blogspot.com/

FlashでGoogleMaps

スズキです。

表記こんな感じでまとめられています。
http://mtl.recruit.co.jp/blog/2007/12/flash_googlemaps.html

AS3に限定すると、UMapがよさそうだなーと思いきや、
http://www.afcomponents.com/components/umap_as3/
GoogleMapsは使えないっぽい...

じゃあ、SwfGMapかなー、と思いきや、
http://coderepos.org/share/wiki/SwfGMap
デモが動かない...

不安だ...

--

http://suz-lab.blogspot.com/

2008年4月3日木曜日

2008年4月2日水曜日

Firefox Portable 2.0.0.13 リリース

スズキです。

表記の通りです。

アップデートもいつもの通りです。
http://suz-lab.blogspot.com/2007/07/firefox-portable-2005.html

この辺のメンテナンスはしょうがないか...

--

http://suz-lab.blogspot.com/

"Life Pedia"やってみた

スズキです。

ブログの内容を年表みたいにしてくれる、
"Life Pedia"っていうサービスをやってみました。
http://lifepedia.jp

suz-labはこんな感じです。
http://lifepedia.jp/userinfo.uid+1583.html

"iretの中の人"はこんな感じです。
http://lifepedia.jp/userinfo.uid+1584.html

ちょっと面白い。
本blogやwikiに取り込めたらいいなー。

--

http://suz-lab.blogspot.com/

7-ZipからPeaZipに乗り換え

スズキです。

近頃、PortableApps.comに
PeaZipという圧縮・解凍ソフトが加わりました。
http://portableapps.com/news/2008-03-24_-_peazip_portable_2.0

気になって、PeaZip本家を調べてみると、
http://peazip.sourceforge.net/
standalone版なるものも存在しています。

現在、圧縮・解凍ソフトは、
PortableApps.comの7-Zipを使っていますが、
やはり、起動時に出現するPortableApps.comのロゴ!?
はうざったいので、本家PeaZipのstandalone版に
乗り換えることにしました。

そろそろ、Portable環境、wikiにまとめたいなー。

--

http://suz-lab.blogspot.com/

今日のブックマーク 04/02/2008

ソフトバンク端末から mailto で件名と本文を入れる | Sun Limited Mt.

tags: 携帯

ほとんどの端末はShift_JISでも通るらしいんだけど...

2008年4月1日火曜日

ソフトバンク端末からmailtoはUTF-8で

スズキです。

表記のようです。
http://www.syuhari.jp/blog/archives/68

ということで、プログラムから出力している部分に関しては、
こんな感じで処理しました。(Javaです)

try {
  this.mailbody = URLEncoder.encode(mailbody , "UTF-8");
} catch(Exception e) {
  ...
}

HTMLはShift_JISなのに...

--

http://suz-lab.blogspot.com/