SimpleTALで日本語を使うには?

PHP, Python, Ruby, SimpleTAL

08:49:24, by dozo Email , 153 words, 2614 views   Japanese (JP) del.icio.us

Pythonいいね。

(ノ・・)ン。。。。。。(((●コロコロッ

テンプレートエンジンとしてさっそく使っているのがSimpleTAL
PHPTALを使っていたころから目を付けていたが、
実際使ってみるとまぁまぁ良い。


日本語を使おうとしたら、
文字が全部?(クエスチョンマーク)になっていた。
ソースコードをUTF-8で揃えたのになんでやねん。
ちょっと調べてみると、
あっさり原因がわかった。
その内容をメモ。

使用しているサーバはXREA.COM
しかし、さくらインターネットなどの共用レンタルサーバなら大抵同じだと思う。

=> Read more!


PHPだけでリアルタイムAJAXチャットシステムを構築する方法。

PHP, JavaScript, AJAX, Comet

08:41:06, by dozo Email , 99 words, 14190 views   Japanese (JP) del.icio.us
言語はぶっちゃけなんでも良いってわけだ。

(ノ・・)ン。。。。。。(((●コロコロッ

まずは、現物から。
複数起動したブラウザからそれぞれアクセスして、
右側のボックスに文字を入れて叩くと内容がシンクロしている・・・と思う。



取りあえず動くところまで作成。
Cometの様な大がかりなものではなく、
表示用のページ一枚と、
コネクション維持のプログラム一つだけ。

特徴は
  • 非常にシンプル
  • 共有サーバでも設置可能(サーバ会社から文句言われるとかは除く)



チャットのソースはこんな感じ。

RealTime Ajax Chat Connection Source
RealTime Ajax Chat View Source

セキュリティは厳重ではないしバグもいくつか見つけてるけど、
特別修正する気はないので再利用は自己責任でよろしく。
一見長いように見えるが、
ほとんどがオブジェクト永続化に使ったCache_Liteの設定・利用まわり。
そこは全然関係ない。



Comet(Real time AJAX)だが、
一年ほど前、みな一生懸命研究していたような気配だった。
一度下火になったようだが、
ここ最近、またCOMET熱がよみがえっているようで、
最近のAJAXフレームワークにはサーバプッシュ系実装が増えてきている。


私も過去にいろいろ試した。
OperaのServer-Sent Event, Firefoxのmultipart/x-mixed-replaceはちゃんと動作するものの、
どうしてもInternet Explorerがネックになって先に進めなかった。
代わりの方法でFlash+Javascriptで実装してみたわけだが、

動作はしたものの実用性は皆無。
それ以降は手を付けていない。
(最近アシアルブログで取り上げられていたが。)
時間的コストが高すぎるのでAMFは試していない。



あれこれ調査していると、
一つ面白い手法にたどり着いたので、
それに関するブレスト。

この手法なら、
  • ブラウザ依存
  • 言語依存
が解決出来る。
実用度には議論・検証が必要だが、
いろいろ実験してみて答えを出すことにしよう。

=> Read more!

dokuwikiが検索エンジンに載りにくい理由

Wiki, DokuWiki

08:23:20, by dozo Email , 209 words, 3745 views   Japanese (JP) del.icio.us
今まで全く気が付かなかった。

(ノ・・)ン。。。。。。(((●コロコロッ

dokuwikiを使っていて何となく思っていたことがある。

なんか検索エンジンに掲載されないなぁ。


私はブログを頻繁に書くので、
記事を書いてから検索エンジンに載るまでどのくらいか感覚的に解っている。
しかし、あくまで感覚値なため、
ものによってはそう言うこともあるんだろうなと特別調べもしなかった。


とある日、
cache-controlを制御しようと、
メタ情報追加作業をしている時のこと。
headタグを眺めていると、

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Pythonコンポーネント [dozo dokuwiki.py]</title>
<meta http-equiv="Cache-Control" content="no-cache" />
<meta name="generator" content="DokuWiki Release 2007-06-26b" />
<meta name="robots" content="noindex,nofollow" />
<meta name="date" content="2007-10-30T21:56:04+0900" />
<meta name="keywords" content="start" />


(つд⊂)ゴシゴシ

( -_-) ジー

<meta name="generator" content="DokuWiki Release 2007-06-26b" />
<meta name="robots" content="noindex,nofollow" />
<meta name="date" content="2007-10-30T21:56:04+0900" />



・・・(゜Д゜)


待て!
なんだこれ!


ということで急遽調査開始。
結論から言うと
  • サイト設定の[スパム対策]-[インデックスを許可(何秒後)]の数値を調整

が必ず必要のようだ。
っていうか0秒でいいよ。

=> Read more!

Python入門してみた。

さくらインターネット, XREA.COM, LightWeight Language, Python

08:47:17, by admin Email , 259 words, 4862 views   Japanese (JP) del.icio.us
他の言語をやってみて、ようやく見えるものもあるな。

(ノ・・)ン。。。。。。(((●コロコロッ

何となくだがPHPユーザーはPythonの相性が良いような気がする。
文法がJavaScriptと似ているので、
Webやっている人は取っつき易いかもしれない。
このチュートリアルをこなせばおおよそ使えるようになると思う。
http://docs.python.org/tut/tut.html
(Python独自のなにかがあるのなら別だが)

動作もさすがに安定していて、
PHPみたいに__setが・・・__getが・・・autoloadが・・・みたいなことは今のところ無い。
Python3.0もalpha版がリリースされたようで、
Rubyと同様、今後が楽しみ。

pythonコマンドだけ打つと使えるインタラクティブモードはかなり便利だ。
$ python
Python 2.4.3 (#2, Nov 7 2006, 13:07:47)
[GCC 3.4.4 [FreeBSD] 20050518] on freebsd6
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.stdout.write('test')
test
>>>
対話型のプログラミング実行環境。
コードを一つ一つ書いていくと即座に状態がわかる。
小さなプログラムやコンポーネントの動作テストをするのに便利。
いちいちファイルを作成する必要がない。

デフォルトコンポーネントの作りもしっかりしていて、
PHPで良く作成したラッパークラスがほとんどいらない。
例えばXMLRPCを使おうと思った時は、
import xmlrpclib
api = xmlrpclib.Server( 'http://api.hain.jp' )
result = api.method.name({'word':['hoge']})
とするだけでデータが取得出来ている。
PEAR::XML_RPCをインストールしてラッパークラスを作って・・・ってのが不要。
あのAPIにこんなデータを渡して・・・ってのだけ考えればいい。
エラーは例外で共通化されいるので、
includeでWarningが出た時どうすれば・・・なんてのもない。

クラスや関数の定義を確認する方法にhelp関数というのがある。
標準のコンポーネント、自前のクラス・関数もすべてこれで確認出来るのが便利だ。
PHPで言うところのReflectionクラス。
$ python
>>> class testclass:
... def testfunction():
... print 'hoge'
...
>>> help( testclass )
Help on class testclass in module __main__:

class testclass
| Methods defined here:
|
| testfunction()
>>>



まぁもちろん言語それぞれハマリどころがあるだろうから。
はまった時点で愚痴っぽく記事にするとしよう。
このブログはメインがPHPなので、
なるべくPHPerに解るように書いていこうとは思う。




なんだかんだで楽しく遊んでいるように見えるが、
動かすまでには結構苦労した。
その辺をだらだらと書いてみようかと。

使用しているサーバはXrea.com
しかし、さくらインターネットなどの共用レンタルサーバなら大抵同じだと思う。

=> Read more!

powered by b2evolution

shinobi

Neighbors
Relative
Favorites
PR

極論istの技術屋を始めて早幾年。 流れの速い業界の波にもまれながらも精一杯生きている様をとくとごらんあれ。

Archives
スポンサー

Latest bookmark
Search

Categories

Who's Online?
Misc
Syndicate this blog XML

Valid XHTML 1.0! Valid CSS! Valid RSS 2.0! Valid Atom 1.0!