SlideShare a Scribd company logo
1 of 60
Ruby
Perl


            2011/10/14
        YAPC::Asia Tokyo 2011
$ whoami

•           <Kensuke Nagae>

•
• @kyanny
Perl => Ruby
•       Ruby

• Rails
•
Ruby
Perl
Ruby


• Environment
• Web Application Framework
• Platform
Environment
Environment

•   Ruby

•
           ...
RVM

• Ruby Version Manager
•        Ruby

•             Ruby
RVM

•
•
•
$ rvm install 1.9.2
$ rvm use 1.9.2
$ rvm use system
Web Application
 Framework
Web Application
       Framework

• Rails
• Rails
• Sinatra, Padrino, Ramaze, etc.
Sinatra


•                    DSL

•             (get         )
require 'sinatra'

get '/hi' do
  "Hello World!"
end
Platform
Platform

•
•                VPS

• Google AppEngine
Heroku


• Rack                 PaaS

• CLI + Git
$ gem install heroku
$ heroku create
$ git push heroku master
s/Ruby/Perl/
Ruby
Perl
Perl


• Environment
• Framework
• Platform
Environment
Environment

• 5.8.x
                        ...

•              CPAN
Perlbrew

• RVM
•       Perl

•              Perl
Perlbrew

•
•
•
$ perlbrew install perl-5.14.1
$ perlbrew switch perl-5.14.1
$ perlbrew switch /usr/bin/perl
Web Application
 Framework
Web Application
       Framework

• Catalyst
• Catalyst
• Dancer, Mojolicious::Lite, Amon2::Lite, etc.
Mojolicious::Lite

• Mojolicious
•                        DSL

• Sinatra (     )
use Mojolicious::Lite;

get '/hi' => {
    text => 'Hello World!'
};

app->start;
Platform
Platform

• CGI                       ...

•      mod_perl, FastCGI

• PSGI             Heroku
DotCloud

• PSGI                           PaaS

• CLI + Git, Mercurial
• YAPC::Asia Tokyo 2011 Sponsor :)
$ sudo easy_install pip &&
sudo pip install dotcloud

$ dotcloud create myapp
$ dotcloud push myapp
Environment

• RVM
• Perlbrew
•
$ rvm install 1.9.2
$ rvm use 1.9.2
$ rvm use system
$ perlbrew install perl-5.14.1
$ perlbrew switch perl-5.14.1
$ perlbrew switch /usr/bin/perl
Web Application
       Framework

• Sinatra
• Mojolicious::Lite
•                       DSL
require 'sinatra'

get '/hi' do
  "Hello World!"
end
use Mojolicious::Lite;

get '/hi' => {
    text => 'Hello World!'
};

app->start;
Platform

• Heroku
• DotCloud
•                   PaaS
$ gem install heroku
$ heroku create
$ git push heroku master
$ sudo easy_install pip &&
sudo pip install dotcloud

$ dotcloud create myapp
$ dotcloud push myapp
Ruby   Perl

•
•
• (Ruby|Perl)
CM
We’re Hiring!
Thank you!

More Related Content

What's hot

2600Hz - The Next Wave - KazooCon 2015
2600Hz - The Next Wave - KazooCon 2015 2600Hz - The Next Wave - KazooCon 2015
2600Hz - The Next Wave - KazooCon 2015 2600Hz
 
SIPLABS - Hard Rocking Kazoo - KazooCon 2015
SIPLABS - Hard Rocking Kazoo - KazooCon 2015SIPLABS - Hard Rocking Kazoo - KazooCon 2015
SIPLABS - Hard Rocking Kazoo - KazooCon 20152600Hz
 
Lighning Talk: composer repositories
Lighning Talk: composer repositoriesLighning Talk: composer repositories
Lighning Talk: composer repositoriesBryan Agee
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentPuppet
 
KazooCon 2014 - Deploying Kazoo Globally
KazooCon 2014 - Deploying Kazoo GloballyKazooCon 2014 - Deploying Kazoo Globally
KazooCon 2014 - Deploying Kazoo Globally2600Hz
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflowTomas Doran
 
Build and deployment
Build and deploymentBuild and deployment
Build and deploymentWO Community
 
Server Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsServer Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsJeff Geerling
 
OpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, tooOpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, tooinovex GmbH
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Giacomo Vacca
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsWO Community
 
