maeshimaの日記

メモ書きです

2010-07-01から1ヶ月間の記事一覧

sessionの期限をアクセス毎に変化させる

アクセス毎にsessionの期限を変化させるには、昔はなんかいろいろ大変だったような気がするんだけど、Rails 2.3 からは ActionController::Base.session_options[:expire_after] = 2.years のように expire_after オプションを使うとすぐ出来るみたいです。 …

一つの example に 二つ以上の should を使ってもおk

そういえばRspec本の例となる spec にshould が二つ使われているものがあった。。should って一つの example に一つだけのイメージだったけど二つ以上でもいいのかな。

Rails Models

Rails Model の spec の書き方について。 Rails Model outside-in で実装してれば一番最後に実装するのが Model で、望ましい interface はもう決まっているはず。 26.1 Writing Model Specs model の spec を書くのは controller や view と比べて簡単。 co…

今週のrailscasts - Controllers in Rails 3

Railscasts - Controllers in Rails 3 ASCIIcasts - “Episode 224 - Controllers in Rails 3”を見て。 filter_parameter_logging filter_parameter_logging の設定が application.rb に移行。 config.filter_parameters += [:password] のような設定方法にな…

RDocの基本的な書き方メモ

メモ Railsで使うRDoc生成用rakeコマンド rake doc:app rake doc:plugins 見出し #= #== #=== コメント #-- # RDoc的なコメント #++ リンク http://example.com/ のようなリンクは自動でリンクが張られる。 hoge[http://example.com/]のようにすると <a href="http://example.com/">hoge</a>の…

RESTとは

RESTについての認識ってこんな感じだけどあってるのかな URLでリソースを表し、HTTPのmethodでリソースに対する操作を表す手法 余計なプロトコルを使わなくても実現できるしわかりやすいから普及したのでは

今週のrailscasts - Charts

Railscasts - Chartsを見て。javascriptの高機能なチャートプラグイン Highcharts をRails中で使う例について。見た感じとてもカスタマイズ性が高くてよさげ。他にもいくつかチャートプラグインを紹介していたので、チャートを使うときは参考にしたい。

Railsた2から3になった際のMetalの位置づけの変化について

ASCIIcasts - “Episode 150 - Rails Metal” ASCIIcasts - “Episode 222 - Rack in Rails 3”上記の二つのエントリを見て。Rails2と3ではMetalの位置づけがちょっと違っているような気がした。Rails2ではrailsでrackアプリを使うための機能として作られたけど…

Module.ancestors

こんな感じで継承関係を表示してくれて便利 ree-1.8.7-2010.02 > Array.ancestors => [Array, Enumerable, Object, Kernel]

スレッドキャッシュとテーブルキャッシュについてのメモ

メモ スレッドキャッシュ 接続に使ったスレッドを使い回すキャッシュ Threads_created 状態変数をみて、1行間に作成される新しいスレッドの数が10個未満になるようにする。 Threads_connected 変数を監視して、変動幅をthread_cache_sizeに設定する。例えばT…

受動態を使う状況

メモ 話の流れの中で行為を受けた人を目立たせる必要があるとき 頭でっかちな文を避けるため 文に客観性を持たせるため 「誰が」その行為を行ったのか知らない・述べる必要がない・述べたくない場合 getを使った受動態 be動詞の受動態は、状態と出来事に対し…

3-legged oauthと2-legged oauthの違い

忘れてたのでメモ。 OAuth Coreはフロー上の登場人物がConsumerとSPとEnd Userの三者であることから3-legged OAuthと呼ばれているのに対し、ConsumerがEnd Userとは紐づかないSPのリソースにアクセスする2者間通信の仕組みを通称2-legged OAuthと呼んでいま…

cronの三つの弱点

cronの代換となるプラグインclockwork - maeshimaの日記を使うべきなのかなあというのを考えていて、Rethinking Cronのエントリにたどり着きました。cronの欠点について書かれていたのでざっくり訳してまとめます。 スケールしたときにめんどい 共有している…

今週のrailscasts - Rack in Rails 3

Railscasts - Rack in Rails 3を見て。Rails 3の routes.rb の root :to => "home#index" は root :to => HomeController.action(:index) と同じで、要するに全rackアプリにルーティングできる。なので rails3でルーティングして sinatra を動かす的なことも…

webサーバのベンチマークツールabについて

@IT:Apacheパフォーマンス・チューニングのポイント(2/2)を読んでのメモ 基礎 abはwebサーバとは別のコンピュータで実行する。できればルータの直前か直後。 同時接続数 普通のPCで発生させられる同時接続数には限界がある(いくつくらいだろう?)ので、…

Chapter 25 Rails Controllers

Rails controller の spec の書き方について。 25.1 Controller Specs ModelName.new も疎結合のためにstubを実装したほうがいい。 mock_modelってなんだっけ -> new_record?やidなどの基本的なstubがついてるmock adding context specific examples 成功時…

cronの代換となるプラグインclockwork

RubyPulse :: RubyPulse Episode 0.42 - clockwork - A scheduler process to replace cron. - Adam Wigginsを見て。cronの代換となるらしいclockworkについて。 基本 普通のcronみたいな時間指定の実行に加えて、1分ごとで実行とか秒単位で実行したりできる…

Hash#inspect

key/valueの順番ってどうなるのかなーと思って調べました。どういうロジックで順番決めてるのかはよくわからないですが、基本的に中身が同じなら同じ出力になるみたいですね。ちなみに別プロセスでも同じ結果でした。 ree-1.8.7-2010.01 > {:b => "fuga", :a…

Builderで文字列をエスケープさせない方法

builderはデフォルトでhtmlエスケープ的なことをしてくれますが、エスケープしたくないときもあります。 xml = Builder::XmlMarkup.new :indent => 2 xml.root "<hoge></hoge>" xml.target! # => "<root>&lt;hoge&gt;&lt;/hoge&gt;</root>" そういうときは xml = Builder::XmlMarkup.ne…

今週のrailscasts - Subdomains in Rails 3

Railscasts - Subdomains in Rails 3を見て。Rails3になって少しだけsubdomain対応が入ったので、それを拡張してsubdomain-fuとか使わなくても良くするという話。どうせなら完全にRails3側で対応してくれたら楽なのになあ。 ローカルでサブドメインを含むweb…

パーキンソンの法則

仕事の量は、完成のために与えられた時間を全て満たすまで膨張する 予定より早くやるインセンティブがない場合特ににそうなりそう。

bundlerについて疑問に思ったことを調べた

bundlerについていくつか調べたことについてのまとめ。ただし中途半端。間違ってたら教えてください><Bundler: The best way to manage Ruby applications コマンド一覧 Tasks: bundle check # Checks if the dependencies listed in Gemfile are satisfie…