Account Suspended This Account has been suspended. Contact your hosting provider for more information.
Account Suspended This Account has been suspended. Contact your hosting provider for more information.
Sinatra で MongoDB を使うために Mongoid と MongoMapper を試してみました。 以下のようなモデル構成を実装する事にします。 環境は以下の通り、テンプレートエンジンに Haml を使っています。 JRuby 1.5.6 Sinatra 1.1.3 Haml 3.0.25 Mongoid 1.9.5 MongoMapper 0.8.6 MongoDB 1.7.6 サンプルのソースは http://github.com/fits/try_samples/tree/master/blog/20110306/ 事前準備 まず、今回使用するパッケージを gem でインストールしておきます。 インストール例 > gem install sinatra > gem install haml > gem install mongoid > gem install mong
久しぶりの更新です。Ruby1.8.6系、Ruby1.8.7系、Ruby1.9.2系をそれぞれ切り換えて利用することが多くなってきたので、環境の整理もかねてRVMを使ってRuby環境を構築し直してみました(MacのTextmateでrvmを使う方法も付記しました)。 環境は以下の通りです Ubuntu 10.04.3 LTS RVM 1.8.3 1.まずはrvmを作る為に必要なツールを入れておきます $sudo apt-get install git-core $sudo apt-get install curl ほかにもreadlinesが入っていないのであれば入れておいて下さい。 2.次にRVMをインストールします rvmの環境は~/.rvm配下に作られるのがディフォルトのようですので、先に環境を作っておきます。rvm経由でインストールしたRubyも同じフォルダ配下に入っていきます。
このまえ Sinatra でファイルをダウンロードさせる方法を書いた。では逆、アップロードはどうだろう?試したところ、次のようになった。 require 'rubygems' require 'sinatra' require 'haml' get '/' do haml :index end # アップロードされたファイルを返す put '/upload' do if params[:file] content_type params[:file][:type] f = params[:file][:tempfile] f.read f.size end end __END__ @@index %html %body %form{:action => '/upload', :method => 'POST', :enctype => 'multipart/form-data'} %inp
そろそろRuby会議もあるというのに、そういや最近Ruby全然書いてないfaultierですこんばんわ。じゃあリハビリを兼ねて久々にRamazeさんで遊んでみるか、ついでにいい加減NoSQLブームにも乗ってみるか、みたいな感じでRamaze+MongoDB+Candyで遊んでみることにした。ちなみに社内では今Cassandraがブームなのだけども、Cassandraはちょっと遊びで使ってみるにはオーバースペックだよなーとか思いつつ色々見てたら、HerokuでMongoDBが使えるらしいのでそれを狙ってのMongoDBいじり。 とりあえず入れてみる aptで探したらmongodbのパッケージもあるんだけど、2010年5月30日時点では1.2.2と若干バージョンが古い。この後オブジェクトマッパーを色々試してみたところ1.4系じゃないと動かなかったりしたので、本家のサイトから最新のバージョン落と
北越コーポレーションの岸本晢夫(せきお)社長は15日、日刊工業新聞社の取材に応じ、持ち分法適用会社の大王製紙と検討している戦略的業務提携について「合併せずとも合併を超す効果が出せる... マイクリップ登録する
Ruby/GTK2 パッケージ GLib2, ATK, GdkPixbuf2, Pango, GTK2, GObjectIntrospection Ruby/GTK3 パッケージ GLib2, GIO2, ATK, GdkPixbuf2, Pango, CairoGObject, GObjectIntrospection, GDK3, GTK3 その他のパッケージ RSVG2, Poppler, VTE, VTE3, GtkSourceView2, GtkSourceView3, Clutter, ClutterGTK, WebKitGTK2, WebKit2GTK, GStreamer, ClutterGStreamer 古いパッケージ Ruby/GnomeCanvas2, Ruby/GNOME2 (libgnome), Ruby/Libart2, Ruby/Libglade2, Rub
新しいスマートフォンアプリの開発方法として「マルチプラットフォーム対応フレームワーク」という選択が可能になってきた。 3Dゲーム用エンジンで有名な「Unity3」や、Lua言語を採用した同じくゲーム向けである「Corona」、JavaScriptをネイティブコードに変換する「Titanium Mobile」、そしてまるでWebアプリケーションを作成しているかのように開発ができる「Rhodes」などがある。 Unity3はiOS/Android用ライブラリはアドオンとして有料で販売されている。Coronaは商用利用の場合はライセンス料がかかる。Titanium MobilとRhodesはどちらともオープンソースソフトウエアとして公開されており、ライセンス形態は違うが商用利用の場合でもロイヤリティフリーで利用することができる。 また、Androidなどではあまり関係ないが、iOSではApple
Rack を使って Web サーバで統一されたインターフェイスの利用する http://d.hatena.ne.jp/secondlife/20070307/1173253661 Rack:a Ruby Webserver Interface http://rack.rubyforge.org/ Rack を使えば生 Ruby で WEBrick や Mongrel や FastCGI やいろいろあっても統一したインターフェースで書けるよ! デバッグの時は WEBrick の方が挙動が落ち着いてるしスタックトレースも見やすいし。 でも本番はやっぱりせめて Mongrel か、ちょっと面倒だけど FastCGI がええな〜。 と啓蒙されたので最近 Rack を使い始めたんだが、ドキュメントがまるっきりない…… とりあえずセッションを使いたくて、Rack::Session::Cookie とい
SinatraやRailsは開発は楽だけどデプロイ方法がいろいろあって悩む。 最近はpassengerを使う方法が流行ってるけど、あいにく学校に置いたサーバーでサブドメインが使えないので同一ホスト名でapacheと共存させるしかない。 passengerでもRailsBaseURIだったか?を設定すればサブディレクトリでRack対応アプリを動かせるが、 今回は1年前からRails+mongrelのデプロイに使っているapache2のサブディレクトリをmongrelで起動してるrailsにプロキシする – 橋本詳解と同じ方法でSinatra+Thinをデプロイした。 Railsではmongrel_clusterで複数起動させたrailsにapache2のmod_proxy_balancerでアクセスを割り振ったが、同じ設定でsinatra+thinにも割り振れる。 結果、橋本商会 Twitt
まずは悲しい例Hamlで以下のように書くと、、、 %span aaa %span bbb %span ccc ブラウザでは次のように表示されてしまいます。。。aaa bbb cccspanタグの間にスペースが挿入されてしまっています。原因は、上のHamlのコードが以下のようにコンパイルされるからなんですね。 span> aaa span> span> bbb span> span> ccc span> タグごとに改行が入ると、スペースが挿入されてしまいます。これを避けるには、"改行の制御"をするための"<>"をHamlコードに加えましょう。こちらです。 %span<> aaa %span<> bbb %span<> ccc これで、余分なスペースを避けられます。aaabbbcccツイートする
研究室の後輩にSinatraとhamlとjQueryを教えるために作ったテンプレートについて、ここにも書いておく ソースコード https://github.com/shokai/sinatra-template 実際動いているもの http://masui.sfc.keio.ac.jp/sinatra-template/ git clone git://github.com/shokai/sinatra-template.git ■Sinatraを何に使うか Sinatra+haml+jQueryが便利。 Railsと似てるけど、ちょっと違う。 個人的には Rails → HTMLのページをいっぱい作るのに便利 Sinatra → 画面遷移あまりしなくて、同じURLのままjsonのAPIをjQueryのajaxで取得して動的に表示を変えるwebページを作るのには便利 に感じる。 でもSi
先日、まちつく!が正式リリースになりました。よろしければ是非携帯でアクセスして遊んでみてください。 おはようございます。内田です。 今まで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 '/'
This page is also available in English. 始めよう SinatraはRubyで下記のような最小労力で手早くウェブアプリケーションを作成するためのDSLです。 # myapp.rb require 'rubygems' require 'sinatra' get '/' do 'Hello world!' end gemをインストールして動かしてみる。 sudo gem install sinatra ruby myapp.rb localhost:4567 を見る。 ルート Sinatraでは、ルートはHTTPメソッドとURLマッチングパターンがペアになっています。 ルートはブロックに結び付けられています。 get '/' do .. 何か見せる .. end post '/' do .. 何か生成する .. end put '/' do .. 何か更
個人的にSinatraとLimonadeがマイブームなのですが、Sinatraに関して言えば、CGIで動かす方法は(本家のドキュメントとかでは)あまりフォローされていないようです。国内ではそれなりに記事もあるようなのですが、結局ソースに手を入れてしまう(Sinatraのソースに「Rack::Handler::CGI.run」をベタに書く)か、rackupで実行する方法かが多そう。でも、前者はCGI専用になってしまうのでいまいちだし、後者はシェルが2個実行されるのがどうにも美しくありません(現実的にはあまり問題にならないのかもしれませんが)。 そこでいろいろいじってみたところ、何とか良さげな方法ができました。 まずSinatraのソース。適当です。 require 'rubygems' require 'sinatra' set :run, true get '/?' do "hello"
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く