at RubyKaigi of darkness @ nerima 2011 summer. Friendship Revolutions. "Sinatra&Padrino for people caught in darkside on Rails"
Sinatraはよくできたウェブアプリ開発用フレームワークだと思う。前にも書いたが、URLから呼び出されるメソッドを決定するところがよくできているし、依存するライブラリもRackだけなので使いやすい。beforeフィルタの存在やstatus, content_typeといったメソッドなど、細かいところまで開発がやりやすいように作られているように感じる。 しかし、SinatraはRubyで書かれているので、他の言語では使えない。趣味で書いているならRubyを使えばいい話なのだが、仕事だとそうもいかないこともあるだろう。 そこで、Sinatraに似た感じで使えそうなフレームワークを探してみた。 ※コメント欄などで教えていただいたものをいくつか追加しました。感謝! sinatra-on-perl perl用 http://code.google.com/p/sinatra/ 名前の通り、かなりS
SinatraでSessionはこんな風に使えます enable :sessions get '/foo' do session[:message] = 'Hello World!' redirect '/bar' end get '/bar' do session[:message] end SinatraではRackのCookieSessionをつかってるのですが、secretキーを指定していないため、MarshalしてBase64するだけのデータをクッキーに乗せてきます。 このままじゃ書き換えられて大変な事になるので、デフォルトのsessionは有効にせずに、RackのSessionをsecretキーを指定して使うべきではないだろうか。secretキーを指定した場合は、データとdigestをクッキーに乗せてくるので書き換えが検出できます。 use Rack::Session::Coo
個人的にSinatraとLimonadeがマイブームなのですが、Sinatraに関して言えば、CGIで動かす方法は(本家のドキュメントとかでは)あまりフォローされていないようです。国内ではそれなりに記事もあるようなのですが、結局ソースに手を入れてしまう(Sinatraのソースに「Rack::Handler::CGI.run」をベタに書く)か、rackupで実行する方法かが多そう。でも、前者はCGI専用になってしまうのでいまいちだし、後者はシェルが2個実行されるのがどうにも美しくありません(現実的にはあまり問題にならないのかもしれませんが)。 そこでいろいろいじってみたところ、何とか良さげな方法ができました。 まずSinatraのソース。適当です。 require 'rubygems' require 'sinatra' set :run, true get '/?' do "hello"
Available Service twitter: http://usericons.relucks.org/twitter/{user_id} wassr: http://usericons.relucks.org/wassr/{user_id} hatena: http://usericons.relucks.org/hatena/{user_id} nowa: http://usericons.relucks.org/nowa/{user_id} lastfm: http://usericons.relucks.org/lastfm/{user_id} flickr: http://usericons.relucks.org/flickr/{user_id} github: http://usericons.relucks.org/github/{user_id} powered
最近お邪魔しているFLOSS桜山で、主催者である河合先生が、「注目しているRubyのフレームワークはSinatra」とか言ってて、まあ、そうなのかで終わるところだったんだけど、その理由を聞いて俄然興味を持った。 それが 「僕、簡単なのが好きなんだよねぇ」 はいはい、僕も大好物ですよ、簡単なの。 ということで 「たくさんのこと覚えるの苦手」 「ちゃっちゃと作りたい」 「出来れば軽いのが最高」 な人に最適なフレームワークSinatraのサイトがこちら。 Sinatra もう雰囲気がフレームワークって感じじゃないのが気に入った! でらクール!! で、トップページみたら、飛び込んできたサンプルコードががこれ。 # myapp.rb require 'rubygems' require 'sinatra' get '/' do 'Hello wo
ソフトバンクに2年間で67万円払っている 次女と末っ子の長男はもう中学生。1年半後には長男が高校生なのでその時には家族全員がスマホ持ちとなろう。 かねがねケータイ代が高いと思いつつ、なんだかんだここまで来たけど、近々次女と長男までスマホを持つことを考えれば、格安スマホへの乗り換えは必須と考えた次第。 ソフトバンクの内訳 現在ソフトバンクで4回線契約しており内訳はというと、 オレ ... 9000円 iPhone 5S で契約(実際はシムフリー版の6+を使用中) 妻 ... 8000円 iPhone 5S で契約 長女 ... 5000円 iPhone 5 で契約(オレの旧機種で契約。実際は空きになってるオレの5Sを使用中) 次女 ... 3000円 ガラケーで契約 通話料 ... 1000円くらいかな ざっくりこんな内訳で、消費税を合わせると毎月2.8万円ほどかかっている。 この2年で実際
_ sinatra+cgiが動いた... やっとこさsinatraのサンプルが手元で動いた。 kog@ubu1:/usr/local/lib/ruby/gems/1.8/gems/rack-0.9.1/lib/rack$ gem18 list | grep -e rack -e sinatra rack (1.0.0, 0.9.1, 0.9.0, 0.4.0) sinatra (0.9.1.1) #!/usr/local/bin/ruby18 require 'rubygems' require 'sinatra' set :run, false set :environment, :cgi get '' do <<-END <pre> #{$LOAD_PATH.join("\n").to_s} </pre> END end Rack::Handler::CGI.run Sinatra::
最近、個人的に期待感が持ち上がっているのがSinatraだ。確かに、Railsは便利だが富豪的過ぎて何かをやろうと思った時に荷が重いことがある。そんな時にSinatraであれば手軽にさくっと作り上げられてしまうのが良い。 Wikiとブログが融合 そんなSinatraには単機能なWebアプリケーションが向いているが、同様にWikiやブログなども向いていそうだ。 今回紹介するフリーウェアはbliki、Sinatraを使ったブログ+Wikiエンジンだ。ソースコードは公開されているがライセンスは明記されていなかったのでご注意いただきたい。 ここ数週間でSinatraベースのWikiエンジンは急激に増えてきている。blikiはその一つだ。シンプルな構成で、ブログ機能とページ(Wiki風)作成機能が混ざっている。英語に限るが、ブラケットネームで囲むことでリンクが作成される。 タグを使って分類できる 認
フレームワークがどれだけ優秀だったとしても、それを使って実際何ができるのかが分からないと使ってみようという気にはならないだろう。もちろん何でもできると言えばそれまでだが、サンプルが必要だ。 Sinatraを知りたい方は使ってみよう RubyのWebアプリケーション向けフレームワークと言えばRailsが有名だが、そんなに大袈裟でないWebアプリケーションを作るならSinatraというフレームワークが存在する。それがどれくらい手軽かと言えば、SinatBBSを見れば分かる。 今回紹介するフリーウェアはSinatBBS、Sinatraを使った掲示板システムだ。ソースコードは公開されているがライセンスは明記されていなかったのでご注意いただきたい。 SinatBBSはなんと一つのファイル(ビューファイル除く)でできている掲示板システムだ。Sinatra自体にはMVCの概念はないらしいが、Sequel
Gitを企業のプロジェクトで採用するケースが増えている。とは言えまだGUIツールが弱く、操作がしづらいのが実情ではある。特に最近はWebアプリケーションが流行っていることもあってGUIよりもWebブラウザベースのツールが増えているようだ。 WebベースのシンプルなGitブラウザ Githubのようなリポジトリブラウザは良いと思いつつも、企業では使いづらいだろう。そこで使いたいのがGinatraだ。 今回紹介するオープンソース・ソフトウェアはGinatra、Sinatra製のGitリポジトリブラウザだ。 GitにはGitWebというWebブラウザベースのGitブラウザがあるが、GinatraはそれのSinatraベースのクローンになる。個人的には印象としてはGinatraの方がごく簡単に導入できるように思える。何せGemを入れてGinatraを立ち上げ、reposディレクトリに見たいリポジト
はじめに 第7回はRails以外のWebフレームワークの簡単な紹介と、SinatraでHello Worldアプリケーションを動かすところまでを解説しました。今回はSinatraで実際のアプリケーションを作り、SequelとHamlという2つのライブラリを紹介します。 Sinatraの特徴は、CGIスクリプトのようにファイル一つからアプリケーションが書ける気軽さです。CGIスクリプトといえば、代表的なものは何と言っても掲示板(BBS)です。そこで、今回はSinatraで掲示板アプリを作ってみました。ソースコードが少し長めなので、githubにて全文を公開しています。適宜参照しながら読み進めて下さい。ファイル構成は以下のようになっています。 start.rb アプリケーションの本体。 model/comment.rb 掲示板の書き込みを表すモデルの定義。 view/index.haml トッ
先日、まちつく!が正式リリースになりました。よろしければ是非携帯でアクセスして遊んでみてください。 おはようございます。内田です。 今までRailsを使うほどでも無いアプリはオレオレフレームワークで作ってたのですが、最近巷で流行ってるsinatraのコードを読んでみたら必要十分な機能があり、センスも良く、とても気にいった。 今回は公式ドキュメントの流れで、使いそうな機能をまとめてみました 一番簡単な例 sudo gem install sinatra # app.rb require 'rubygems' require 'sinatra' get '/' do 'Hello, world' end ruby app.rb curl http://localhost:4567/ Routes HTTPメソッドにURLとブロックを渡します get '/' do end post '/'
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く