Monthly Archives: 2月 2010

AS3のShift_JISのXML読み込み問題

1
Filed under AS3, Flash
Tagged as , , ,

「AS3のShift_JISのXML読み込みにバグ」という問題でかなりハマったので、メモのためのエントリです。

Shift_JISのXML読み込みで問題発生

『AS3でShift_JISのXMLを読み込む』という話があった時点で、「え!?Shift_JIS?なんか怖いので、UTF-8にしてください」と野生の勘で言ったものの、根拠がなくて却下されていました。

で、開発終盤。
なぜだかうまく読み込めない、という問題が大きな問題となりつつあり、当初は通信ラグとかサーバ側がおかしいんじゃないのか?とかそういう感じで調査していたのですが、調べていくと、「AS3でShift_JISの大きなサイズのXMLを読み込むとうまく読み込めないことが発生する」というバグ情報にたどり着きました。

野生の勘は的中でした。
21世紀も1割過ぎたんだから、もう新規案件の通信時文字コードはUTF-8で統一しようよ、と心の底から思います。

Shift_JISのXMLを問題なく読み込む方法

さらに調べると、どうやら回避策があるということがわかり、具体的には下記のブログエントリを参考に回避することが出きました。

内容を説明すると、バイナリフォーマットで通信し、それをByteArray→UTF-8の解釈でStringに変換→XMLという流れで解釈してあげれば問題ない模様。

// ロード開始コード.
var _loader:URLLoader = new URLLoader();
_loader.dataForamt = URLLoaderDataFormat.BINARY; // ←ここが重要.
_loader.addEventListener( Event.COMPLETE, onLoadComplete );
_loader.load(new URLRequest( _path_to_load_ ));
// ロード完了後の処理.
var bytes:ByteArray = ByteArray( _loader.data ); // 型キャスト.
var xml:XML = new XML( byteData.readMultiByte( bytes.length, "shift-jis" ) );

この流れでうまく行くというのは、おそらく、自動でXMLに変換するときに文字コード判定がバグってしまう、ということなんだと思います。


[AD]

↓ヘッドフォン入出力の分岐用に欲しい。というか、ミキシングできるらしく試してみたい。

【国内正規代理店品】belkin ベルキン マルチ イヤフォン スプリッター ROCKSTAR F8Z274

【国内正規代理店品】belkin ベルキン マルチ イヤフォン スプリッター ROCKSTAR F8Z274

中古価格: ¥ 6,980 より

カテゴリ:エレクトロニクス

発売日:2008-11-10


↓フタ付き小物入れ部分が魅力的だったりするUSBハブ。箱の中にも端子があったら最高だった。

huBox HB-029

huBox HB-029

カテゴリ:Personal Computers

発売日:2010-03-01


最近買ったiPhoneアプリ3つを紹介

0
Filed under iPhone
Tagged as

Koi Pond @ 115円

「Koi Pond」Koi Pond ちょっと気になる案件の話のネタに購入。
画面上をタッチするとその水面をたたいたかのように音が鳴り、波紋が広がり、鯉が逃げる様子を鑑賞したりする癒し系アプリ。
どっかで動画を見ていてアプリ名とかも記憶していたのですが、実際に触ったことはありませんでした。

これが、思いのほか音も波紋エフェクトもいい感じで、驚きました。
また、カスタマイズ要素も多く、背景や雨の様子など見た目のカスタマイズに加え、雨、鳥、風、蛙、虫の5つのサウンドエフェクトのon/offなどもできます。その音がちゃんとステレオになっていて、左右にパンするようになっていたりするなどかなり演出が細かい。
また、iPhoneを振ることでえさが落ちたりもします。
iPhoneの3D的演出について考えていたり、iPhoneアプリでどこまで出来るか?とか考えている人は体験必須

addLib @ 230円

「addLib」addLib 画像をカッコよく変身させるアプリ。
プロモーション動画がかっこよくて購入。こういうの大事ですね。

で、幾つか試してみたけど、なかなか面白い。意外な写真が意外な結果になっていく。
上のサンプルは先月行った友人の結婚式の写真を使ったものです。(おめでとう!!)
minimumという単語はどうかと思うけど、単語だけ変えるのはできないので、これで納得するしか無い。でも、雰囲気はかなりいいですよね。

クレヨン・フィジックス Deluxe @ 115円

「クレヨン・フィジックス」Crayon Physics Deluxe 通常600円のところを、115円でセール中という情報をゲットして購入。

まぁ、面白いけど、ちょっと操作性が悪いというか、もうちょっとゲーム性を絞り込んでも良かったかな、と思う。線一本でなんとかなるようにしたのは微妙な判断。
と、厳しめの判断を書いていますが、標準的なアプリよりは上の完成度で、標準価格600円は納得

Mac OSX で MySQLを動かすまでのメモ

2
Filed under Mac, MySQL
Tagged as , ,

