RubyPerl            2011/10/14        YAPC::Asia Tokyo 2011
$ whoami•           <Kensuke Nagae>•• @kyanny
Perl => Ruby
•       Ruby• Rails•
RubyPerl
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 sinatraget /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/
RubyPerl
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 sinatraget /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!
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )
Upcoming SlideShare
Loading in...5
×

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

6,078

Published on

Published in: Technology
0 Comments
11 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,078
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
21
Comments
0
Likes
11
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • &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
  • &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
  • &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
  • &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
  • 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
  • &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
  • &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
  • &amp;#x30D7;&amp;#x30ED;&amp;#x30B0;&amp;#x30E9;&amp;#x30E0;&amp;#x306E;&amp;#x5B9F;&amp;#x884C;&amp;#x74B0;&amp;#x5883;\n
  • 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
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • &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
  • \n
  • \n
  • 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
  • \n
  • 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
  • \n
  • &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
  • \n
  • &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
  • &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
  • \n
  • \n
  • \n
  • \n
  • &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
  • &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
  • \n
  • \n
  • \n
  • 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
  • \n
  • @miyagawa\n
  • 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
  • \n
  • &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
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • &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
  • \n
  • \n
  • &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
  • 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
  • &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
  • Ruby プログラマのための Perl ウェブアプリケーション開発入門 (Perl web development guide for Rubyist )

    1. 1. RubyPerl 2011/10/14 YAPC::Asia Tokyo 2011
    2. 2. $ whoami• <Kensuke Nagae>•• @kyanny
    3. 3. Perl => Ruby
    4. 4. • Ruby• Rails•
    5. 5. RubyPerl
    6. 6. Ruby• Environment• Web Application Framework• Platform
    7. 7. Environment
    8. 8. Environment• Ruby• ...
    9. 9. RVM• Ruby Version Manager• Ruby• Ruby
    10. 10. RVM•••
    11. 11. $ rvm install 1.9.2$ rvm use 1.9.2$ rvm use system
    12. 12. Web Application Framework
    13. 13. Web Application Framework• Rails• Rails• Sinatra, Padrino, Ramaze, etc.
    14. 14. Sinatra• DSL• (get )
    15. 15. require sinatraget /hi do "Hello World!"end
    16. 16. Platform
    17. 17. Platform•• VPS• Google AppEngine
    18. 18. Heroku• Rack PaaS• CLI + Git
    19. 19. $ gem install heroku$ heroku create$ git push heroku master
    20. 20. s/Ruby/Perl/
    21. 21. RubyPerl
    22. 22. Perl• Environment• Framework• Platform
    23. 23. Environment
    24. 24. Environment• 5.8.x ...• CPAN
    25. 25. Perlbrew• RVM• Perl• Perl
    26. 26. Perlbrew•••
    27. 27. $ perlbrew install perl-5.14.1$ perlbrew switch perl-5.14.1$ perlbrew switch /usr/bin/perl
    28. 28. Web Application Framework
    29. 29. Web Application Framework• Catalyst• Catalyst• Dancer, Mojolicious::Lite, Amon2::Lite, etc.
    30. 30. Mojolicious::Lite• Mojolicious• DSL• Sinatra ( )
    31. 31. use Mojolicious::Lite;get /hi => { text => Hello World!};app->start;
    32. 32. Platform
    33. 33. Platform• CGI ...• mod_perl, FastCGI• PSGI Heroku
    34. 34. DotCloud• PSGI PaaS• CLI + Git, Mercurial• YAPC::Asia Tokyo 2011 Sponsor :)
    35. 35. $ sudo easy_install pip &&sudo pip install dotcloud$ dotcloud create myapp$ dotcloud push myapp
    36. 36. Environment• RVM• Perlbrew•
    37. 37. $ rvm install 1.9.2$ rvm use 1.9.2$ rvm use system
    38. 38. $ perlbrew install perl-5.14.1$ perlbrew switch perl-5.14.1$ perlbrew switch /usr/bin/perl
    39. 39. Web Application Framework• Sinatra• Mojolicious::Lite• DSL
    40. 40. require sinatraget /hi do "Hello World!"end
    41. 41. use Mojolicious::Lite;get /hi => { text => Hello World!};app->start;
    42. 42. Platform• Heroku• DotCloud• PaaS
    43. 43. $ gem install heroku$ heroku create$ git push heroku master
    44. 44. $ sudo easy_install pip &&sudo pip install dotcloud$ dotcloud create myapp$ dotcloud push myapp
    45. 45. Ruby Perl••• (Ruby|Perl)
    46. 46. CM
    47. 47. We’re Hiring!
    48. 48. Thank you!
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×