ruby on rails による web サイト構築

Post on 23-Feb-2016

81 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Ruby on Rails による Web サイト構築. 吉田 和弘 moriq@moriq.com 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

TRANSCRIPT

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

吉田 和弘 moriq@moriq.com2008-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 …

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

テスト駆動開発Test Driven Development

Testing framework

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

RSpec

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

• test/integration → stories → features

test/functional

Model

Controller View

Model

spec/controllers

Model

Controller View

Model

mock Model

stub Model

stub render

Stub and Mock

• isolation from database• isolation from view

cucumber

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

rcov

• code coverage tool• rake spec:rcov

動的な UIAjax

Ajax

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

セキュリティSecurity

security features

• SQL quoting• HTML sanitization• CSRF protection

possible vulnerabilities

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

キャッシュCache

Cache

• ActiveSupport::Cache• Cache type:

Page / Action / Fragment• Cache store:

Memory / File / DRb /MemCache / CompressedMemCache

サーバ構成Deployment

Thread implementation

• Ruby 1.8:– Thread = Green Thread

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

Network programming

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

Rails 2.1

Ruby on Rails

DB

App

Ruby on Rails App

Ruby on Rails App

WebServer

Rails 2.2

Ruby on Rails DBApp

PoolApp

App

WebServer

Thank you

top related