タグ

ブックマーク / wota.jp (7)

  • ヽ( ・∀・)ノくまくまー(2005-07-13) 優しいRailsの育て方 キャッシュ機能(caching)

    ● キャッシュ機能(caching) Railsには Page, Action, Fragment という3段階のキャッシュ機能が備わっている。tDiaryを使っていても思うが、修正よりも参照の方が圧倒的に多いコンテンツで毎回cgiで同じコンテンツを吐くのは無駄だなぁ。でもキャッシュを自分で用意するのは面倒だし、フレームワークかWebサーバがやってくれたらなぁ。Railsはそんなかゆい所にも手が届く、Web開発界の万能戦艦ノーチラス号なんです。 Page: アクション(CGI)の出力を丸ごとHTMLファイルとして保存し、静的コンテンツとして利用 Action: Pageと同じく全体を保存するが、コンテンツを表示する前に ActionController で filter 操作可能 Fragment: アクション全体の出力でなく、テンプレート描画の一部分のみをキャッシュ可能 caching

    bojovs
    bojovs 2012/01/06
  • ヽ( ・∀・)ノくまくまー「habtm と has_many(ActiveRecord)」

    ● [Rails] habtm と has_many :through (ActiveRecord) habtm は多対多の関係にある2つのモデルを表現するときに非常に便利です。 テーブル (habtm)

  • Scalaチートシート (via 「Scala開眼」) - ヽ( ・∀・)ノくまくまー(2010-05-02)

    ● [Scala]「Scala開眼」が凄い件 Scala の深い部分を検索すると必ずヒットするサイト 「Scala開眼」 http://www.h7.dion.ne.jp/~samwyn/Scala/scalaindex.htm が凄すぎる。この人は何者なの?文章を少し読むだけで只者じゃないことがわかる。一言にすれば天才。 Scalaへの深い理解を持ち 多方面の膨大な背景知識を武器に 圧倒的な概念の整理力と 優れたワードセンスと表現力で 体系的に形式的にScalaを説明している 特に、凡人なら10行くらいかけてグダグダ説明しそうなものを、片っ端から漢字2文字ぐらいの言葉で簡潔かつ的確に表現(説明)していくその姿には畏敬の念すら感じる。入門書だけでは「Unit型」が結局何なのか理解できずにモヤモヤとしていたのだが、このサイトには概念の理解を最優先にする姿勢が見え、誤解を恐れない直球な説明に鼻

    bojovs
    bojovs 2010/05/05
  • RubyからScalaに乗り換えた15くらいの理由 - ヽ( ・∀・)ノくまくまー(2010-04-26)

    ● [Scala] RubyからScalaに乗り換えた15くらいの理由 [注意] この文章を読むと、既存のRubyコードをScalaでrewriteしたくなる、 Rubyコードで型チェックをやるのがになる、Ruby案件でやる気が出なくなる、 などの幻覚や異常行動が報告されています。 現在関わっているプロジェクトや家族のことを常に意識し、 気を強く持って冷静に読むとよいでしょう。 「Scalaプログラミング入門」を読みはじめて、いきなり大きく頷いてしまった。 "コーディング時間の半分をテスト作成に費やさなければならなかった"(p.3) "Railsによって得られた生産性の向上は、テスト作成の作業に失われてしまいました"(p.3) まさにここ数年私が抱いてた漠然としたストレスの正体が、的確に文章となっていたからだ。そしてほどなく、「あ、この機能がRubyに欲しかった!」という驚きと共に Sc

  • 簡単で完璧な阻止率100%のスパム対策の実装について - ヽ( ・∀・)ノくまくまー(2010-04-01)

    ● 簡単で完璧な阻止率100%のスパム対策の実装について 日々増大する中国からのスパムアクセス。全てのWebサーバ管理者が悩まされていると言っても過言ではないだろう。これを低コストで完璧に排除する活気的な方法を思いついたので、以下に提案する。キーワードは「発想の転換」である。 ブラックリスト方式 (DNS) 中国からのアクセスを弾くために という排除方法を考えてみる。この場合、問題が2つある。 効率性 (HostNameLookups on にする必要がありパフォーマンスが悪い) 完全性 (全ての中国IPが .cn のDNS付与されているわけではない) 1の速度面を我慢したとしても、「中国で利用されているホスト情報」というブラックリストが定義不能であるため、この方式は完全ではない。 ホワイトリスト方式 (DNS) 発想を逆にして、ホワイトリストを定義してみる。話を簡単にするために、もう大雑

  • MongoDB : C++ で書かれた高速なドキュメント指向DB - ヽ( ・∀・)ノくまくまー(2009-07-02)

    require 'rubygems' ###################################################################### ### ActiveRecord (PostgreSQL) require 'active_record' ActiveRecord::Base.establish_connection(:adapter=>"postgresql", :database=>"jpop", :user=>"maiha") module PG class Song < ActiveRecord::Base # Indexes: "index_songs_singer" btree (singer) end end # p PG::Song.count # => 64482 ##############################

  • 本当は怖い家庭の Rubygems - ヽ( ・∀・)ノくまくまー(2009-06-04)

    ● [Ruby] 当は怖い家庭の Rubygems /usr/bin/* を勝手に荒らされるという話。今気付いただけので、ガイシュツなら無視してOK。 詳細 パッケージのディレクトリに、 とか書いておけば、その gem ファイルをインスコしちゃうと、無条件、無確認で /usr/bin/ls を上書きするのね。 gem のインスコなんてフツー root でやるし ギッハブにあるよく知らない野良 gem でも躊躇せずインスコしてるし Rubygems のセンスのなさは世界が認めるところだけど、このセキュリティ感覚は異常じゃね?俺が知る限り、これは世界一楽なバックドア仕込みフレームワーク。 使い方間違い? いやいや。もしかしたら、作者に言わせれば、 それはお前の使い方間違いだよ bin/* をチェックしてからインスコしろよ あと、野良とか入れんなよ てことなのかもしれないが、bin/* のチェ

  • 1