コマンドプロンプトからC#のソースをコンパイル

  • 方法

①sample.csで適当にソース作成

namespace SampleNameSpace
{
	using System;
	
	class SampleClass
	{
		static void Main(){
			Console.Write("テストだよ〜\n");
		}
		
	}
}

コマンドプロンプト起動
③「WINDOWS」配下にcsc.exeがあるから、引数にsample.csをつけて実行
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\csc.exe sample.cs

環境変数を指定してあげれば、もっと楽だよ〜

  • 参考サイト

C#コンパイル
http://www.atmarkit.co.jp/fdotnet/dotnettips/002csc/csc.html
Windows環境変数
http://www.atmarkit.co.jp/fwin2k/win2ktips/189setenvv/setenv.html

Python(GoogleAppEngine)×AMF×Flex連携

cp -R /usr/local/google_appengine/new_project_template MyProject
cp -R PyAMF-0.5.1/pyamf MyProject
cd MyProject
ls -l
    • こんな感じになる
+ MyProject
  - app.yaml
  - index.yaml
  - main.py
  - pyamf
application: pyamf
version: 1
runtime: python
api_version: 1

- url: /.*
  script: main.py
  • main.py
import logging
import wsgiref.handlers

from pyamf.remoting.gateway.wsgi import WSGIGateway


def echo(data):
    return data


def main():
    services = {
        // Flexで呼ぶときのサービス名
        'myservice.echo': echo,
    }
    // CGI上、お決まり
    gateway = WSGIGateway(services, logger=logging, debug=True)
    wsgiref.handlers.CGIHandler().run(gateway)


if __name__ == '__main__':
    main()
  • 実行
./dev_appserver.py --debug --address=localhost --port=8080 MyProject/
※俺の場合、
   # 400 Bad Request
   # To access this PyAMF gateway you must use POST requests (GET received)
  ってエラーが出た
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*">
	<mx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import flash.net.*;

            // データ送信
			private function doRequest():void{
				// レスポンダーを作成
				var responder:Responder = new Responder(onSuccess, onFault);
				// コネクションの作成
				var connection:NetConnection = new NetConnection();
				
				// コネクト
				//connection.connect("http://pyamf.appspot.com/");  // GAEにアップしてたら 
				connection.connect("http://localhost:8080/");

				connection.objectEncoding = ObjectEncoding.AMF3;

				// ServiceクラスのreturnNameメソッドを呼び出す
				connection.call("myservice.echo", responder, nameText.text);
			}
			
			// データ取得成功
			private function onSuccess(e:*):void{
				// 返却値をAlertで表示
				Alert.show(e.toString());
			}
			
			// データ取得失敗
			private function onFault(e:*):void{
				Alert.show("通信失敗");
			}
			
			
		]]>
	</mx:Script>
	<mx:TextInput x="10" y="36" id="nameText" />
	<mx:Button label="Submit" id="idTest" click="doRequest()" x="10" y="66"/>
	<mx:Label x="10" y="10" text="name" color="#FFFFFF"/>
</mx:Application>

Google App Engineで、templateモジュールを使う

# -*- coding: utf-8 -*-
from google.appengine.api import users
from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext.webapp import template
import os


class MainPage(webapp.RequestHandler):
  # GET
  def get(self):
    # usersモジュールからユーザ情報取得
    user = users.get_current_user()


    if user:
       # ログアウトURLを取得
       url = users.create_logout_url(self.request.uri)
       link_txt = "logout"
    else:
       # ログアウトURLを取得
       url = users.create_login_url(self.request.uri)
       link_txt = "login"

    # テンプレートに渡す値を辞書にセット
    values = {
      'url': url,
      'link_txt': link_txt,
      }

    # テンプレートのパスを取得
    path = os.path.join(os.path.dirname(__file__), 'hoge.html')
    # パスと値を設置
    html = template.render(path, values)
    # 出力
    self.response.out.write(html)
		
## WSGIアプリケーションを作成
routing = [
  ('/', MainPage),
]
application = webapp.WSGIApplication(routing, debug=True)

## メインルーチン
def main():
  run_wsgi_app(application)

if __name__ == "__main__":
  main()
<html>
        <head>
        </head>
        <body>
                <a href="{{ url }}">{{link_txt}}</a>
        </body>
</html>

python-twitter使ってみた

インストール

python-twitter-0.6.tar.gz
$ cd python-twitter-0.6
$ sudo python setup.py install
$ python
>>> import twitter

エラーがでなければOK

simplejson 2.0.9

json形式で通信するため、必要らしい

$ cd simplejson-2.0.9
$ python setup.py install
$ python
>>> import simplejson

エラーがでなければOK

つぶやいてみよ〜

$ python
>>> import twitter
>>> api = twitter.Api("ユーザー名", "パスワード")
>>> status = api.PostUpdate("Hello Twitter from python-twitter")

おっ出来た出来た。