タグ

sinatraに関するdropcontrolのブックマーク (13)

  • PowをSinatraアプリで使う - アインシュタインの電話番号

    先日37signalsが公開したMac OS X専用の開発環境用RackサーバーPowについて、この記事の導入解説がわかりやすかったので自分もインストールして使ってみた。自分の場合、主にSinatraを使うので、Sinatraでサンプルを作って複数のアプリを同時に動かしてみた。 nvmのインストール Powを使用するにはNode.jsが必要になるので、Rubyで言うところのrvmに相当するバージョン管理ツールnvmを使ってNode.jsをインストールする。nvmのインストール方法はこちらの記事を参考にした。 $ git clone git://github.com/creationix/nvm.git ~/.node $ . ~/.node/nvm.sh $ nvm install v0.4.5 $ nvm use v0.4.5 $ node -v .bashrcに以下の一行を追加して、b

    PowをSinatraアプリで使う - アインシュタインの電話番号
    dropcontrol
    dropcontrol 2013/07/13
    37signalsが公開してるOSX専用の開発環境用のRackサーバー
  • Guides Blog Tutorial - Padrino Ruby Web Framework

    When reading about a new framework, I often find that the best way to get familiar is to read a brief tutorial on how to develop a simple application. This can quickly give new users a sense of the development flow and processes involved in using a framework. This guide will show new users how to develop a simple blog using the Padrino framework. Along the way, each step will be explained and link

  • 10分でできるPadrinoとMongoDBを使ったAPI作成 - Meltdown Countdown rev.

    どうも、逆流性道炎です。2月初めに胃痛で病院に行き、翌日の胃カメラで診断されました。ストレス社会に生きる皆様も、胃腸の健康には十二分にご留意ください。くれぐれも。くれぐれも。 薬物の効能によるものか症状はだいぶ緩和されているのですが、時には病める日もあります。そんな胃の状態を教えてくれるAPIをつくりました。 http://marutanm-stomach.heroku.com/condition 稚拙ですね。果たして、これから機能追加はなされるのでしょうか? ぶっちゃけ私の胃の状態なんて誰も知ったことじゃないでしょうが、PadrinoとMongoDBを使った簡単すぎるチュートリアルとして、手順を追ってみます。URLでお分かりのように、最終的にはHerokuにデプロイします。 基的には公式にあるチュートリアルの劣化版ですが、ActiveRecordではなくMongoDBORMにMon

    10分でできるPadrinoとMongoDBを使ったAPI作成 - Meltdown Countdown rev.
  • SinatraからActiveRecord 3を使う(4) 比較演算が簡単になるMetaWhere - アインシュタインの電話番号

    前回のバリデーションに引き続き、今回はActiveRecord 3を使った際のwhereメソッド内での比較演算が簡単になるgemのMetaWhereについて調べたのでメモ。ぶっちゃけ今回はSinatraはあんまり関係なくて、ActiveRecord 3の使い方が便利になる話。 お題 updated_atカラムの中で、今から1時間前よりも古い日時のレコードだけ抽出せよ このお題をクリアするためのActiveRecord 3のwhereメソッドの書き方がよくわからなかった。というか、今もわかってない。たぶんSQL文を直接書いて「updated_at < 1時間前の数値」的な感じで書くんだろうけど…と調べているときに、タイトルにもある通りの比較演算が簡単になるMetaWhereの存在を知ってしまった。ので、whereでの書き方がよく分からないまま、このgemを使って解決した。 比較演算が簡単にな

    SinatraからActiveRecord 3を使う(4) 比較演算が簡単になるMetaWhere - アインシュタインの電話番号
  • SinatraからActiveRecord 3を使う(3) バリデーション - アインシュタインの電話番号

    前回のCRUD操作に引き続き、今回はSinatraからActiveRecord 3を使った際の入力した値のバリデーション(検証)について調べたのでメモ。 バリデーションを行うには、モデルクラスにその行いたいバリデーション用のメソッドと対象のカラムをシンボル名で記述する。バリデーションは最初からいくつかのパターンが組み込まれていて、その記述は基的に以下のような書式になる。 validates_バリデーションする方法名_of バリデーション対象のカラムのシンボル名 たとえば、ユーザー名がかぶらない(ユニーク)な状態にしたいのであれば、 validates_uniqueness_of :user のような感じになる。組み込みで用意されているバリデーションの一覧については、こちらの記事が詳しい。実際に、前回までに作ったカウントするだけのSinatraアプリをベースにして、例えば以下のような感じで

    SinatraからActiveRecord 3を使う(3) バリデーション - アインシュタインの電話番号
  • SinatraからActiveRecord 3を使う(2) CRUD操作 - アインシュタインの電話番号

    前回のマイグレーションからの続きで、今回はSinatraからActiveRecord 3を使ってCRUD操作をしてみる。といっても、おそらくCRUD操作についてはRailsで使う場合とSinatraとではほとんど違いはないと思われる。前回同様、ActiveRecord 3自体の使い方はこの記事がとてもわかりやすかったので全面的に参考にしている。 モデル ActiveRecordを使ってDBのCRUD操作をする場合、ActiveRecord::Baseを派生させた1つのクラスがDBの1テーブルに対応し、そのクラスの属性がテーブルの各カラムに対応することになる。このクラスのことを一般的に「モデル」と呼ぶ。Railsでは、Railsアプリを生成した段階でMVC別にフォルダが用意されているので、modelフォルダにこのActiveRecord::Base派生クラスを作るんだけど、Sinatraでは

    SinatraからActiveRecord 3を使う(2) CRUD操作 - アインシュタインの電話番号
  • SinatraからActiveRecord 3を使う(1) マイグレーション - アインシュタインの電話番号

    以前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からActiveRecord 3を使う(1) マイグレーション - アインシュタインの電話番号
  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • シンプルな Ruby フレームワークの Sinatra をインストールした

    2009-08-14 Sinatraというフレームワークがシンプルでいいらしい。 Rails を使うまでもないという程度のアプリを作るときに向いているとのこと。 Sinatra の基は、以下の URL が参考になる。 Sinatra (公式サイト: 英語) ウノウラボ Unoh Labs: Sinatra気に入った Rubyの軽量Webフレームワーク「Sinatra」がステキ - 医者を志すを応援する夫の日記 Ruby Freaks Lounge第7回: 小規模Webアプリのためのフレームワーク,Sinatra Sinatraで鼻歌まじりのWeb開発 PHP と同じくらいサクサク使えるみたいなので、試しにインストールしてみた。 なお、RubyGems のアップデートまでは、昨日の日記を参照のこと。 まず、公式サイトの記述どおりにやってみた。 ソースはシンプルで、これだけ。 $ sudo

    シンプルな Ruby フレームワークの Sinatra をインストールした
  • Sinatra on GAE/JRuby でデータを永続化する (Datastore編)

    準備が整ったので、ようやく Datastore での CRUD 操作に挑戦する。 ここからは API のドキュメントが道しるべになる。 appengine-apis … Ruby側のインタフェース com.google.appengine.api.datastore … Java側のインタフェース サンプルアプリ(歩数管理ソフト) できあがったサンプルは以下の通り。 数日後に消すかもしれない。 http://machu-jruby.appspot.com/ 日付や歩数に任意の文字列が入れられたりと、細かいところまでは作っていない。 でも、データの CRUD と検索の概要は分かると思う。 Datastore の概要を把握する (get, putとキーの関係) ふたたびサンプルコードに目を通す。 データの永続化のために、 Datastore.put メソッドを呼んでいる。 require 'a

    Sinatra on GAE/JRuby でデータを永続化する (Datastore編)
  • Sinatra on GAE/JRuby でデータを永続化する (準備編)

    2009-09-05 前回の日記「10分ではじめる GAE/JRuby」の最後に、以下のように書いた。 GAE を使うならデータストアは避けて通れない。これも以前なら JavaAPI を叩いていたみたいだけど、今なら appengine-jruby ライブラリから呼び出す方が楽みたい。 DatastoreOverview を一読するのがよさそう。以下のようなサンプルコードが書かれている。 という訳で、今回は GAE/JRuby 上でのデータの永続化に挑戦する。 正直なところ手探りでの挑戦だったので、回り道をしているかもしれないし、間違いを書いているかもしれない。 でも、調べることにも意味があると思うので、僕がたどったプロセスをなるべくそのまま残してみる。 ドキュメントをざっと読む GAE/JRuby でのデータ永続化については、まだまだ Web 上にドキュメントが少ない状態。 こうい

    Sinatra on GAE/JRuby でデータを永続化する (準備編)
  • 10分ではじめる GAE/JRuby (OAuth + Sinatraのサンプル)

    2009-09-03 ちょっと時間ができたので、 Google App Engine (GAE) 上で JRuby を動かしてみよう。 前に読んだ情報だと、 GAE 上で JRuby を動かすためには JRuby をコンパイルしたり WAR に固めてアップロードしたりと、かなり面倒な印象があった。 でも今は、ビックリするくらいカンタンに動かすことができるようになっている。 GAE 上で Java を動かすよりお手軽なんじゃないかな。 とりあえずのゴールは、ちょっと前に作ったSinatra と OAuth を使って Twitter のタイムラインを取得を動かすところまで。 所要時間は10分で。 GAE のアカウント取得 (2分) Google App Engineのサイトで、 GAE のアカウントを取得する。 すでに Google アカウントを持っていれば、携帯メールのアドレスで認証するだけ

    10分ではじめる GAE/JRuby (OAuth + Sinatraのサンプル)
  • [ruby]最初に知っておけば良かったbundlerの使い方 sinatra編

    rails編は以前書いたのでsinatraでやってみる 用途としてはDBとかいらないスタティックなサイトの構築で、でもhtmlcss、jsを生で書くのとか耐えられない。phpはマジ勘弁みたいなときにこうしてますよって感じのことを書きます。 (bundlerの使い方ってゆうかrubyでのweb制作全般って感じですね…) まず適当な場所にプロジェクトのディレクトリを作ります。 hogeとかもアレなんでポートフォリオにしときます。 $ cd ~/Web $ mkdir portfolio $ cd portfolio でプロジェクトのルートでGemfileをつくる $ bundle init Writing new Gemfile to /Users/kozo/Web/portfolio/Gemfile 中身はこんな感じだから... $ vim Gemfile # A sample Gemfi

  • 1