Sinatra
ããã°ãæ¾ç½®ããããªã®ã§ç´¹ä»ãã¾ããããå æ¸é£½ãã¦ããæãã®ããSinatraã§æºå¸¯ãµã¤ããéçºããã¨ãã®çµµæåExtensionã§ãã èªãµã¤ãã§çµµæåã®ã¿ä½¿ãããã£ãã®ã§å®è£ ãã¾ããã ç¾å¨ã¯åºæ¬çµµæåã®ã¿ï¼ãã¾ããã¹ããã¦ãªãã¨ããé©å½ä»æ§ã§ãã rackâ¦
Flashã£ã¦ããã®ã¯ã次以éã®ãªã¯ã¨ã¹ãã§ä¸åã ã使ããã¡ãã»ã¼ã¸çãªãã¤ã§ãã ãããSinatraã£ã¦ãããRackã®ããã«ã¦ã§ã¢ã§ãã ã£ã¦ãRackãããã¼ãã¾ã ã¾ã 使ããããã«ã¦ã§ã¢ãå¤ããã§ãã # github sudo gem install nakajima-rack-flashrequireâ¦
Sinatraã£ã¦ãããRackã®ããã«ã¦ã§ã¢ã§ããã¾ããã sudo gem install rack_csrf# app.rb require 'rubygems' require 'sinatra' require 'rack/csrf' get '/' do @msg = 'Hello World' erb :index end post '/' do @msg = 'Hello CSRF' erb :index end conâ¦
èªãµã¼ãã¹ãç¶ã ã¨Sinatraã£ã¦ã¾ãã ãã®éãããã©ã¼ãã³ã¹ã¢ãããçããMemcached(+memcache-client)ãå©ç¨ãããRailsã®ãã©ã°ã¡ã³ããã£ãã·ã¥ã©ã¤ã¯ã«ä½¿ããExtensionãæ¸ãã¾ããã ä½¿ãæ¹ãã³ã¼ãã¯ã³ãã©ã«ããã¾ã http://github.com/gioext/sinâ¦
Sinatraã§builderã使ã£ã¦Atomãã£ã¼ããåºåããæ¹æ³ã§ãã 使 ãããã¥ã¡ã³ãã«è¨è¿°ããã¦ãªãã®ã§ãã¡ã¢ä»£ããã«ã # ./app.rb require 'builder' get '/feed' do @entries = DB[:entries].reverse_order(:id).limit(10) content_type "application/atomâ¦
èªãµã¼ãã¹ãSinatraã«ç½®ãæãå§ãããã¨ãããã2chç»åã¾ã¨ããç½®ãæãã ã¤ãã§ã«è¦ãç®ãã¡ãã£ã¨å¤æ´http://pic2ch.giox.org/Sinatraç´ æµã§ãã ããã³ãWebãµã¼ãã¼ãNginxã«ããããªã¼
Sinatra+WEBrickãåããªããShotgun+Mongrelãåããªãã ãªãã¦ç½ ãªãã ããã éçºã«ã¯Shotgun+WEBrickã使ãã£ã¦ãã¨ã§ããã
Sinatraã®ææ°çããDevelopmentæã®ã³ã¼ããªãã¼ãããªããªã£ãããã§ãã ãªãªã¼ã¹ãã¼ãã«ããã¨http://rtomayko.github.com/shotgun/ãã使ãã¨ã gem install shotgunshotgun hello.rb ãã¨Rackã®1.0ã§ãåããããªã£ãããã§ãå¬
Sinatraã§Sessionã¯ãããªé¢¨ã«ä½¿ãã¾ã enable :sessions get '/foo' do session[:message] = 'Hello World!' redirect '/bar' end get '/bar' do session[:message] end Sinatraã§ã¯Rackã®CookieSessionãã¤ãã£ã¦ãã®ã§ãããsecretãã¼ãæå®ãã¦ããªããâ¦