タグ

ブックマーク / blog.willnet.in (8)

  • 最近の Rack サーバ事情について - おもしろwebサービス開発日記

    先月、heroku推しサーバが unicorn から puma に変わったという発表がありました。unicorn だとスロークライアントの影響を受けやすいというのが理由なようです。 もう少し詳しく調べてみましょう。 そもそもスロークライアントってなに その名の通り遅い回線のクライアントです。3G環境のモバイル端末などが該当します。 「unicorn だとスロークライアントの影響を受けやすい」とは unicorn はプロセスモデルのサーバであり、blocking I/O モデルを採用しています。つまり、クライアントとの通信中プロセスが専有されるということです。 例えば unicorn がワーカプロセスを3つ立ち上げていて、そこへ通信完了に10分かかるようなスロークライアントが3つ接続されたら…、続くクライアントはスロークライアントの通信が完了するまで実行を待たなければならなくなります。プ

    最近の Rack サーバ事情について - おもしろwebサービス開発日記
    s5ot
    s5ot 2015/02/25
  • Rails 3 のルーティング定義について - おもしろwebサービス開発日記

    Rails 3のルーティングで気になったところについて。いつものメモです。あくまで気になったところなので全部網羅しているわけではありません。あしからず。 基map.connect から match メソッドに変更。オプションも下記のように変更。 # Rails 2 map.connect 'products/:id', :controller => 'products', :action => 'view' # Rails 3 match 'products/:id', :to => 'catalog#view' # :to は省略可能 match "/account" => "account#index" # :controller/:action 形式であればさらに省略可能 match "account/overview" Named Routes asオプションで指定するように

    Rails 3 のルーティング定義について - おもしろwebサービス開発日記
    s5ot
    s5ot 2010/08/02
  • the rspec book - Chapter 12 Spec::Example その2 - おもしろwebサービス開発日記

    the rspec book - Chapter 12 Spec::Example その1 - おもしろWEBサービス開発日記の続きです。 before メソッド before(:all)とbefore(:each)がある。それぞれ before(:all)はexample groupで一回 before(:each)はexample毎に一回 実行される。初期状態ごとにグループ化するのに使う。 通常はbefore(:each)を使ってexample毎に初期状態を作り直した方がいい。そうしないと別のexampleに移行するときに状況が変になっちゃうかもしれないので。 before(:all)を使う時は気をつけるべき。適当に使うとバグの温床になりかねない。ネットワークの接続をopenするとかの時にbefore(:all)を使うといい。通常、それぞれ分離されているexampleではbefore(

    the rspec book - Chapter 12 Spec::Example その2 - おもしろwebサービス開発日記
    s5ot
    s5ot 2010/07/06
  • the rspec book - Chapter 12 Spec::Example その1 - おもしろwebサービス開発日記

    The RSpec Bookを読んでの自分用メモです。サブアカの方にメモっていこうかと思いましたが、RSpecの情報はあまり世に出ていないけど需要はありそうな気がしたのでこっちに書きます。意訳と感想がごっちゃになっているし、自分が知ってる情報については省略しているので見づらいかもしれませんがご了承ください。 今のところの全部についてメモしようと思っていますが飽きたら終わります。あと順番も適当です。 基礎知識 BDD用の言葉とrspecのメソッドの対応でこんがらがるのでメモ describeメソッド example groupを定義するメソッド itメソッド exampleを定義するメソッド shouldやmatcha expectationを定義するメソッド DSLを使うメリット RSpecはDSLでテストを書いていく。code exampleを(describeやitを使わずに)クラス

    the rspec book - Chapter 12 Spec::Example その1 - おもしろwebサービス開発日記
    s5ot
    s5ot 2010/07/06
  • Chapter 13 Spec::Expectations - おもしろWEBサービス開発日記

    the rspec book - Chapter 12 Spec::Example その1 - おもしろWEBサービス開発日記 the rspec book - Chapter 12 Spec::Example その2 - おもしろWEBサービス開発日記 の続き。 BDD BDDのゴールの一つは正しい言葉を得ること。技術的なことのわからない人ともコミュニケーションをとれるようにがんばってるところ。なのでGivenとかWhenとかThenとかを使ってる。assertionの代わりにexpectationsについて語る。"to assert"は辞書の定義では"事実を述べる、または自信を持て信じる"という意味。これは法廷でなんかするみたいな感じでナンセンス。 13.1 should, should_not, and matchers Rspecはshouldメソッドと,should_notメソッ

    Chapter 13 Spec::Expectations - おもしろWEBサービス開発日記
    s5ot
    s5ot 2010/07/06
  • fixture代換プラグインMachinistの使い方 - おもしろwebサービス開発日記

    fixtureの代換となるプラグインMachinistの使い方のメモ。下記URLのREADMEの意訳です。 notahat's machinist at master - GitHub インストール sudo gem install machinist --source http://gemcutter.org セットアップ spec/blueprints.rbに下記のように書きます。下記ではactive_record用のファイルをrequireしていますが、data_mapperやsequelなんかも使えるようです。 require 'machinist/active_record' require 'sham' spec_helper.rbに下記のように書きます。(test_helper.rbの場合は省略) require File.expand_path(File.dirname(_

    fixture代換プラグインMachinistの使い方 - おもしろwebサービス開発日記
    s5ot
    s5ot 2010/06/21
  • railsのクッキーとセッションについてまとめ - おもしろwebサービス開発日記

    こないだ、よくわからんので今度調べると書いたところについて。 CSRFの対応について、rails使いが知っておくべきこと - おもしろWEBサービス開発日記 まずクッキーとセッションの違いから。自分の認識はこんな感じ クッキーもセッションも、ブラウザにデータを保存させる仕組み。 クッキーはデータをそのままブラウザに保存させる。 セッションはセッションIDをブラウザに保存させ、データはサーバ側が保持する。サーバはセッションIDをキーにしてデータを取り出す。 railsでクッキーを設定するには railsでは、クッキーは基的に使わないと思ってますが、一応使い方をメモ。 cookies[:hoge] = { :value => "value", :expires => "30.days.from_now", :path => "/store", :domain => "www.example.

    railsのクッキーとセッションについてまとめ - おもしろwebサービス開発日記
    s5ot
    s5ot 2008/12/19
  • ActiveRecord復習その3 - おもしろwebサービス開発日記

    ようやくリレーションについて。 belongs_to, has_one, has_manyの基 今日読んだ範囲では特に新しいことはなかった。 has_and_belongs_to_many has_and_belongs_to_many(habtm)は利用シーンがすごく限られていて、覚えていてもあんまり使えないんじゃないかなーという気がする。結合テーブルを作ったら、そこに情報をいろいろ付加したくなるし、リレーションの片方を検索してそこからもう片方をfindするような時は、結合テーブルに検索情報の列を付加してあげた方がクエリの発行回数が少なくなるし。同様にhas_many :hoge, :through => :hogehgoeもあんまり使いどころがない気がする。 この話題に関してはかなりもやもやしている最中なので、いずれもう少し掘り下げて書きたいと思います。 アソシエーションの拡張 アソ

    ActiveRecord復習その3 - おもしろwebサービス開発日記
  • 1