CDATA Section by XML

No Comments

Flashで読み込むXMLにHTMLを書きたい時、CDATAセクションで囲めば大丈夫なのかな?
あとで、やってみよう。

sample.xml


<?xml version="1.0" encoding="utf-8"?>
<elements>
   <item><![CDATA[ここにHTMLを記述]]></item>
</elements>

HelloWorld by Lua

No Comments

仕事でLuaをやらなければならないので環境構築(Mac)。
1.まずは、Luaを使えるようにするためにお手軽にMacPortsをインストール。

2.MacPortsインストール後、色々調べるとターミナルでインストールするんだけど。
うまくインストールできなかったので、Porticusをインストールして検索窓からLuaを探してGUIを使ってインストール(結構、時間掛かります)。

3.EclipseにLuaeclipse1.1.0をインストール。最新版をいれたらうまく動かなかったので。

4.最後に、Eclipseの環境設定>Lua>Installed InterpretersにLuaまでのパスを通して完了。

5.で、HelloWorld!!ただのprintだけど。コンソールにhello, luaってでるから成功かと。

helloworld.lua


print('hello, lua.')

AMFPHP by AS3

No Comments

ちょっと、案件でAMFPHPでのやりとりが発生しそうなので、
何となくClassにまとめてみた。addConnect関数部分が癖ある感じですね。
removeEventListenerの部分は再考が必要かも。。。

AMFConnect.as


package jp.north81.flash.net {
import flash.events.NetStatusEvent;
import flash.net.*;
import flash.events.Event;
import flash.events.EventDispatcher;	

/**
 * @author north81.jp
 * memo 2009/05/25 :Gatewayパスにタイムスタンプを追加
 */
public class AMFConnect extends EventDispatcher {
	private var GATEWAY_PATH:String;

	public static var instance:AMFConnect;

	/**=================================================
	 * @Constructor
	==================================================*/
	public function AMFConnect():void{}

	/**=================================================
	 * @Singleton
	==================================================*/
	public static function get getManeger():AMFConnect {
		instance=(instance!=null)?(instance):(new AMFConnect);
		return (instance);
	}

	/**=================================================
	 * @add
	 * AMFPHPとの媒介になるGatewayPHPファイルパスの設定
	==================================================*/
	public function add(gateway:String):void{
		GATEWAY_PATH=gateway;
	}

	/**================================================
	 * @addConnect
	 * AMFPHPのServicePHPとの接続設定
	 * @param AMFRequest:PHPClass関数(String)
	 * @param result:処理成功時、受け取り関数
	 * @param fault:処理失敗時、エラー関数
	==================================================*/
	public function addConnect(AMFRequest:String, result:Function, fault:Function, args:Object=null):void{
		var time:Number=(new Date()).getTime();
		var connection:NetConnection=new NetConnection();
		var responder:Responder=new Responder(result, fault);
		connection.objectEncoding=ObjectEncoding.AMF3;

		var net_status_func:Function=function(ev:NetStatusEvent):void {
			connection.removeEventListener(NetStatusEvent.NET_STATUS, net_status_func);
			connection=null;
		}
		connection.addEventListener(NetStatusEvent.NET_STATUS, net_status_func);
		connection.connect(GATEWAY_PATH+'?time='+time);

		if(args!=null){
			connection.call(AMFRequest, responder, args);
		}else{
			connection.call(AMFRequest, responder);
		}
        }
    }
}

開発環境 by Eclipse

No Comments

4月から、新しい言語をいくつかはじめるのでEclipseの環境を整える。
今までは、1つのEclipseに複数の言語が書けるようにプラグインをインストールしていたけど、さずがに、動作が重くなったり、落ちたりするので、3つのEclipseを使い分けることにした。

まずは、ActionScriptの環境としてFDTからEclipseもどきをDownLoadして、日本語パッチをあてて日本語化。あとはSubclipseをいれてActionScriptとMXMLの環境は準備完了。

次に、HTMLまわりの環境にAptana Studio2.0もDownLoad。これもEclipseもどきなので日本語パッチをあてて日本語化。
で、こちらにもSubclipseをいれて準備完了。

最後に、普通のEclipseをDownLoadして。PydevとGoogle App Enjine for Java、Subclipseをインストールして日本語パッチをあてて日本語化で、準備完了。

とりあえずは、こんな感じで開発環境をそろえて使い分けていく感じ。
Eclipse関連以外は、MAMPとかXcodeとか。

HelloWorld by python

No Comments

Google App Enjineを会社の先輩と一緒にやるのでpythonを初めてみる。やっぱ初めはHelloWorldから。

まずは、環境構築。
1.Eclipse3.5にPydevプラグインをインストール。
URL:http://pydev.sf.net/updates

2.とりあえず、JavaのGoogle App Enjineもなんとなくインストールしておく
URL:http://dl.google.com/eclipse/plugin/3.5

3.Mac環境でやるのでGoogleAppEngineLauncherをインストール
URL:GoogleAppEngineLauncher-1.3.1.dmg

4.諸々、インストールが終わったら、よいよプロジェクト作ってHelloWorld。
ファイル>新規>プロジェクトを選んで、Pydev Google App Enjine Projyctを選択。

5.プロジェクト名はHelloWorldでOKすると、Google App Enjine Directoryを聞かれるので。(3.)インストールしたGoogleAppEngineLauncherのアイコンを右クリックで「パッケージ内容を表示」を開く。そこから、Contents>Resources>GoogleAppEngine-default.bundleまでいって、また、「パッケージ内容を表示」を開くで、Contents>Resources>google_appengine.zipまでいく。
で、google_appengine.zipをその場で解凍するとgoogle_appengineフォルダが現れるので。そのパスをGoogle App Enjine DirectoryのTextFieldに入れればOK。※ここがわかりずらかった!!(自分で解決できず先輩に聞きました。。。)

6.あとは、下記のプログラムをプロジェクト上で作る。

helloworld.py

print 'Content-Type: text/plain'
print ''
print 'Hello, world!'

app.yaml

application: helloworld
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: helloworld.py

7.で、コンパイルは実行の構成を選択して、PythonRunに新規でコンパイル設定を作る。Projectはhelloworldで、Main Moduleは(5.)で設定したパスと同じものをいれる。で、ArgumentsのProject Argumentsに${project_loc}/srcといれてコンパイルすれば。コンソールにlocalhost:8080って最後の方に表示されれば正解らしい。

まだ、はじめたばかりで何がいいのかピンとこない感じだけど。
とりあえず、何がいいのかわかるまでやってみる。