Python

プログラミング生放送勉強会 ​第4回@名古屋 LT話してきました。

5zjさん主催のプログラミング生放送勉強会 ​第4回@名古屋のLTで話してきました。最初はLTなだけに、Low level Technologyと解釈して、Linuxのブートプロセスを話そうかと思ったのですが、つまらなかったので没。Rについて話そうかと思ったけど、華がないの…

Pythonでベイジアンフィルターを実装してみた

久々にPythonでアルゴリズムです。Web+DB Vol56でPerlでかかれていた、ベイジアンフィルターをPythonで実装してみました。 ほぼ、本に忠実に実装しています。恒例によって、結果の保存とかはしてません。 #!/usr/bin/env python # -*- coding: utf-8 -*- imp…

第2回ニコ生勉強会in新宿

5zjさん、おでんさん主催で、昨年の12/24に新宿で行われた、「ニコ生勉強会」で、しゃべってきました。その時の発表資料になります。Pythonで検索エンジン2View more presentations from kawa1128.遅くなりました。

WSGIその後

WSGIに関係するScriptを修正すると、Apacheを再起動しないと、反映されないという、開発していく上で非常に困る現象になりました。それの回避方法です。とりあえず、WSGIをApacheから起動させ、デーモン化します。(FastCGIと同じ?)そのためにApacheの設定…

WSGIの続き

前回は、Web.pyを使ったけど、それを使わない方法。にこ生では、リダイレクトしないぞと言っていたが、単純にHTTPレスポンスの番号を間違えていただけだった。301をかえすところを、304をかえしていた。304は、変更なしだった。 # -*- coding: utf-8 -*- fro…

ApacheでWSGIを使ってみる

Pythonには、web.py(http://webpy.org/)というWSGI(Web Server Gateway Interface)準拠のモジュールがある。というわけで、mod_wsgiと、web.pyを使ってみた。web.pyは、easy_install web.pyで入れる。 mod_wsgiは適当に入れる。で、Apacheの設定。いろい…

さくらインターネットでPythonのテンプレートエンジンMakoを使う。

Pythonの軽量テンプレートエンジンを使って、Webを構築していたが、ローカルな環境では CGIとしても、コマンドラインでも動く。さくらのレンタルサーバー上で動かそうとするとパスが見つからないと怒られる。 import sys sys.path.append('/home/xxxxx/local…

日付からエポック秒に変換

Pythonでエポック秒を扱わないといけない必要性があっててこづったのでその記録。 今後のことを考えて、TimeZoneを考慮する場合。pytzのインストール。Pypiから。2009/12/28 00:00:00 JSTをエポック秒に変換。ちなみに。Perlの場合。 use strict; use warnin…

さくらで、HatenaのOpenIDを使ってみる。

まずは、python-openidのインストール。 OpenID: http://openidenabled.com/python-openid/PyPiでも入れれるはずだけど。 %wget http://openidenabled.com/files/python-openid/packages/python-openid-2.2.4.tar.gz %tar -zxvf python-openid-2.2.4.tar.gz …

スクレイピングとかクローリングの話

少し前に作り始めていて、いろいろあって頓挫した、自分ブックマーク検索エンジンをもう一度作ろうと思い、オライリーの集合知プログラミングを片手に、クローラーを作成。そのまま、作るといろいろ、ハマります。BeautifulSoupをそのまま、使うと、壊れたHT…

Pythonでニューラルネット

非線形の解析をやりたくて、ニューラルネットを組んでみた。 バックプロパゲーション(誤差逆伝搬学習)の3層パーセプトロンをPythonで実装。とりあえず、XOR問題は解けるようになりました。 #!/usr/bin/env python # -*- coding: utf-8 -*- import math imp…

俺俺ソーシャルブックマーク的何か、略してOSBNの開発

ニコニコ動画生放送(以下、にこ生)で、ライブコーディング(雑談8割、コーディング2割、愛情1割で放送中)している、「俺俺ソーシャルブックマーク的何か」の説明。こみゅはここ。 目的 俺様ブックマークを検索したい。 動機 いろんなPCに散らばっている、…

LLカンファレンス

今年もLL(Lightweight Language)カンファレンス@中野、「LLTV」にいってきました。第1感想です。Python増えたなぁ。 うれしい反面、うかうかしてられないなぁ。 第2感想です。iPhone、Mac Book 多すぎ。Androidも少しいた。 第3感想です。みんなツイッタ…

PythonからOpenCV

さっきアップしたCのサンプルをPythonで書き直したもの。 #!/usr/bin/env python import opencv import opencv.highgui if __name__ == '__main__': capture = opencv.highgui.cvCreateCameraCapture(-1) opencv.highgui.cvNamedWindow("capture", opencv.hi…

PyUSBで、機器名称の取得

ちょこっとした理由でPythonからPCに接続されているUSBの機器名を取得したくなった。ググっても、なかなか、出てこなかったので、備忘録がわりに。 #!/usr/local/bin/python import usb class UsbDevice(object): def __init__(self, vendor_id=None, produc…

UnitTestのお勉強

取り合えず、UnitTestを今まであまり必要性も感じなかったので、やってこなかったが、ここで、一旦身につけておこうかと。クラスは簡単な計算をするものとする。まずは、テスト対象のクラス。 #!/usr/bin/env python # -*- coding: utf-8 -*- class Supper: …

配列の中の最大値のいち

配列の中から最大値、最小値を抜き出すのは、 x = [2,4,1,8,-2] print max(x) print min(x)とスマートにかけるのですが、最大値は何番目だったか、最小値は何番目だったかはどうかくのがスマートなんでしょうね。思いついた感じだと、 #!/usr/bin/env python…