タグ

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

  • CSRFの対応について、rails使いが知っておくべきこと - おもしろwebサービス開発日記

    以前、CSRFについてのエントリを書きました。 CSRFについて - おもしろWEBサービス開発日記 上記エントリではCSRFの概念について書きましたが、もう少しつっこんで調べる必要が出てきました。調べたことを書いてゆきます。 基礎 application.rb(ないし適当なController)にprotect_from_forgeryメソッドを定義すれば、railsが自動的にCSRF対策をしてくれます。というか、デフォルトでapplication.rbに下記のように書いてあるので、特に何もせずともCSRF対策はバッチリなのです。 protect_from_forgery # :secret => '8ff3ed33f86a431662d8dfe255acdb4a' railsは、get以外の動詞のリンクに、authenticity_tokenというパラメータを自動的に付け加えます。ge

    CSRFの対応について、rails使いが知っておくべきこと - おもしろwebサービス開発日記
  • OpenSocial Tutorialをやった - おもしろwebサービス開発日記

    Googleが提供しているOpenSocial Tutorialをざっくりやってみました。Tutorialはまだ日語化されていない*1ということもあって、事前準備に少し苦労しました。これからTutorialする人のために要点をまとめておきます。 OpenSocial Tutorial - OpenSocial - Google Code このTutorialで何を作るのか このTutorialはiGoogleのガジェットを題材にしており、友達にギフトを送ってそれを表示するようなガジェットを作ります。 iGoogleSNSじゃないけど「友達」ってどうするの? 開発用のSandbox Friendsと呼ばれるgadgetを使用して友達を設定します。 Sandbox Friendsってどこからインストールするの? Sandbox Friendsをはじめとしたディベロッパーツールはここから取得

    OpenSocial Tutorialをやった - おもしろwebサービス開発日記
  • ActiveRecord復習その2 - おもしろwebサービス開発日記

    昨日に引き続きメモ ActiveRecord復習 - おもしろWEBサービス開発日記 オブジェクトをDBに直接保存する方法その1 text列を持ったテーブルを作る Model定義内に下記のように書く serialize :column_name あとは普通に保存したり呼び出したりできる。ちなみにDBにはYAML形式にして保存しているらしい。 オブジェクトをDBに直接保存する方法その2 モデルの一属性に対応するオブジェクトを設定することで、DBデータの型を抽象化する方法がある。つまり、擬似的にオブジェクトを保存できるらしい。やり方は省略(使うときが少なそうなので) オブジェクトの識別 2つのモデルオブジェクトは、同じクラスのインスタンスで同じ主キー(一般的にはid)を持っていれば"=="でtrueになる!!らしい。もちろん他の属性が異なる値でも。これは復習しといてよかった。 低レベルのDB

    ActiveRecord復習その2 - おもしろwebサービス開発日記
    jaco-m
    jaco-m 2008/05/01
  • ActiveRecord復習 - おもしろwebサービス開発日記

    リレーション関連がうまく使いこなせていないので、railsによるアジャイルwebアプリケーション開発を読み返してみた。勉強になったことをメモメモ。 テーブル情報の取得 下記のようなマイグレーションでpeopleテーブルが定義されているとして、 create_table :people do |t| t.string :name t.integer :age t.boolean :auth end Person.columun_namesでカラムの名前を配列で取得できる。(クラスメソッド) Person.column_hash["name"]のようにすると、Personのname列の情報(デフォルト値とか)を取得できる。*1 person.attribute_namesで属性の名前の配列が取得できる。(オブジェクトメソッド) person.age_before_type_cast のように、

    ActiveRecord復習 - おもしろwebサービス開発日記
    jaco-m
    jaco-m 2008/04/30
  • 1