Python: 2008年8月アーカイブ

LL Futureに行ってきました。以前の現場の大先輩と一緒です。

場所は中野。4駅隣なので楽♪
会場となったなかのZEROの大ホールを貸し切りでした。

チケットが1001枚売れて、来場は800人あまり。
エンジニア800人ってすごw

で、基調講演。2度目の来日、Perlのラリー・ウォール氏。
英語に冗談の日本語少々。Perl6について。

プログラマが文法を追加できたり...まぁ正直、英語わかんないorz
一瞬、Pythonユーザ会の方が通訳してくださるか期待したのですが...

で次がLLの過去、現在、未来について。
Larry Wall氏, Rubyのまつもと氏など、が登場。Schemeはやってるというか、勉強になるらしい。
(SICP本で詰まってるからコメントできないorz)
Larry Wall氏の「I have a dream ...」と聴いて牧師を思い出した...
あと興味あったのはひげぽん氏のもなOS。命令も()らしいが閉じ括弧は補完されるそうです。

次は昼の後。
フレームワークについてのセッション。
Seasarの比嘉氏をはじめやんわりとした進行。
フレームワークを使ってない方が会場で結構居たのだけど、昼後だから挙手しなかっただけなのか、それとも本当に使った事がないのか。

というかウェブフレームワーク中心に話が進んでて気がするのだけど、ウェブ系以外のフレームワークの話を聴きたかった...
Gauch on Railsが興味深かったが、さすがにそこだけに話題を注力する事はなかった。

LLアートのセッションでは、すいません。半分寝てしまいました。
私が直接お世話になることはないかなぁっと思ったのが正直なコメント。
ただ興味深い。Processingでしたっけ?一度使ってみたい。

で、どう書く?セッション。
爆笑の嵐。というか、ネタ合わせまでしたのかな?って思った。
ソースコードも西尾氏のコードは楽しいし、すごい発想力。
(ラストの抽選会では西尾氏は2階席で大はしゃぎしながらボールを投げてました♪)

プロゴルファーの方もすごい。ビビった(ビビッと来た)
世の中に天性を持った方が居るとともに、現場で使われたら、「それって難読化wというか勘弁してください」って突っ込んじゃう。

で最大の山場は「古い言語、新しい言語」のセッション。
JSRubyはとっても興味あるし、FlashをiPhone上で動かすって発想に驚いた。
Javaをバイトコードで実行ってなるほどと思うけど、そんな簡単に実装できないよとか思いつつ聴いてました。
そっちの話をもっと聴こうと思う。...にしてもレベル高い。

ライトニングトークはネタの集まり。
java-jaのYohsiori氏も参加してました。
興味あるのは、Grass。あれって発想変えると数字0〜9でも作れるだろうな。そしたら、ほぼ暗号w
あとは、クライアントDBの話。
残りは爆笑系のNario,自走式Webサーバーあたり。

以上です。去年のLL魂はチケット購入したのにいけなかったので今回は参加できてよかった♪
それと、知人と会場で会えたのが嬉しかった。
来年も参加するぞ!!

帰り、居酒屋で大先輩と吞んでました。
そしたらラリーさんとLLのスタッフの皆さんが入ってきたので記念撮影。
Larry Wall
くっ...英語がもっとできればコミュニケーション取れたのにorz
(我ながらミーハーだ...)

LL Future関連:
[misc]LL ひゅーちゃー
AptanaがPythonに対応したそうな。
Pydevベースだけど。
Aptana Pydev

ひとまず私は、exlipse3.4+Pydev+...で十分だから乗り換えない。

以下、参考:
aptana python:http://aptana.com/python
codezine:http://codezine.jp/article/detail/2989
Lepardでmod_pythonの際に自分が引っかかった点を備忘録として。

まずは参考にした記事の紹介。
Leopardでmod_python

で手順は、

mod_pythonの設定

