25
Ruby on Rails ににに Web ににににに にに にに [email protected] 2008-10-25 にににににににに 2008@ にに

Ruby on Rails による Web サイト構築

  • Upload
    bary

  • View
    76

  • Download
    0

Embed Size (px)

DESCRIPTION

Ruby on Rails による Web サイト構築. 吉田 和弘 [email protected] 2008-10-25 オープンセミナー 2008@ 岡山. Web application framework. Ruby on Rails Merb. Ruby on Rails. rails-2.1.1 gem install rails Rails Trac → Git and Lighthouse http://github.com/rails http :// rails.lighthouseapp.com. move to …. - PowerPoint PPT Presentation

Citation preview

Page 1: Ruby on Rails による Web サイト構築

Ruby on Rails によるWeb サイト構築

吉田 和弘 [email protected]オープンセミナー 2008@ 岡山

Page 2: Ruby on Rails による Web サイト構築

Web application framework

• Ruby on Rails• Merb

Page 3: Ruby on Rails による Web サイト構築

Ruby on Rails

• rails-2.1.1• gem install rails• Rails Trac → Git and Lighthouse– http://github.com/rails– http://rails.lighthouseapp.com

Page 4: Ruby on Rails による Web サイト構築

move to …

• Subversion → Git• Test Unit → RSpec• Mongrel → Thin• Multi process → Multi thread• Ruby 1.8 → Ruby 1.9

Page 5: Ruby on Rails による Web サイト構築

テスト駆動開発Test Driven Development

Page 6: Ruby on Rails による Web サイト構築

Testing framework

• Test Unit → RSpec– Rubyist Magagine (るびま)– スはスペックのス

Page 7: Ruby on Rails による Web サイト構築

RSpec

• test/unit → spec/models• test/functional → – spec/controllers– spec/helpers– spec/views

• test/integration → stories → features

Page 8: Ruby on Rails による Web サイト構築

test/functional

Model

Controller View

Model

Page 9: Ruby on Rails による Web サイト構築

spec/controllers

Model

Controller View

Model

mock Model

stub Model

stub render

Page 10: Ruby on Rails による Web サイト構築

Stub and Mock

• isolation from database• isolation from view

Page 11: Ruby on Rails による Web サイト構築

cucumber

• RSpec story runner → cucumber• integration test• rake features

Page 12: Ruby on Rails による Web サイト構築

rcov

• code coverage tool• rake spec:rcov

Page 13: Ruby on Rails による Web サイト構築

動的な UIAjax

Page 14: Ruby on Rails による Web サイト構築

Ajax

• Sortable element• Add/Remove element (Client side)

Page 15: Ruby on Rails による Web サイト構築

セキュリティSecurity

Page 16: Ruby on Rails による Web サイト構築

security features

• SQL quoting• HTML sanitization• CSRF protection

Page 17: Ruby on Rails による Web サイト構築

possible vulnerabilities

• Cookie session store• Mass assignment• DoS: ex. XML entity explosion attack

Page 18: Ruby on Rails による Web サイト構築

キャッシュCache

Page 19: Ruby on Rails による Web サイト構築

Cache

• ActiveSupport::Cache• Cache type:

Page / Action / Fragment• Cache store:

Memory / File / DRb /MemCache / CompressedMemCache

Page 20: Ruby on Rails による Web サイト構築

サーバ構成Deployment

Page 21: Ruby on Rails による Web サイト構築

Thread implementation

• Ruby 1.8:– Thread = Green Thread

• Ruby 1.9:– Thread = Native Thread with GIL– and Fiber

Page 22: Ruby on Rails による Web サイト構築

Network programming

• Multi Threading + I/O Blocking• Single Threading + Non I/O Blocking– Never Block: Multi Fibering

Page 23: Ruby on Rails による Web サイト構築

Rails 2.1

Ruby on Rails

DB

App

Ruby on Rails App

Ruby on Rails App

WebServer

Page 24: Ruby on Rails による Web サイト構築

Rails 2.2

Ruby on Rails DBApp

PoolApp

App

WebServer

Page 25: Ruby on Rails による Web サイト構築

Thank you