Suche senden
Hochladen
PSGI REST API
•
2 gefällt mir
•
1,064 views
Dovrtel Vaclav
Folgen
Quick intro to PSGI and implementation of REST API in Plack.
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 18
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Going All-In With Go For CLI Apps
Going All-In With Go For CLI Apps
Tom Elliott
How to build and distribute CLI tool in 15 minutes with Golang
How to build and distribute CLI tool in 15 minutes with Golang
Kohei Kimura
1
1
swetha gokavarapu
Sol8
Sol8
University Of Lahore
Asynchronous I/O in PHP
Asynchronous I/O in PHP
Thomas Weinert
Quicli - From zero to a full CLI application in a few lines of Rust
Quicli - From zero to a full CLI application in a few lines of Rust
Damien Castelltort
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
Takuma Watabiki
Tasks: you gotta know how to run them
Tasks: you gotta know how to run them
Filipe Ximenes
Empfohlen
Going All-In With Go For CLI Apps
Going All-In With Go For CLI Apps
Tom Elliott
How to build and distribute CLI tool in 15 minutes with Golang
How to build and distribute CLI tool in 15 minutes with Golang
Kohei Kimura
1
1
swetha gokavarapu
Sol8
Sol8
University Of Lahore
Asynchronous I/O in PHP
Asynchronous I/O in PHP
Thomas Weinert
Quicli - From zero to a full CLI application in a few lines of Rust
Quicli - From zero to a full CLI application in a few lines of Rust
Damien Castelltort
Grailsでドメイン駆動設計を実践する時の勘所
Grailsでドメイン駆動設計を実践する時の勘所
Takuma Watabiki
Tasks: you gotta know how to run them
Tasks: you gotta know how to run them
Filipe Ximenes
[Quase] Tudo que você precisa saber sobre tarefas assíncronas
[Quase] Tudo que você precisa saber sobre tarefas assíncronas
Filipe Ximenes
The Big Three
The Big Three
Roman Okolovich
Code
Code
Lay Chan Dara Raksmey
Fabric for fun_and_profit
Fabric for fun_and_profit
Javier Jair Trejo García
Steam Learn: Composer
Steam Learn: Composer
inovia
Real world scala
Real world scala
lunfu zhong
Javascript Continues Integration in Jenkins with AngularJS
Javascript Continues Integration in Jenkins with AngularJS
Ladislav Prskavec
Compiling Qt Apps
Compiling Qt Apps
Jussi Pohjolainen
MFC Cosinus
MFC Cosinus
Razvan Raducanu, PhD
Go serving: Building server app with go
Go serving: Building server app with go
Hean Hong Leong
Perl: Coro asynchronous
Perl: Coro asynchronous
Shmuel Fomberg
Array using recursion
Array using recursion
Swarup Boro
File Handling Program
File Handling Program
တမန္ေတာ္ က်ဴးပါက်ဲ
LLVM Workshop Osaka Umeda, Japan
LLVM Workshop Osaka Umeda, Japan
ujihisa
Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)
Mike Melusky
Ansible Inventory Plugins
Ansible Inventory Plugins
jtyr
Writing a compiler in go
Writing a compiler in go
Yusuke Kita
PyCon lightning talk on my Toro module for Tornado
PyCon lightning talk on my Toro module for Tornado
emptysquare
Function
Function
venkatme83
07 build your-own_php_extension
07 build your-own_php_extension
Nguyen Duc Phu
Plack at YAPC::NA 2010
Plack at YAPC::NA 2010
Tatsuhiko Miyagawa
Plack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and servers
Tatsuhiko Miyagawa
Weitere ähnliche Inhalte
Was ist angesagt?
[Quase] Tudo que você precisa saber sobre tarefas assíncronas
[Quase] Tudo que você precisa saber sobre tarefas assíncronas
Filipe Ximenes
The Big Three
The Big Three
Roman Okolovich
Code
Code
Lay Chan Dara Raksmey
Fabric for fun_and_profit
Fabric for fun_and_profit
Javier Jair Trejo García
Steam Learn: Composer
Steam Learn: Composer
inovia
Real world scala
Real world scala
lunfu zhong
Javascript Continues Integration in Jenkins with AngularJS
Javascript Continues Integration in Jenkins with AngularJS
Ladislav Prskavec
Compiling Qt Apps
Compiling Qt Apps
Jussi Pohjolainen
MFC Cosinus
MFC Cosinus
Razvan Raducanu, PhD
Go serving: Building server app with go
Go serving: Building server app with go
Hean Hong Leong
Perl: Coro asynchronous
Perl: Coro asynchronous
Shmuel Fomberg
Array using recursion
Array using recursion
Swarup Boro
File Handling Program
File Handling Program
တမန္ေတာ္ က်ဴးပါက်ဲ
LLVM Workshop Osaka Umeda, Japan
LLVM Workshop Osaka Umeda, Japan
ujihisa
Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)
Mike Melusky
Ansible Inventory Plugins
Ansible Inventory Plugins
jtyr
Writing a compiler in go
Writing a compiler in go
Yusuke Kita
PyCon lightning talk on my Toro module for Tornado
PyCon lightning talk on my Toro module for Tornado
emptysquare
Function
Function
venkatme83
07 build your-own_php_extension
07 build your-own_php_extension
Nguyen Duc Phu
Was ist angesagt?
(20)
[Quase] Tudo que você precisa saber sobre tarefas assíncronas
[Quase] Tudo que você precisa saber sobre tarefas assíncronas
The Big Three
The Big Three
Code
Code
Fabric for fun_and_profit
Fabric for fun_and_profit
Steam Learn: Composer
Steam Learn: Composer
Real world scala
Real world scala
Javascript Continues Integration in Jenkins with AngularJS
Javascript Continues Integration in Jenkins with AngularJS
Compiling Qt Apps
Compiling Qt Apps
MFC Cosinus
MFC Cosinus
Go serving: Building server app with go
Go serving: Building server app with go
Perl: Coro asynchronous
Perl: Coro asynchronous
Array using recursion
Array using recursion
File Handling Program
File Handling Program
LLVM Workshop Osaka Umeda, Japan
LLVM Workshop Osaka Umeda, Japan
Into to Docker (Central PA Java User Group - 8/14/2017)
Into to Docker (Central PA Java User Group - 8/14/2017)
Ansible Inventory Plugins
Ansible Inventory Plugins
Writing a compiler in go
Writing a compiler in go
PyCon lightning talk on my Toro module for Tornado
PyCon lightning talk on my Toro module for Tornado
Function
Function
07 build your-own_php_extension
07 build your-own_php_extension
Ähnlich wie PSGI REST API
Plack at YAPC::NA 2010
Plack at YAPC::NA 2010
Tatsuhiko Miyagawa
Plack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and servers
Tatsuhiko Miyagawa
PSGI/Plack OSDC.TW
PSGI/Plack OSDC.TW
Tatsuhiko Miyagawa
Plack - LPW 2009
Plack - LPW 2009
Tatsuhiko Miyagawa
Psgi Plack Sfpm
Psgi Plack Sfpm
som_nangia
Psgi Plack Sfpm
Psgi Plack Sfpm
wilburlo
Mangling
Mangling
Olaf Alders
Intro to PSGI and Plack
Intro to PSGI and Plack
Tatsuhiko Miyagawa
Mastering Microservices with Kong (DevoxxUK 2019)
Mastering Microservices with Kong (DevoxxUK 2019)
Maarten Mulders
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24
Kei IWASAKI
Plack at OSCON 2010
Plack at OSCON 2010
Tatsuhiko Miyagawa
Interceptors: Into the Core of Pedestal
Interceptors: Into the Core of Pedestal
Kent Ohashi
KubeCon EU 2016: Getting the Jobs Done With Kubernetes
KubeCon EU 2016: Getting the Jobs Done With Kubernetes
KubeAcademy
Get your teeth into Plack
Get your teeth into Plack
Workhorse Computing
How to build a High Performance PSGI/Plack Server
How to build a High Performance PSGI/Plack Server
Masahiro Nagano
Develop microservices in php
Develop microservices in php
Zend by Rogue Wave Software
Denys Serhiienko "ASGI in depth"
Denys Serhiienko "ASGI in depth"
Fwdays
Hacking pokemon go [droidcon tel aviv 2016]
Hacking pokemon go [droidcon tel aviv 2016]
Guy Lis
Diseño y Desarrollo de APIs
Diseño y Desarrollo de APIs
Raúl Neis
Very Brief Intro to Catalyst
Very Brief Intro to Catalyst
Zachary Blair
Ähnlich wie PSGI REST API
(20)
Plack at YAPC::NA 2010
Plack at YAPC::NA 2010
Plack perl superglue for web frameworks and servers
Plack perl superglue for web frameworks and servers
PSGI/Plack OSDC.TW
PSGI/Plack OSDC.TW
Plack - LPW 2009
Plack - LPW 2009
Psgi Plack Sfpm
Psgi Plack Sfpm
Psgi Plack Sfpm
Psgi Plack Sfpm
Mangling
Mangling
Intro to PSGI and Plack
Intro to PSGI and Plack
Mastering Microservices with Kong (DevoxxUK 2019)
Mastering Microservices with Kong (DevoxxUK 2019)
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24
Collaboration hack with slackbot - PyCon HK 2018 - 2018.11.24
Plack at OSCON 2010
Plack at OSCON 2010
Interceptors: Into the Core of Pedestal
Interceptors: Into the Core of Pedestal
KubeCon EU 2016: Getting the Jobs Done With Kubernetes
KubeCon EU 2016: Getting the Jobs Done With Kubernetes
Get your teeth into Plack
Get your teeth into Plack
How to build a High Performance PSGI/Plack Server
How to build a High Performance PSGI/Plack Server
Develop microservices in php
Develop microservices in php
Denys Serhiienko "ASGI in depth"
Denys Serhiienko "ASGI in depth"
Hacking pokemon go [droidcon tel aviv 2016]
Hacking pokemon go [droidcon tel aviv 2016]
Diseño y Desarrollo de APIs
Diseño y Desarrollo de APIs
Very Brief Intro to Catalyst
Very Brief Intro to Catalyst
Kürzlich hochgeladen
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
andrehoraa
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
Christian Birchler
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Natan Silnitsky
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
Hironori Washizaki
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
Akihiro Suda
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
Technogeeks
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
BrainSell Technologies
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Ahmed Mohamed
Cyber security and its impact on E commerce
Cyber security and its impact on E commerce
manigoyal112
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Mater
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
motivationalword821
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
qr0udbr0
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
Andreas Granig
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
Christoph Pohl
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Matt Ray
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
OnePlan Solutions
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
Safe Software
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
Philip Schwarz
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
Dinusha Kumarasiri
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
Hanief Utama
Kürzlich hochgeladen
(20)
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
20240415 [Container Plumbing Days] Usernetes Gen2 - Kubernetes in Rootless Do...
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Cyber security and its impact on E commerce
Cyber security and its impact on E commerce
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
How To Manage Restaurant Staff -BTRESTRO
How To Manage Restaurant Staff -BTRESTRO
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
PSGI REST API
1.
REST API IN PLACK(PSGI) by
Václav Dovrtěl
2.
TABLE OF CONTENTS PSGI,
Plack intro Rest API middlewares Demo
3.
OVERVIEW
4.
PSGI, PLACK
5.
PSGI Interface Author: Tatsuhiko Miyagawa Inspired
by: Python's WSGI and Ruby's Rack. http://plackperl.org/
6.
HELLO WORLD my $app = sub { my $env = shift; return [ 200, # Status ['ContentType', 'text/plain'], # Header ['Hello World'] # Body ] }
7.
EXAMPLE 1 Hello World
example
8.
PLACK Tools Middleware - Plack::Middleware::* Application
- Plack::App::* (::File, ::Proxy, ...) Handler - Plack::Handler::* (::CGI, ::FCGI ...)
9.
MIDDLEWARE
10.
HELLO WORLD MIDDLEWARE my $mw = sub { my $env = shift; ### Pre App ### App my $res = $app>($env); ### Post App return $res; }; }
11.
EXAMPLE 2 Hello World
Middleware example
12.
PLACK::BUILDER use Plack::Builder; my $app = sub { ... }; builder { enable "Deflater"; enable "Session", store => "File"; enable "Debug", panels => [ qw(DBITrace Memory Timer) ]; enable "+My::Plack::Middleware"; $app; };
13.
EXAMPLE 3 Plack::Builder example
14.
PERFORMANCE 4core i5, 8GB
RAM "Hello World" test: Monoceros - 19k req/s Twiggy (PreFork) - 14k req/s Starman - 10k req/s NodeJS - 5k req/s
15.
REST API MIDDLEWARES
16.
LIBRARIES
17.
DEMO github.com/vasekd/plack-rest-api-example
18.
Václav Dovrtěl Presentation generated
by powered by . github.com/mj41/Presentation-Builder github.com/hakimel/reveal.js
Jetzt herunterladen