Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Werkzeugを

使ってみた
金谷敦志
#osakapy 2016/04
Werkzeugといえば…
• 読み方わからん!
2
http://qiita.com/mzsm/items/dff7db90151220bb5b28
Werkzeugの読み方
• ヴェルクツォイク!
3
http://qiita.com/mzsm/items/dff7db90151220bb5b28
Werkzeug - The Python WSGI Utility Library
• WSGIアプリを書くときのユーティリティ
• Flaskのベースライブラリでもある
• こういう機能があります
• HTTP header parsing...
Werkzeugをどこに使ったか?
• 開発に携わるWebアプリケーションのローカルPC開発環境にて。
5
ローカルPCでの開発の悩み
• Apache上でWebアプリケーションを実行しているところがツラい
• 開発環境の構築が面倒
• Apacheの設定ファイルが秘伝のタレ化
• IDEとは別のプロセスで動かすため、デバッグがちょっと手間
6
Werkzeugの簡易Webサーバー機能を使う
• Apacheの別プロセスとしてではなく、1つのPythonプロセスとして
WSGIアプリケーションを起動
• IDEのローカルデバッガが使える
• 開発環境の構築が楽 (必要なライブラリを入れ...
秘伝のタレ部分はMiddlewareを使う
• http://werkzeug.pocoo.org/docs/0.11/middlewares/
• Webアプリケーションに必要な処理を間に挟められる
• Chain of Responsibi...
必要なものがないので書いた
• こういうMiddleware
• 静的コンテンツが来たら、まずローカルフォルダを見て、該当す
るファイルがあればそれを返す
• なければ元リクエストヘッダをそのまま引き継いで指定の別Webサー
バーにリクエストを...
ローカルPCでの開発が改善
• 見事、Aacheいらずの環境ができた
• WebアプリケーションをIDEから起動してデバッグが容易になった
• URLマッピング周りがすっきりした
10
他、Werkzeugの便利ポイント
• ソースコードの自動リロード
• 簡易Webサーバーへのリクエスト単位でプロファイリング
• ブラウザ上で動くデバッガ
• …
• などなどWebの開発で便利な機能が色々あります。
11
Werkzeugの不便なところ
• 同僚が「ヴェルクツォイク」という発音を覚えてくれない
• 業務改善に支障をきたすレベル(言い過ぎ)
• それ以外は便利。
12
Werkzeugを

使ってみた
金谷敦志
#osakapy 2016/04
Upcoming SlideShare
Loading in …5
×

Werkzeugを使ってみた #osakapy 2016/04

1,119 views

Published on

社内のローカル開発環境からApacheを捨てて快適になったというお話。

Published in: Software
  • If you want to download or read this book, copy link or url below in the New tab ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THAT BOOKS/FILE INTO AVAILABLE FORMAT - (Unlimited) ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes Christian, Classics, Comics, Contemporary, Cookbooks, Art, Biography, Business, Chick Lit, Children's, Manga, Memoir, Music, Science, Science Fiction, Self Help, History, Horror, Humor And Comedy, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Werkzeugを使ってみた #osakapy 2016/04

  1. 1. Werkzeugを
 使ってみた 金谷敦志 #osakapy 2016/04
  2. 2. Werkzeugといえば… • 読み方わからん! 2 http://qiita.com/mzsm/items/dff7db90151220bb5b28
  3. 3. Werkzeugの読み方 • ヴェルクツォイク! 3 http://qiita.com/mzsm/items/dff7db90151220bb5b28
  4. 4. Werkzeug - The Python WSGI Utility Library • WSGIアプリを書くときのユーティリティ • Flaskのベースライブラリでもある • こういう機能があります • HTTP header parsing and dumping • Easy to use request and response objects • Interactive JavaScript based in-browser debugger • 100% WSGI 1.0 compatible • Supports Python 2.6, 2.7 and 3.3. • Unicode support • Basic session and signed cookie support • URI and IRI utilities with unicode awareness • builtin library of fixes for buggy WSGI servers and browsers • integrated routing system for matching URLs to endpoints and vice versa 4
  5. 5. Werkzeugをどこに使ったか? • 開発に携わるWebアプリケーションのローカルPC開発環境にて。 5
  6. 6. ローカルPCでの開発の悩み • Apache上でWebアプリケーションを実行しているところがツラい • 開発環境の構築が面倒 • Apacheの設定ファイルが秘伝のタレ化 • IDEとは別のプロセスで動かすため、デバッグがちょっと手間 6
  7. 7. Werkzeugの簡易Webサーバー機能を使う • Apacheの別プロセスとしてではなく、1つのPythonプロセスとして WSGIアプリケーションを起動 • IDEのローカルデバッガが使える • 開発環境の構築が楽 (必要なライブラリを入れてすぐ実行できる) 7 from werkzeug.serving import run_simple def application(environ, start_response): # returns WSGI application if __name__ == '__main__': run_simple('localhost', 4000, application)
  8. 8. 秘伝のタレ部分はMiddlewareを使う • http://werkzeug.pocoo.org/docs/0.11/middlewares/ • Webアプリケーションに必要な処理を間に挟められる • Chain of Responsibility形式で使うことができる • Werkzeugが標準で提供しているMiddleware • SharedDataMiddleware → URLとローカルフォルダを紐付ける • DispatcherMiddleware → URLと別のWSGIアプリを紐付ける 8 from werkzeug.serving import run_simple from werkzeug.wsgi import SharedDataMiddleware if __name__ == '__main__': application = SharedDataMiddleware(app, { '/static': 'dir/to/static/contents' }) run_simple('localhost', 4000, application)
  9. 9. 必要なものがないので書いた • こういうMiddleware • 静的コンテンツが来たら、まずローカルフォルダを見て、該当す るファイルがあればそれを返す • なければ元リクエストヘッダをそのまま引き継いで指定の別Webサー バーにリクエストを投げて結果をレスポンスとして返す • ※静的コンテンツを多く抱える開発現場で需要あるかも? • ※もう少し汎用的に書けると思うので、閃いたらソース公開予定 9
  10. 10. ローカルPCでの開発が改善 • 見事、Aacheいらずの環境ができた • WebアプリケーションをIDEから起動してデバッグが容易になった • URLマッピング周りがすっきりした 10
  11. 11. 他、Werkzeugの便利ポイント • ソースコードの自動リロード • 簡易Webサーバーへのリクエスト単位でプロファイリング • ブラウザ上で動くデバッガ • … • などなどWebの開発で便利な機能が色々あります。 11
  12. 12. Werkzeugの不便なところ • 同僚が「ヴェルクツォイク」という発音を覚えてくれない • 業務改善に支障をきたすレベル(言い過ぎ) • それ以外は便利。 12
  13. 13. Werkzeugを
 使ってみた 金谷敦志 #osakapy 2016/04

×