SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
.




.




             Ruby Cloud Platform
               Service: Heroku
                         @yinhm

                          June 7, 2010




    .                             .
    @yinhm        Ruby PaaS: Heroku      1/18
.




             Ruby Platform as a Service
.




             • Heroku
             • EngineYard
             • Google App Engine (via JRuby)




    .                                         .
    @yinhm                    Ruby PaaS: Heroku   2/18
.




.




    .                        .
    @yinhm   Ruby PaaS: Heroku   3/18
.




             App
.




             You App Runs on Heroku




    .                                          .
    @yinhm                     Ruby PaaS: Heroku   4/18
.




             Deploy
.




             put git workflow, just git push




    .                                            .
    @yinhm                       Ruby PaaS: Heroku   5/18
.




             All through API
.




              $sudo gem install heroku
              $heroku create sushi # create

              $git push heroku master # deploy

              $heroku   domains:add sushi.com
              $heroku   rake db:migrate
              $heroku   db:push
              $heroku   addons:add memcached


    .                                         .
    @yinhm                    Ruby PaaS: Heroku   6/18
.




             Architecture
.




    .                                  .
    @yinhm             Ruby PaaS: Heroku   7/18
.




             Architecture
.




             • HTTP: nginx
             • Http Cache: Varnish
             • Routing Mash: (custom written, Erlang)
             • Dyno Grid: code compiled to Slug then deploy cross
               services, 1dyno = 1Mongrel
             • DB: PostgreSQL
             • Memcached




    .                                          .
    @yinhm                     Ruby PaaS: Heroku                    8/18
.




             Addons
.




             • Custom domain
             • Gem management
             • DB import/export
             • Cron
             • Background job
             • Backup: Bundles
             • MySQL: Amazon RDS
             • SSL
             • more...


    .                                           .
    @yinhm                      Ruby PaaS: Heroku   9/18
.




             Cutting edge tech
.




             • MongoDB
             • Node, private beta




    .                                          .
    @yinhm                     Ruby PaaS: Heroku   10/18
.




             Supported Frameworks
.




             • Rails 2.3.x, Rails 3
             • supports Rack
             • Rack-based: Sinatra, Merb, Ramaze, and Camping
             • ActiveRecord, DataMapper or Sequel




    .                                            .
    @yinhm                       Ruby PaaS: Heroku              11/18
.




             Create App on Heroku
.




             before create, you need:
               • git
               • sign up on heroku website
               • public key placed in /.ssh/




    .                                            .
    @yinhm                       Ruby PaaS: Heroku   12/18
.




             Example App
.



              .
              Twitter API Proxy
             ..
             r e q u i r e ' http '
             r e q u i r e ' reverse_proxy '

             use Rack : : ReverseProxy do
               # Forward the path /* to h t t p s : / / a p i . t w i t t e r . com/*
               r e v e r s e _ p r o x y '/ s e a r c h ' , ' h t t p : / / s e a r c h . t w i t t e r . com/ s e a r c h '
               r e v e r s e _ p r o x y ' / ' , ' h t t p s : / / a p i . t w i t t e r . com/ '
             end

             app = proc do | env |
               [ 200 , { ' Content−Type ' = ' t e x t / p l a i n ' } , "b" ]
                                           >
             end

             run app
             .
             Just released twiap as open source!


    .                                                                             .
    @yinhm                                                        Ruby PaaS: Heroku                                            13/18
.




             Example: deploy
.




             $ g i t c l o n e h t t p : / / g i t h u b . com/yinhm/ twiap

             $cd twiap

             $heroku c r e a t e
             C r e a t i n g glowing−water − 3 4 . . . done
             Created h t t p : / / glowing−water −34. heroku . com/ | g i t @ h e r o k u . com : glowing−water −34. g i t
             G i t remote heroku added

             $ g i t push heroku master
             $heroku open




    .                                                                     .
    @yinhm                                                Ruby PaaS: Heroku                                                  14/18
.




             Pros
.




             • No lock in, Heroku based on open-source mostly
             • Dead simple deployment
             • Easy scaling
             • 1 dynos for free!
             • Custom domain for free




    .                                              .
    @yinhm                         Ruby PaaS: Heroku            15/18