2600hz CTO Karl Anderson speaks at Kamailio World 2014
2600hz CTO Karl Anderson speaks at Kamailio World 20142600hz CTO Karl Anderson speaks at Kamailio World 2014
2600hz CTO Karl Anderson speaks at Kamailio World 20142600Hz
 
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz
 
Voxter - Building Value with Kazoo - KazooCon 2015
Voxter - Building Value with Kazoo - KazooCon 2015Voxter - Building Value with Kazoo - KazooCon 2015
Voxter - Building Value with Kazoo - KazooCon 20152600Hz
 
Network Automation: Ansible 101
Network Automation: Ansible 101Network Automation: Ansible 101
Network Automation: Ansible 101APNIC
 
Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
Ceph, Docker, Heroku Slugs, CoreOS and Deis OverviewCeph, Docker, Heroku Slugs, CoreOS and Deis Overview
Ceph, Docker, Heroku Slugs, CoreOS and Deis OverviewLeo Lorieri
 
Understanding salt modular sub-systems and customization
Understanding salt   modular sub-systems and customizationUnderstanding salt   modular sub-systems and customization
Understanding salt modular sub-systems and customizationjasondenning
 

What's hot (20)

2600Hz - The Next Wave - KazooCon 2015
2600Hz - The Next Wave - KazooCon 2015 2600Hz - The Next Wave - KazooCon 2015
2600Hz - The Next Wave - KazooCon 2015
 
SIPLABS - Hard Rocking Kazoo - KazooCon 2015
SIPLABS - Hard Rocking Kazoo - KazooCon 2015SIPLABS - Hard Rocking Kazoo - KazooCon 2015
SIPLABS - Hard Rocking Kazoo - KazooCon 2015
 
Lighning Talk: composer repositories
Lighning Talk: composer repositoriesLighning Talk: composer repositories
Lighning Talk: composer repositories
 
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic EnvironmentDe-centralise and Conquer: Masterless Puppet in a Dynamic Environment
De-centralise and Conquer: Masterless Puppet in a Dynamic Environment
 
KazooCon 2014 - Deploying Kazoo Globally
KazooCon 2014 - Deploying Kazoo GloballyKazooCon 2014 - Deploying Kazoo Globally
KazooCon 2014 - Deploying Kazoo Globally
 
Capistrano demo
Capistrano demoCapistrano demo
Capistrano demo
 
Mojolicious mvc
Mojolicious mvcMojolicious mvc
Mojolicious mvc
 
Steamlining your puppet development workflow
Steamlining your puppet development workflowSteamlining your puppet development workflow
Steamlining your puppet development workflow
 
Build and deployment
Build and deploymentBuild and deployment
Build and deployment
 
Server Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.jsServer Check.in case study - Drupal and Node.js
Server Check.in case study - Drupal and Node.js
 
OpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, tooOpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, too
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systems
 
2600hz CTO Karl Anderson speaks at Kamailio World 2014
2600hz CTO Karl Anderson speaks at Kamailio World 20142600hz CTO Karl Anderson speaks at Kamailio World 2014
2600hz CTO Karl Anderson speaks at Kamailio World 2014
 
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 20152600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
2600Hz - Tuning Kazoo to 10,000 Handsets - KazooCon 2015
 
Kamailio and VoIP Wild World
Kamailio and VoIP Wild WorldKamailio and VoIP Wild World
Kamailio and VoIP Wild World
 
Voxter - Building Value with Kazoo - KazooCon 2015
Voxter - Building Value with Kazoo - KazooCon 2015Voxter - Building Value with Kazoo - KazooCon 2015
Voxter - Building Value with Kazoo - KazooCon 2015
 
Network Automation: Ansible 101
Network Automation: Ansible 101Network Automation: Ansible 101
Network Automation: Ansible 101
 
Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
Ceph, Docker, Heroku Slugs, CoreOS and Deis OverviewCeph, Docker, Heroku Slugs, CoreOS and Deis Overview
Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
 
Understanding salt modular sub-systems and customization
Understanding salt   modular sub-systems and customizationUnderstanding salt   modular sub-systems and customization
Understanding salt modular sub-systems and customization
 

Similar to Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )

GIT, RVM, FIRST HEROKU APP
GIT, RVM, FIRST HEROKU APPGIT, RVM, FIRST HEROKU APP
GIT, RVM, FIRST HEROKU APPPavel Tyk
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerJürgen Gutsch
 
Kuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsKuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsCameron Dutro
 
plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6Nobuo Danjou
 
Swing when you're winning - an introduction to Ruby and Sinatra
Swing when you're winning - an introduction to Ruby and SinatraSwing when you're winning - an introduction to Ruby and Sinatra
Swing when you're winning - an introduction to Ruby and SinatraMatt Gifford
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the worldHiroshi SHIBATA
 
Agiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeAgiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeMario IC
 
perlbrew yapcasia 2010
perlbrew yapcasia 2010perlbrew yapcasia 2010
perlbrew yapcasia 2010Kang-min Liu
 
Great Tools Heavily Used In Japan, You Don't Know.
Great Tools Heavily Used In Japan, You Don't Know.Great Tools Heavily Used In Japan, You Don't Know.
Great Tools Heavily Used In Japan, You Don't Know.Junichi Ishida
 
Node js quick-tour_v2
Node js quick-tour_v2Node js quick-tour_v2
Node js quick-tour_v2http403
 
Node js quick tour v2
Node js quick tour v2Node js quick tour v2
Node js quick tour v2Wyatt Fang
 
Node js quick-tour_v2
Node js quick-tour_v2Node js quick-tour_v2
Node js quick-tour_v2tianyi5212222
 
Deploying to Ubuntu on Linode
Deploying to Ubuntu on LinodeDeploying to Ubuntu on Linode
Deploying to Ubuntu on LinodeWO Community
 
Server-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick TourServer-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick Tourq3boy
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby TeamArto Artnik
 
Deployment tales
Deployment talesDeployment tales
Deployment talesAmoniac OÜ
 

Similar to Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist ) (20)

GIT, RVM, FIRST HEROKU APP
GIT, RVM, FIRST HEROKU APPGIT, RVM, FIRST HEROKU APP
GIT, RVM, FIRST HEROKU APP
 
ASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & dockerASP.NET 5 auf Raspberry PI & docker
ASP.NET 5 auf Raspberry PI & docker
 
Kuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsKuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails Apps
 
plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6plackdo, plack-like web interface on perl6
plackdo, plack-like web interface on perl6
 
Swing when you're winning - an introduction to Ruby and Sinatra
Swing when you're winning - an introduction to Ruby and SinatraSwing when you're winning - an introduction to Ruby and Sinatra
Swing when you're winning - an introduction to Ruby and Sinatra
 
How to distribute Ruby to the world
How to distribute Ruby to the worldHow to distribute Ruby to the world
How to distribute Ruby to the world
 
Setup ruby
Setup rubySetup ruby
Setup ruby
 
Agiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As CodeAgiles Peru 2019 - Infrastructure As Code
Agiles Peru 2019 - Infrastructure As Code
 
Nodejs web,db,hosting
Nodejs web,db,hostingNodejs web,db,hosting
Nodejs web,db,hosting
 
perlbrew yapcasia 2010
perlbrew yapcasia 2010perlbrew yapcasia 2010
perlbrew yapcasia 2010
 
Great Tools Heavily Used In Japan, You Don't Know.
Great Tools Heavily Used In Japan, You Don't Know.Great Tools Heavily Used In Japan, You Don't Know.
Great Tools Heavily Used In Japan, You Don't Know.
 
What is octohost?
What is octohost?What is octohost?
What is octohost?
 
Node js quick-tour_v2
Node js quick-tour_v2Node js quick-tour_v2
Node js quick-tour_v2
 
Node js quick tour v2
Node js quick tour v2Node js quick tour v2
Node js quick tour v2
 
Node js quick-tour_v2
Node js quick-tour_v2Node js quick-tour_v2
Node js quick-tour_v2
 
Deploying to Ubuntu on Linode
Deploying to Ubuntu on LinodeDeploying to Ubuntu on Linode
Deploying to Ubuntu on Linode
 
Server-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick TourServer-Side JavaScript Developement - Node.JS Quick Tour
Server-Side JavaScript Developement - Node.JS Quick Tour
 
Toolbox of a Ruby Team
Toolbox of a Ruby TeamToolbox of a Ruby Team
Toolbox of a Ruby Team
 
Deployment tales
Deployment talesDeployment tales
Deployment tales
 
Deployment tales
Deployment talesDeployment tales
Deployment tales
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )

