Soumettre la recherche
Mettre en ligne
Mojolicious on Steroids
•
Télécharger en tant que ODP, PDF
•
0 j'aime
•
3,831 vues
Tudor Constantin
Suivre
Presenting a Perl toolchain for rapid web application development
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 15
Télécharger maintenant
Recommandé
Mojolicious, real-time web framework
Mojolicious, real-time web framework
taggg
Mojolicious: what works and what doesn't
Mojolicious: what works and what doesn't
Cosimo Streppone
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Dotan Dimet
Mojolicious - A new hope
Mojolicious - A new hope
Marcus Ramberg
Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!
Anatoly Sharifulin
RESTful web services
RESTful web services
Tudor Constantin
Mojolicious
Mojolicious
Marcos Rebelo
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
Yusuke Wada
Recommandé
Mojolicious, real-time web framework
Mojolicious, real-time web framework
taggg
Mojolicious: what works and what doesn't
Mojolicious: what works and what doesn't
Cosimo Streppone
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Mojolicious - Perl Framework for the Real-Time Web (Lightning Talk)
Dotan Dimet
Mojolicious - A new hope
Mojolicious - A new hope
Marcus Ramberg
Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!
Anatoly Sharifulin
RESTful web services
RESTful web services
Tudor Constantin
Mojolicious
Mojolicious
Marcos Rebelo
Inside Bokete: Web Application with Mojolicious and others
Inside Bokete: Web Application with Mojolicious and others
Yusuke Wada
Developing apps using Perl
Developing apps using Perl
Anatoly Sharifulin
Mojolicious
Mojolicious
Marcus Ramberg
Mojo as a_client
Mojo as a_client
Marcus Ramberg
Asynchronous programming patterns in Perl
Asynchronous programming patterns in Perl
deepfountainconsulting
Blog Hacks 2011
Blog Hacks 2011
Yusuke Wada
YAPC::Asia 2010 Twitter解析サービス
YAPC::Asia 2010 Twitter解析サービス
Yusuke Wada
Mojolicious
Mojolicious
Lenz Gschwendtner
Plugin jQuery, Design Patterns
Plugin jQuery, Design Patterns
Robert Casanova
Webrtc mojo
Webrtc mojo
bpmedley
jQuery Plugin Creation
jQuery Plugin Creation
benalman
How Kris Writes Symfony Apps
How Kris Writes Symfony Apps
Kris Wallsmith
Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)
andrewnacin
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
Yusuke Wada
Extending the WordPress REST API - Josh Pollock
Extending the WordPress REST API - Josh Pollock
Caldera Labs
Twib in Yokoahma.pm 2010/3/5
Twib in Yokoahma.pm 2010/3/5
Yusuke Wada
Add loop shortcode
Add loop shortcode
Peter Baylies
Xmpp prebind
Xmpp prebind
Syed Arshad
How to actually use promises - Jakob Mattsson, FishBrain
How to actually use promises - Jakob Mattsson, FishBrain
Codemotion Tel Aviv
PerlでWeb API入門
PerlでWeb API入門
Yusuke Wada
Using the new WordPress REST API
Using the new WordPress REST API
Caldera Labs
Writing Pluggable Software
Writing Pluggable Software
Tatsuhiko Miyagawa
Schenker - DSL for quickly creating web applications in Perl
Schenker - DSL for quickly creating web applications in Perl
Jiro Nishiguchi
Contenu connexe
Tendances
Developing apps using Perl
Developing apps using Perl
Anatoly Sharifulin
Mojolicious
Mojolicious
Marcus Ramberg
Mojo as a_client
Mojo as a_client
Marcus Ramberg
Asynchronous programming patterns in Perl
Asynchronous programming patterns in Perl
deepfountainconsulting
Blog Hacks 2011
Blog Hacks 2011
Yusuke Wada
YAPC::Asia 2010 Twitter解析サービス
YAPC::Asia 2010 Twitter解析サービス
Yusuke Wada
Mojolicious
Mojolicious
Lenz Gschwendtner
Plugin jQuery, Design Patterns
Plugin jQuery, Design Patterns
Robert Casanova
Webrtc mojo
Webrtc mojo
bpmedley
jQuery Plugin Creation
jQuery Plugin Creation
benalman
How Kris Writes Symfony Apps
How Kris Writes Symfony Apps
Kris Wallsmith
Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)
andrewnacin
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
Yusuke Wada
Extending the WordPress REST API - Josh Pollock
Extending the WordPress REST API - Josh Pollock
Caldera Labs
Twib in Yokoahma.pm 2010/3/5
Twib in Yokoahma.pm 2010/3/5
Yusuke Wada
Add loop shortcode
Add loop shortcode
Peter Baylies
Xmpp prebind
Xmpp prebind
Syed Arshad
How to actually use promises - Jakob Mattsson, FishBrain
How to actually use promises - Jakob Mattsson, FishBrain
Codemotion Tel Aviv
PerlでWeb API入門
PerlでWeb API入門
Yusuke Wada
Using the new WordPress REST API
Using the new WordPress REST API
Caldera Labs
Tendances
(20)
Developing apps using Perl
Developing apps using Perl
Mojolicious
Mojolicious
Mojo as a_client
Mojo as a_client
Asynchronous programming patterns in Perl
Asynchronous programming patterns in Perl
Blog Hacks 2011
Blog Hacks 2011
YAPC::Asia 2010 Twitter解析サービス
YAPC::Asia 2010 Twitter解析サービス
Mojolicious
Mojolicious
Plugin jQuery, Design Patterns
Plugin jQuery, Design Patterns
Webrtc mojo
Webrtc mojo
jQuery Plugin Creation
jQuery Plugin Creation
How Kris Writes Symfony Apps
How Kris Writes Symfony Apps
Best Practices in Plugin Development (WordCamp Seattle)
Best Practices in Plugin Development (WordCamp Seattle)
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
エロサイト管理者の憂鬱3 - Hokkaiodo.pm#4 -
Extending the WordPress REST API - Josh Pollock
Extending the WordPress REST API - Josh Pollock
Twib in Yokoahma.pm 2010/3/5
Twib in Yokoahma.pm 2010/3/5
Add loop shortcode
Add loop shortcode
Xmpp prebind
Xmpp prebind
How to actually use promises - Jakob Mattsson, FishBrain
How to actually use promises - Jakob Mattsson, FishBrain
PerlでWeb API入門
PerlでWeb API入門
Using the new WordPress REST API
Using the new WordPress REST API
Similaire à Mojolicious on Steroids
Writing Pluggable Software
Writing Pluggable Software
Tatsuhiko Miyagawa
Schenker - DSL for quickly creating web applications in Perl
Schenker - DSL for quickly creating web applications in Perl
Jiro Nishiguchi
Modern Perl
Modern Perl
Dave Cross
SlideShare Instant
SlideShare Instant
Saket Choudhary
SlideShare Instant
SlideShare Instant
Saket Choudhary
jQuery Performance Rules
jQuery Performance Rules
nagarajhubli
Web Scraping with PHP
Web Scraping with PHP
Matthew Turland
SugarCon 2010 - Best Practices for Creating Custom Apps in Sugar
SugarCon 2010 - Best Practices for Creating Custom Apps in Sugar
John Mertic
Web Scraper Shibuya.pm tech talk #8
Web Scraper Shibuya.pm tech talk #8
Tatsuhiko Miyagawa
Introduction To Lamp
Introduction To Lamp
Amzad Hossain
Create a web-app with Cgi Appplication
Create a web-app with Cgi Appplication
olegmmiller
Php 3 1
Php 3 1
Digital Insights - Digital Marketing Agency
The Basics Of Page Creation
The Basics Of Page Creation
Wildan Maulana
Optimizing Drupal for Mobile Devices
Optimizing Drupal for Mobile Devices
Sugree Phatanapherom
Optimize Site Deployments with Drush (DrupalCamp WNY 2011)
Optimize Site Deployments with Drush (DrupalCamp WNY 2011)
Jon Peck
Javascript
Javascript
timsplin
Php Basic Security
Php Basic Security
mussawir20
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
Chris Toohey
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Sergey Ilinsky
Perl Dancer, FPW 2010
Perl Dancer, FPW 2010
Alexis Sukrieh
Similaire à Mojolicious on Steroids
(20)
Writing Pluggable Software
Writing Pluggable Software
Schenker - DSL for quickly creating web applications in Perl
Schenker - DSL for quickly creating web applications in Perl
Modern Perl
Modern Perl
SlideShare Instant
SlideShare Instant
SlideShare Instant
SlideShare Instant
jQuery Performance Rules
jQuery Performance Rules
Web Scraping with PHP
Web Scraping with PHP
SugarCon 2010 - Best Practices for Creating Custom Apps in Sugar
SugarCon 2010 - Best Practices for Creating Custom Apps in Sugar
Web Scraper Shibuya.pm tech talk #8
Web Scraper Shibuya.pm tech talk #8
Introduction To Lamp
Introduction To Lamp
Create a web-app with Cgi Appplication
Create a web-app with Cgi Appplication
Php 3 1
Php 3 1
The Basics Of Page Creation
The Basics Of Page Creation
Optimizing Drupal for Mobile Devices
Optimizing Drupal for Mobile Devices
Optimize Site Deployments with Drush (DrupalCamp WNY 2011)
Optimize Site Deployments with Drush (DrupalCamp WNY 2011)
Javascript
Javascript
Php Basic Security
Php Basic Security
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Perl Dancer, FPW 2010
Perl Dancer, FPW 2010
Dernier
A Framework for Development in the AI Age
A Framework for Development in the AI Age
Cprime
How to write a Business Continuity Plan
How to write a Business Continuity Plan
Databarracks
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
Nathaniel Shimoni
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Nicole Novielli
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Alkin Tezuysal
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
LoriGlavin3
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
Bernd Ruecker
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
LoriGlavin3
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
IES VE
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
BookNet Canada
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
LoriGlavin3
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Inflectra
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
Neo4j
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
Kaya Weers
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
marketing932765
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
itnewsafrica
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
ThousandEyes
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
itnewsafrica
Dernier
(20)
A Framework for Development in the AI Age
A Framework for Development in the AI Age
How to write a Business Continuity Plan
How to write a Business Continuity Plan
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Mojolicious on Steroids
1.
Mojolicious
The duct tape of the web
2.
About me Tudor
Constantin Perl hacker at Evozon http://programming.tudorconstantin.com/ https://github.com/tudorconstantin
3.
4.
Bootstrap from Twitter
5.
Mojolicious
6.
Fast application development
toolchain
7.
Conclusions
8.
Bonus slide
9.
References
10.
11.
easy to
use
12.
13.
but don't
enforce them
14.
15.
16.
17.
18.
19.
Mojolicious Easy to
Start With use Mojolicious :: Lite ; get '/' => { text => 'Hello World!' }; app -> start ;
20.
Mojolicious Easy to
use $r -> route ( '/home' )-> to ( 'example#welcome' ) ; Controller: package MyApp :: Example ; use Mojo :: Base 'Mojolicious::Controller' ; sub welcome { my $self = shift ; # Render template "example/welcome.html.ep" with message $self -> render ( message => 'Welcome to Mojo!' ) ;} 1 ;
21.
Mojolicious Easy to
extend # Everything can be customized with options my $config = $self -> plugin ( yaml_config => { file => 'conf/config.yaml' , stash_key => 'conf' , class => 'YAML::XS' } ) ; $self ->{ config } = $config ; Controller #access to the configuration hash ref $self -> app ->{ config }
22.
Mojolicious Facilitates best
practices # Simple "resource" shortcut, because RESTful apps are a safe bet $r -> add_shortcut ( resource => sub { my ( $r , $name ) = @_ ; # Generate "/$name" route my $resource = $r -> route ( "/$name" )-> to ( "$name#" ) ; # Handle POST requests $resource -> post -> to ( '#create' )-> name ( "create_$name" ) ; # Handle GET requests $resource -> get -> to ( '#show' )-> name ( "show_$document" ) ; return $resource ; } ) ; # POST /user -> {controller => 'user', action => 'create'} # GET /user -> {controller => 'user', action => 'show'} $r -> resource ( 'user' ) ; # POST /document -> {controller => 'document', action => 'create'} # GET /document -> {controller => 'document', action => 'show'} $r -> resource ( 'document' ) ;
23.
Mojolicious But don't
enforce them #code is self explanatory $r -> delete ( '/get/stuff/21/:k' )-> to ( 'static#_doWhat_I_mean_NOW' ) ;
24.
25.
26.
27.
28.
Makes them behave
in nice, concerted manners
29.
30.
31.
32.
33.
Learn Perl and
Mojolicious
34.
Implement it
35.
Profit!!!
36.
Télécharger maintenant