Perl Dancer for Python programmers

X
Dancer
(the Effortless Perl Web Framework)
About me
●   Sawyer X
●   Sysadmin / Perl Ninja
●   Israel.pm / Haifa.pm / TelAviv.pm / Rehovot.pm
●   I do system, networking, web, applications, etc.
●   http://blogs.perl.org/users/sawyer_x/
●   http://search.cpan.org/~xsawyerx/
Perl web recap




    1995
    CGI
Perl web recap



               2010
    Many frameworks
(including micro-frameworks like Dancer)
The big web religions, illustrated
Ruby – the fanboys
Python – the sticklers
PHP – the nonsensical
Perl – the nutcases
Nutcases?
●   Yes, we are insane (but not LISP-insane)
●   Insanity is a whole lot of fun!
●   Insanity gives us flexibility
●   Flexibility gives us cool stuff
●   Like Moose and meta-programming
●   Like DBIx::Class
●   Like Dancer
Flask (Pythonese)
from flask import Flask
app = Flask(__name__)


@app.route("/", methods=['GET'])
def hello():
    return "Hello World!"


if __name__ == "__main__":
    app.run()
Dancer (Perlesque)
use Dancer;


get “/hi” => sub {
    “Hello, World!”
};


dance;
In comparison
from flask import Flask            use Dancer;
app = Flask(__name__)


@app.route("/", methods=['GET'])   get “/” => sub {
def hello():                         “Hello, World!”
    return "Hello World!"
                                   };
if __name__ == "__main__":
    app.run()                      dance;
Dancer treats
●   Both read and write, easily!
●   Route-based (started as a port of Sinatra)
●   PSGI/Plack compliant (PSGI is our WSGI)
●   Minimum dependencies
●   Any app is also a web server
●   CPAN-friendly (<3 CPAN)
Recipe for Dancing
●   Take an HTTP method
●   Add a path to that
●   Mix with a subroutine
●   And sprinkle plugins and keywords on top
Dancer route structure
get     '/path' => sub { … };
post    '/path' => sub { … };
put     '/path' => sub { … };
del     '/path' => sub { … };
options '/path' => sub { … };
any     '/path' => sub { … };
Dancer
●   Paths can contain variables
    get '/hello/:entity/'


●   Paths can be Regular Expressions
    get qr{/ (w+) / d{2,3} (.+)? }x
Dancer login example
post '/login' => sub {
    # Validate the username and password
    if ( params­>{user} eq 'bob' &&
         params­>{pass} eq 'LetMeIn' ) {


        session user => params­>{user};
        redirect params­>{path} || '/';
    } else {
        redirect '/login?failed=1';
    }
 };
Templating
get '/' => sub {
    template index => {
        greeting => 'welcome'
    }
};
More nifty stuff
●   headers 'My­X­Header' => 'Value'
●   send_file('report.tar.gz')
●   set_cookie name    => 'value',
               expires => ( time + 3600 ),
               domain  => 'foo.com'
●   status 'not_found'
●   to_json, to_yaml, to_xml
●   my $file        = upload('file_input')
●   my $all_uploads = request­>uploads
Dancer as Perl philosophy
●   Dancer is succinct, efficient and easy to work with
●   Dancer is daring
    (Do you have route caching in Django?)
    (Websockets in near future!)
●   Dancer has a lot of plugins:
    (engines for sessions, logging, templates)
●   Serializers (JSON, YAML, XML)
●   Route filters (before, after, before_template)
Oh yeah, route caching...
Dancer::Plugin::REST
get '/user/:id.:format' => sub {
    UserRS­>find( params­>{id} );
};
# curl http://mywebservice/user/42.json
{ "id": 42, "name": "John Foo",             
"email": "john.foo@hopkins.com" }
# curl http://mywebservice/user/42.yml
­­
id: 42
name: "John Foo"
email: "john.foo@hopkins.com"
Dancer::Plugin::SiteMap
    use Dancer::Plugin::SiteMap;


