タグ

pythonに関するToQozのブックマーク (174)

  • Flask + Nginx + Gunicorn(on a Vagrant box) // Samrat Man Singh

    I'm an eighteen-year old student from Nepal interested in computers and technology. Twitter Email Github Feed I had some difficulty in grasping how exactly to set up a server when I tried to do so recently, so I decided to write a tutorial that will guide you through the process. Hopefully, this post will help you avoid at least some of the confusion that I encountered. We'll be using Nginx +

  • Instagram のスケール正攻法 -- Kosei Kitahara's Blog

    Instagram がどこに買収されたとかは他のニュースサイトにお任せして、Django アプリケーションを正攻法でスケールして "成功" してるのがとても興味深いです。現時点で Instagram Engineering で紹介されていることと TechCrunch にも掲載されたスライドから個人的なメモとしてまとめてみました。 Instagram の哲学は シンプルであること オペレーション負荷を最小化すること すべて装備 とのこと。 Instagram は以下の OSS, サービスで構築されているようです。 >>> OS / ホスティング Ubuntu Linux 11.04 を Amazon EC2 にホスティング。以前のバージョンは高トラフィックになると固まる問題があったようです。運用は 3 人。EC2 にホスティングしている理由は、調査結果によるものではなく、"まだ進化途中だか

  • Requests: HTTP for Humans — Requests 2.4.3 documentation

    Requests: HTTP for Humans™¶ Release v2.32.3. (Installation) Requests is an elegant and simple HTTP library for Python, built for human beings. Behold, the power of Requests: >>> r = requests.get('https://api.github.com/user', auth=('user', 'pass')) >>> r.status_code 200 >>> r.headers['content-type'] 'application/json; charset=utf8' >>> r.encoding 'utf-8' >>> r.text '{"type":"User"...' >>> r.json()

    ToQoz
    ToQoz 2012/02/10
  • 「結構便利だからみんな使った方がいいぞ!」という7つのPythonライブラリ - None is None is None

    一部で最強と呼ばれているPythonには, virtualenvやipythonのような絶対入れる超定番以外にも, あると便利なライブラリというものがあります. ここではラッキーセブン, 7つご紹介しましょう. なお, furl以外は3.xに対応しています. requests 覚えやすいWebリクエスト(urllib.request.urlopenの代替) furl URLの扱いをもっとシンプルに(urllib.parse.urlparseの代替) PyQuery jQueryのスクレイピング力をPythonに(html.parser.HTTPParser, lxml, BeautifulSoupの代替) Send2Trash/Send2Trash3k クロスプラットフォームな「ごみ箱へ送る」 Windows向けPythonランチャー 2.xと3.xを切り替える PySide/PyQt4

    「結構便利だからみんな使った方がいいぞ!」という7つのPythonライブラリ - None is None is None
    ToQoz
    ToQoz 2012/01/23
  • Hashnote - Vimを最強のPython IDEにする

    pythonbrewによるフレキシブルなPython環境の構築 Vimの設定とかはあまり関係ないですが最強を詠うために最強のPython環境が必要なので構築します。最強の環境とは インストールされているPythonのバージョンが違うことによって不可解なバグが発生しない インストールされているライブラリのバージョンが違うことに不可(ry インストールされているライブラリ同士が干渉して不可解な(ry だと思っています。これらを解決するために pythonbrew という素晴らしいソフトを利用します。 ただこのソフトはシェルが前提となっているのでWindowsをお使いの方は代わりに virtualenv をインストールして先に進んでください。 Pythonには大きく分けて2.x系と3.x系の大きなバージョンがあり、この二つは相容れないものとなっています。 2.x系はずっと使われてきたもので外部ラ

  • all()とany()は意外と使える子かもしれない。 - podhmoの日記

    組み込み関数の中の使えない子 pythonの組み込み関数の中に以下の3つがあります。 reduce() all() any() これらの3つを組み込み関数のわりに使いどころが少ない。使えない子たちだと認識してました。 例えばall()、any()は、各シーケンス*1内の真偽値について、名前から推測できなそうな処理を行い、結果を真偽値で返すのですが all([True,True,True]) # => True all([True,True,False]) # => False any([True,True,False]) # => True any([False,False]) # => False 比較関数を引数として渡すことができません。sortedやsortなどの関数は、比較関数を引数として取れるのに不思議なものです。リスト内の全ての要素に対して評価を与えてその結果を真偽値として欲し

    all()とany()は意外と使える子かもしれない。 - podhmoの日記
    ToQoz
    ToQoz 2011/12/18
  • Pythonによるデザインパターン(目次) - None is None is None

    これは『Rubyによるデザインパターン』(ラス・オルセン著 ピアソン・エデュケーション刊)をPythonに翻訳してみようというシリーズです。 Rubyによるデザインパターン 作者: Russ Olsen,ラス・オルセン,小林健一,菅野裕,吉野雅人,山岸夢人,小島努出版社/メーカー: ピアソン桐原発売日: 2009/04/01メディア: 単行購入: 13人 クリック: 220回この商品を含むブログ (66件) を見る デザインパターンの原則から 変わるものを変わらないものから分離する インターフェイスに対してプログラムし、実装に対して行わない 継承より集約 委譲、委譲、委譲 必要になるまで作るな(これは「Rubyによる〜」の筆者による) 記事 Template Methodパターン Strategyパターン Observerパターン Compositeパターン Iteratorパターン C

    Pythonによるデザインパターン(目次) - None is None is None
  • Good night, Posterous

    Posterous Spaces is no longer available Thanks to all of my @posterous peeps. Y'all made this a crazy ride and it was an honor and pleasure working with all of y'all. Thanks to all of the users. Thanks to the academy. Nobody will read this.

    ToQoz
    ToQoz 2011/12/03
  • Python3 Advent Calendar 一日目 - Python とジェネレータ関数 - プログラマのネタ帳

    みなさんジェネレータ関数使ってますか? ジェネレータ関数便利ですよね! 無いと死んじゃいますよね! というわけで Python3 Advent Calendar 一日目を担当する [twitter:@shomah4a] です。 ジェネレータ関数って? とりあえずジェネレータ関数です。 めんどくさいのでソース def calc_fibonacci(): ''' フィボナッチ数を生成し続けるジェネレータ関数だよ! ''' yield 1 yield 1 n = 1 m = 1 while True: yield n + m o = n + m n = m m = o こんな感じで関数の途中で yield を使って値を返す関数をジェネレータ関数と呼びます。 >>> calc_fibonacci <function calc_fibonacci at 0x1ceb958> >>> a = calc

    Python3 Advent Calendar 一日目 - Python とジェネレータ関数 - プログラマのネタ帳
    ToQoz
    ToQoz 2011/12/01
  • Good night, Posterous

    Posterous Spaces is no longer available Thanks to all of my @posterous peeps. Y'all made this a crazy ride and it was an honor and pleasure working with all of y'all. Thanks to all of the users. Thanks to the academy. Nobody will read this.

    ToQoz
    ToQoz 2011/10/24
  • Pyramid チュートリアル — Pyramid Tutorial for PyCon JP Sprint 1.0 documentation

    のインストール方法 : easy_installでインストールする¶ Pyramid をインストールする場合は、まずpython体とeasy_installが使えるようにしておきましょう。 そうすれば以下の通りコマンドを実行すると Pyramid のインストールができます。:

    ToQoz
    ToQoz 2011/10/24
  • Djangoチュートリアル(前編)

    Djangoの紹介 いよいよ稿の主役であるDjangoについて紹介します。Djangoはもともとは、アメリカの新聞社の社内ツールとして2003年頃に開発され、2005年7月にBSDライセンスのもとで、オープンソースとして公開されました。 Djangoのコアの部分は、データモデルとリレーショナルデータベース(以下、RDB)との間を仲介するO/Rマッパー、正規表現を活用したURLディスパッチャ、リクエスト要求を処理するビュー、データを表示するテンプレートシステムなどから構成され、Webアプリケーションフレームワークとして、フルスタックの機能を搭載しています。 「The Web framework for pefectionists with deadlines(デッドラインにいる完璧主義者のためのウェブフレームワーク)」とDjango家サイトのトップタイトルにも記載されているように、忙しい

    Djangoチュートリアル(前編)
  • Web App with jQuery, CoffeeScript, Ajax, Web.py & Heroku

    Computing Thoughts Web App with jQuery, CoffeeScript, Ajax, Web.py & Heroku by Bruce Eckel September 30, 2011 Summary Following up on my previous article, I create a super-simple example where a web page communicates with the server (written in Web.py) sending a JSON request object and receiving a JSON object as a response, which it uses to dynamically update the page. Afterwards, James Ward quick

    ToQoz
    ToQoz 2011/10/07
  • 超シンプルな、pushState + Ajax = PJAXのサンプル Flask編 - When it’s ready.

    HTML5熱いですね。いろんな意味で BigPipeやら、HTMLでテンプレートエンジンとかいろいろ出ていますがユーザービリティ下げちゃいけないよねって事は、どの技術でも大切な共通項ですね。pjax = pushState + ajax使えば、リッチな人にはサクサクなUIを、そうじゃない人にもそれなりに提供できる。その上、戻るボタンもサーチエンジンにも優しいとくれば、これは試さないわけには行かないですね。 動作サンプル: http://pjax.atu.si/ Pjaxするとどうなるのか? 非同期動作時 http://pjax.atu.si にアクセスをして、リンクをクリックすると要素が非同期に変更される。 非同期に更新されているがURLは、シンプルなものに変更される。 同期動作時 http://pjax.atu.si/parts/x や http://pjax.atu.si/parts/

    超シンプルな、pushState + Ajax = PJAXのサンプル Flask編 - When it’s ready.
  • Pjax に挑戦したら思っていた以上に苦労した話 - present

    GitHub が採用している、非同期でぬるぬる動く画面遷移、これ pushState と Ajax を組み合わせたテクニックで実現されているんですね。その名も Pjax。 HTML5 の history.pushState を使うからブラウザの履歴にも対応でき、しかも URL がキレイ。Pjax についての詳細な説明は下記のエントリが参考になりました。 pjax こそが pushState + Ajax の命 - punitan (a.k.a. punytan) のメモ Pjax 始まったな。 |i \      |.| ト\   /| ト | トヽ   / | | ト | | トヽ\/| | | ト    / | | | ト\≧三ミゞ=イ/ ム彡''´ ̄ ̄    ̄ ヽ{__.. /             V´ ノ  __          ', ,. == y ̄, __、\_   

    Pjax に挑戦したら思っていた以上に苦労した話 - present
  • Flask で大きなアプリケーション Blueprint ver. - 混沌脳内

    Flask なんでそこまで大規模ではないですが、 1ファイルでは厳しくなってたので分割しました。 Flask 0.7.2 を使用で、 より大きなアプリケーション ― Flask v0.5.1 documentation http://a2c.bitbucket.org/flask/patterns/packages.html に従って、Module で定義すると、起動時に次のような警告。 (起動はするので動きはする main.py:7: DeprecationWarning: Modules are deprecated. Upgrade to using blueprints. Have a look into the documentation for more information. If this module was registered by a Flask-Extensio

    Flask で大きなアプリケーション Blueprint ver. - 混沌脳内
  • [Python][Flask]Blogを移行しました

    WordPressblogmopと使用してきたBlogツールですが、今回Flaskを使用して自作しました。 当初移行する明確な意思などは全然なかったのですが、Flaskのチュートリアルを実施しているうちにFlaskが楽しくなってきてそのまま勢いで作ってしまいました。ついでにサブドメインも切ったりしてますのでRSSなども変わってます。 使用しているエクステンションはFlask-SqlAlchemy1つだけでです。 あとさくらVPSを使っているのですが、今後のことを考えてCentOSからUbuntuに切り替えました。 作ってみてわかったこと Flaskは楽しい でもわからないところをググると日語の情報は殆ど無い(特にFlask-SqlAlchemy) なので公式ドキュメントをひたすら読むか、メーリングリストをひたすら漁った stackoverflow.comのFlaskタグはかなり世話にな

    [Python][Flask]Blogを移行しました
  • PyQtではじめるGUIプログラミング

    1. PyQtではじめる GUIプログラミング 2011-08-27 Python Conference JP 2011 Ransui Iso Strategic Technology Group / X-Listing Co, Ltd. Copyright (c) 2011 Ransui Iso, All rights reserved. 2. おまえ誰よ? Ransui Iso (磯 蘭水) Work at X-Listing Co, Ltd. http://www.xlisting.co.jp/ Pythonは1998年から使っています。E-Commerceエンジンやサーチエンジンの開 発、Zopeを用いたWebサイト開発、その他色々を経て、今はネット広告配信シス テムについての研究開発をしています。最近はCommon Lispでシステム開発をし ていますが、Pythonもヘビーに使

    PyQtではじめるGUIプログラミング
  • Python入門:デコレータとは

    前から常々思っていることだが、何かについて勉強する一番効率的な方法はそれを誰かに教えること。人に教えようとすると、それなりに準備をしなければならないし、自分の頭の中を整理しなければならない。また教える過程でするどい質問をされたり間違いを指摘されて、さらに勉強を強いられることもある。 私がこの手の「入門編エントリー」を書くのは、ほとんどの場合「自分自身の理解をより深めたい」ことが一番の目的であるが、ブログの場合、教室などと違って「その道の達人」みたいな人たちがツッコミを入れてくれるケースもしばしばあるので、そのメリットは何倍にもなる。 先日のクロージャに関するエントリーなどは良い例で、「そんな用途にはmemoizeというデコレータが便利」などの指摘がいただけだけであれを書いた価値があるというもの。 そこで、今日はPythonのデコレータに関して。デコレータがPythonという言語に導入された

    ToQoz
    ToQoz 2011/08/15
  • pyVows « Asynchronous BDD for Python

    Asynchronous behaviour driven development for Python. The main reason for asynchronous testing is to make tests which target I/O run much faster, by running them concurrently. By having a faster suite, it gets run that more often, thus improving the feedback cycle. Write some vows, execute them: $ pyvows test/ Get the report, make sure you kept your word. A non-promise return value ✓ should be co