.




             Crons
.




             • 5M DB space limit
             • Need credit card to enable some free features
             • No public IP(could get blocked in china, you know the
               risk)




    .                                           .
    @yinhm                      Ruby PaaS: Heroku                      16/18
.




             References
.




             • http://heroku.com, Heroku
             • http://engineyard.com, EngineYard
             • http://code.google.com/appengine/, Google App
               Engine
             • http://code.google.com/p/appengine-jruby/,
               JRuby
             • http://github.com/yinhm/twiap, Twiap




    .                                        .
    @yinhm                   Ruby PaaS: Heroku                 17/18
.




             About
.




                     Created in A E using the beamer class, TeX Live and Emacs.
                                L X
                                 T


                     Published under the Creative Commons Attribution 3.0 License
                           http://creativecommons.org/licenses/by/3.0/

                                             by @yinhm
                                     http://yinhm.appspot.com


                                   Document version June 7, 2010




    .                                            .
    @yinhm                       Ruby PaaS: Heroku                                  18/18

Más contenido relacionado

Destacado

Lecture 3 basic syntax and semantics
Lecture 3  basic syntax and semanticsLecture 3  basic syntax and semantics
Lecture 3 basic syntax and semantics
alvin567
 
Syntax and semantics
Syntax and semanticsSyntax and semantics
Syntax and semantics
Rushdi Shams
 

Destacado (20)

robotics ppt
robotics ppt robotics ppt
robotics ppt
 
Solution architecture Amazon web services
Solution architecture Amazon web servicesSolution architecture Amazon web services
Solution architecture Amazon web services
 
C Types - Extending Python
C Types - Extending PythonC Types - Extending Python
C Types - Extending Python
 
Cloudyn - Multi vendor Cloud management
Cloudyn - Multi vendor Cloud management Cloudyn - Multi vendor Cloud management
Cloudyn - Multi vendor Cloud management
 
Cloud Strategy Architecture for multi country deployment
Cloud Strategy Architecture for multi country deploymentCloud Strategy Architecture for multi country deployment
Cloud Strategy Architecture for multi country deployment
 
Python
Python Python
Python
 
Getting Started with Heroku
Getting Started with HerokuGetting Started with Heroku
Getting Started with Heroku
 
Lecture 3 basic syntax and semantics
Lecture 3  basic syntax and semanticsLecture 3  basic syntax and semantics
Lecture 3 basic syntax and semantics
 
Integration at Scale: Enterprise Patterns with Heroku Connect
Integration at Scale: Enterprise Patterns with Heroku ConnectIntegration at Scale: Enterprise Patterns with Heroku Connect
Integration at Scale: Enterprise Patterns with Heroku Connect
 
Learn a language : LISP
Learn a language : LISPLearn a language : LISP
Learn a language : LISP
 
Heroku webcastdeck+20130828
Heroku webcastdeck+20130828Heroku webcastdeck+20130828
Heroku webcastdeck+20130828
 
Heroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer ApplicationsHeroku Connect: The New Way to Build Connected Customer Applications
Heroku Connect: The New Way to Build Connected Customer Applications
 
Syntax and semantics
Syntax and semanticsSyntax and semantics
Syntax and semantics
 
Heroku Compliation Deck
Heroku Compliation DeckHeroku Compliation Deck
Heroku Compliation Deck
 
Programming language design_concepts
Programming language design_conceptsProgramming language design_concepts
Programming language design_concepts
 
Introduction to python for Beginners
Introduction to python for Beginners Introduction to python for Beginners
Introduction to python for Beginners
 
Heroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a Customer
Heroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a CustomerHeroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a Customer
Heroku Elevator Pitch Deck/DX Quick Pitch of Heroku to a Customer
 
Introduction to Python
Introduction to Python Introduction to Python
Introduction to Python
 
LISP: Introduction to lisp
LISP: Introduction to lispLISP: Introduction to lisp
LISP: Introduction to lisp
 
Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]Introduction to Firebase [Google I/O Extended Bangkok 2016]
Introduction to Firebase [Google I/O Extended Bangkok 2016]
 

Similar a Heroku

Sinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote FormatSinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote Format
Adam Lowe
 
Sinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF FormatSinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF Format
Adam Lowe
 
Symfony2: Get your project started
Symfony2: Get your project startedSymfony2: Get your project started
Symfony2: Get your project started
Ryan Weaver
 
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
DefconRussia
 

Similar a Heroku (20)

What's new in RubyGems3
What's new in RubyGems3What's new in RubyGems3
What's new in RubyGems3
 
Sinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote FormatSinatra Heroku You And You - Keynote Format
Sinatra Heroku You And You - Keynote Format
 
Sinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF FormatSinatra Heroku You And You - PDF Format
Sinatra Heroku You And You - PDF Format
 
儲かるドキュメント
儲かるドキュメント儲かるドキュメント
儲かるドキュメント
 
The Future of library dependency manageement of Ruby
The Future of library dependency manageement of RubyThe Future of library dependency manageement of Ruby
The Future of library dependency manageement of Ruby
 
Stop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard LibraryStop Reinventing The Wheel - The Ruby Standard Library
Stop Reinventing The Wheel - The Ruby Standard Library
 
Zero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSSZero to the Cloud with @NetflixOSS
Zero to the Cloud with @NetflixOSS
 
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
 
EuroPython 2017 - How to make money with your Python open-source project
EuroPython 2017 - How to make money with your Python open-source projectEuroPython 2017 - How to make money with your Python open-source project
EuroPython 2017 - How to make money with your Python open-source project
 
JRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the CloudJRuby, Ruby, Rails and You on the Cloud
JRuby, Ruby, Rails and You on the Cloud
 
Github - Down the Rabbit Hole
Github  - Down the Rabbit HoleGithub  - Down the Rabbit Hole
Github - Down the Rabbit Hole
 
MNSEC Conference 2023: Mining Bots
MNSEC Conference 2023: Mining BotsMNSEC Conference 2023: Mining Bots
MNSEC Conference 2023: Mining Bots
 
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
 
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
Node.js 기반 정적 페이지 블로그 엔진, 하루프레스
 
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike AdolphsMonitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
Monitoring Behavioral Driven Infrastructures mit Cucumber-Nagios by Mike Adolphs
 
Automated Releases to RubyGems.org using Travis-CI.org
Automated Releases to RubyGems.org using Travis-CI.orgAutomated Releases to RubyGems.org using Travis-CI.org
Automated Releases to RubyGems.org using Travis-CI.org
 
The Future of Dependency Management for Ruby
The Future of Dependency Management for RubyThe Future of Dependency Management for Ruby
The Future of Dependency Management for Ruby
 
Symfony2: Get your project started
Symfony2: Get your project startedSymfony2: Get your project started
Symfony2: Get your project started
 
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...Noseevich, petukhov   no locked doors no windows barred. hacking open am infr...
Noseevich, petukhov no locked doors no windows barred. hacking open am infr...
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
 

Más de yinhm .

Emacs入门
Emacs入门Emacs入门
Emacs入门
yinhm .
 
Write a Google Closure Editor Plugin
Write a Google Closure Editor PluginWrite a Google Closure Editor Plugin
Write a Google Closure Editor Plugin
yinhm .
 
git svn workflow
git svn workflowgit svn workflow
git svn workflow
yinhm .
 
Ruby的类和对象模型
Ruby的类和对象模型Ruby的类和对象模型
Ruby的类和对象模型
yinhm .
 

Más de yinhm . (6)

Dart intro
Dart introDart intro
Dart intro
 
Emacs入门
Emacs入门Emacs入门
Emacs入门
 
Write a Google Closure Editor Plugin
Write a Google Closure Editor PluginWrite a Google Closure Editor Plugin
Write a Google Closure Editor Plugin
 
git svn workflow
git svn workflowgit svn workflow
git svn workflow
 
Ruby的类和对象模型
Ruby的类和对象模型Ruby的类和对象模型
Ruby的类和对象模型
 
Raemon
RaemonRaemon
Raemon
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 

