タグ

pythonとPythonに関するuemuのブックマーク (562)

  • Pythonのメタプログラミング (メタクラス) を理解したい人のための短いコード片と禅問答 | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのメタプログラミング手法の一つ「メタクラス」は,初心者にとっては「なんか強そう/経験値たくさんもらえそう」なアイテムの最右翼だと思う。反面「どうすればいいか/なにができるか」ということがなかなか理解しづらい。 英語のブログを見ていたら,メタクラスの理解に役立ちそうなちょうどよいサンプルを見つけたので,紹介がてら独自の解説を付け加えたいと思います。 メタクラスを簡単に説明すると,「来コードを書かなければ実現できないような処理を黒魔術的な処理でなんとかしちゃう」ためのテクニックです。コード量を(時には劇的に)減らすことができたり,すっきりした見通しの良いクラス設計を実現できま

  • Windows環境でSphinxを使って日本語PDFを作成するメモ - 記憶は削除の方向で

    参考URL http://sphinx-users.jp/gettingstarted/install_windows.html http://sphinx-users.jp/cookbook/pdf/rst2pdf.html 前提条件 easy_installで依存ライブラリもインストールされるはず。今回試したのは以下のバージョン。 python 2.6.6 docutils 0.7 jinja 2.5.2 PIL 1.1.7 pygments 1.3.1 reportlab 2.5 rst2pdf 0.16 sphinx 1.0.4 ディレクトリ構成はこんな感じ WORK_DIR +-build ・・・ 成果物格納ディレクトリ +-fonts ・・・ フォント格納ディレクトリ +-souce ・・・ ソース格納ディレクトリ +- index.rst ・・・ ソース +- conf.py

    Windows環境でSphinxを使って日本語PDFを作成するメモ - 記憶は削除の方向で
  • ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ)

    ((Pythonで) 書く ((さらに良い) Lisp) インタプリタ) Peter Norvig / 青木靖 訳 前のエッセイでは、90行のPythonコードでシンプルなLispインタプリタを書く方法を示した(lis.py)。このエッセイでは、3倍込み入っているが、より完全なlispy.pyを実装しよう。それぞれの節で1つの機能追加を扱っている。 (1) 新しいデータ型 - 文字列、論理型、複素数、ポート Lispyへの新しいデータ型の追加は3つの部分からなる。データの内部表現、それを扱う手続き、読み書きのためのシンタックスだ。ここでは4つの型を追加する(入力ポート以外はPythonのネイティブ表現をそのまま使う)。 文字列 文字列リテラルはダブルクォーテーションで囲まれる。文字列の中で \n は改行を、\" はダブルクォーテーションを意味する。論理型  構文 #t と #f はTrue

    uemu
    uemu 2010/10/12
    おもしろそう
  • hadoopの話とpythonでデータマイニングをする話 - gumi Engineer’s Blog

    gumiの粟飯原です。 データマイニングやってます。しかしながら最近はあまりデータをいじる時間がなく社内でプレゼンばかりする日々で、社内でも私がなにやってるのかわからないというもっぱらの評判。そこで今回は一応データ解析もやってはいるんだよということを内外に主張するためにもデータマイニングの話をしようと思います。 アプリの基的な日々の統計データ取得などは別の方々はやられているので、私からはhadoopを使った大規模解析の話や、そこで得られたデータを分析する環境の話をしたいと思います。コードを併記した具体例などは今回載せられないのですが、今後また紹介していければと思います。 大規模データの解析 日々のログ解析やDB解析はcronによる処理で毎朝レポーティングを行っているのですが、新しい情報を過去のアクセスログからまとめてどかんと取得したいと言う時はHadoopによる大規模解析を実行しています

    hadoopの話とpythonでデータマイニングをする話 - gumi Engineer’s Blog
  • Windowsでもvirtualenvwrapperっぽい環境をつくる - Keep on moving

    pythonをさわり始めたころに教えてもらったのですが、環境を作るときにはvirtualenvwrapperを使うと非常に便利です。python環境を汚さずにpythonのlibraryを試せるのがかなりうれしいです。 使い方は↓の非常に素晴らしいエントリを参照。 virtualenv, virtualenvwrapper, pip を使う方法 - Ian Lewis virtualenvwrapper をざっくりと使ってみる - SPEAKER BREAKA virutualenvとvirtualenvwrapperとpipを使う - YAMAGUCHI::weblog ただ、virtualenvwraperはunix shell系のためのscriptなので残念ながらwindowsからは使えません。 というわけで、Windwosでも使えるvirtualenvwrapperっぽいものをみつ

    Windowsでもvirtualenvwrapperっぽい環境をつくる - Keep on moving
    uemu
    uemu 2010/10/01
    windowsのvirturalenv 便利だな
  • 初めてのPython(4) 関数でさえオブジェクトであるPython

    やっと、”初めてのPython“のIV部を読み終わりました。 “初めてのPython“の読書はすごく順調に進んでいます。 そう、すごく順調に…。 そこには触れないようにして、今日のPythonのまとめに行きましょう。 初めてのPython IV部 “初めてのPython“のIV部は、”関数“についてまとめてあります。 “え、関数なんて余裕だよ。“という人も、読み飛ばさずに読んでください。 Pythonにおける関数も他の言語とちょっと変わっています。 PHPの関数宣言functionにあたる宣言がPythonではdefです。 この宣言を使って、Pythonではこんなことが出来ちゃいます。 def create_memory(x, y): def memory(): return x, y return memory mem = create_memory(2, 3) print me

    uemu
    uemu 2010/09/28
    関数 スコープについて 分かりくまとまっている
  • Pythonでメソッドをクラスまたはインスタンスに動的に追加する

    Pythonでは、あるクラスもしくは、クラスインスタンスに動的にメソッドを付けたいことがあります。Pythonコードでは、一般的に考えるとこういう風に書くって思いがちだけど、 class MyObj(object): def __init__(self, val): self.val = val def new_method(self, value): return self.val + value obj = MyObj(3) obj.method = new_method

    uemu
    uemu 2010/09/28
    あんまりつかったことなかったな~使おう、単純にdecoratorにしたりしていた
  • greenletを使う場合にはPostgreSQLを使う方がいいという話 - Doge log

    こんにちわ、Python界の便所虫ことmopemopeです。 前から書こうとしていた話を書いておきます。 最近、eventlet、geventが市民権を得てきましたね。 特にgunicorn経由で使用しはじめてる人も多いんじゃないかなと思います。 まあこれらは NonBlocking IO + 協調スレッドなわけなんですが、全部をうまく 非同期で処理できるわけではありません。 サードパーティのライブラリがC拡張であると割り込めないのでどうしようもないのです。 サードパーティのライブラリで一番使っているのはそうです、DBドライバです。 肝心のDBドライバがブロックしちゃうともったいないわけです。 これって問題だなーと思ったpsycopg2の人たちは拡張できる仕組みを入れました。 (2.2以降) eventletを例に見てみましょう。 psyco_eventlet.py import psyc

    greenletを使う場合にはPostgreSQLを使う方がいいという話 - Doge log
  • PDFxOVLの詳細情報 : Vector ソフトを探す!

    uemu
    uemu 2010/09/09
    有料だが良いかもしれない
  • [Python] OSX 10.6でMySQLdbのインストールに手間取った話 – taichino.com

    表題の件ですが、何も考えずにeasy_install MySQL-pythonとすると、インストールは成功するものの、importしようとすると以下のようなエラーが出て使用できませんでした。 ImportError: dlopen(/path/to/_mysql.so, 2): no suitable image found. Did find: /path/to/_mysql.so: mach-o, but wrong architecture Terminalからmysqlコマンドを叩くと普通に動作していましたが、エラーメッセージ的にはarchitectureが間違っているよと言っているようです。そこでMySQLdbのソースコードをarchitectureを指定してコンパイルしてみたのですが、やはり同様のエラーが出て解決できませんでした。 さらに調べてみると、Pythonの動作モードを

    uemu
    uemu 2010/09/07
    OS Xはしばらく使わないが、これははまりそうだ
  • Pythonワンライナーで数独を解いてみた

    GIGAZINE数学のエキスパートが3ヶ月かけて作成した「世界一難しい数独」なるものがあったので、即席でPythonワンライナー(一行プログラム)を作ったら1秒かからず解けた。問題を作るのは大変でも解析プログラムで一瞬とは儚い。 python -c "import sys;L=[];S=lambda D:(0in D)and[L.append(D.index(0)),[(D.__setitem__(L[-1],i),S(D),D.__setitem__(L.pop(),0))for i in set(range(1,10))-set(D[L[-1]/9*9:L[-1]/9*9+9]+D[L[-1]%9:81:9]+[d for n in(0,1,2)for d in D[L[-1]/27*27+L[-1]%9/3*3+n*9:L[-1]/27*27+L[-1]%9/3*3+n*9+3]]

    uemu
    uemu 2010/08/26
  • WebKitとPythonを使ったアプリケーション開発 « Stop Making Sense

    August 2011 (1) July 2011 (1) June 2011 (2) April 2011 (2) March 2011 (2) February 2011 (2) January 2011 (6) December 2010 (6) November 2010 (5) October 2010 (8) September 2010 (2) August 2010 (3) July 2010 (9) June 2010 (4) March 2010 (1) February 2010 (7) January 2010 (2) はじめに 組み込みアプリケーション開発、特にセットトップボックス(STB)やデジタル家電、携帯電話などそれなりのUIを要求される製品の開発では、Webブラウザを搭載しユーザーインターフェース(UI)をHTML+JavaScriptで構築することがあり

    uemu
    uemu 2010/08/24
    特別な用途のブラウザをつくるのはいい手かもしれない
  • 第3回 ベイジアンフィルタを実装してみよう | gihyo.jp

    さらに詳細な利用方法が知りたい方は、Yahoo!デベロッパーズネットワークのマニュアルを参照してください。 ベイジアンフィルタの実装 ここから格的にベイジアンフィルタの実装に入っていきます。 その前に、まずは先程のリスト1のコードを利用して入力された文章をわかち書きし、単語の集合を返す関数を作成しnaivebayes.pyとして保存しましょう。こちらも先程のmorphological.pyと同様にutf-8で保存してください。 リスト2 文章の分割をする関数(naivebayes.py) # -*- coding: utf-8 -*- import math import sys #yahoo!形態素解析 import morphological def getwords(doc): words = [s.lower() for s in morphological.split(doc)

    第3回 ベイジアンフィルタを実装してみよう | gihyo.jp
  • Google App Engine上でPyPress·PyPress For GAE MOONGIFT

    PyPress For GAEはGAE用/Python製のオープンソース・ソフトウェア。世界中のブログエンジンシェアを大きく握っているのがPHPWordPressだ。オープンソースということもあり、その勢いは止まらない。バージョンアップを重ねるごとにどんどん便利になっている。 WordPress for Python! そんなWordPressを模して開発されているのがPython製のWordPressとでも言うべきPyPressだ。とは言えPythonが動くサーバならばPHPも動くだろうし、わざわざ乗り換える需要がないかも知れない。だがGoogle App Engineとなると話は別だ。PyPress For GAEがその答えになる。 PyPress For GAEはPyPressをGoogle App Engine上で動作するようにカスタマイズされたソフトウェアだ。機能的にはWord

  • Pythonが最高である3つの理由 (1/3)

    Pythonを使ったプログラミングについて、今回から解説します。PerlRubyと比べると、Pythonは日ではまだマイナーな印象がありますが、「Google三大言語」(C++JavaPythonのこと)のひとつでもあり、Facebookをはじめとしたメジャーなサイトでの事例が急速に増えていることから、日でも今後普及する可能性が高いです。私が社長をしているゼロスタートコミュニケーションズという会社では、設立当時(4年ほど前)から自社製品にはPythonを使っており、ここ半年間、周囲でPythonを使用しているケースが増えているのは嬉しい限りです。 Pythonに限らず、プログラミング言語が日で普及するかどうかの鍵を握っているのは、(幸か不幸か)日語情報の多寡であると思います。Rubyの事情は正直よくわかりませんが、たとえばPerlがこれだけ日でメジャーになったのは、Perl

    Pythonが最高である3つの理由 (1/3)
    uemu
    uemu 2010/07/26
    facebookってpython製だっけ??
  • ローカル/クラウドのファイルにアクセスする·PyFilesystem MOONGIFT

    PyFilesystemPython製のオープンソース・ソフトウェア。システムを構築した当初はファイル数も多くなく、ローカルに保存しておけば良いレベルだったかも知れない。だがサービスが拡大する中で別サーバに保存したり、さらにAmazon S3のようなストレージサービスを利用することになったりする。 ローカルもクラウドも一緒に そうしたサービスのレベルによって選択肢が変わってきたとき、システムを都度修正するのは非常に面倒だ。さらに扱うファイルの種類によってライブラリを変えるのも大変だ。一元管理できるPyFilesystemを使ってみよう。 PyFilesystemは多数のファイル形式に対応したファイルアクセスツールだ。ローカルファイルはもちろん、FTP、メモリ、マウント、RPCSFTP、Amazon S3、テンポラリファイル、Wrap、Zipファイル等に対応している。インタフェースは共通

    ローカル/クラウドのファイルにアクセスする·PyFilesystem MOONGIFT
    uemu
    uemu 2010/07/02
    PyFilesystemは多数のファイル形式に対応したファイルアクセスツールだ。ローカルファイルはもちろん、FTP、メモリ、マウント、RPC、SFTP、Amazon S3、テンポラリファイル、Wrap、Zipファイル等に対応している。インタフェースは
  • 「Python×Django×AWS」による モバイル向けソーシャルアプリ開発の裏側

    6月30日、株式会社gumi CTO 堀内康弘氏による技術セミナー「Python×Django×AWS で作るソーシャルアプリ ~3日に1つアプリをリリースできた理由~」が開催された。オプト主催のソーシャルアプリコンテスト タイアップセミナーの一環で、今回で2回目の開催となる。 6月30日、株式会社gumi CTO 堀内康弘氏による技術セミナー「Python×Django×AWSで作るソーシャルアプリ ~3日に1つアプリをリリースできた理由~」が開催された。オプト主催のソーシャルアプリコンテスト タイアップセミナーの一環で、今回で2回目の開催となる。 ソーシャルアプリ開発に Python×Django×AWSを選んだワケ gumiは、エンタメ情報に特化したモバイルSNS「gumi」を手がける開発会社で、日初の携帯向けOpenSocialプラットフォーム「gumi Platform」を提供

    「Python×Django×AWS」による モバイル向けソーシャルアプリ開発の裏側
    uemu
    uemu 2010/07/02
    具体的にまず考慮すべき点として「データベースへの書き込み」を挙げた。Webアプリであれば分散、データベースからの読み込みであればレプリケーションで対応できるが、書き込み処理はスケールしにくくボトルネックに
  • Pythonでアルゴリズム - Konnichiwa, A doumo

    これはなんですか? 奥村晴彦氏の著書「C言語による最新アルゴリズム事典」をPythonでやろうと決意。Rubyに翻訳されていたので、Pythonでもやってみようと。でも実は書籍はもっていなくてCとRubyのソースを見つつ翻訳しています。1日1個ペースで進んでいます。 やっているうちにこのが欲しくなってきました。 個人のPython力を高めるために始めましたので、間違いが含まれているかもしれません。ご指摘等ございましたら連絡[syobosyobo at gmail dot com]ください。 ちょっと方針をかえて、ctopyで訳すことにした。またまた方針をかえて、、、ctopyはあまりつかえない。ちょっといじってやらないと、出力がよくない。コメントとか入ってると、うまく変換してくれないし。 で、そのあとPythonらしい書き方で書いていこう、かと。どうなるかわかりませんが。

  • ERP5 – Python/ZopeベースのオープンソースERP | TAKESAKO @ Yet another Cybozu Labs

    Nexediの奥地さんが来日されているということで、SEA & FSIJ 合同フォーラム 2006年9月~オープンソースERP「ERP5」によるビジネスとテクノロジー~に行ってきました。 他の参加者(嘉平さん、yutakashinoさん)のレポート: ・2005/01/12 Plone研究会「ERP5」 ・2006/09/15 SEA & FSIJ 合同フォーラム ・2006/09/15 Nexedi 奥地さん 一応オフレコの部分は削除したつもりですが、自分用のメモを公開してみます。 ■ERP5 Pythonで書かれたオープンソースERP ■ERPの概念 ERP = Enterprise Resource Planning 短いプロジェクトで3ヶ月、長いもので1年から3年 典型的な会社 開発部 人事部 経理部 販売部 マーケティング部 →各部署でたらい回し、情報共有がされていない ERPフ

    uemu
    uemu 2010/05/18
    JBKingから聞いていた話が多いが興味深い
  • Python SyntaxError Programming | TAKESAKO @ Yet another Cybozu Labs

    SyntaxError? But this Python program which can exec… #!/usr/bin/python _=-~-~(()>[]);_,__=_*_,_**_-~-~_;___=’%’+`SyntaxError`[_];exec”+___*(__+~-~_)%(_*_^-~__,_*_-~__,~__*__/~_,~-~_*~_,_-__^~-~_*_,-~-~__,~-_*_,_/_^~_*~_,_-~-~_*_,_-~-~_*_,_|~-~_*~_,_+__+__/_,__,~_&_*_,__+_|_*_,_-__^~-~_*_,__^~-_*_,_|~-~_*~_,~-~_*~_,-~__,-~-~__) Dan the pad – lleval – run codes from your browser Python 2.6.5 (r265:7

    uemu
    uemu 2010/05/18
    なにこれ?まったくわからない!!