タグ

sinatraに関するokinakaのブックマーク (6)

  • 橋本商会 » HerokuのSinatraにバックグラウンドワーカーを詰め込んで節約

    Webアプリと同じプロセスにworker入れてお金節約できる。 Webアプリは “リクエスト来る→サーバーで処理→レスポンス返す” というのを繰り返すわけだが、サーバーでの処理に時間がかかる場合にそこを別のプロセスに任せて、先にレスポンスを返しておいて、あとで結果は取りに来てよ、という実装をする事がある。 時間がかかる処理は2つに大別できる。 動画をエンコードするとか。CPU負荷が高くて時間がかかるのでWebサーバーとは別の場所で動かしたい Twitter APIを10回ぐらい使った結果をまとめて返すとか。CPU負荷は低いけどIO待ちが長い 2の方について、HerokuRuby環境で安く上げる方法をまとめる。 手法 HerokuのcedarスタックでRuby使う時はwebサーバーとしてThinが起動する。 ThinはEventMachineの中で動いてるので、EM::defer等が使え

  • HerokuのSinatraでBasic認証を使ってアクセス制限をかける - アインシュタインの電話番号

    Heroku上にデプロイするSinatraで、Basic認証を使ってアクセス制限をかける方法について調べたのでメモ。特にHerokuに限らない方法だとは思うけど。ここだけの秘密だけど、最初普通のウェブサイトのように.htaccessと.htpasswdを用意して、Herokuアプリ直下またはpublicディレクトリに入れればいけるんだろうと思って、heroku consoleから pwd とか実行してパスを取得して.htaccessに.htpasswdまでのパスを書いて…とか壮大に明後日の方向な手順を踏んでた。 SinatraでのBasic認証の方法は全然違って、Rackの機能を使うみたい。 サイト全体をアクセス制限 Sinatraアプリの起動ファイル(config.ruから呼び出しているrbファイル)のどこかに、以下のような感じで書けばおk あ、もちろんトップレベルに書く必要はある。あと

    HerokuのSinatraでBasic認証を使ってアクセス制限をかける - アインシュタインの電話番号
  • 第9回 SinatraとSequel・Hamlで掲示板アプリを作る | gihyo.jp

    はじめに 第7回はRails以外のWebフレームワークの簡単な紹介と、SinatraでHello Worldアプリケーションを動かすところまでを解説しました。今回はSinatraで実際のアプリケーションを作り、SequelとHamlという2つのライブラリを紹介します。 Sinatraの特徴は、CGIスクリプトのようにファイル一つからアプリケーションが書ける気軽さです。CGIスクリプトといえば、代表的なものは何と言っても掲示板(BBS)です。そこで、今回はSinatraで掲示板アプリを作ってみました。ソースコードが少し長めなので、githubにて全文を公開しています。適宜参照しながら読み進めて下さい。ファイル構成は以下のようになっています。 start.rb アプリケーションの体。 model/comment.rb 掲示板の書き込みを表すモデルの定義。 view/index.haml トッ

    第9回 SinatraとSequel・Hamlで掲示板アプリを作る | gihyo.jp
  • 橋本商会 » apache2のサブディレクトリをthinで起動してるsinatraにプロキシする

    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

  • UnicornでSinatraアプリをデプロイしてみた - 射撃しつつ前転 改

    最近は仕事でSinatraアプリを書いたりしているので、Sinatraアプリを動かすためにはどのHTTPサーバを使うのがベストなのかが気になっている。(先に結論を書いておくけれど、どれがベスト、という唯一の選択肢は今のところありません。適材適所です。) SinatraはRackの上に構築されているので、Rackに対応したHTTPサーバーを使って動かす事になるのだが、この数がやたらと多く、どれを使えばいいのか迷う。代表的なものを挙げただけでも、WebRick, Mongrel, Thin, Unicorn, Passenger(Apacheとかに組み込んで使うやつ), FastCGI, (普通の)CGI、これぐらいは選択肢がある(いくつかHTTPサーバじゃない物も混ざっているが、Rackが対応してるという点は共通している)。 WebRickはそもそもパフォーマンスに重点を置いていないし、Mo

    UnicornでSinatraアプリをデプロイしてみた - 射撃しつつ前転 改
  • https://qiita.com/items/5b421866f97f7123712a

  • 1