Python

Tinkerer

ちんけらーでブログ作りました。http://blog.shomah4a.net/Sphinx がすんげー書きやすいのではてダはもう…。

buildout と PasteDeploy を使って mod_wsgi で動かすための wsgi ファイルを作る

というわけでメモ。 今回ははてダ使ったよ。こんなもの を作っていて、タイトル通りのことをやりたかったので、試行錯誤したメモ。 buildout で環境構築している WSGI なアプリケーションを作っている buildout で作った環境で mod_wsgi 使って動かしたい と…

2012 Python アドベントカレンダー (Web フレームワーク ) 二日目 WSGI でなんか作ってみる #python_adv

Python アドベントカレンダー 二日目です。Web アプリケーションフレームワークの Advent Calendar なのにフレームワーク使いません。WSGI だけでなんか作ってみるぜな内容です。 しかも Sphinx で書き始めたら文量がすごいことになったのでブログに書くのが…

Travis-CI を使ってみた

Travis-CI というサービスがあります。 継続的インテグレーションってやつです。 よくわかりません。 多分 Jenkins みたいなやつです。とりあえず github に push したら指定したスクリプトを走らせてくれて、結果を通知してくれるサービスだと思っておきま…

zope.i18n の設定をするまで

なんか色々ハマったのでメモ。 やりたいこと 今作っている Web アプリで zope.pagetemplate を使おうとしているわけです。 で、時代はインターナショナルという事で i18n とか考えたい、と思うわけです。zope.pagetemplate なので zope.i18n を使うわけなの…

PyCon JP 2012 で広報してきた #pyconjp

先日のことですが、 2012/09/15 〜 2012/09/17 にかけて PyCon JP 2012 が開催されました。 昨年の PyCon mini JP, PyCon JP 2011 に続いてスタッフとしての参加です。議事録を見る限り第一回のミーティングは 2012/01/16 らしいので八ヶ月程度は関わってき…

tornado やってみたメモ

