2005-01-01から1年間の記事一覧
帰省先から書いてます:-)。 Scaling: The Share-Nothing Architecture Railsアプリケーションをスケールする際のコンセプトがShare-Nothing Architecture。Share-Nothing Architectureにより状態の管理をWeb層やアプリケーション層でなくデータベースやネッ…
この章、英語わかりにくひ…。 Picking a Production Platform まずはWEBrickとApacheとlighttpdの3つのWebサーバについて。WEBrickはRubyにバンドルされているピュアRubyのWebサーバで、特に速くはないしスケーラブルでもないけど実行させるのがメッチャ簡単…
2005年もあと5日。Chapter21はセキュリティについて。 SQL Injection フォームなど外部からのデータを直接SQL文の中で使ったりすると悪い人に任意のSQL文が実行されちゃうよというのがSQLインジェクション。例えばこんな風にしていると危ない。 Email.find(:…
「オブLOVE夜会第2弾「イマドキのJavaScript」」行ってきましたよ。 会場までの道のり寒かった…。 JavaScriptで作ったプレゼンツール(これ。「s」「w」押してみ、押してみ)衝撃。しかも1時間で作ったって…。 JavaScript歴8ヶ月衝撃。しかもプログラミング…
Chapter20を書いた人&Action Web Serviceのコード書いた人は南アフリカの人だって。Chapter18書いた人はオーストリアだし、DHHはデンマークだし、グローバルだね。 Action Web Serviceは長いんでAWSと省略するよ。 What AWS Is (and What It Isn't) AWSではS…
行きますよー。
新規案件でSeasar2の投入(ほぼ)決定! って決定したのは私なんですが。 AJAXもバリバリ使うよ。さ、Seasar2の勉強しなきゃ、って今からかよっ!
アクセス数が急に多くなったのでなんでかなぁと思ったらオレンジニュースに載ってたよ。わぉ。 でも半年も前のネタだった…。
目標、年内読了!Chapter19行きますよ。 Sending E-mail まずはメールを送信する設定をしなきゃね。development, testing, productionで同じ設定を使う場合はconfig/environment.rbに設定し、別々に設定したい場合はconfig/environments以下の設定ファイルに…
今、巷で話題のWeb2.0ですよ!! Intorducing AJAX は、みんな知ってるからいいよね:-)。 The Rails Way Railsには最初からAJAXのサポートが組み込まれているからWeb2.0もバッチリ。で、具体的に言うと prototype, effects, dragdrop, controlsのJavaScriptの…
いよいよChapter17大詰め。 Caching, Part Two Chapter16でキャッシュの話があったけど、Railsにはさらにページの一部分をキャッシュする機能があって、ビューのテンプレートの一部をcache()のブロックで囲んでおくとその部分だけキャッシュしてくれる。 <%=…
Chapter17つづき、いきますよ。 Layouts and Components ビューにもDRY原則に則って重複を避けるためのレイアウト、パーシャルズ、コンポーネントという仕組みがある。まずはレイアウト。レイアウトのテンプレートは以下のような感じ。 <html> <body> <%= @content_for_l</body></html>…
ライブドア資本論作者: 佐々木俊尚出版社/メーカー: 日本評論社発売日: 2005/06メディア: 単行本 クリック: 13回この商品を含むブログ (24件) を見る新刊かと思ったら6月に出ていたのね。何軒か本屋を回ってようやく入手。こんな本が出ていたなんて知らなか…
やべっ、また半年ほどサボるところだったよ:-)。 Form Helpers 送信されてきたフォームのパラメタは以下のようにparamsハッシュにマップされる。 id=123 #=> {:id => "123"} user[name]=Dave #=> {:user => {:name => "Dave"}} user[address][city]=Wien #=>…
ここ3日ほどメッチャチカレマチタヨ…。ちょっと間があいちゃったけど気を取り直して続き。 Formatting Helper Railsにはビルトインされたヘルパメソッドがたくさんあるので紹介するよ。詳しくはRDocを見てね。 <%= distance_of_time_in_words(Time.now, Time…
11月中に読み終わらなかったよ。ってこれだけサボってちゃなぁ…。しかもChapter17は46ページもあるし…。奥さんAction Viewですよ。 Templates テンプレートはデフォルトではapp/views/[コントローラ名]/[アクション名+拡張子]になるんだけど、以下のように直…
まだまだActionController。ちょっと飽きた… 嘘:-)。 Filters and Verification フィルタを使うとアクションの前や後などで処理を行なうことができるのよ。before, after, aroundの3種類があるのよ。まずはbeforeフィルタとafterフィルタ。コントローラ内の…
Action Controller つづきっ! Cookies and Sessions クッキーはcookiesというハッシュで読み書きできる。 cookies[:the_time] = Time.now.to_s cookie_value = cookies[:the_time]クッキーを書き込む際に指定できるオプションは以下のとおり。 :domain クッ…
Action Controller 行きます。 Routing Requests config/route.rbにリクエストされたURLをどのようにコントローラやアクション等にマッピングするかを記述する。例えば map.connect ':controller/:action/:id'とすると、store/add_to_cart/123というURLは @p…
アルファブロガー 11人の人気ブロガーが語る成功するウェブログの秘訣とインターネットのこれから (NT2X)作者: FPN,徳力基彦,渡辺聡,佐藤匡彦,上原仁出版社/メーカー: 翔泳社発売日: 2005/10/21メディア: 単行本購入: 5人 クリック: 592回この商品を含むブロ…
もっともっとActive Record! Callbacks Active Recordのライフサイクルのいろいろなイベントをフックできるよ。新規レコード保存時のコールバック before_validation before_validation_on_create after_validation after_validation_on_create before_save…
もっとActive Record! もっとアップルのiMac G5欲しい! Act as DBのデータをリスト構造やツリー構造のように扱うこともできるよ。ステキじゃなーい!まずリスト構造の場合はテーブルにpositionというカラムを定義してモデルを以下のように定義。 class Pare…
あー、間が開いちゃった…。さて、前回の続きで"Relationships between Tables"から。「こっちのテーブルがあっちのテーブルに関連付けられていて、そっちのテーブルがこっちのテーブルを参照して…」とややこしくてしかも英語だから読むのにチカレマシタヨ。 …
いよいよActive Recordですよ。 テーブルとクラス DHHの趣味でテーブル名はモデルのクラス名の複数形と仮定しているけど、嫌な場合は ActiveRecord::Base.pluralize_table_name=falseとすればモデルのクラス名とテーブル名を一緒にできる。また自分でテーブ…
ディレクトリ構造 libディレクトリは自分で作ったライブラリ、vendorディレクトリはサードパーティのライブラリを入れましょう。componentディレクトリについては詳しくはChapter17で、ってそんなん多いなぁ。 設定 実行時環境(development,test,production…
Railsに浮気している間にSeasar方面で動きが。最近静かだなぁと思っていたらこのためだったのか。 最新の技術を投入、Seasar 2.3 公開 - Persistence APIとJSFの実装も新たに ISID、Seasar2の商用サポートサービス - Seasarのビジネスモデルとは? NTTデータ …
12.5 TDD。ふつーにTDDの話。「コードは宿題なのでちゃんとやっとけよ!」って…、サボってやってません。12.6 テストをRakeでやるよ。いやぁ、いたれりつくせりだね。 rake test_units # モデルのテストを実行 rake test_functional # コントローラのテストを…
まずは、コントローラのテスト。ふつーに書けばいいみたい:-)。リクエストを発行するメソッドはこんな感じ。 get :index post :login, :user => {:name = 'enkimi', :password => 'enkimi'}で、アサーションはこんな感じ。 assert_response :success assert_…
秋元@サイボウズ研究所プログラマーBlogより それ反則っ! こうなったら「Web2.0」を恥ずかしい言葉にしてやるっ!
巷で話題のWeb2.0のフラッグシップ、先週の日経ビジネスでも取り上げられたgoogleなわけですが、1998年に他の検索エンジンに大幅に遅れて登場したときはまさかこんなになるとは思ってなかったよ。確かに他の検索エンジンがポータルを目指してごてごてと醜く…