タグ

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

  • 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) 発想を逆にして、ホワイトリストを定義してみる。話を簡単にするために、もう大雑

  • 優しいMerbの育て方 - ヽ( ・∀・)ノくまくまー(2008-12-02)

    ● [Merb] Extlib Ruby をより便利に、あるいは暗黒的に使うために、誰もが基classを拡張したことがあるだろう。その中で、フレームワークが利用するレベルになると、汎用的な拡張ライブラリとして gemgithub で公開されることが多い。Rails であれば ActiveSupport が有名であるが、Merb では Extlib というライブラリを利用している。 なぜActiveSupportを使わないの? Merb は最低限で動くから ActiveSupport すら必須ではない!みたいな売り文句にしておきながら Extlib を裏で使ってたら卑怯じゃね?朝三暮四じゃね?という気もするが、ActiveSupport は太りすぎていてロードにすら時間がかかるのも事実。 % irb -r rubygems irb(main):001:0> start = Time

  • ヽ( ・∀・)ノくまくまー(2007-03-23) DB勉強会 〜 大規模ソースコードの読み方 〜

    ● [Rails] DB勉強会 〜 大規模ソースコードの読み方 〜 内輪で集まってDB与太話をやるのかと勝手に想像していたら、ミラクル・リナックスのCTOの吉岡さん(参考1)がいらっしゃって軽く引いた(いい意味で)。前半は吉岡さんのプレゼンで「大規模ソースコードの読み方」。動的なソースコード解析で役立つ profiler や tracer の紹介が勉強になった。これらを使うと、ソースコードを全く読まないどころか、そのアプリケーションを初めて使った場合でもすぐにボトルネックを見つけ出すことができるらしい。実際、Ruby歴3時間の吉岡さんがgc.cのボトルネック解消パッチを作れたとか。(参考2)。素晴らしい。後半はDB周りの雑談から殆どがRailsネタに。吉岡さんすいません。 ● メモ printf デバッグは有益無害 基は -g でコンパイルしてgdbで実際に実行しながらソースコードを追う

  • 从 ;’w’;)クゥ〜ン(2007-02-26) - [ruby] OpenCV

    画像の顔認識は5年くらい前に一度チャレンジしてあまりの遅さに1日で挫折したことがあったけど、この OpenCV は精度と速度ともに申し分ない。解説サイト(参考4)によると、よくある顔のパーツからの認識ではなく、Local Context というアルゴリズム(?)を使ってるようだ。 手法認識方法

  • (2007-01-29) (舞波が良く使うプラグイン)

    ● [Rails] グランドリファクタリング 会社で1年前に凍結されたプロジェクトが再始動したのだが、この業界で1年前の技術は既に過去であることを実感した。 Rails自体の問題 (1.0 時代は機能的に貧弱。Cascaed Eager も RJS もないとか) プラグイン環境の充実 (便利なプラグインが現れ日々便利になっている) テーブル設計の問題 (7NFとか考えてると has_many 連発はありえない) 3 は個人的な問題に寄る所であるが、当時はまだ道具(Rails)的に他に選択肢がなかったのも大きい。 ● 修正項目 ということで、1年前の Rails アプリを見て手直ししたくなる項目ベスト5。 テーブル設計 権限管理 1はやはり流行りの三テーブル構造で。関係テーブルをどんどん挟んでエンティティを疎な関係に保ちたい。テーブル数は多くなるけど気にしない。というか、既に100個以上はあ

  • ヽ( ・∀・)ノくまくまー(2005-08-17) Migration

    ● [rails] Migration データベースのスキーマ(変更)を管理する機能です。もれなくこんな特典がついてきます。 運用環境でアプリケーションのバージョンを上げるときに、スキーマ変更の漏れがなくなる。 共同開発者がいる場合、rake 一発で自分のところにスキーマ変更を反映できる。(svn update と rake migrate はワンセット♪) バージョンコントロールされるので、Migrationで管理している任意の時点のスキーマに戻すことが可能。 スキーマ変更は ActiveRecord::Migration のサブクラスを作って定義します。リビジョン管理していますので、各バージョン毎に1つのクラスを追加することになります。そのクラスの中で定義した up, down というクラスメソッドの内容が、それぞれアップグレードとダウングレード時の処理として実行されます。Rails

    tks_period
    tks_period 2006/06/21
    Migrationの説明。
  • Htpasswd Plugin ヽ( ・∀・)ノくまくまー(2006-05-25)

    ● [Rails] 簡単な認証機能が欲しい (#2) http://wota.jp/ac/?date=20060521#c 神キターーー!! /ヽ       /ヽ   /  ヽ      /  ヽ  /     ヽ__/     ヽ    ┏┓  ┏━━┓     /               \   .┏━┓ ┏┛┗┓┃┏┓┃    /       \     /   |   .┃  ┃ ┗┓┏┛┃┗┛┃┏━|      >      < |━┓┃  ┃ ┏┛┗┓┃┏┓┃┃  |.         (__人__)   |  ┃┃  ┃ ┗┓┏┛┗┛┃┃┗━ヽ         \/   / ━┛┗━┛ ┃┃      ┃┃   /               \   ┏━┓ ┗┛      ┗┛  /         ̄ ̄ヽ / ̄  ヽ .┗━┛ .ヽ_______/

    tks_period
    tks_period 2006/06/21
    Rails Basic認証プラグイン
  • LiteSpeed

    (注意: 印はくまくまー調べなので鵜呑みにしてはいけません) [開発] Apache上での開発はまず無理である。WEBrick は Ruby標準な上に最低限の機能・スペックは満たしているので未だに愛用者は多く、Rails初学者には十分である。WEBrickの速度に限界を感じたユーザは Lighttpd(愛称 lighty)を利用する。速度も十分でや設定も容易だが、起動時の引数でポートを指定できないなど若干使いづらい面もある。lighty ユーザは Mongrel に進むという予言もある。 [運用] Webサーバのデファクトはやはり Apache で、Rails的には生CGIは無理だが、FastCGIなどのモジュールと併用することで速度的な問題はなくなる。RailsはLighttpdなどの開発向けのサーバで動かし、リバースプロキシを利用する手もある。完全に Rails のみで運用されるサイト

    tks_period
    tks_period 2006/06/07
    非常に分かりやすいまとめで有り難いです。多謝。
  • Scaffold の日本語化

    ● 特徴 日語化された scaffold 生成物を作成可能 config/localize.yml によって上記の日語部分を変更可能 $KCODE に応じて utf8/euc/shift_jis/jis/C 用の設定ファイルを準備 db/localized/TABLENAME.yml によってフィールドを日語表記可能 (ActiveHeart と同じ機能) View 毎に非表示にするフィールドを指定可能 Layoutに charset を入れてくれる show と edit 時にテーブル表示してくれる confirm_scaffold を取り込み(無許可) ● 使い方 プラグインを配置 vendor/plugins/jascaffold にこのツールを置く。 DB設定 scaffold 同様、テーブルのスキーマ情報が必要なので、先にDBを準備する。(config/database.y

  • 1