●   You get: /sitemap and /sitemap.xml
●   “Yup, it's that simple.”
Dancer::Plugin::Email
post '/contact' => sub {
    email {
        to      => 'a@b.com',
        subject => 'Test',
        message => $msg,
        attach  => [ path => 'name' ],
    }
};
Dancer::Plugin::Authorize
post '/login' => sub {
    my $user = params­>{'user'};
    my $pass = params­>{'pass'};
    if ( auth( $user, $pass ) ) {
        if ( auth_asa('guest')  ) {...}
        if ( auth_can('create') ) {...}
    }
};
Dancer::Plugin::Ajax
    ajax '/check_for_update' => sub {
        # some ajax code
    };

●   Pass if X-Request-With not “XMLHttpRequest”
●   Disable the layout
●   The action built is a POST request
Dancer::Plugin::DBIC
●   DBIC (DBIx::Class) – a sophisticated ORM
●   Configure the connection in the config file
●   Make the ResultSets available in routes
Dancer::Plugin::Database
●   Database(s) connection in Dancer
    get '/widget/view/:id' => sub {
       my $sth = database­>prepare(
            'select * from widgets where id = ?'
       );
       $sth­>execute( params­>{id} );
       template display_widget => {
           widget => $sth­>fetchrow_hashref,
       };
    };
In culmination
  Dancer is beautiful and fun
The way programming should be



        PerlDancer.org
search.cpan.org/perldoc?Dancer
Perl Dancer for Python programmers
1 of 31

Recommended

Writing webapps with Perl Dancer by
Writing webapps with Perl DancerWriting webapps with Perl Dancer
Writing webapps with Perl DancerAlexis Sukrieh
29.4K views101 slides
Perl Dancer, FPW 2010 by
Perl Dancer, FPW 2010Perl Dancer, FPW 2010
Perl Dancer, FPW 2010Alexis Sukrieh
17.1K views114 slides
PerlDancer for Perlers (FOSDEM 2011) by
PerlDancer for Perlers (FOSDEM 2011)PerlDancer for Perlers (FOSDEM 2011)
PerlDancer for Perlers (FOSDEM 2011)xSawyer
4.1K views36 slides
Dancing Tutorial by
Dancing TutorialDancing Tutorial
Dancing TutorialAlberto Simões
14.3K views44 slides
An introduction to Rex - FLOSS UK DevOps York 2015 by
An introduction to Rex - FLOSS UK DevOps York 2015An introduction to Rex - FLOSS UK DevOps York 2015
An introduction to Rex - FLOSS UK DevOps York 2015Andy Beverley
4K views29 slides
Dancer's Ecosystem by
Dancer's EcosystemDancer's Ecosystem
Dancer's EcosystemAlexis Sukrieh
1.2K views67 slides

More Related Content

What's hot

Developing apps using Perl by
Developing apps using PerlDeveloping apps using Perl
Developing apps using PerlAnatoly Sharifulin
1.4K views87 slides
Keeping it small - Getting to know the Slim PHP micro framework by
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro frameworkJeremy Kendall
9.6K views214 slides
RESTful web services by
RESTful web servicesRESTful web services
RESTful web servicesTudor Constantin
2K views13 slides
Modern Perl Web Development with Dancer by
Modern Perl Web Development with DancerModern Perl Web Development with Dancer
Modern Perl Web Development with DancerDave Cross
2.5K views137 slides
Slim RedBeanPHP and Knockout by
Slim RedBeanPHP and KnockoutSlim RedBeanPHP and Knockout
Slim RedBeanPHP and KnockoutVic Metcalfe
4K views17 slides
Perl web frameworks by
Perl web frameworksPerl web frameworks
Perl web frameworksdiego_k
670 views103 slides

What's hot(20)