ちょっと勉強のためにMac OSX 10.6 (Snow Loepard)にMySQLを入れて動作させてみました。その時の作業メモを公開しておきます。(後で自分が参考にするため)
また、こちらのページ[MacOSXでサーバー稼業 : Mac OS XにMySQLをインストールしよう]が大変参考になりました。

ダウンロード

私のMacはMacBook Pro (Intel)、OSはMac OSX 10.6.2を基本32bitで動作させています。そのため、MySQLは、”Mac OS X ver. 10.6(x86, 32-bit) DMG Archive”というファイル(約70.9MB)をこちら[http://www.mysql.com/downloads/]からダウンロードしました。
ちなみに、上記サイトには “MySQL Community Server” というものの他に、”MySQL Cluster”というものなどいろいろありますが、落とすのは “MySQL Community Server” です。
MySQLをインストールするのに必要なものはこれだけでした。

インストール

ダウンロードしたDMGファイルをダブルクリックして開き、その中の、mysql-5.1.43-osx10.6-x86.pkgをダブルクリックしてインストール。このときインストール領域として、258.3MBが必要と言われますので、前もってそれ以上は空けておきます。
インストールが完了すると、‘/usr/local/mysql’というファイルが作られ、これは、’/usr/local/mysql-5.1.43-osx10.6-x86’というディレクトリへのシンボリックリンクとなっているようです。
続いて、DMGの中に入っていたもうひとつのインストーラ MySQLStartupItem.pkg”をダブルクリックしてインストール。これでMySQLが自動的に起動するらしい。
さらに、MySQL.prefPaneをダブルクリックしてインストールします。
これで、システム環境設定からMySQLの起動/停止ができるようになります。
そのままインストールし、[Start MySQL Server]というボタンを押して起動させます。
以上でインストールは完了です。

MySQLの初期設定

インストールが完了したら、まずはMySQLを使用を簡単にするために “/usr/local/mysql/bin” にパスを通します。
~/.bash_profile に以下の1文を追加します。このとき、このファイルが無ければ作成します。
export PATH=$PATH:/usr/local/mysql/bin
続いてMySQLのrootユーザのパスワードを変更しておきます。ターミナルを開き、下記のコマンドを入力します。
$ mysqladmin -u root password 'new_password_here'
パスワードを ‘ (シングルクォーテーション)で囲むのを忘れないように注意してください。
パスワードを変更したら、下記の手順でターミナルからmysqlにログインしてみます。
$ mysql -u root -p
と入力しEnterキーを押すとパスワード入力を促されますので、先ほど設定したパスワードを入力します。
ログインに成功したら、”Welcome to MySQL monitor. …”という感じのメッセージが表示され、MySQL monitorへのログインが完了しています。
ここから戻るには、”quit”か”exit”などと入力し、Enterキーを押せば、もとのコマンドプロンプトに戻ります。

MySQL monitorの使い方の簡単なメモ

最後に、ちょっとだけMySQL monitorのコマンドの使い方をメモしておきます。

  • データベースを作成.

CREATE DATABASE {データベース名};

  • データベースを削除.

DROP DATABASE {データベース名};

  • データベース一覧表示.

SHOW DATABASES;

  • 任意のデータベースを使用.

USE {データベース名};

  • データベースの中に含まれるテーブル一覧.

SHOW TABLES;

  • フィールドの名前と型を指定してテーブルを作成.

CREATE TABLE {テーブル名} ( userid INT, groupid TINYINT );

  • テーブルのフィールドを表示.

SHOW FIELDS FROM {テーブル名};

  • テーブルを削除.

DROP TABLE {テーブル名};

  • テーブルにフィールドを追加

ALTER TABLE {テーブル名} ADD {フィールド名} {フィールド型};

  • テーブルのフィールドの型の変更.

ALTER TABLE {テーブル名} MODIFY {フィールド名} {フィールド型};


[AD]

↓こちら持っていて、参考にしている本です。PHPの設定には問題あると思うけど、MySQL、PHPのそれぞれの基本から、融合させるところまで説明があり便利です。

実践マスター PHP+MySQL PHP4/PHP5対応

著者/訳者:小島 まさご

出版社:ソーテック社( 2007-06-18 )

定価:

単行本 ( 383 ページ )

ISBN-10 : 4881665839

ISBN-13 : 9784881665831


↓MySQLの本をもっていないけど、Amazonで評判を見てみるとこれが良さそう。

現場で使える MySQL (DB Magazine SELECTION)

著者/訳者:松信 嘉範

出版社:翔泳社( 2006-03-17 )

定価:

Amazon価格:¥ 2,808

単行本 ( 408 ページ )

ISBN-10 : 4798111139

ISBN-13 : 9784798111131


TomatoCMSをさくらに入れてみた

0
Filed under CMS
Tagged as , , , ,

ちょっとしたサイトを作ろうと思い、WordPress以外で何かCMSがないかと思い、いくつか探してみたところ、TomatoCMSというのが気になり、ちょっと入れてみてテストしてみました。
テストしたのはさくらインターネットのレンタルサーバです。

TomatoCMS

試したバージョンは2.0.2で、展開したファイルサイズは約29MBありました。また、さくらのレンタルサーバ側の設定は、PHPは5.2.0となっていました。
インストールに参考になるのは公式ブログでした。
展開したディレクトリの中身を、配置したい場所にそのままコピーします。
その後はインストールしたディレクトリに含まれる下記のようなインストールスクリプトを開き、実行します。
{CMS_Directory}/install.php
おおよそのインストールは問題なくできるのですが、下記の.htaccessの修正をしておかないと、実行時に問題が起きます。

.htaccessの修正点

RewriteEngineの仕組みを使っているのだが、さくらの場合、次の1行が必須らしく、これがないと実行時にパスが処理されずうまくいかないので、これだけ.htaccessに追記しておきます。
RewriteBase /

これが設定されていないと、{CMS_URL}/admin というのが{CMS_URL}/index.php?admin という処理に置き換えることが出来ません。

管理者ログインする

管理者としてログインするには、下記のURLにアクセスします。
{CMS_URL}/admin
管理者の初期ユーザー名とパスワードはadmin, adminに設定されています。
ここでうまくアクセス出来ない場合、上記.htaccessの設定の項目等を確認してみてください。

php_zip

ログインしてみると、php_zipが入っていないという表示が出ていました。
これは新しいプラグインとかをインストールするときに必要になるようですが、今回はとりあえ ず 放置して先に進めました。

パスワード変更とTomatoCMSのシステム概要

まずは、このパスワードを変えようとしたのですが、いきなりつまづくこととなりました。
[Account]メニューの[change password]を選ぶと、Resource ‘core:user’ not foundと表示されるのです。
この表示はTomatoCMSの特徴と知るのですが、最初の状態では全ての機能がOFFになっていて、まずはそれをONにしていくことから始まります。
なんと初期状態ではパスワード変更などの機能もOFFになっているのです!
各種機能をONにするためには、上記のadminページのメニューから[User]→[Privilege]メニューを選びます。

その中の[core]→[Manage users]の右側にある[Add]リンクをクリックします。
こんな感じで、片っ端から[Add]していきます。必要に応じて、と書きたいところですが、正直最初の段階でこれを適切に選ぶことは不可能ですよね。
もう一度、パスワード変更をおこないます。[Account]メニューの[change password]を選ぶと、パスワード変更画面が出てきますので、ここで変更します。

コンテンツを作っていく

続いて、各種コンテンツを設定してみたいと思いますが、まずはトップページに表示しているコンテンツのレイアウトについていじってみます。
[Extend]メニューの[Template]を選んでみます。この中には、各種テンプレートが表示されるようですが、デフォルトでは2つしかありません。そのうち一つが使用されているので、そのテンプレートの[List of pages]リンクをクリックします。
ここに現在あるページの全てがあり、”home”と名付けられURIに”/”が設定されたページが、トップページとなっています。
右側にあると[Edit Layout]というボタンをクリックすると、レイアウト編集画面になります。
[Layout]、[Widget]、[Output]という3つのタブがあります。
Layoutでは960 Grid Systemという仕組みが使われており、最大12カラムとなっているのを任意のカラム幅でWidgetを配置する仕組みがわかりやすいインターフェイスで作られています。
その中にWidgetを配置して、各Widgetの設定をしていく、という仕組みです。

こんな感じで作っていく、という流れが、ここまでで理解できました。

やりたかったこと

実はこのCMSを選んだ理由の一つは”Multilingual Support”というキーワードをウェブで見たからだ。
でも、そこのところはいまいち分からずじまい。
[Custome]→[Language]のメニューを選んでみても、そこで設定できそうなのは各コンテンツのメニュー名ぐらい?そこがちょっと分からなかったのと、テンプレートデザイン修正の手順を把握するのも1日とかでは探しきれなかったので、TomatoCMSの調査はここまで。
日本語は問題なく通ったりしたのですが、公式サイトの他にあまり情報がなかったのが残念でした。
このエントリを見て誰かがトライして情報を増やしてくれたら、私も再度トライしてみようかな。


[AD]

↓TomatoCMSで使われているフレームワークはZendFramworkです。

Zend Framework 徹底マスター

著者/訳者:藤野 真吾

出版社:ソーテック社( 2009-04-11 )

定価:

Amazon価格:¥ 15,373

単行本 ( 592 ページ )

ISBN-10 : 488166669X

ISBN-13 : 9784881666692


↓こちらもZendFrameworkの入門書。こういうフレームワークの知識はこれから重要ですね。

PHPフレームワーク Zend Framework入門

著者/訳者:藤野 真吾

出版社:ソーテック社( 2007-09-13 )

定価:

単行本 ( 336 ページ )

ISBN-10 : 4881665936

ISBN-13 : 9784881665930