# cd /usr/local/src/
# curl -O http://ftp.kddilabs.jp/infosystems/apache/httpd/modpython/mod_python-3.3.1.tgz
# tar zxvf mod_python-3.3.1.tgz
# cd mod_python-3.3.1
# ./configure
# cd ./src
# vi Makefile
viでMakefileを開き下記3行を追加する。
INCLUDES+= -Wc,-arch -Wc,ppc -Wc,-arch -Wc,i386 -Wc,-arch -Wc,ppc64 -Wc,-arch -Wc,x86_64
INCLUDES+= -Wl,-arch -Wl,ppc -Wl,-arch -Wl,i386 -Wl,-arch -Wl,ppc64 -Wl,-arch -Wl,x86_64
export ARCHFLAGS='-arch i386 -arch ppc -arch ppc64 -arch x86_64'
追加後のコードは以下の通り。赤字が追加箇所。
# requires flex 2.5.31 for reentrant support
LEX=/usr/bin/flex
INCLUDES=-I/Users/paraches/myTest/modPython/mod_python-3.3.1/src/include -I/usr/include/apache2 -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5
INCLUDES+= -Wc,-arch -Wc,ppc -Wc,-arch -Wc,i386 -Wc,-arch -Wc,ppc64 -Wc,-arch -Wc,x86_64
INCLUDES+= -Wl,-arch -Wl,ppc -Wl,-arch -Wl,i386 -Wl,-arch -Wl,ppc64 -Wl,-arch -Wl,x86_64
export ARCHFLAGS='-arch i386 -arch ppc -arch ppc64 -arch x86_64'
LIBS=-lm -framework Python -ldl
LDFLAGS= -Wl,-framework,Python -u _PyMac_Error -framework Python -Wl,-F.
OPT=
CFLAGS=$(OPT) $(INCLUDES)
srcdir=.
# cd ./../
# make
# make install

Apacheの設定

# vi /etc/apache2/httpd.conf
下記を追加。
LoadModule python_module libexec/apache2/mod_python.so
同様に下記を追加。

<Directory /mywebdir>
AddHandler mod_python .py
PythonHandler myscript
PythonDebug On
</Directory>
httpd.confを修正したので、apacheサーバーを再起動する。
# apachectl restart

myscriptの作成(試しに)

Python プログラムが /mywebdir/myscript.py
myscrupt.pyの内容は下記の通り。

from mod_python import apache
def handler(req):
req.content_type = "text/plain"
req.write("Hello World!")
return apache.OK

mywebdir/myscript.pyにアクセスし、Hello World!が表示されることを確認する。
(ついでにmywebdir/任意の名前.pyでアクセスすると同じ結果が出る。)

補足:
ソースコードの配布先:Apache HTTP SERVER PROJECT
http://httpd.apache.org/modules/python-download.cgi

マニュアル日本語版:mod_python マニュアル
http://www.python.jp/doc/contrib/modpython/contents.html
にこにこで「python」って検索したら、見つけた。



正方形ってw
これは楽しめた。

いや、でも休憩中にpythonって検索しちゃうところがなんともw
BeautifulSoup
読んでて特にわからなかった単語。

extract
引き出す、得る。
incoming
入来、到来。入ってくるイメージ。
specify
指定する、明記する。
external
外部の

以下、メモ書きリンク:
BeautifulSoup
http://www.crummy.com/software/BeautifulSoup/
Pydevからの実行ではしっかり動くのに、macの通常実行では動かない...なぜ?

Window XP(Python2.5)ではしっかり動く??

 あぁ...2時間ばかしはまってるorz


で作ってるのは、Tkinter使ってメール配信をGUIから。それを、py2appとpy2exeで固める。


あと、備忘録。
py2exeの実行はpython setup.py py2exe。
py2appの実行はpython setup.py py2app。
TkinterのEntryクラス使ったテキスト入力フィールドで、*表示などのパスワード表示にする方法。

下のように、showオプションを与えてあげる。

Entry(frame, show="*")


ドキュメントが少なかったから資料見つけるの大変だったorz
ギークなおねえさんが、とっても面白いサイト作ってた。

しかも詳細すぎ(笑)

geek DataBase - ギークデータベース

これはネタ。


以下、余談。
Python2.5ではSQLite3がビルドされてます。
Python2.4のレンタルサーバーではSQLiteは使えません。

なんとかPython2.5のモジュールをレンタルサーバーに移植できないかな...と思って解析してます。

代替手順として、
開発環境で、Python2.4,pysqliteモジュールを準備し、py2exe,py2appでまとめる。それを解析し必要モジュールを特定する。ってあほな手順。

...すなおにドキュメント逝ってきます。