Keeping it small - Getting to know the Slim PHP micro framework by Jeremy Kendall
Keeping it small - Getting to know the Slim PHP micro frameworkKeeping it small - Getting to know the Slim PHP micro framework
Keeping it small - Getting to know the Slim PHP micro framework
Jeremy Kendall9.6K views
Modern Perl Web Development with Dancer by Dave Cross
Modern Perl Web Development with DancerModern Perl Web Development with Dancer
Modern Perl Web Development with Dancer
Dave Cross2.5K views
Slim RedBeanPHP and Knockout by Vic Metcalfe
Slim RedBeanPHP and KnockoutSlim RedBeanPHP and Knockout
Slim RedBeanPHP and Knockout
Vic Metcalfe4K views
Perl web frameworks by diego_k
Perl web frameworksPerl web frameworks
Perl web frameworks
diego_k670 views
Keeping it Small: Getting to know the Slim Micro Framework by Jeremy Kendall
Keeping it Small: Getting to know the Slim Micro FrameworkKeeping it Small: Getting to know the Slim Micro Framework
Keeping it Small: Getting to know the Slim Micro Framework
Jeremy Kendall1.8K views
Quality Use Of Plugin by Yasuo Harada
Quality Use Of PluginQuality Use Of Plugin
Quality Use Of Plugin
Yasuo Harada1.2K views
Web Apps in Perl - HTTP 101 by hendrikvb
Web Apps in Perl - HTTP 101Web Apps in Perl - HTTP 101
Web Apps in Perl - HTTP 101
hendrikvb2.9K views
Lessons Learnt in 2009 by pratiknaik
Lessons Learnt in 2009Lessons Learnt in 2009
Lessons Learnt in 2009
pratiknaik1.8K views
Lightweight Webservices with Sinatra and RestClient by Adam Wiggins
Lightweight Webservices with Sinatra and RestClientLightweight Webservices with Sinatra and RestClient
Lightweight Webservices with Sinatra and RestClient
Adam Wiggins24.1K views
Webrtc mojo by bpmedley
Webrtc mojoWebrtc mojo
Webrtc mojo
bpmedley2K views
Mojolicious - A new hope by Marcus Ramberg
Mojolicious - A new hopeMojolicious - A new hope
Mojolicious - A new hope
Marcus Ramberg12.1K views
How to develop modern web application framework by techmemo
How to develop modern web application frameworkHow to develop modern web application framework
How to develop modern web application framework
techmemo1K views
優しいWAFの作り方 by techmemo
優しいWAFの作り方優しいWAFの作り方
優しいWAFの作り方
techmemo2.1K views
Building Modern and Secure PHP Applications – Codementor Office Hours with Be... by Arc & Codementor
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Building Modern and Secure PHP Applications – Codementor Office Hours with Be...
Arc & Codementor11.2K views
Your own (little) gem: building an online business with Ruby by Lindsay Holmwood
Your own (little) gem: building an online business with RubyYour own (little) gem: building an online business with Ruby
Your own (little) gem: building an online business with Ruby
Lindsay Holmwood1.1K views

Similar to Perl Dancer for Python programmers

PSGI and Plack from first principles by
PSGI and Plack from first principlesPSGI and Plack from first principles
PSGI and Plack from first principlesPerl Careers
2K views42 slides
Laravel5 Introduction and essentials by
Laravel5 Introduction and essentialsLaravel5 Introduction and essentials
Laravel5 Introduction and essentialsPramod Kadam
414 views31 slides
Using Sinatra to Build REST APIs in Ruby by
Using Sinatra to Build REST APIs in RubyUsing Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in RubyLaunchAny
9.5K views53 slides
Sprockets by
SprocketsSprockets
SprocketsChristophe Porteneuve
12.2K views80 slides
Writing and Publishing Puppet Modules - PuppetConf 2014 by
Writing and Publishing Puppet Modules - PuppetConf 2014Writing and Publishing Puppet Modules - PuppetConf 2014
Writing and Publishing Puppet Modules - PuppetConf 2014Puppet
2.5K views45 slides
Building your first Node app with Connect & Express by
Building your first Node app with Connect & ExpressBuilding your first Node app with Connect & Express
Building your first Node app with Connect & ExpressChristian Joudrey
21.2K views25 slides

