タグ

ブックマーク / pelican.aodag.jp (5)

  • Pyramidのセキュリティ

    Contents Pyramidのセキュリティの仕組み 認証 認可 アプリケーションでの実際 セキュリティ設定 ビューとモデル ログイン処理 まとめ 始めに断っておこう。Pyramidにはファンシーなログインフォームやユーザー管理なんてついてこない。 認証、認可の仕組みはあるが、Pyramidに設定一発で動くような押しつけがましいViewやModelは存在しない。 そういうのが好きな人はDjangoというフレームワークがあるから、そっちにしときな。 このエントリでは、Pyramidで認証、認可の仕組みを使う方法を説明する。 CSRFとかそういうのは扱わないのであしからず。 Pyramidのセキュリティの仕組み 先に述べたとおりPyramidには認証と認可の仕組みがある。 認証というのは、今アプリケーションを使っているのが誰なのかを特定するもので、 認可は誰がその機能や処理を実行してよいかと

  • Pyramidのコントローラースタイル

    Contents URLディスパッチ PyramidでのURLディスパッチ View Predicate ルートURL トラバーサル オブジェクトのデフォルトビュー ビュー名 リソースURL URLディスパッチとトラバーサルの比較 URLディスパッチとトラバーサルの混合 軽いURLディスパッチ + がっつりトラバーサル ガッツリURLディスパッチ + 軽くトラバーサル まとめ とりあえずコントローラースタイルと書いたが、ようするにWebアプリケーションがリクエストを受け取ってから処理に入るまでの流れである。 Pyramidはあえて複数の方法を採用している。その他のフレームワークから来る人たちがお気に入りの方法をとれるようにするためだ。 大きく分けて、Zope系由来のトラバーサル、DjangoやPylonsが使っているURLディスパッチがある。 (TurboGearsはPylons上のフレー

  • 効果的なunittest - または、callFUTの秘密

    Contents unittest を効果的に使うための覚書 目的 ルール: テスト対象のモジュール(module-under-test)をテストモジュールに直接importしない ガイドライン: モジュールスコープでの依存を最小限にする ルール: 各テストメソッドでは、1つの事実だけを確認する ルール: テストメソッドは内容を表すようにしよう ガイドライン: setupはヘルパーメソッドで提供しよう。テストケースのselfで共有するのはやめよう。 ガイドライン: フィクスチャは可能な限り簡潔に ガイドライン: フックやレジストリなどの利用は注意深く ガイドライン: 依存関係を明確にするためにモックを利用する ルール: テストモジュール間でテキストを共有しない まとめ https://twitter.com/tokibito/status/412074246026698753 ということで

  • PythonでWebAppの開発に必要なN個のこと

    元ネタ あるプログラミング言語で実際にWebAppを開発できるようになるまで、何が必要だろうか。言語仕様の習得は終えているとしよう。おそらく、最低限以下のような知識が必要だと思われる。とりあえずPythonについて知っていることを書いた。 パッケージマネージャ まずライブラリの管理。モジュールをインストールし、可能であればバージョンを固定し、適切にロードする機能が必要だ。 Pythonの場合は pip というPyPIクライアントでライブラリをインストールする。ライブラリパスの設定は virtualenv で行う。 アプリケーションサーバー Webサーバへのインターフェイスとしては、WSGIという仕様がある。WSGIに準拠したツールキットとしてWebObやWerkzuegなどがあり、サーバーには標準ライブラリのwsgirefやwaitress、gunicornなどがある。 番環境ではgun

  • Pyramid Testing

    さて、もう間近にせまった PyCon Apac 2013 ですが、 わたくし パッケージングの今と未来 にて登壇します。 ところで、これ以外にもCFPを提出していまして、没ネタが2つほどあります。 sqlalchemyの錬金術 testing pyramid (´・ω・`)実際のとこ、pyramidの話したかったんですけどねぇ.... Pyramidでのテスト まずはpylonsprojectのドキュメント Unit Testing Guidelines があります。 これはテストのテクニックではなく作法ですが、テスト内容を明確にするというのが重要な点かなと思います。 Pyramidなところはそんなとこかもしれません。 どこぞのガラパゴスな進化をしたフレームワークと違い、モダンなテストツールをそのまま使えます。(Pythonのフレームワークなのだから当たり前ですけども) テストケース py

  • 1