Heroku

  • 1. . . Ruby Cloud Platform Service: Heroku @yinhm June 7, 2010 . . @yinhm Ruby PaaS: Heroku 1/18
  • 2. . Ruby Platform as a Service . • Heroku • EngineYard • Google App Engine (via JRuby) . . @yinhm Ruby PaaS: Heroku 2/18
  • 3. . . . . @yinhm Ruby PaaS: Heroku 3/18
  • 4. . App . You App Runs on Heroku . . @yinhm Ruby PaaS: Heroku 4/18
  • 5. . Deploy . put git workflow, just git push . . @yinhm Ruby PaaS: Heroku 5/18
  • 6. . All through API . $sudo gem install heroku $heroku create sushi # create $git push heroku master # deploy $heroku domains:add sushi.com $heroku rake db:migrate $heroku db:push $heroku addons:add memcached . . @yinhm Ruby PaaS: Heroku 6/18
  • 7. . Architecture . . . @yinhm Ruby PaaS: Heroku 7/18
  • 8. . Architecture . • HTTP: nginx • Http Cache: Varnish • Routing Mash: (custom written, Erlang) • Dyno Grid: code compiled to Slug then deploy cross services, 1dyno = 1Mongrel • DB: PostgreSQL • Memcached . . @yinhm Ruby PaaS: Heroku 8/18
  • 9. . Addons . • Custom domain • Gem management • DB import/export • Cron • Background job • Backup: Bundles • MySQL: Amazon RDS • SSL • more... . . @yinhm Ruby PaaS: Heroku 9/18
  • 10. . Cutting edge tech . • MongoDB • Node, private beta . . @yinhm Ruby PaaS: Heroku 10/18
  • 11. . Supported Frameworks . • Rails 2.3.x, Rails 3 • supports Rack • Rack-based: Sinatra, Merb, Ramaze, and Camping • ActiveRecord, DataMapper or Sequel . . @yinhm Ruby PaaS: Heroku 11/18
  • 12. . Create App on Heroku . before create, you need: • git • sign up on heroku website • public key placed in /.ssh/ . . @yinhm Ruby PaaS: Heroku 12/18
  • 13. . Example App . . Twitter API Proxy .. r e q u i r e ' http ' r e q u i r e ' reverse_proxy ' use Rack : : ReverseProxy do # Forward the path /* to h t t p s : / / a p i . t w i t t e r . com/* r e v e r s e _ p r o x y '/ s e a r c h ' , ' h t t p : / / s e a r c h . t w i t t e r . com/ s e a r c h ' r e v e r s e _ p r o x y ' / ' , ' h t t p s : / / a p i . t w i t t e r . com/ ' end app = proc do | env | [ 200 , { ' Content−Type ' = ' t e x t / p l a i n ' } , "b" ] > end run app . Just released twiap as open source! . . @yinhm Ruby PaaS: Heroku 13/18
  • 14. . Example: deploy . $ g i t c l o n e h t t p : / / g i t h u b . com/yinhm/ twiap $cd twiap $heroku c r e a t e C r e a t i n g glowing−water − 3 4 . . . done Created h t t p : / / glowing−water −34. heroku . com/ | g i t @ h e r o k u . com : glowing−water −34. g i t G i t remote heroku added $ g i t push heroku master $heroku open . . @yinhm Ruby PaaS: Heroku 14/18
  • 15. . Pros . • No lock in, Heroku based on open-source mostly • Dead simple deployment • Easy scaling • 1 dynos for free! • Custom domain for free . . @yinhm Ruby PaaS: Heroku 15/18
  • 16. . Crons . • 5M DB space limit • Need credit card to enable some free features • No public IP(could get blocked in china, you know the risk) . . @yinhm Ruby PaaS: Heroku 16/18
  • 17. . References . • http://heroku.com, Heroku • http://engineyard.com, EngineYard • http://code.google.com/appengine/, Google App Engine • http://code.google.com/p/appengine-jruby/, JRuby • http://github.com/yinhm/twiap, Twiap . . @yinhm Ruby PaaS: Heroku 17/18
  • 18. . About . Created in A E using the beamer class, TeX Live and Emacs. L X T Published under the Creative Commons Attribution 3.0 License http://creativecommons.org/licenses/by/3.0/ by @yinhm http://yinhm.appspot.com Document version June 7, 2010 . . @yinhm Ruby PaaS: Heroku 18/18