Similar to Perl Dancer for Python programmers(20)

PSGI and Plack from first principles by Perl Careers
PSGI and Plack from first principlesPSGI and Plack from first principles
PSGI and Plack from first principles
Perl Careers2K views
Laravel5 Introduction and essentials by Pramod Kadam
Laravel5 Introduction and essentialsLaravel5 Introduction and essentials
Laravel5 Introduction and essentials
Pramod Kadam414 views
Using Sinatra to Build REST APIs in Ruby by LaunchAny
Using Sinatra to Build REST APIs in RubyUsing Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in Ruby
LaunchAny9.5K views
Writing and Publishing Puppet Modules - PuppetConf 2014 by Puppet
Writing and Publishing Puppet Modules - PuppetConf 2014Writing and Publishing Puppet Modules - PuppetConf 2014
Writing and Publishing Puppet Modules - PuppetConf 2014
Puppet2.5K views
Building your first Node app with Connect & Express by Christian Joudrey
Building your first Node app with Connect & ExpressBuilding your first Node app with Connect & Express
Building your first Node app with Connect & Express
Christian Joudrey21.2K views
Modern Perl by Dave Cross
Modern PerlModern Perl
Modern Perl
Dave Cross6.6K views
Going crazy with Node.JS and CakePHP by Mariano Iglesias
Going crazy with Node.JS and CakePHPGoing crazy with Node.JS and CakePHP
Going crazy with Node.JS and CakePHP
Mariano Iglesias13.8K views
Perl.Hacks.On.Vim Perlchina by guestcf9240
Perl.Hacks.On.Vim PerlchinaPerl.Hacks.On.Vim Perlchina
Perl.Hacks.On.Vim Perlchina
guestcf92401.1K views
Using the new WordPress REST API by Caldera Labs
Using the new WordPress REST APIUsing the new WordPress REST API
Using the new WordPress REST API
Caldera Labs3.4K views
関西PHP勉強会 php5.4つまみぐい by Hisateru Tanaka
関西PHP勉強会 php5.4つまみぐい関西PHP勉強会 php5.4つまみぐい
関西PHP勉強会 php5.4つまみぐい
Hisateru Tanaka2.6K views
Perl.Hacks.On.Vim Perlchina by Lin Yo-An
Perl.Hacks.On.Vim PerlchinaPerl.Hacks.On.Vim Perlchina
Perl.Hacks.On.Vim Perlchina
Lin Yo-An1.5K views
Practical pig by trihug
Practical pigPractical pig
Practical pig
trihug12.5K views
What's New In Laravel 5 by Darren Craig
What's New In Laravel 5What's New In Laravel 5
What's New In Laravel 5
Darren Craig2.2K views
Rails 2010 Workshop by dtsadok
Rails 2010 WorkshopRails 2010 Workshop
Rails 2010 Workshop
dtsadok627 views
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery by Tatsuhiko Miyagawa
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQueryRemedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Remedie: Building a desktop app with HTTP::Engine, SQLite and jQuery
Tatsuhiko Miyagawa39.1K views

More from xSawyer

do_this and die(); by
do_this and die();do_this and die();
do_this and die();xSawyer
2K views18 slides
XS Fun by
XS FunXS Fun
XS FunxSawyer
1.7K views22 slides
Asynchronous Programming FTW! 2 (with AnyEvent) by
Asynchronous Programming FTW! 2 (with AnyEvent)Asynchronous Programming FTW! 2 (with AnyEvent)
Asynchronous Programming FTW! 2 (with AnyEvent)xSawyer
6.2K views55 slides
Asynchronous programming FTW! by
Asynchronous programming FTW!Asynchronous programming FTW!
Asynchronous programming FTW!xSawyer
1.3K views37 slides
Moose - YAPC::NA 2012 by
Moose - YAPC::NA 2012Moose - YAPC::NA 2012
Moose - YAPC::NA 2012xSawyer
1.3K views35 slides
Our local state, my, my - Understanding Perl variables by
Our local state, my, my - Understanding Perl variablesOur local state, my, my - Understanding Perl variables
Our local state, my, my - Understanding Perl variablesxSawyer
5.3K views22 slides

