gem install padrino padrino g project test_app -d datamapper -b cd test_app padrino g admin padrino rake dm:migrate seed padrino start Sinatra Core Many people love the simplicity and expressiveness of Sinatra but quickly find themselves missing a great deal of functionality provided by other web frameworks such as Rails when building non-trivial applications. Sinatra acts as a thin layer on top o
■ [ruby] Sinatra 1.0がRuby 1.9.2で動かない問題 1.9.2でSinatraを動かすと、何も言わずに終了してしまうんだけど enable :run と一行入れればOK。 http://ruby.about.com/b/2010/09/08/sinatra-not-working-on-1-9-2.htm ■ [rails] deviseのメッセージを日本語化しました Rails3の定番となりそうな認証プラグイン、deviseの日本語用ロケールファイルを作りました。 http://gist.github.com/606476 deviseの翻訳はリポジトリに取り込むわけじゃなくて、「gistに投稿してwikiに貼ってね」という緩い方式らしいので、追加しておきました。 http://github.com/plataformatec/devise/wiki/I18n
ここ数年、会社を辞めて自分のペースで仕事を請け負うフリーランスという形態で仕事をする人が増えています。フリーランスには様々な職業があり、代表的なものでは翻訳業やイラストレーター、YouTuberもフリーランスに分類されます。そして代表的なフリーランスの職業がもう一つあります。それはプログラマー/エンジニアです。そのプログラミングの大部分を占める工程がコーディングであり、知識と技術を身につければ、憧れのフリーランスに鞍替えすることも夢ではありません。 それではコーディングの知識と技術を取得するにはどのようなルートがあるのでしょうか?現実として学校に通うか、プログラミングを請け負う会社に入社するか、あるいは独学で取得するかのいずれかを選択することになります。そこで今回は最も費用の少ない独学でコーディングを学ぶ方法を紹介したいと思います。 独学でコーディングの知識と技術を身につけるには まずはプ
ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 SinatraはDSLなんかじゃない、Ruby偽装を使ったマインドコントロールだ! : melborne.github.com - Sinatraのサイトを開くとSinatraはDSLだと書いてある Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort: (SinatraはRubyで手早くWebアプリケーションをつくるためのDSLです) DSLというのはDomain-Specific Language つまり特定の目的に特化した言語のことだ 確かにSinatraはWebアプリケーションという 特定の目的のために作られたものだけれども それは言語じゃない
4月13日にサインアップ申請をしておいた Cloud Foundry から「準備できたよー」のメールが届いたので、さっそく触ってみました。今なら、サインアップから10日くらいで使えるようになるってことでしょうかね。 The industry’s first open platform as a service. Run your Spring, Rails and Node.js applications. Deploy from your IDE or command line. Welcome to Cloud Foundry 今回は Rails アプリ、Sinatra アプリ、Node アプリのデプロイを試してみました。ソースコード一式を GitHub においてあります。 june29/cloudfoundry-samples – GitHub (写真は本文と関係ありません。手に入っ
2011年3月4日、Rubyで書かれた軽量Webアプリケーションフレームワーク「Sinatra 1.2.0」がリリースされました。Sinatraはその記述量の少なさにより人気を博し、PythonのFlaskやScalaのScalatra、JavaScriptのExpressJsなど、多くの言語でSinatra風フレームワークが次々と登場するなど大きな影響を与えています。シンプルでありながらも、十数ものテンプレートエンジンに対応し、簡単に切り替えられるなど柔軟さも兼ね備えています。 今回の1.2.0のリリースにて行われた主なアップデートは次のとおりです。 テンプレートエンジン「Slim」「Markaby」のサポート レイアウトに異なるテンプレートエンジンを使える:layout_engineオプションの導入 before/afterフィルタで条件指定のサポート 名前付きキャプチャのサポート(
どうも、逆流性食道炎です。2月初めに胃痛で病院に行き、翌日の胃カメラで診断されました。ストレス社会に生きる皆様も、胃腸の健康には十二分にご留意ください。くれぐれも。くれぐれも。 薬物の効能によるものか症状はだいぶ緩和されているのですが、時には病める日もあります。そんな胃の状態を教えてくれるAPIをつくりました。 http://marutanm-stomach.heroku.com/condition 稚拙ですね。果たして、これから機能追加はなされるのでしょうか? ぶっちゃけ私の胃の状態なんて誰も知ったことじゃないでしょうが、PadrinoとMongoDBを使った簡単すぎるチュートリアルとして、手順を追ってみます。URLでお分かりのように、最終的にはHerokuにデプロイします。 基本的には公式にあるチュートリアルの劣化版ですが、ActiveRecordではなくMongoDB、ORMにMon
先日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
Instagram APIに関する日本語情報は、現時点ではこのページが一番良くまとまっていて素晴らしい。ただ、アクセストークンを取得する具体的な例は載っていなかったので(記事を読む限りPHPを使って取ってるっぽい?)、自分が取得した方法を備忘録がてらにまとめてみた。Instagram公式のRuby用APIラッパーライブラリを使って、さらにSinatraで記述するととても簡単にOAuth認証できる例が載っているので、これを少し書き換えて、アクセストークンを表示するようにした。 Sinatraでアクセストークン取得 Instagram APIのページのManageから、アクセストークンを取得したいアプリを新規作成にして、「OAuth redirect_uri」に http://localhost:4567/oauth/callback と入れる。あとは、表示されている「Client ID」と「
■ [ruby][sinatra] オープンソースの分散型Twitter「rstat.us」はSinatraで書かれている rstat.usはTwitterのコア機能を再現したSiatraアプリケーションだが、Ostatusプロトコルを用いたマイクロブログと互換性がある。 [【コラム】シリコンバレー101 (408) 非公式クライアントの排除に乗り出したTwitter、その理由は? | ネット | マイコミジャーナルより引用] rstat.usはオープンソースのTwitterクローンだ。分散型というのがどういう意味か分からないが、1ノードが故障しても動き続けるという意味なら頼もしい*1。 ソースはgithubで公開されている。 https://github.com/hotsh/rstat.us データベースはMongodb、テンプレートエンジンはhaml。テストはMiniTest。ソースコ
SubURI での設定にした場合 sinatra アプリを Passenger で「Sub URI」で動かす(2) - @sugamasao.blog.title # => ”コードで世界を変えたい”で最後に書いた事に対する回答になるのだけれど。 sinatra アプリを単独で動かす場合(WebRick 等で動かした場合)と SubURI の設定をした Apache 等で動かした場合で、PATH_INFO が違うため静的コンテンツへのリンクに誤差が生じてしまいます。 img/hoge.png*1 のような相対パスで設定した場合は、sinatra アプリ内のパスから探してほしい。 そんな時どうするか passenger の環境構築で作った、public ディレクトリを使用する。 正確には、sinatra アプリのソース内に、以下のように既述する。 set :public, File.dirn
http://blog.browncat.org/2008/08/ubuntu_804httpsredmine.html http://docs.komagata.org/4016 sudo a2enmod ssl オレオレ証明書を作る 適当に質問に答える openssl req -new -nodes -keyout server.key -out server.csr openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365 sudo cp server.* /etc/apache2/ /etc/apache2/sites-available/default を編集 <VirtualHost *:80> ServerName testapp.example.com DocumentRoo
このサイトを Sinatra で書き直した。 もともと Rails で書かれていたのだが、この規模のサイトに使うには Rails はいかにも重量級すぎるので。 Sinatra ならば 1 ファイルで完結する。 Sinatra で開発する時に、 O/R マッピングには Sequel とか DataMapper とかが使われることが多い印象があるのだが、今回は ActiveRecord3 を使ってみた。 ActiveRecord3 はメソッドチェインでクエリを組み立てることが出来て非常に便利だし、 Rails3 でこのサイトを作った時のコードを使い回せる。 従来では「Rails を使わない理由」の中で最も大きなものに「ActiveRecord と密接に接合しており他の DBI を使いたくても使えない」というものがあったと思うが(つまりそれだけクソだった)、 ActiveRecord3 は Ru
◆ [Ruby][Sinatra] SinatraでRack::Csrfの例外をハンドリングする SinatraでのCSRF対策にはRack::Csrfが使えますが、普通に use Rack::Csrf, :raise => true とか書いただけでは、errorハンドラで例外を捕捉・処理できません。production環境ではCSRFチェックに引っかかると403応答+真っ白な画面になるのですが、false negativeの可能性が0ではないので、何らかの処理はしておきたいところです。 というわけで、試行錯誤の結果行き着いたのが以下のようなコード。もっと良い方法があったらコメントください。 require 'rubygems' require 'sinatra' require 'rack/csrf' require 'haml' use Rack::Session::Pool use
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く