タグ

Pythonとpythonに関するhidesukeのブックマーク (16)

  • WerkzeugでFlaskを使ったPythonのWebAppをプロファイリングする

    前回の記事に引き続きISUCONのために調べたことをまとめてみます. うちのチームは使用言語にPythonを選択していたので,ISUCON2やISUCON3の予選でも使われていたFlaskというフレームワークを使ったWSGI Application用のプロファイラを探したところWerkzeugのWSGI Application Profilerというものがあったので使ってみました. Flask Flaskは,WerkzeugをベースにしてJinja2をテンプレートに使った軽量なWAFです. Werkzeug WerkzeugはWSGI Applicationのutility libraryで,フレームワークという程ではないですがWSGIの実装を助けるようなrequest/responseオブジェクトの支援ツールやテスター,デバッガなどが含まれています. そしてこのWerkzeugの中にはb

  • PythonでPluginアーキテクチャ | TRIVIAL TECHNOLOGIES 4 @ats のイクメン日記

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー Pythonのモジュールを動的に読み込んでプラグインとして利用するための簡易な方法。 たとえば,以下のような構成のフォルダがあるとして,mod.pyとpack/__init__.pyにはそれぞれfoo()という関数が書かれているとする。 [plugins]--+ | +- mod.py | +- [pack] --+ | +- __init__.py pluginsディレクトリと同じ位置に以下のスクリプトを置くと,pluginsディレクトリ以下にあるPythonのモジュールやパッケージを動的に読み込み,モジュールオブジェクトとしてリストに格納,モジュールのfoo()という関数を呼び出す

  • PythonのWebフレームワーク6種をかんたんに紹介 - モジログ

    1月に「Pythonを始めるなら、1ファイルの軽量Webフレームワーク「Bottle」がおすすめ」というのを書いたところ、なかなか反響が大きかった。そこで今回は、私がいくらか使ったことがあるPythonのWebフレームワーク6種について、かんたんに紹介するというのをやってみたい。コメントは、私のごく主観的な印象に基づいている。 Bottle(ボトル) http://bottlepy.org/ 「bottle.py」という1ファイルだけでできている。環境構築が不要なので、Python入門に最適。1ファイルに全部入っているので、組み込むのも容易だし、依存リスクもないので、実用にもいいと思う。これだけシンプルなのは、生存戦略としても強い。 CherryPy(チェリーパイ) http://cherrypy.org/ Bottleより大きいが、外部依存がないので、これも環境構築不要で、Python

  • 無料で「みんなのPython Webアプリ編」のPDFファイルがダウンロード可能に

    「脱初心者を目指したい人にはよいだと自負しています」「すでに絶版になっており,アマゾンでは中古しか手に入らないのですが,プレミアが付いているようで,需要があるんだなー,と思っています」「出版契約を解除して,オマケでPDFまでいただいてしまったのです。手元にあるPDFをどうしようか,と考えました。電子書籍として有料で流通,という選択肢もあったのですが,無料公開の方がいろいろと利点が多いと判断しました」ということで、なんと定価が税込2604円だった「みんなのPython Webアプリ編」が無料ダウンロード可能になりました。 ダウンロードは以下のページに行けば可能です。ファイルサイズは4.1MBほどなので、すぐにダウンロードは終わります。 クリスマスプレゼント!「みんなのPython Webアプリ編」のPDFを無料公開します | TRIVIAL TECHNOLOGIES on CLOUD ht

    無料で「みんなのPython Webアプリ編」のPDFファイルがダウンロード可能に
    hidesuke
    hidesuke 2011/12/22
    あ、これ絶版になってたの? すっごい平易でわかりやすい良書。うちの本棚の取り出しやすいところに置いてあるわ
  • GAE/Python - DataStoreの使い方をまとめてみた

    DataStoreとは 記事内のDataStoreは、GoogleAppEngineのデータストアのことを指す。GoogleAppEngineは、ファイルの書き込みが一切できないため、DataStoreを使う以外にデータを永続化する方法はない。短期であればmemcachedに保存することもできるが、memcachedに保存されたデータは保存期間が保証されないため、一時データをキャッシュして高速化(or 負荷軽減)以外には実質つかえない。 DataStoreの特徴 DataStoreの特徴は、スケーラブルであること。データ数が1万件でも1億件でもほぼ同じ時間で結果が返ってくる(らしい)。ただし、通常のRDBでは簡単にできる操作がDataStoreでは非常に重い処理だったり、不可能だったりするので注意。 苦手な処理 件数のカウント ⇒件数のカウントは、データ全体を取ってくる処理に近いだけの処

  • GAE/PythonでMemcachedを使ってみた « python練習帳

    Memcached使ってみました。単純な例で動作を確認後、python-blog-systemの画像出力部分に適用し、ベンチマークをとりました。 Memcachedとは 分散KVS(キーバリューシステム)の一種です。いわゆるRDB(リレーショナルデータベース)は、スケールアウトに向かない構造をしているために、安いサーバをいっぱい並べても性能がリニアに向上しません。Memcachedでは、トランザクションや、データの耐久性などを保証しないかわりに、大量のデータを、高速にキャッシュすることができます。詳しい説明は家でどうぞ⇒http://memcached.org/ 概要が知りたければwikipediaがお手軽です。 シンプルな例 まずは、非常にシンプルなコードを書いて動作を確認しました。 初回アクセス: 何も表示されません。 キーweatherに対して何も設定されておらず、Noneが返され

  • PythonによるGoogle App Engine(GAE)プログラミング入門 - libro

    ※ページが正常に表示されない場合 AddBlockなどの広告ブロックツールがONになっていると、ページの一部が表示されないことがあります。これらのツールをOFFにしてみてください。 GAE(Google App Engine)は、Googleのパワーを利用してWebアプリケーション開発を行えるクラウド開発環境です。EclipseにPyDevというPython用プラグインをインストールし、Google App Engineのプログラムを作成していきましょう。 ※Pythonがよくわからない、という方は、こちらのPython超入門をどうぞ。

  • Linux上で動くSkype用のbotを作る方法 - muddy brown thang

    はじめに 以前、知人のやっているBeProudという会社を手伝ったのですが、BeProudでは、エンジニアの主要なコミュニケーション手段としてSkypeが使われていました。当時、趣味でたまたまSkypeのAPIについて調べていたので、悪戯っ気を出して、開発環境に即席でSkype APIを使ったbotを設置してみたところ、思いのほか好評を博し、いまやインフラと言っても過言ではない存在 *1 *2と化したようです。 まあそんな状況を眺めつつ、自宅のサーバにSkype botを設置して、お気に入りのSkypeチャットにもbotを加えてみたところ、これも結構好評だったので、興味ありそうな人向けに作成方法をまとめることにします。 Skype Public API Skype Public APIとは、Skypeを外部からコントロールするためのインターフェイスです。 Skype Public API

    Linux上で動くSkype用のbotを作る方法 - muddy brown thang
  • Pythonの勉強をまったく始められないあなたと私に送る8つのタスク

    Google App EngineでのPythonの勉強と開発は進んでいますか? GAEでPythonを始めるときに知りたい4つのまとめ これを書いた人はというと…まったく進んでいません。 Learn Python The Hard Wayを少し読んだ程度です。 言い訳なんていくらでも出来ますね。 えーっと、仕事が忙しいから、仕事が忙しいから、そして仕事が忙しいから。 しっかり、仕事以外の勉強の時間を取ってやらないと、あっと言う間に置いてかれます。 そして、”新しいことを学ぶ”というのは日々のモチベーションに繋がりますから。 前置きはここまでにして、今日はタイトル通り、 Pythonの勉強をまったく始められないあなたと私に送る8つのタスク を紹介します。 もし、タイトルに期待して、”これさえやればPythonマスターになれる!”と思ってきた方にはごめんなさい。 99%は”Pyt

    hidesuke
    hidesuke 2010/09/17
    なにこの超ドMなto doリスト
  • python入門チートシート - ナマアシタノム

    内容 python初学者向けの頻出アイテムチートシートを作成してみました。 A4用紙に印刷してちょうどいいように必要事項をみっしりと敷き詰めています。pythonプログラミングのお供にどうぞ。 目次 if文 while文 for文 continue/break文 論理演算 算術演算 関数 リスト ディクショナリ map タプル モジュール クラス 例外 の基的なことをできるだけたくさん盛り込みたかったので記述順番はぐちゃぐちゃしてしまった感じです。 記述ミスあったらごめんなさい。指摘あれば直します 最新版のDLは こちらからどうぞ(v1.1)。 (zip/約50kb/中身はpdf) 古いバージョン v1.1 コメントのid:t-tanakaさん指摘を修正 b:id:cu39さんのコメント「M+2VM+IPAG circleですね。」を見てフォントを「M+2VM+IPAG circle」に

    python入門チートシート - ナマアシタノム
  • Google APP Engine Python入門(2010年2月版) - TechTalkManiacs

    Google APP Engineについては初期のころのまとめはあるのですが、Pythonですとリリースからそろそろ2年近くになり内容も大きく様変わりしています。最速マスターシリーズでもGoogle APP Engineについてのまとめが無く、そろそろアップデートの必要があると思いまとめてみました。 基的にwindows環境中心です。 最初に ドキュメントを見るときは必ず英語版を見ましょう。日語版があるのはありがたいのですが、バージョンとしてはかなり古く、特に歴史の長いPython版では現行の内容とはかなりの隔たりがあります。 Google APP EngineのドキュメントのURLは以下のようなパターンになっています。 http://code.google.com/intl/ja/appengine/docs/**** これのうちjaが言語を表すコードになっていますので、これをenに

    Google APP Engine Python入門(2010年2月版) - TechTalkManiacs
  • Python基礎文法最速マスター - D++のはまり日誌

    ↓に便乗してPython版も書いてみました。 Perl基礎文法最速マスター - Perl入門〜サンプルコードによるPerl入門〜 Ruby基礎文法最速マスター - Route 477 PHP基礎文法最速マスター - Shin x blog ほとんど上記の記事と同じような内容で書いたのでPython入門記事としては色々抜けていたりしますがご了承ください。 Pythonは現在3.x系がリリースされていますが記事では基的にPython2.6について書きます。 参考文献: 初めてのPython (asin:4873113938) Python Documentation Index http://www.python.org/doc/ Python 和訳Document http://docs.python.jp/2/ 0. 対話環境として使う 対話環境 pythonはそのまま実行すると対話環

    Python基礎文法最速マスター - D++のはまり日誌
  • エキスパート Python プログラミング — エキスパート Python プログラミング v0.9 documentation

    1章: 始めよう¶ Pythonのインストール Pythonの実装系 Jython IronPython PyPy その他の実装 Linux へのインストール パッケージインストール ソースコンパイル Windows へのインストール Python のインストール MinGW のインストール MSYS のインストール Mac OS X へのインストール パッケージインストール ソースコンパイル Python プロンプト インタラクティブプロンプトのカスタマイズ iPython: より良いプロンプト setuptools のインストール 動作原理を理解する EasyInstallを使ったsetuptoolsのインストール distutilsにMinGWのフックを入れる 作業環境 エディターと補助ツールを使う コードエディター Vimのインストールと設定 その他のエディタを使う その他のバイナ

  • Panda3D | Open Source Framework for 3D Rendering & Games

    Innovate, Create, Play, Repeat Panda3D is an open-source, completely free-to-use engine for realtime 3D games, visualizations, simulations, experiments — you name it! Its rich feature set readily tailors to your specific workflow and development needs. Unparalleled Power and Flexibility Panda3D puts you at the helm, without getting in your way. The full power of the graphics card is exposed throug

    Panda3D | Open Source Framework for 3D Rendering & Games
  • Google App Engine入門:実行効率を犠牲にせずに開発効率だけを上げるテクニック

    一つ前の富豪プログラミングのエントリーともつながる話だが、Google App Engineは「ちゃんとスケーラビリティを考慮してアプリケーションを作るには何に気をつけなければならないか」を勉強するには絶好の環境だ。そこで今回は、その「ケチな大富豪的なプログラミング」の実践編。 Google App Engine上のアプリをいくつか書いているうちに、必要に迫られて自然発生的にできてきたのが、gdispatchという数十行のコードからなる小さなモジュール(ソースコードはgithubに置いてある)。これをGoogle App Engineに標準で付いて来るwebappと組み合わせてフレームワークとして使っている。 gdispatchを設計する上で重視したのは、 (1)Google App Engine上でのアプリの開発を効率化する上で「明らかにこれがあると開発効率が格段に向上する」というもの以

  • http://mail.python.org/pipermail/python-list/2003-June/210343.html

    hidesuke
    hidesuke 2007/11/06
    プロキシの作り方
  • 1