以前SinatraからDataMapperを使う記事を書いたけど、今回はSinatraのO/Rマッパー部分にActiveRecord 3を使ってみる。ActiveRecord 3自体の使い方については、この記事がすごくわかりやすかった。 Sinatraアプリに必要なファイルを用意する まずは、Sinatraアプリを実行するのに必要な最低限のファイル群(Gemfile, config.ru, app.rb)を作成する。今回は基本的にすべてBundler経由で操作するので、システム側にBundlerのgemがインストールされている必要がある。 Gemfile 今回使用するgemはこんな感じ。とりあえずSinatraでActiveRecord 3を使う場合はactiverecordとsinatra-activerecordとsqlite3が必要で、今回使ったバージョンはそれぞれ、3.0.6、0.
ハッカソンとか行くと限られた時間内でアプリケーションを完成させる必要に迫られるので、ぼくは大体爆速フレームワークのSinatraさんを使います。 ちょっと前のハッカソンで「だうれま.com」っていうWEBアプリケーションを作ったのですが、当然スピード重視なのでソースコードがいろいろひどかったりします。 まだ機能追加などしたかったりするので、リファクタリングしないとつらいなーなんて思ってユニットテストを入れようと思った次第。 英文おもしろ意訳投稿サービス だれうま.com http://dare-uma.com/ Sinatraアプリケーションのスケルトンを作る まずはテストコードを置いといてSinatra, ActiveRecordを使って動くものを作ります。「Hello World」って表示されるだけのコードを書きます。 main.rb
ローカルには映画の視聴記録とか食べ歩きのお店評価とか投資履歴とかガラクタコレクションリストとかの自身の活動記録的なデータが溜まります。そしてどういうわけかそれらのデータは大概表計算ソフト「Excel」の上に置かれているのです。その結果、溜めたはいいが有効に活用されない、場合によっては見ることすらしないという事態に陥ります。それらのデータが本来的に置かれる場所が「データベース」であり、その活用によりデータ価値が向上するということに誰も異論はないとしても、データはExcelに置かれるのです。 理由は一つ。そう、データベースは敷居が高いのです。 データベースの敷居が下がれば、みんながローカルのデータをもっともっと大量に公開して世の中はもっと便利になるに違いありません。 まあ、実際のところはよくわかりませんが。 そんなわけで… データベースの敷居を下げるべく、CSVデータを簡単にデータベース化する
サーバを使ったiPhoneアプリを作りたかったので、簡単にサーバ側作れないか調べてみました。結論として結構簡単に出来る事が分かったのでメモメモ。 参考にした記事 Sinatra+ActiveRecord+SQLite3で,軽量なWeb-DB連携例 | tamo's blog 大分参考にさせて頂きました。ありがとうございます! 仕事ではMySQLを使う事が多いので、SQLite3ではなくMySQLを使う事にしました。 手順 Ruby,MySQLをインストール データベースを作成 Gemfileを作成とインストール database.ymlを作成 Rubyファイルを作成 実行 動作確認 1. Ruby,MySQLをインストール 結構な量になったので別記事にまとめました。ここが一番面倒(´Д`) - Ruby,MySQLの環境を構築する(Mac版) #MySQL #Mac #Ruby #home
今回はSinatra(シナトラ)についてです. シナトラと言っても,フランク・シナトラではありません.(歳がばれますね) 普段, 何気にRailsを使用しています. 自分で書くコード量も少なく,ほとんどフレームワークがやってくれますが,ちょっとしたWebサイトを作成するだけでも,Gemやらファイルやらで,かなりのビッグサイズになってしまいます. そんな,Railsのような巨大なフレームワークを使う程でもない,データベースの保守などのちょっとしたサイトを構築したい,でも,PHPではなく,あくまでもRubyで,しかもActiveRecordのようなデータベースマッパーや,ERBのようなテンプレートを利用したい,というような場合に最適なWebフレームワークが... Sinatraです. 今回は,このSinatraのフレームワークを使って,SQLiteデータベースのテーブルのレコードの表示,登録,
require 'sinatra' ['/one', '/two', '/three'].each do |route| get rounte do "Triggered #{route} via GET" end post route do "Triggered #{route} via POST" end end RESTリクエストのパラメータを受け取りたい 例えばこんなリクエスト http://my.server.address/function?key1=value1&key2=value2&key3=value3 こんなふうに受けることができる
Twitterには、ストリーミングAPIという、プッシュでリアルタイムに情報を受け取ることのできるAPIが用意されています。 これを使えば、定期的にポーリングをしたりすることなく、誰かが発言した時点で即座にメッセージを受け取れます。 しかし、これを使うためには、TCP接続をTwitterに対して張りっぱなしにしておく必要があり、Webアプリなどで使うのに敷居が高いと感じている人もいるのではないでしょうか。 今回は、「そんなことないよ、超簡単だよ」ということを、Rubyベースのサンプルで示したいと思います。 なぜそんなことが簡単にできるのか、その秘密を先に種明かしすると、Ruby用のWebサーバとして急速に人気を獲得し、デファクトの座をとりつつある「Thin」というWebサーバが、内部的にEventMachineという非同期サーバを使用しているので、その機能を使うことで、今までのWebアプリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く