Editor's Notes

  1. \n
  2. \n
  3. &amp;#x30ED;&amp;#x30EA;&amp;#x30DD;&amp;#x30C3;&amp;#x30D7; JUGEM &amp;#x30D6;&amp;#x30AF;&amp;#x30ED;&amp;#x30B0; &amp;#x30B6;&amp;#x30A4;&amp;#x30F3;&amp;#x30BF;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x30BA;\n&amp;#x30C9;&amp;#x30AF;&amp;#x30DA;&amp;#x597D;&amp;#x304D;&amp;#x306A;&amp;#x6280;&amp;#x8853;&amp;#x8CAC;&amp;#x4EFB;&amp;#x8005;&amp;#x3067;&amp;#x3082;&amp;#x6709;&amp;#x540D;\n
  4. &amp;#x30AA;&amp;#x30F3;&amp;#x30E9;&amp;#x30A4;&amp;#x30F3;&amp;#x5199;&amp;#x771F;&amp;#x5171;&amp;#x6709;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;\nRuby on Rails\n
  5. &amp;#x30B9;&amp;#x30A4;&amp;#x30C3;&amp;#x30C1;&amp;#x3057;&amp;#x305F;\n&amp;#x8A00;&amp;#x8A9E;&amp;#x306F;&amp;#x4F3C;&amp;#x3066;&amp;#x3066;&amp;#x5E73;&amp;#x6C17;&amp;#x3060;&amp;#x3063;&amp;#x305F;&amp;#x3051;&amp;#x3069;&amp;#x4ED6;&amp;#x306E;&amp;#x90E8;&amp;#x5206;&amp;#x3067;&amp;#x56F0;&amp;#x3063;&amp;#x305F;\n
  6. &amp;#x8A00;&amp;#x8A9E;&amp;#x4EE5;&amp;#x5916;&amp;#x306E;&amp;#x90E8;&amp;#x5206;\n&amp;#x30D9;&amp;#x30B9;&amp;#x30C8;&amp;#x30D7;&amp;#x30E9;&amp;#x30AF;&amp;#x30C6;&amp;#x30A3;&amp;#x30B9;&amp;#x304C;&amp;#x77E5;&amp;#x308A;&amp;#x305F;&amp;#x304B;&amp;#x3063;&amp;#x305F;\n
  7. Perl&amp;#x306E;&amp;#x300C;&amp;#x305D;&amp;#x306E;&amp;#x4ED6;&amp;#x300D;&amp;#x304C;&amp;#x308F;&amp;#x304B;&amp;#x3089;&amp;#x306A;&amp;#x3044;&amp;#x4EBA;&amp;#x3078;\n&amp;#x4E21;&amp;#x65B9;&amp;#x3061;&amp;#x3087;&amp;#x3063;&amp;#x3068;&amp;#x305A;&amp;#x3064;&amp;#x77E5;&amp;#x3063;&amp;#x3066;&amp;#x308B;&amp;#x3001;&amp;#x7FFB;&amp;#x8A33;&amp;#x3001;&amp;#x6A4B;&amp;#x6E21;&amp;#x3057;\n&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3066;&amp;#x308B;&amp;#x304B;&amp;#x3082;\n
  8. &amp;#x305D;&amp;#x3046;&amp;#x601D;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x8A71;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x3057;&amp;#x305F;\n
  9. &amp;#x8A00;&amp;#x8A9E;&amp;#x300C;&amp;#x4EE5;&amp;#x5916;&amp;#x300D;&amp;#x306E;&amp;#x4E09;&amp;#x3064;&amp;#x306E;&amp;#x8981;&amp;#x7D20;\n
  10. &amp;#x30D7;&amp;#x30ED;&amp;#x30B0;&amp;#x30E9;&amp;#x30E0;&amp;#x306E;&amp;#x5B9F;&amp;#x884C;&amp;#x74B0;&amp;#x5883;\n
  11. Ruby&amp;#x306E;&amp;#x5B9F;&amp;#x88C5;&amp;#x3044;&amp;#x308D;&amp;#x3044;&amp;#x308D;\nrpm &amp;#x304C;&amp;#x306A;&amp;#x3044;\n&amp;#x624B;&amp;#x3067;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x304B;&amp;#x3089;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30EB;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x9762;&amp;#x5012;&amp;#x304F;&amp;#x3055;&amp;#x3044;\n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. &amp;#x66F8;&amp;#x3044;&amp;#x305F;&amp;#x30D7;&amp;#x30ED;&amp;#x30B0;&amp;#x30E9;&amp;#x30E0;&amp;#x3092;&amp;#x52D5;&amp;#x304B;&amp;#x3059;&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3068;&amp;#x304B;&amp;#x30A4;&amp;#x30F3;&amp;#x30D5;&amp;#x30E9;\n
  22. \n
  23. \n
  24. Salesforce\nmatz &amp;#x307E;&amp;#x3064;&amp;#x3082;&amp;#x3068;&amp;#x3086;&amp;#x304D;&amp;#x3072;&amp;#x308D; &amp;#x30C1;&amp;#x30FC;&amp;#x30D5;&amp;#x30A2;&amp;#x30FC;&amp;#x30AD;&amp;#x30C6;&amp;#x30AF;&amp;#x30C8;\nRack == Ruby &amp;#x306E;&amp;#x30A6;&amp;#x30A7;&amp;#x30D6;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x62BD;&amp;#x8C61;&amp;#x5316;&amp;#x30EC;&amp;#x30A4;&amp;#x30E4;\n
  25. \n
  26. Ruby &amp;#x306E;&amp;#x8A71;&amp;#x3070;&amp;#x3063;&amp;#x304B;&amp;#x308A;&amp;#x3057;&amp;#x3066;&amp;#x304D;&amp;#x305F;&amp;#x3051;&amp;#x3069;\nYAPC &amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3053;&amp;#x3053;&amp;#x304B;&amp;#x3089;&amp;#x306F; Perl &amp;#x306E;&amp;#x8A71;&amp;#x3092;\nRuby &amp;#x3092; Perl &amp;#x306B;&amp;#x7F6E;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x3066;&amp;#x307F;&amp;#x308B;\n
  27. \n
  28. &amp;#x6BD4;&amp;#x8F03;&amp;#x3057;&amp;#x3084;&amp;#x3059;&amp;#x3044;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x4E09;&amp;#x3064;&amp;#x306E;&amp;#x8981;&amp;#x7D20;\n
  29. \n
  30. &amp;#x6700;&amp;#x521D;&amp;#x304B;&amp;#x3089;&amp;#x5165;&amp;#x3063;&amp;#x3066;&amp;#x308B;&amp;#x30D0;&amp;#x30FC;&amp;#x30B8;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;&amp;#x53E4;&amp;#x3044;\n&amp;#x30B7;&amp;#x30B9;&amp;#x30C6;&amp;#x30E0;&amp;#x30C4;&amp;#x30FC;&amp;#x30EB;&amp;#x306A;&amp;#x3069;&amp;#x3067;&amp;#x4F7F;&amp;#x308F;&amp;#x308C;&amp;#x3066;&amp;#x3066;&amp;#x4F9D;&amp;#x5B58;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30C7;&amp;#x30FC;&amp;#x30C8;&amp;#x3057;&amp;#x3065;&amp;#x3089;&amp;#x3044;\n&amp;#x6A19;&amp;#x6E96;&amp;#x30E2;&amp;#x30B8;&amp;#x30E5;&amp;#x30FC;&amp;#x30EB;&amp;#x306E;&amp;#x65B0;&amp;#x3057;&amp;#x3044;&amp;#x30D0;&amp;#x30FC;&amp;#x30B8;&amp;#x30E7;&amp;#x30F3;&amp;#x3092; cpan &amp;#x3067;&amp;#x5165;&amp;#x308C;&amp;#x308B;&amp;#x3068;&amp;#x30AB;&amp;#x30AA;&amp;#x30B9;&amp;#x306B;\n
  31. &amp;#x88CF;&amp;#x3067;&amp;#x3084;&amp;#x3063;&amp;#x3066;&amp;#x308B;\n&amp;#x306A;&amp;#x3093;&amp;#x3067;&amp;#x30D3;&amp;#x30FC;&amp;#x30EB;&amp;#x3068;&amp;#x5FCD;&amp;#x8005;&amp;#x306A;&amp;#x306E;&amp;#x304B;&amp;#x8B0E;\n
  32. \n
  33. \n
  34. \n
  35. \n
  36. &amp;#x6211;&amp;#x3005;&amp;#x306F; Perl &amp;#x3067;&amp;#x3082; Sinatra &amp;#x304C;&amp;#x6B32;&amp;#x3057;&amp;#x3044;&amp;#x308F;&amp;#x3051;&amp;#x3067;&amp;#x3059;\n
  37. &amp;#x4F9D;&amp;#x5B58;&amp;#x304C;&amp;#x5C11;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x304C;&amp;#x7C21;&amp;#x5358;\n&amp;#x59CB;&amp;#x3081;&amp;#x3084;&amp;#x3059;&amp;#x3044;\n
  38. \n
  39. \n
  40. \n
  41. Perl &amp;#x306F; CGI &amp;#x3068;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3067;&amp;#x8A9E;&amp;#x3089;&amp;#x308C;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x591A;&amp;#x3044;\n&amp;#x30D5;&amp;#x30EC;&amp;#x30FC;&amp;#x30E0;&amp;#x30EF;&amp;#x30FC;&amp;#x30AF;&amp;#x306B;&amp;#x6163;&amp;#x308C;&amp;#x308B;&amp;#x3068; CGI &amp;#x3068;&amp;#x304B;&amp;#x66F8;&amp;#x304D;&amp;#x305F;&amp;#x304F;&amp;#x306A;&amp;#x3044;&amp;#x308F;&amp;#x3051;&amp;#x3067;&amp;#x3059;\nPerl &amp;#x3067;&amp;#x3082; Heroku &amp;#x304C;&amp;#x6B32;&amp;#x3057;&amp;#x3044;&amp;#x308F;&amp;#x3051;&amp;#x3067;&amp;#x3059;\n
  42. \n
  43. @miyagawa\n
  44. Python &amp;#x3067;&amp;#x66F8;&amp;#x304B;&amp;#x308C;&amp;#x3066;&amp;#x308B;\n&amp;#x3053;&amp;#x308C;&amp;#x304C; Perl &amp;#x3060;&amp;#x3063;&amp;#x305F;&amp;#x3089;...\n
  45. \n
  46. &amp;#x3069;&amp;#x3063;&amp;#x3061;&amp;#x3082;&amp;#x59CB;&amp;#x3081;&amp;#x3084;&amp;#x3059;&amp;#x3044;&amp;#x3057;&amp;#x6B62;&amp;#x3081;&amp;#x3084;&amp;#x3059;&amp;#x3044;\n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. &amp;#x8A00;&amp;#x8A9E;&amp;#x4EE5;&amp;#x5916;&amp;#x306E;&amp;#x90E8;&amp;#x5206;&amp;#x3082;&amp;#x3088;&amp;#x304F;&amp;#x4F3C;&amp;#x3066;&amp;#x3044;&amp;#x308B;\n&amp;#x30B9;&amp;#x30A4;&amp;#x30C3;&amp;#x30C1;&amp;#x306F;&amp;#x305D;&amp;#x308C;&amp;#x307B;&amp;#x3069;&amp;#x96E3;&amp;#x3057;&amp;#x304F;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x8A66;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;\n
  56. \n
  57. \n
  58. &amp;#x798F;&amp;#x5CA1;&amp;#x652F;&amp;#x793E;\nDAZAIFU PROJECT &amp;#x65B0;&amp;#x898F;&amp;#x30B5;&amp;#x30FC;&amp;#x30D3;&amp;#x30B9;&amp;#x958B;&amp;#x767A;&amp;#x30D7;&amp;#x30ED;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;\nRuby, Rails, MongoDB, node.js\n
  59. Github &amp;#x30B8;&amp;#x30E7;&amp;#x30D6;&amp;#x30DC;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x3082;&amp;#x6C42;&amp;#x4EBA;&amp;#x3057;&amp;#x3066;&amp;#x307E;&amp;#x3059;\n&amp;#x8208;&amp;#x5473;&amp;#x306E;&amp;#x3042;&amp;#x308B;&amp;#x65B9;&amp;#x306F;&amp;#x305C;&amp;#x3072;&amp;#x58F0;&amp;#x3092;&amp;#x304B;&amp;#x3051;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;\n
  60. &amp;#x4EE5;&amp;#x4E0A;&amp;#x3067;&amp;#x3059;\n&amp;#x3054;&amp;#x6E05;&amp;#x8074;&amp;#x3042;&amp;#x308A;&amp;#x304C;&amp;#x3068;&amp;#x3046;&amp;#x3054;&amp;#x3056;&amp;#x3044;&amp;#x307E;&amp;#x3057;&amp;#x305F;\n