なんか作りたい人はこんなところを見ていないで ドキュメント 読めばわかるし読んでわからないなら諦めてください。弄っているソースは ここらへん に置いてあるはず。 URL mapping とりあえずこれですよ。 app = web.Application([ ('/', serve.MainHandler…

supervisor を使ってみた

ちょっと tornado 使って WebSocket うひょーとかやりたくなったので色々調べていて、こいつプロセス立てて daemon にしなきゃいけないわけですよ。んで、運用環境に行った後にプロセス管理とかめんどくせーなーなどと思っていた訳なのですが、 supervisor …

fabric を使ってみた

最近 github に Sphinx で作った s6 スライドのソースを置いて、それを自分の VPS にアップロードするということが結構ある。その時に github に push サーバに ssh git clone buildout make html sudo して /var/www なりなんなりにコピー という手順をこな…

Python から Java を使ってみる

Python から Java を弄りたいと思ったので何となくやってみる。 PyPI でモジュールを探したら javabridge と javaclass がでてきた。 javaclass で、 javaclass を試してみたらダメだったという。Mercurial のリポジトリ(証明書エラー出るので自己責任) に r…

Mercurial を Python から使ってみる

Mercurial のリポジトリをプログラムから弄りたくなったので適当にやってみた。やりたかったのは 現在のリポジトリのヘッドにあるファイルの最終更新日一覧取得 マルチヘッドは考慮しない ってこと。ソースの方が早そう。 ソース gist から

嫌い!

twitter 上で Python の += の挙動がキモイよねという話が一部で盛り上がっていた。 発端は多分このつぶやき window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return…

暗黙の…

※4/15 追記Python3 で導入されたとてもキモイ暗黙の __class__ 変数についてちょっと試した。 やっていること メソッド内で super() を呼ぶ前に self を別の値にする メソッド内で nonlocal __class__ して __class__ を書き換えた後に super() を呼ぶ 結果 …

メタクラスの気になるアレ

ちょっと前に書いた 多重継承を制限してみる - プログラマのネタ帳 で、メタクラスに関してちょっと気になっていたことを検証。 それは、 メタクラスの継承ツリーはどうなるの? ってこと。これが気になっていたので以下のコードで検証。結果を簡単にまとめる…

Python3 とクラスと super

Python3 では super() を呼び出す際に引数を省略できる。 例えば以下のように書くと、 super() は super(Derived, self) という呼び出しと等価になるらしい。 class Derived(Base): def __init__(self): super().__init__() そもそも明示を是とする Python …

多重継承を制限してみる

昨日のえきぱいで window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widge…

Python3 で 環境構築

Python3 で easy_install なり pip なりを使いたいなーと思っていたので試したメモ。 easy_install とか setuptools とか distribute とか 使いたいんだけど、 ez_setup.py はダメっぽい。 distribute · PyPI を見る限りは使えるっぽいのだけど、tarball を…

第八回ありえるえりあ勉強会で発表してきましたな件

昨日 1月 20日に第八回ありえるえりあ勉強会で発表してきました。 ネタは大体これと同じで、今回はこんな感じ。あんまり発表というものもやったことがなかったり、最大でも BPStudy だったので結構緊張しましたねー。 まあトップバッターで概要の紹介だった…

PyPy Sudden Death Calendar 27日目 - JVM Backend に完敗した件を受けて

昨日の PyPy Sudden Death Calendarにて[twitter:@rokujyouhitoma]総帥が挑戦した PyPy の JVM Backend での失敗と、その後の Skype での議論をまとめて一エントリまかなえそうです。 なのでとりあえず書いてみました。PyPy Sudden Death Calendar 27日目で…

某元祖 Advent Calendar 25日目 - PEP3333

Python3 Advent Calendar の記事、と見せかけて某元祖 Advent Calendar の記事らしいです。 Python3 Advent Calendar の二周目用に書いておいたのが結局24人集まって書かなかったから使い回したとかそういうことはないんだからね! 勘違いしないでよね! WSGI …

PyPy Advent Calendar 21日目 - 文法を拡張してみた

改めまして PyPy Advent Calendar 21日目担当の [twitter:@shomah4a] です。 三周目です。 大変です。 誰かか書く人いませんかー?というわけで、今回は 11日目 に [twitter:@yanolab] さんが PyPy の Python インタプリタに手を入れていたのにインスパイアさ…

PyPy Advent Calendar 21日目(失敗編) - RPython と型とか

PyPy Advent Calendar 21日目です! なんかよくわかりませんが人が少ないので三周目な [twitter:@shomah4a] です。今回は RPython における型についてです。 型推論あたりの話は 17日目 に [twitter:@cocoatomo] さんが書いていましたが、おおよそあんな感じ…

PyPy Advent Calendar 15日目 - 低レベルっぽいことをやってみる

PyPy Advent Calendar 15日目を担当する二周目の[twitter:@shomah4a]です。だんだんとネタもなくなってきました。 でもね、 rlib 探すと色々面白いものがあるんだね。というわけで今回はなんとなく目についた pypy.rlib.clibffi についてです。※まとめのあと…

PyPy Advent Calendar 二日目 - ebnfparse を使ってみた

みなさん処理系作ってますか?PyPy 楽しいですよね!というわけで昨日とは打って変わって PyPy Advent Calendar 二日目を担当する [twitter:@shomah4a] です。 他の人が翻訳ネタでエントリを書く宣言をしている中、空気を読まずに開発系エントリです。 PyPy っ…

Python3 Advent Calendar 一日目 - Python とジェネレータ関数

みなさんジェネレータ関数使ってますか?ジェネレータ関数便利ですよね!無いと死んじゃいますよね!というわけで Python3 Advent Calendar 一日目を担当する [twitter:@shomah4a] です。 ジェネレータ関数って? とりあえずジェネレータ関数です。めんどくさい…

社内勉強会で PyPy の紹介をしました

私が勤めている某 Java な会社の社内勉強会で「PyPy の紹介」というタイトルで発表しました。作った資料は折角なので公開します。 別に機密事項があるでもないしね。まあプレパレードでも聴きながら見てあげてください。 PyPy 紹介 View more presentations …

py2exe のハマりどころメモ

py2exe を使用すると、 setup.py にちょっと追記するだけで Python スクリプトを単体で配布可能な実行形式に変換できる。結構便利ではあるのだが、これがけっこうハマる。 ということでそこら辺メモ。 基本 基本的に以下のようなスクリプトを記述し、 python…

「BPStudy #49 Scala 祭り」で発表してきました

タイトルの通り「BPStudy #49 Scala 祭り」で「Pythonista による Pythonista のための Scala 紹介」という発表をしてきました。発表用のスライドはこちら: Pythonista による Pythonista のための Scala 紹介 in BPStudy #49また、リモートでハッシュタグ参…

Python とクロージャ

[twitter:@kumagi] さんの window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.c…

PyCon JP 2011 に参加してきました

8/27(土)に産業技術大学院大学にて開催された PyCon JP 2011 に参加してきました。 といっても参加者ではなくてスタッフなのですけども。当日は広報っぽく写真を撮ったりしてました。 同名の人に会ったよ! そもそも同名ってのが少ない私なのですが、なんと! …