むー、なんかあんまり取り上げられてないので。 まあwindmill使うよねって話。 いろいろ書くのがめんどいのでurlだけ。 Windmill Testing Framework · GitHub 機能の比較 Windmill Testing Framework · GitHub watirもいいけどwindmillもいいよね。 (ruby clientもできるっぽいし) インタラクティブシェルも立ち上げられるとか、まあいかにもpythonってカンジの便利機能もあるし。 Windmill Testing Framework · GitHub Windmill Testing Framework · GitHub とりあえずpythonには便利なモジュールがあるのでみんな使いましょう。 どうやって探したらいいかわからない? 僕の場合はpypiが吐いてるRSSでチェックしたり、そのままpypi
適当な単語群を含む辞書があったとします。「京都の高倉二条に美味しいつけ麺のお店がある」*1という文章が入力として与えられたとき、この文章中に含まれる辞書中のキーワードを抽出したい、ということがあります。例えば辞書に「京都」「高倉二条」「つけ麺」「店」という単語が含まれていた場合には、これらの単語(と出現位置)が入力に対しての出力になります。 この類の処理は、任意の開始位置から部分一致する辞書中のキーワードをすべて取り出す処理、ということで「共通接頭辞検索 (Common Prefix Search)」などと呼ばれるそうです。形態素解析、Wikipedia やはてなキーワードのキーワードリンク処理などが代表的な応用例です。 Aho Corasick 法 任意のテキストから辞書に含まれるキーワードをすべて抽出するという処理の実現方法は色々とあります。Aho Corasick 法はその方法のひと
ウィルス経由でパソコンにプログラムを仕込んで、DoS攻撃やスパムの一斉送信に使うために大量のコンピュータをインターネット越しに組織化したものをボットネットと呼びます。 実際に攻撃者が攻撃の開始を指示するために使うプロトコルは、IRCという昔からあるチャットの仕組みであることが多いといわれていますが、このbotnetが使うIRCのチャンネル群を監視して、ボットネットの活動の活発さを調べたデータがあるということで、それを世界地図上にプロットして可視化した動画がありました。 スクリプトはPython, ログの解析はPyQtライブラリ、IPアドレスから地図上の座標を知るジオコーディングを呼ぶのにMaxmindというパッケージを使って、NASAが配っている世界地図の上にプロットしたということ。地図上に活動をプロットしてアニメーションさせ、それをどうやって見やすく改善したか、というあたりも説明されてい
これまで,Pythonによる初めてのコーディングと,RDB(リレーショナル・データベース)をオブジェクトとして扱うデータベース・プログラミングについて簡単に紹介しました。今回は,Pythonを使ってWebの情報を自動取得するスクレイピング・プログラム(WebサイトのHTMLを抽出・解析して情報を取得)の作成にチャレンジしてみましょう。 ところで前回までは,WindowsからLinux(Ubuntu)にリモートログインして開発をおこなっていました。今回からは一歩踏み込んで,クライアントにMacを採用して本格的な開発の環境を用意してみることにします。 Macを利用する意義 開発環境をMacにするメリットは以下の通りです。 Mac OS XはUNIXであり,UNIX/Linux環境はスクリプト言語の開発に適している 最新のPythonがはじめからインストールされている EmacsやVimなど強力
easy_install の勉強しようと思ってた時に、 Pylons 触ってた時に使ってた Paste ってどうなんだろ?って思って、 分からないままにちょっと試してみたよ。 とりあえず Paste のインストール。 今回は PasteScript も必要なので、一緒にインストールする。 PasteScript をインストールした時に、 一緒に PasteDeploy も入ったけれども気にしない。 インストールが終ると paster なスクリプトが一緒にインストールされるので、 これを使って作業する。 まずは適当なディレクトリに移動して、 プロジェクトを作る。 paster に create オプションを付けて実行すると、 新規作成の為に色々聞いてくるので、 流れにそって答えていく。 $ paster create Selected and implied templates: Paste
今日、KevinさんところにBespinの話が出ててそいつを見てて思った。 最近のpython開発環境はこんな感じだろうと。 エディター 軽量なものが好まれてるのはまあどこもみんな同じだろう。 vim emacs TextMate MacだとTextMateを使ってる人がやはり多いっぽい。 ターミナル 素。 screen必須。 必須な理由はvirtualenvでactivateするからかな。 utilityモジュール もうほぼ鉄板でpip, virtualenvを使ってるっぽい。 pip virtualenv paver Bespinの動画ではpaver軽油で色々やってる感じだった。 いろんなタスクがpythonスクリプトでざくざく書けるので流行るかも知れない。 VCS まあこれももう鉄板かも。 git mercurial その他 環境に関係ないけど傾向。 sqlalchemyは市民権を得
http://d.hatena.ne.jp/mopemope/20090220/p4 で、pip って何!? pip http://pip.openplans.org/ pip is a replacement for easy_install. It uses mostly the same techniques for finding packages, so packages that were made easy_installable should be pip-installable as well. easy_install っていうか package の管理をもっと便利にするぜっていう認識でOK? とりあえずインストール $ sudo easy_install pip 自分の環境にインストールしてる package の一覧取得 $ pip freeze で出来る http:
Hiho to my first python tutorial. Julian Krause aka thecrypto aka Mr. RhubarbTart mentioned the eigenclass article Plugins in your Ruby Application and noticed that there is no such tutorial for python. So: here it is ;-) Since version 2.2 python ships a new object model (explained in the documentation) which allows very complex class definitions including metaclasses and other features you probab
クローラとかの間に挟んで使うことを想定したマルチスレッドなプロキシサーバーの試作版です.クライアントからのリクエストをさばくときに,「一つのホストに連続してアクセスするときは最低n秒空けつつ、異なるホストは並列にアクセスする」といったことが可能です.また,ダウンロードしたページを一定期間キャッシュする機能もあります. 使用例 (コマンドライン|ターミナル)上から以下のように実行してください $ ./proxy.py Serving HTTP on 0.0.0.0 port 8000 ... 以上のようにプロキシサーバーを起動したあとで、クローラ側のソースコードで import os os.environ['http_proxy'] = 'http://localhost:8000' といった風に指定して下さい。すると、以降は環境変数http_proxyをチェックする関数(urllib
When I was a kid, I used to play chess with my older brothers. Since they were much older than me, I was more or less a "punch bag", and was losing the matches in (usually) a matter of minutes. I was persistent though... and saddened by defeat after defeat, I occasionally "escaped" into the solitary game of the Knight's Tour. From my local copy of Wikipedia: The Knight's Tour is a mathematical pro
kuma8さんが簡潔かつ的確なまとめを書いてくださっているが、とりあえず記録しておく。今回試した環境は、CentOS 5.2Python 2.6 Django 1.0.1-beta 必要なライブラリをインストールするServer版のCentOSを普通にインストールしたらApache2は入っているはずなので、この点は省略。今回はCentOS標準のPythonではなく、独自にインストールしたPythonを使うという前提で話を進めるので、python-develは必要ではない。 $ sudo yum install apr-devel apr-util-devel mod_wsgiをビルドするmod_wsgiの最新版2.3をダウンロードしてビルドする。使用するPythonのパスは、/usr/local/bin/python-2.6であるとする。 $ http://modwsgi.googleco
をクリックすると、個別エントリーを確認できます。 順位 ユーザ名 種類 ブログ ポイント 購読者 ブックマーク
multiprocessingといっても今まであったos.forkをうまくラップしてくれてる というだけなのでプロセスをforkしたらどうなるの?っていうのを知らないと 扱えないと思われる。 forkすると子プロセスには今までの状態がコピーされるがその後はメモリ空間が 別々になる。 (当たり前の話) だが開いているfdとかファイルエントリテーブルなどは共有される。 どのタイミングでforkするかが個人的には重要。 例ではPIPEはいっさい使ってない。 from multiprocessing import current_process, cpu_count, Process, Manager, Queue import time class Parent(object): def __init__(self, name): self.name = name self.queue = Qu
What’s New in Python 2.6¶ Author: A.M. Kuchling (amk at amk.ca) This article explains the new features in Python 2.6, released on October 1, 2008. The release schedule is described in PEP 361. The major theme of Python 2.6 is preparing the migration path to Python 3.0, a major redesign of the language. Whenever possible, Python 2.6 incorporates new features and syntax from 3.0 while remaining comp
Python2.6きましたね。ということで、自分用にも主な変更点メモ。なぐり書きなのでミス多いかも。個人的な注目部分は with文 multiprocessing itertoolsへのメソッド追加 ABCの導入 クラスデコレータの導入 ネットワーク系ライブラリ(http,ftp,telnet..etc)でタイムアウトが設定できるようになった。 あたりですかね。ではどうぞ。 Python 3.0由来の変更点 複素数へオブジェクトを変換する __complex__ メソッド。 例外補足のためのもう一つ書き方: except TypeError as exc build-inの reduce() に加え、 functools.reduce の追加。(3.0では reduce はfunctools経由でしか使えない) 3.0では他にもbuild-in関数に変更がある。3.0互換のコードを書きたい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く