Enviar búsqueda
Cargar
フレームワークなしでWSGIプログラミング
•
2 recomendaciones
•
1,324 vistas
Atsushi Odagiri
Seguir
Tecnología
Empresariales
Denunciar
Compartir
Denunciar
Compartir
1 de 10
Descargar ahora
Descargar para leer sin conexión
Recomendados
Angular 2 Architecture
Angular 2 Architecture
Eyal Vardi
hachioji.pm #40 : asynchronous in JS
hachioji.pm #40 : asynchronous in JS
Kotaro Kawashima
Daniel Jalkut - dotSwift 2019
Daniel Jalkut - dotSwift 2019
DanielJalkut
Yui3在美团 2
Yui3在美团 2
Kai Cui
Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.
Visual Engineering
Cappuccino @ JSConf 2009
Cappuccino @ JSConf 2009
tolmasky
Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Carsonified Team
Es6 modules-and-bundlers
Es6 modules-and-bundlers
ismnoiet
Recomendados
Angular 2 Architecture
Angular 2 Architecture
Eyal Vardi
hachioji.pm #40 : asynchronous in JS
hachioji.pm #40 : asynchronous in JS
Kotaro Kawashima
Daniel Jalkut - dotSwift 2019
Daniel Jalkut - dotSwift 2019
DanielJalkut
Yui3在美团 2
Yui3在美团 2
Kai Cui
Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 4: NodeJS. Express Framework & MongoDB.
Visual Engineering
Cappuccino @ JSConf 2009
Cappuccino @ JSConf 2009
tolmasky
Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Dion Almaer & Ben Galbraith - Build Once, Deploy Everywhere
Carsonified Team
Es6 modules-and-bundlers
Es6 modules-and-bundlers
ismnoiet
Angular 2.0 Dependency injection
Angular 2.0 Dependency injection
Eyal Vardi
A Discussion on Automatic Programming
A Discussion on Automatic Programming
techmonkey4u
Webapps without the web
Webapps without the web
Remy Sharp
RubyMotion
RubyMotion
Mark
AngularJS - $http & $resource Services
AngularJS - $http & $resource Services
Eyal Vardi
Paperjs presentation
Paperjs presentation
sharp-blade
What's new in iOS9
What's new in iOS9
CocoaHeads France
Web+GISという視点から見たGISの方向性
Web+GISという視点から見たGISの方向性
Hidenori Fujimura
GSS FED 別亂來交給我們來 Bear
GSS FED 別亂來交給我們來 Bear
DesBear Li
Django tricks (2)
Django tricks (2)
Carlos Hernando
Intro to Pylons / Pyramid
Intro to Pylons / Pyramid
Eric Paxton
Sql alchemy bpstyle_4
Sql alchemy bpstyle_4
Atsushi Odagiri
Setup.pysetup.cfg
Setup.pysetup.cfg
Atsushi Odagiri
How To Drink Wsgi
How To Drink Wsgi
Atsushi Odagiri
Clack meetup #1 lt
Clack meetup #1 lt
Atsushi Odagiri
メタクラスプロトコル
メタクラスプロトコル
Atsushi Odagiri
Pyramid
Pyramid
Atsushi Odagiri
Sqlalchemy sqlの錬金術
Sqlalchemy sqlの錬金術
Atsushi Odagiri
Pythonすいーつ部
Pythonすいーつ部
Atsushi Odagiri
Python3 移行への軌跡
Python3 移行への軌跡
Atsushi Odagiri
Tools for Making Machine Learning more Reactive
Tools for Making Machine Learning more Reactive
Jeff Smith
Practical Celery
Practical Celery
Cameron Maske
Más contenido relacionado
La actualidad más candente
Angular 2.0 Dependency injection
Angular 2.0 Dependency injection
Eyal Vardi
A Discussion on Automatic Programming
A Discussion on Automatic Programming
techmonkey4u
Webapps without the web
Webapps without the web
Remy Sharp
RubyMotion
RubyMotion
Mark
AngularJS - $http & $resource Services
AngularJS - $http & $resource Services
Eyal Vardi
Paperjs presentation
Paperjs presentation
sharp-blade
What's new in iOS9
What's new in iOS9
CocoaHeads France
Web+GISという視点から見たGISの方向性
Web+GISという視点から見たGISの方向性
Hidenori Fujimura
GSS FED 別亂來交給我們來 Bear
GSS FED 別亂來交給我們來 Bear
DesBear Li
Django tricks (2)
Django tricks (2)
Carlos Hernando
Intro to Pylons / Pyramid
Intro to Pylons / Pyramid
Eric Paxton
La actualidad más candente
(11)
Angular 2.0 Dependency injection
Angular 2.0 Dependency injection
A Discussion on Automatic Programming
A Discussion on Automatic Programming
Webapps without the web
Webapps without the web
RubyMotion
RubyMotion
AngularJS - $http & $resource Services
AngularJS - $http & $resource Services
Paperjs presentation
Paperjs presentation
What's new in iOS9
What's new in iOS9
Web+GISという視点から見たGISの方向性
Web+GISという視点から見たGISの方向性
GSS FED 別亂來交給我們來 Bear
GSS FED 別亂來交給我們來 Bear
Django tricks (2)
Django tricks (2)
Intro to Pylons / Pyramid
Intro to Pylons / Pyramid
Destacado
Sql alchemy bpstyle_4
Sql alchemy bpstyle_4
Atsushi Odagiri
Setup.pysetup.cfg
Setup.pysetup.cfg
Atsushi Odagiri
How To Drink Wsgi
How To Drink Wsgi
Atsushi Odagiri
Clack meetup #1 lt
Clack meetup #1 lt
Atsushi Odagiri
メタクラスプロトコル
メタクラスプロトコル
Atsushi Odagiri
Pyramid
Pyramid
Atsushi Odagiri
Sqlalchemy sqlの錬金術
Sqlalchemy sqlの錬金術
Atsushi Odagiri
Pythonすいーつ部
Pythonすいーつ部
Atsushi Odagiri
Python3 移行への軌跡
Python3 移行への軌跡
Atsushi Odagiri
Destacado
(9)
Sql alchemy bpstyle_4
Sql alchemy bpstyle_4
Setup.pysetup.cfg
Setup.pysetup.cfg
How To Drink Wsgi
How To Drink Wsgi
Clack meetup #1 lt
Clack meetup #1 lt
メタクラスプロトコル
メタクラスプロトコル
Pyramid
Pyramid
Sqlalchemy sqlの錬金術
Sqlalchemy sqlの錬金術
Pythonすいーつ部
Pythonすいーつ部
Python3 移行への軌跡
Python3 移行への軌跡
Similar a フレームワークなしでWSGIプログラミング
Tools for Making Machine Learning more Reactive
Tools for Making Machine Learning more Reactive
Jeff Smith
Practical Celery
Practical Celery
Cameron Maske
Angular 2 Architecture (Bucharest 26/10/2016)
Angular 2 Architecture (Bucharest 26/10/2016)
Eyal Vardi
Backbone js
Backbone js
husnara mohammad
Re-Design with Elixir/OTP
Re-Design with Elixir/OTP
Mustafa TURAN
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
scalaconfjp
Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014
Ngoc Dao
Play vs Rails
Play vs Rails
Daniel Cukier
Flask & Flask-restx
Flask & Flask-restx
ammaraslam18
How and why i roll my own node.js framework
How and why i roll my own node.js framework
Ben Lin
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
Nick Sieger
Rapid prototyping and easy testing with ember cli mirage
Rapid prototyping and easy testing with ember cli mirage
Krzysztof Bialek
Bonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node js
Francois Zaninotto
Lift 2 0
Lift 2 0
SO
An Introduction to Celery
An Introduction to Celery
Idan Gazit
QConSP 2015 - Dicas de Performance para Aplicações Web
QConSP 2015 - Dicas de Performance para Aplicações Web
Fabio Akita
Heroku pop-behind-the-sense
Heroku pop-behind-the-sense
Ben Lin
Using Backbone.js with Drupal 7 and 8
Using Backbone.js with Drupal 7 and 8
Ovadiah Myrgorod
Writing HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAE
Ron Reiter
Django quickstart
Django quickstart
Marconi Moreto
Similar a フレームワークなしでWSGIプログラミング
(20)
Tools for Making Machine Learning more Reactive
Tools for Making Machine Learning more Reactive
Practical Celery
Practical Celery
Angular 2 Architecture (Bucharest 26/10/2016)
Angular 2 Architecture (Bucharest 26/10/2016)
Backbone js
Backbone js
Re-Design with Elixir/OTP
Re-Design with Elixir/OTP
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
Xitrum Web Framework Live Coding Demos / Xitrum Web Framework ライブコーディング
Xitrum @ Scala Matsuri Tokyo 2014
Xitrum @ Scala Matsuri Tokyo 2014
Play vs Rails
Play vs Rails
Flask & Flask-restx
Flask & Flask-restx
How and why i roll my own node.js framework
How and why i roll my own node.js framework
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
JRuby + Rails = Awesome Java Web Framework at Jfokus 2011
Rapid prototyping and easy testing with ember cli mirage
Rapid prototyping and easy testing with ember cli mirage
Bonnes pratiques de développement avec Node js
Bonnes pratiques de développement avec Node js
Lift 2 0
Lift 2 0
An Introduction to Celery
An Introduction to Celery
QConSP 2015 - Dicas de Performance para Aplicações Web
QConSP 2015 - Dicas de Performance para Aplicações Web
Heroku pop-behind-the-sense
Heroku pop-behind-the-sense
Using Backbone.js with Drupal 7 and 8
Using Backbone.js with Drupal 7 and 8
Writing HTML5 Web Apps using Backbone.js and GAE
Writing HTML5 Web Apps using Backbone.js and GAE
Django quickstart
Django quickstart
Más de Atsushi Odagiri
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
Atsushi Odagiri
async/await の向こう側 PyCon Kyushu 2022
async/await の向こう側 PyCon Kyushu 2022
Atsushi Odagiri
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
Atsushi Odagiri
eggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptools
Atsushi Odagiri
pyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptools
Atsushi Odagiri
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定
Atsushi Odagiri
Pythonとパッケージングと私
Pythonとパッケージングと私
Atsushi Odagiri
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
Atsushi Odagiri
Pyramid入門
Pyramid入門
Atsushi Odagiri
パッケージングの今
パッケージングの今
Atsushi Odagiri
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
パッケージングの今と未来
パッケージングの今と未来
Atsushi Odagiri
Bplt11 form alchemy
Bplt11 form alchemy
Atsushi Odagiri
Python3でwebアプリ
Python3でwebアプリ
Atsushi Odagiri
Pyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europython
Atsushi Odagiri
What makes pyramid unique
What makes pyramid unique
Atsushi Odagiri
エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介
Atsushi Odagiri
World plonedaylt
World plonedaylt
Atsushi Odagiri
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
Atsushi Odagiri
Form libraries
Form libraries
Atsushi Odagiri
Más de Atsushi Odagiri
(20)
みんなのPython勉強会#77 パッケージングしよう
みんなのPython勉強会#77 パッケージングしよう
async/await の向こう側 PyCon Kyushu 2022
async/await の向こう側 PyCon Kyushu 2022
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
パッケージングの呼び声 Python Charity Talks in Japan 2021.02
eggとはなんだったのか 栄光のsetuptools
eggとはなんだったのか 栄光のsetuptools
pyconjp 2019 LT 今日のsetuptools
pyconjp 2019 LT 今日のsetuptools
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定
Pythonとパッケージングと私
Pythonとパッケージングと私
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
Pyramid入門
Pyramid入門
パッケージングの今
パッケージングの今
パッケージングの今と未来
パッケージングの今と未来
パッケージングの今と未来
パッケージングの今と未来
Bplt11 form alchemy
Bplt11 form alchemy
Python3でwebアプリ
Python3でwebアプリ
Pyconjp2012 memory-of-europython
Pyconjp2012 memory-of-europython
What makes pyramid unique
What makes pyramid unique
エキPy lt repoze.whoの紹介
エキPy lt repoze.whoの紹介
World plonedaylt
World plonedaylt
BPStudy#54 そろそろPython3
BPStudy#54 そろそろPython3
Form libraries
Form libraries
Último
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Khem
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi Call girls
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Último
(20)
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Slack Application Development 101 Slides
Slack Application Development 101 Slides
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
フレームワークなしでWSGIプログラミング
1.
WSGIマイクロフレームワーク
2.
WSGI! from wsgiref.simple_server import
make_server, demo_app httpd = make_server('', 8000, demo_app) print "Serving HTTP on port 8000..." httpd.serve_forever()
3.
WebOb @wsgify def application(request):
return Response('Hello') http://docs.webob.org
4.
Mako import os from mako.lookup
import TemplateLookup here = os.path.dirname(__file__) templates = TemplateLookup(directories=[os.path.join(here, 'templates')]) tmpl = templates.get_template('index.mak') tmpl.render(request=request) http://www.makotemplates.org/
5.
Routes class Dispatcher(object):
def __init__(self): self.mapper = Mapper() self.controllers = {} def add_route(self, route_name, pattern, controller): self.mapper.connect(route_name, pattern) self.controllers[route_name] = controller
6.
Routes @wsgify
def __call__(self, request): matched = self.mapper.routematch(request.path_info, request.method) if not matched: raise HTTPNotFound matchdict, route = matched if route.name not in self.controllers: raise HTTPNotFound request.routes = self.mapper._routenames return self.controllers[route.name](request)
7.
Routes application = Dispatcher() application.add_route('index',
'/', index) application.add_route('hello', '/hello', hello) http://routes.groovie.org/
8.
FormEncode Schema class HelloSchema(formencode.Schema):
name = validators.UnicodeString(not_empty=True)
9.
FormEncode htmlfill def hello(request):
try: params = HelloSchema.to_python(request.params) except formencode.Invalid, e: res = index(request) res.text = htmlfill.render(res.body, request.params, errors=e.error_dict) return res http://formencode.org/
10.
putting all together https://gist.github.com/1175051
Descargar ahora