More from xSawyer(13)

do_this and die(); by xSawyer
do_this and die();do_this and die();
do_this and die();
xSawyer2K views
XS Fun by xSawyer
XS FunXS Fun
XS Fun
xSawyer1.7K views
Asynchronous Programming FTW! 2 (with AnyEvent) by xSawyer
Asynchronous Programming FTW! 2 (with AnyEvent)Asynchronous Programming FTW! 2 (with AnyEvent)
Asynchronous Programming FTW! 2 (with AnyEvent)
xSawyer6.2K views
Asynchronous programming FTW! by xSawyer
Asynchronous programming FTW!Asynchronous programming FTW!
Asynchronous programming FTW!
xSawyer1.3K views
Moose - YAPC::NA 2012 by xSawyer
Moose - YAPC::NA 2012Moose - YAPC::NA 2012
Moose - YAPC::NA 2012
xSawyer1.3K views
Our local state, my, my - Understanding Perl variables by xSawyer
Our local state, my, my - Understanding Perl variablesOur local state, my, my - Understanding Perl variables
Our local state, my, my - Understanding Perl variables
xSawyer5.3K views
Your first website in under a minute with Dancer by xSawyer
Your first website in under a minute with DancerYour first website in under a minute with Dancer
Your first website in under a minute with Dancer
xSawyer2.9K views
Moose talk at FOSDEM 2011 (Perl devroom) by xSawyer
Moose talk at FOSDEM 2011 (Perl devroom)Moose talk at FOSDEM 2011 (Perl devroom)
Moose talk at FOSDEM 2011 (Perl devroom)
xSawyer4.1K views
When Perl Met Android (YAPC::EU 2010) by xSawyer
When Perl Met Android (YAPC::EU 2010)When Perl Met Android (YAPC::EU 2010)
When Perl Met Android (YAPC::EU 2010)
xSawyer2.3K views
Perl Dancer on Android (first attempt) by xSawyer
Perl Dancer on Android (first attempt)Perl Dancer on Android (first attempt)
Perl Dancer on Android (first attempt)
xSawyer682 views
Source Code Management systems by xSawyer
Source Code Management systemsSource Code Management systems
Source Code Management systems
xSawyer8.4K views
Moose (Perl 5) by xSawyer
Moose (Perl 5)Moose (Perl 5)
Moose (Perl 5)
xSawyer3.5K views
Red Flags in Programming by xSawyer
Red Flags in ProgrammingRed Flags in Programming
Red Flags in Programming
xSawyer1.8K views

Recently uploaded

2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlueShapeBlue
103 views23 slides
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...ShapeBlue
123 views28 slides
The Role of Patterns in the Era of Large Language Models by
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language ModelsYunyao Li
80 views65 slides
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...ShapeBlue
120 views13 slides
Microsoft Power Platform.pptx by
Microsoft Power Platform.pptxMicrosoft Power Platform.pptx
Microsoft Power Platform.pptxUni Systems S.M.S.A.
80 views38 slides
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...James Anderson
156 views32 slides

Recently uploaded(20)

2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue by ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue103 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue123 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li80 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue120 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson156 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue117 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue181 views
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue88 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue179 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely78 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue132 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue138 views
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ... by ShapeBlue
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
Backup and Disaster Recovery with CloudStack and StorPool - Workshop - Venko ...
ShapeBlue144 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue85 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue158 views
NTGapps NTG LowCode Platform by Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu365 views

Perl Dancer for Python programmers