タグ

pythonに関するHoshi-KNのブックマーク (67)

  • Flaskを触ってみる 1 - Doge log

    Flaskですがあんまり書かれてなさそうなので書いておきます。 Flaskはmitsuhiko先生が作ったmicroframeworkです。 Flaskが指すmicroは単純に小さいというわけではなく、他のライブラリをつなぎ、シンプルなAPIを 提供する小さなフレームワークのようなイメージです。 Flaskは werkzeug jinja2 に依存し、単体の機能はそれらに任せています. Flaskそれらをうまくつなぎ合わせ、シンプルなAPIをユーザに提供しています。 そのため、Flaskは1ファイルで構成されています。 (つなぎの部分なので小さい。APIのドキュメント込みで900行を切っている) 一応Flaskはmicroframeworkとしていますが、コアはwerkzeugです。 werkzeugは大規模サイトなどの実績もあり、大変便利なライブラリです。 Flask自体で提供されていな

    Flaskを触ってみる 1 - Doge log
  • デブハゲ

    でぶはげ めしくえ

  • @mitsuhiko寄稿「Python Webアプリケーション開発でのありがちなミス」 - YAMAGUCHI::weblog

    はじめに みなさん、日はクリスマスですね。Python Webフレームワークアドベントカレンダー2010最終日ですね。最終日はスペシャルゲストということで、pocooの中心メンバである@mitsuhikoが寄稿してくださいました。 pocooはWerkzeug、Jinja2、Flask、Sphinxといった多くの有名なPythonライブラリを提供しているグループで、その中で@mitsuhikoことArmin Ronacherさんはメインコミッタとして活動されています。*1Arminさんは世界指折りのPythonハッカーですが、なんと年齢は21歳!そしてイケメン!ぜひみなさんもArminさんの活動をWatchしてみてください! 寺田さん(@terapyon)からご指名いただいたので、拙訳ながらArminさんの記事の日語訳をここにご紹介いたします。 概要 「Python Webアプリケーシ

    @mitsuhiko寄稿「Python Webアプリケーション開発でのありがちなミス」 - YAMAGUCHI::weblog
  • Python初心者のインケンがマイクロフレームワークのbottleでMVCしちゃうサンプル

    はじめに Pythonまったく使ったことないから、Pythonでなんか作ってみようと思ったのがきっかけです。 かといって、「Hello World」出すだけなんてしょーもないことしても意味が無いので、ちゃんとフレームワークを使ってMVCっぽく作ろうと思いました。 せっかくなので、自分がマンガを今何巻まで持っているかを管理するツールを作りたいと思います。いつも何巻まで持ってたっけかなーって忘れちゃうので。 CRUDの基を抑えたサンプルです。 ちなみに、Pythonの構文やモジュールのインストール等は、検索すればすぐ出てくるのでググってください。 Pythonのフレームワーク Pythonのフレームワークで有名なのは、フルスタックなDjango、ライトなFlask、じわじわ人気が出てきてるらしいPyramidなどがありますが、 個人的にフルスタックなフレームワークは好きでないのと、1ファイル

  • Python/FlaskアプリからOAuthでGitHub APIを使う - orangain flavor

    このようなサンプルが意外と見つからなかったので作りました。 GitHub API GitHubはWeb API を提供しており、リポジトリやユーザーなどをAPI経由で取得・操作することができます。 執筆時の2014年2月現在では、v3とbetaの2つのバージョンがあり、デフォルトはbetaです。ややわかりにくい名前付けですが、betaのほうが古いようで、2014年4月15日からv3がデフォルトになる予定です。 利用するバージョンはHTTPリクエストのAcceptヘッダーで指定できます。v3とbetaの違いはあまり大きくないみたいなので、現時点では特に指定せずにデフォルトのバージョンを使っても問題なさそうです。 認証方法 としては、Basic認証、OAuth2 Token、OAuth2 Key/Secretの3種類が利用できます。 今回は、Flaskを利用したWebアプリなので、OAuth2

    Python/FlaskアプリからOAuthでGitHub APIを使う - orangain flavor
  • Bottle, Flup and lighttpd

    This is just a short post because I spent a few hours yesterday to get it running although it’s pretty easy. Bottle application In case you didn’t know Bottle is a micro web-framework for Python. Here’s a simple application (which is totally insecure): from bottle import route, run @route('/app/<name>') def hello_name(name): return "Hello " + name run(host='localhost', port=8080) If you want to ru

    Bottle, Flup and lighttpd
  • PythonのWebフレームワークBottle使ってみる

    PythonのWebフレームワークBottle使ってみる 仕事では基的に社内で作った Flaskをベースというか、テンプレートとしたwerkzeugを使った myojin を使っていて、これも公開されているので、そのまま使ってもよいのですが、せっかくなのでということでBottleを試してみた。 Bottleの自分的ポイントは Python3も普通に対応 最初のweb.pyを思い出される感じの1ファイルで動くっていうコンセプトが好き テンプレートエンジンをmakoに入れ替えるのが簡単 くらいでしょうか。 ということで、Bottle + makoで簡単なクローラーアプリでも作ってみようかと思っていますが、とりあえず簡単な使い方部分だけ。 セットアップ インストールは1ファイルなのでダウンロードしてもよいのですが、めんどくさいしpipで入れます。(1ファイルの意味ないとか言われそうですが) G

    PythonのWebフレームワークBottle使ってみる
  • https://www.freia.jp/taka/blog/744/index.html

    https://www.freia.jp/taka/blog/744/index.html
  • Python の logging 力を高める

    的な使い方 基的には以下のように使う。 #!/usr/bin/env python # -*- coding: utf-8 -*- import logging if __name__ == '__main__': logging.basicConfig() logging.debug('this is debug message') logging.info('this is info message') logging.warning('this is warning message') logging.error('this is error message') logging.critical('this is critical message') 実行結果は以下。 WARNING:root:this is warning message ERROR:root:this is

    Python の logging 力を高める
  • Python のソースコード配布物に含めるファイルを追加する

    以下の様なファイル構成のプロジェクトを例に考える。 $ find pkgsample pkgsample pkgsample/pkgsample pkgsample/pkgsample/__init__.py pkgsample/requirements.txt pkgsample/setup.py pkgsample/test-requirements.txt このプロジェクトでは実行に必要なパッケージを requirements.txt, テストに必要なパッケージを test-requirements.txt で管理している。 $ cat pkgsample/requirements.txt six $ cat pkgsample/test-requirements.txt nose setup.py では、上記のファイルを読み込んで使用する。 $ cat pkgsample/setu

    Python のソースコード配布物に含めるファイルを追加する
    Hoshi-KN
    Hoshi-KN 2015/03/16
    setup.py sdistで追加されないファイルがあったのはMANIFEST.inがなかったからなのか。
  • pytest で pep8 テストを実行する

    Java 見習いのもりもとです。 アリエルのスタート地点 を知ってから、いつもどぎまぎしながら開発しています。 アリエルのスタート地点は、Javaと聞いて、ふっと鼻で笑える地点です。 私にとっては、スタート地点がまだまだ遠そうなのでしばらくは Python の話題でお茶を濁そうと思います。ちょうど良い機会なので Pythonic なテストツール pytest についてチュートリアルのような記事を何回かに分けて書きます。 pytest は、設定より規約 を設計原則とするツールで、xUnit スタイルではない funcarg という関数の引数をフックしてリソースインジェクションを行う仕組みを提供するなど、ユニークなテストツールです。さらに単体テスト、機能テスト、システムテストといった全てのテストフェーズにおいても利用できると、その応用範囲の広さも喧伝しています。ドキュメントも翻訳されているので

  • Python で pep-8 の「E501 line too long」にしないためのコーディングテクニック

    このblogは、著者である「sakito」が技術的に生存している事を報告するために存在します タイトルを「紹介マニアどらふと版」から変更しました 概要 Python は 「PEP 8 -- Style Guide for Python Code」というコーディング規約がある。 また、ソースコードが pep-8 に準拠しているかチェックするための「pep8 - Python style guide checker」が存在する。 Python 使いは、pep-8 に準拠したソースを記述するのが良い。 pep-8 の中で最も守られていないルールはおそらく「1行79文字制限」ではないだろうか。 pep8 - Python style guide checkerではこれに違反すると「E501 line too long」になる。 テストコード等一部で E501 になるのが仕方ない場合もあるが、通常

  • Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc) | yunabe.jp

    Python パッケージ管理技術まとめ (pip, setuptools, easy_install, etc) Python のパッケージ管理関係の情報がオフィシャルには整理されてなく、 またパッケージ管理まわりででてくるキーワードもいくつもあって分かり難いので完結にまとめてみました。 このドキュメント自体は少し長いですが、結論としては2015年1月時点では 原則 pip を使ってパッケージの管理を行う setuptools も広く使われているので入れておくとよい。そもそも pip のインストール時に自動的ににインストールされる distribute は 2013年に setuptools にマージされたので不要 という方針でよいと思います。 ただ少し古い情報ソースやパッケージのドキュメントを読んでいると distribute の利用が勧められていたり、 site-packages, e

  • __future__ モジュールについて - さりんじゃーのプログラミング日記

    いきなり 3 系に移行するのはちょっと心配…という場合、まず2 系 + __future__ モジュールを使うのが良さそう。__future__ モジュールは Python 2 系用のモジュール。Python 3 系に実装されている Python 2 系 と互換性の無い機能をPython 2 系で使用できるようにする。 以下、__future__ モジュールに実装されている機能を利用しつつ、Python 3 系での大きな変更点を確認してゆく。 print_function 3系では print は文から関数 print()になった。また予約語からも削除された。 >>> from __future__ import print_function from __future__ import print_function >>> print('abc') print('abc') abc >>

  • bitbucketの使い方

    With best-in-class Jira integration, and built-in CI/CD, Bitbucket Cloud is the native Git tool in Atlassian’s Open DevOps solution. Join millions of developers who choose to build on Bitbucket.

    bitbucketの使い方
  • Python標準ライブライリを使い倒す(logging編) - HDEラボ

    Javaにはlog4j、.NETにはlog4netがあるように当然Pythonにもログ機能(以下からloggingとします。)は存在しますが、Pythonの場合は標準ライブラリにすでに組み込まれています。 今回はその機能を使用したサンプルを紹介します。 loggingではいくつかのログ出力方式を指定することが可能ですが、今回はログファイルのサイズ指定とローテート指定の行える「RotatingFileHandler」を使用してサンプルを作成します。 その他のログ出力方式は、Python用ロギング機能 を参照してみてください。 今回は、ログ出力用のプログラムファイル(log.py)と設定ファイル(log.conf)を作成します。 注) 設定ファイルを使用せずにプログラムファイルで設定を行うことも可能ですが、一般的にログ設定ファイルを作成しますので今回は設定ファイルを作成します。 また、logg

  • ログ出力のための print と import logging はやめてほしい - Qiita

    はじめに Python入門系の記事では概して、Pythonのロギング機能の紹介で最初にlogging.debug()といったloggingモジュール付属の関数を呼ぶ方法を案内しています。 Python家が提供するloggingの「基チュートリアル」でもこの点で大差ありません。Python家の基チュートリアルでは、print()関数を使用する方法もロギングの手段として有効であるとし、タスクに応じてprint()やlogging.debug()を使いわけよう、という流れで記述されています。 コマンドラインスクリプトやプログラムで普通に使う、コンソール出力の表示 : print() そのような「基」の説明の後「上級」チュートリアルになってようやく、Python言語付属のロギングメカニズムの説明が始まります。「上級」では4+1種類のデータ構造が紹介され、ここで「基」で多用されていたlo

    ログ出力のための print と import logging はやめてほしい - Qiita
  • Gevent チュートリアル

    はじめに このチュートリアルはある程度の Python の知識を前提としていますが、 それ以上の知識は前提としていません。 並列プログラミングの知識も必要ありません。 このチュートリアルの目的は、 gevent を扱う道具を提供し、 読者がすでに持っている一般的な並列プログラミングの問題を手なづけて 非同期プログラムを書き始められるように手助けすることです。 寄稿者 時系列順の寄稿者: Stephen Diehl Jérémy Bethmont sww Bruno Bigras David Ripton Travis Cline Boris Feld youngsterxyf Eddie Hebert Alexis Metaireau Daniel Velkov そして Denis Bilenko に、 gevent の開発とこのチュートリアルを作る上での 指導について感謝します。 この共

  • Pythonista も �ls を読むべきか?

    Python Developers Festa 2013.11 での発表資料です。 https://github.com/pyspa/pyfes/blob/develop/201311.rst 性能計測結果は Solaris 系の OpenIndiana 151a 上で実施したものですので、他の OS の場合は異なる傾向となる可能性もあります。 Read less

    Pythonista も �ls を読むべきか?
  • クッキークリッカーとプログラマ

    先週ぐらいからクッキークリッカー(Cookie Clicker)というJavaScriptを使ったブラウザゲームが流行っている。クリックするだけのゲームと聞いて、最初はあまり興味を持てなかったのだが、自分の周りであまりにもやっている人が多いので少し遊んでみることにした。 クッキークリッカーを簡単に説明すると、まずはクリックすることでクッキーを作り、作ったクッキーを使ってクッキーの生産性を高めるためのアップグレードやアイテムを購入し、たまに出現するゴールデンクッキー(Golden Cookie)をクリックすることでさらに多量のクッキーが得られるので、それらを駆使してできるだけたくさんのクッキーを作るというゲームだ。 このようにとてもシンプルなゲームなのだが、最初はちまちまとしか作れなかったクッキーが徐々に増えていき、様々なアイテムやイベントを通すことで、終盤では毎秒数千億クッキーを作れるとい

    クッキークリッカーとプログラマ