Home

Wardish Labs

PHPTALメーリングリストダイジェスト

すでに今年の2月の事ですが、本サイトのPHPManualは本家サイトへ寄贈いたしました。
内容は同様の物になっておりますので、お好きな方へリンクをお願いします。

PHPTAL MLの最近の話題

  1. $のエスケープについて
    Chameron Junge氏より、$後にインライン形式(${value})で出力したい場合どうしたらいいのか? という質問。
    $${value}とするとそのまま"$${value}"と表示されてしまいます。 バグじゃね?

    実態参照の&#36を使えば? って意見もありましたが、XMLの仕様として&#36も$と同等に扱うとのこと。
    (つまり &#36{value} って書くと value に展開される)
    良い方法ないかね?

    これに対してKornelより、今の仕様は
    ${value} は valueになるけど
    $${value} は ${value} に
    $$${value} は $${value} になっちゃうとのこと。

    これはバグじゃなくてそういう仕様なんだよ。 と。

    でも以下のように変えることもできるよ。 ただ、$の偶数奇数をきちんと判別して置換するシンプルな方法がないかな?と質問forAll
    ${value} は value に
    $${value} は ${value} に
    $$${value} は $value に

    数名からは「仕様は変えなくてイイよ」的意見もありましたが、本家(python)TALの仕様が$$は$リテラルに置換という仕様という指摘があり、本家に合わせて修正されることになりました。

    実装方法については、Tjerk Meestersより $$は$に置換した上で、preg_replace() 使って「\b${?(\w+)」でいいでしょうという意見があり、それが採用されることになりました。

     

  2. バージョン1.2.1(現時点の最新版)で「namespace not decrared」というエラーが出る
    宣言していない名前空間(メールでは _tal:content )を使うと例外でるんだけど。
    できれば無視してくれないかなー という要望

    Kornelより、
    それはXMLの仕様だから、xmlnsで適当に宣言すれば出なくなるよ。とのお返事

     

  • Comments (Close): 0
  • TrackBack (Close): 0

PHPTALドキュメント日本語訳

  • 2009-02-26 (木)
  • PHP

PHPTALのドキュメントを日本語訳しました。 現時点では勝手翻訳なので、この翻訳に関するご意見はtetsuya@wardish.jpまでお願いします。

PHP Template Attribute Language

Laurent Bédubourg

Kornel Lesińsk

Dan Sheppard

Anton Andriyevskyy

Continue reading

UML勉強会を開催します

日時: 2月7日の午後16時~18:30

場所: Wardish合同会社(googleMap

定員: 10名

会費: 200円(お菓子代)

内容(予定):

  • 要件からのクラスの見つけ方
     一般的には「名詞抽出法」により、センスと勘で発見するのが主流ですが、名詞であってもクラス化が適切でない場合があったり等、もうちょっとシステマチックに初心者でも可能な方法が望ましいと思っています。
     クラス図に落とし込む前にDFDの形式で記述することで、システム上重要な名詞とそうでない名詞の区別を付けやすくなると考えます。
  • クラスの属性とするかサブクラス化するかの判断
     クラスが複数の状態を持つ場合、それをクラスの属性により表現すべきか、サブクラスによって表現すべきかは判断の難しいところだと思います。
     いくつかのケースを元に、それぞれのメリットデメリットについて論じてみると新たな発見があるのではないでしょうか?

スケジュール:

16:00~16:10 名刺交換
16:10~17:00 「要件からのクラスの見つけ方」
17:00~17:10 休憩
17:10~18:00 「クラスの属性とするかサブクラス化するかの判断」
18:00~18:30 UMLに限らず、システム開発関連について意見交換

申し込み方法: こちらから(もしくはinfo@wardish.jpまで「お名前」をお送りください)

EMONSTER S11HTの無線ルータ化

EMONSTERにWM FiFi Routerを入れればWiFiアクセスポイントとして使えるようになるらしい という情報を仕入れ、早速端末購入→セットアップしてみました。

まずは http://www.wmwifirouter.com/ からお目当ての「WM WiFi Router」をダウンロード。

とりあえずは体験版(trial)をつかってみます。 買うなら14.99ユーロ。 ←買う予定

画像はっつけてインストールしていく様を解説したいところなんですが、時間的余裕のため断念。

結果から言うと「使える」。 3人くらいで。

気になる点があるとすればアドホック型でつながってしまうことくらい。 以上!

XAMPP for Windowsでweb.py環境を作ります

ローカルマシンにweb.pyを使ったアプリケーションの開発環境をつくるため、試行錯誤してみました。

まずは必要なものをダウンロードします。

  • Python2.4.4
    python-2.4.4.msiをダウンロードしてさくっとインストールします。
  • flup
    flup-r2030.tar.gzをダウンロードして解凍し(flup-0.5とかだとだめっぽいので注意)、Windowsでも動くように
    flup-r2030\flup\server\fcgi_base.pyの970~981行目を以下のように編集します。

             isFCGI = False        
    
            #sock = socket.fromfd(FCGI_LISTENSOCK_FILENO, socket.AF_INET,
            #                     socket.SOCK_STREAM)
            #try:
            #    sock.getpeername()
            #except socket.error, e:
            #    if e[0] == errno.ENOTSOCK:
            #        # Not a socket, assume CGI context.
            #        isFCGI = False
            #    elif e[0] != errno.ENOTCONN:
            #        raise

    それでもってコマンド実行してインストール。

    > cd flup-r2030
    > python setup.py install
  • web.py
    web.py-0.22.tar.gzをダウンロードしてきて解凍し、ちょこっと編集します。
    まず、webpy\web\wsgi.pyの17行目を以下のように変更。

    return flups.WSGIServer(func, multiplexed=True, bindAddress=addr, maxSpare=0).run()

    次に、同じくwebpy\web\wsgi.pyの32 行目の下に、以下の6行を追加。

            path_begin = os.environ['SCRIPT_NAME'].rfind('/')
            try:
                query_begin = os.environ['REQUEST_URI'].index('?')
                os.environ['PATH_INFO'] = os.environ['REQUEST_URI'][path_begin:query_begin]
            except ValueError:
                os.environ['PATH_INFO'] = os.environ['REQUEST_URI'][path_begin:]

    それでもってコマンド実行してインストール。

    > cd webpy
    > python setup.py install
  • XAMPP Lite for Windows
    XAMPP Lite 1.6.4あたりのZIPをダウンロードしてきてさくっと解凍します。

せっかくなので、web.pyで何かつくってみます。
まずはxampplite\htdocsに「hoge」フォルダをつくって、index.cgiを作成します。
index.cgiの内容はとりあえず、↓のようなかんじに。

#!C:\Python24\python.exe
# -*- coding: utf-8 -*-       

import web       

urls = ('/hello', 'view')       

class view:
    def GET(self):
        print 'Hello, world!'       

if __name__ == '__main__': web.run(urls, globals())

それから次のような .htaccess ファイルもつくっておきます。


  RewriteEngine on
  RewriteBase /hoge/
  RewriteCond %{REQUEST_URI} !^(/.*)+index.cgi/
  RewriteRule ^(.*)$ index.cgi/$1 [PT]

なお、事前にhttpd.confの以下の部分のコメントをはずしておきます。

LoadModule rewrite_module modules/mod_rewrite.so

準備ができたらXAMPPのコントロールパネルからApacheを起動して、ブラウザで以下のURLにアクセスします。
http://localhost/hoge/hello
見事に「Hello, world!」と表示されたら今日は大団円。

  • Comments (Close): 0
  • TrackBack (Close): 0

Home

Search
Feeds
Meta

Page Top