Base64形式のJPEGファイルを表示する

Base64形式でエンコードしたJPEGファイルの文字列をas3でデコードする方法

JPEGのデコードは、AS3 JPEG Decoder – ByteArray.orgを利用

package
{
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    import flash.utils.ByteArray;
    
    import mx.utils.Base64Decoder;
    
    import org.bytearray.decoder.JPEGDecoder;
    
    [SWF(width="1024", height="768", frameRate="60", backgroundColor="#f5f2f0")]
    public class TestBase64 extends Sprite
    {
        private static const base64Data:String = "/9j/4AAQSkZJRgABAgEASABIAAD/4R7sRXhpZgAATU0AKgAAAAgADgEAAAMAAAABAgAAAAEBAAMAAAABAgAAAAECAAMAAAADAAAAtgEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAESAAMAAAABAAEAAAEVAAMAAAABAAMAAAEaAAUAAAABAAAAvAEbAAUAAAABAAAAxAEcAAMAAAABAAEAAAEoAAMAAAABAAIAAAExAAIAAAAeAAAAzAEyAAIAAAAUAAAA6odpAAQAAAABAAABAAAAASwACAAIAAgACvyAAAAnEAAK"; //本当はもっと長く続く
        
        
        public function TestBase64()
        {
            var decoder:Base64Decoder = new Base64Decoder();
            decoder.decode( base64Data );
            var ba:ByteArray = decoder.toByteArray();
                
            
            var myDecoder:JPEGDecoder = new JPEGDecoder();
            myDecoder.parse(ba);
            var width:uint = myDecoder.width;
            var height:uint = myDecoder.height;
            var colorComponents:uint = myDecoder.colorComponents;
            var numComponents:uint = myDecoder.numComponents;
            var pixels:Vector.<uint> = myDecoder.pixels;
            
            var bitmapData:BitmapData = new BitmapData ( width, height, false );
            bitmapData.setVector ( bitmapData.rect, pixels );
            var bmp:Bitmap = new Bitmap( bitmapData );
            addChild( bmp );               
        }
    }
}

MacMiniでDVD/CDを強制排出

MacMiniでインストールメーディア(CD/DVD)が、ドライブの中に入りっぱなしになり、強制排出したい場合は、マウスボタンを押しながら電源を入れると、強制排出される。Mac用のキーボードなどをつなげていないの時に便利。

1.3.xでは、Sessionは自動的に読み込まれない

CakePHP1.3では、Session Helper, Session Componentは自動的に読み込まれないので、明示的に読み込む必要がある。bakeしたview内で用いられているSetFlashメソッドすらエラーが出る始末。慣れないとめんどい。

	var $components = array('Session');
	var $helpers = array('Session');

CakePHPで使うDBのテーブル名に接頭辞

CakePHPで使うDBのテーブル名に接頭辞を付けて使うには、app/config/database.phpで以下のように記述する。

<?php
class DATABASE_CONFIG {

	var $default = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'user_name',
		'password' => '',
		'database' => 'database',
		'encoding' => 'utf8',
	    'prefix' => 'prefix_', //here
	);
}
?>