タグ

ブックマーク / blog.hacklife.net (8)

  • 満足せる豚。眠たげなポチ。:オブジェクト指向で継承は使うべきではない?

    DB Magazine 10月号(古!)の『柔軟なシステムを作成するためのC♯によるオブジェクト指向開発の実践』という記事で、少し気になる記述があったので、ちと書いてみます。 「なお、継承は、ポリモーフィズム(多態性)を利用するときのみ使用するのが基となっている。」 「オブジェクト指向による設計では、既存クラスを継承することはあまりない。」 ということで、たしかにJavaやC#によるプログラミングでは委譲によって実装の再利用を行うことが定石となっています。継承はポリモーフィズムのための手段でしかないのかもしれません。記事はC#に関するもので、その意味では問題視するほどの記述ではありません。ただ、これだけ言い切られてしまうと、オブジェクト指向入門的な内容とも相まって誤解する人が増えるのでは、と気になりました。 当に「継承は悪で、委譲は正義」なのか? これは言語の制約によるものです。ここで

    jjzak
    jjzak 2008/08/21
    [][][lisp][ruby][mixin]
  • 満足せる豚。眠たげなポチ。:Rolling on Ruby on Rails - Japanese Translation - p1

    見知らぬ極東のRubyistへ丁寧で親切な対応をしてくれたCurtとONLamp.comへ最大級の感謝を込めて。 元記事はこちら。(You can read the original article from here!) nak2kさんからのご指摘で、リンク先を修正しました。'Seeing is Believing'の箇所の表記を修正してみました。どうもありがとうございました。 kdmsnrさんからの情報で、リフレクションによるRailsの自己解析の辺りの話が理解できました。文章修正しました。どうもありがとうございました。 おおやさんからのご指摘で、ideaに関する訳を修正しました。どうもありがとうございました。 匿名希望さんからのご指摘で、家でのedit.rhtmlのコードへの修正を反映しました。どうもありがとうございました。 2008.7.28 追記 Rolling with Ru

  • 満足せる豚。眠たげなポチ。:[Ruby] テーブルっぽいデータをシンプルにソートする

    Ruby でテーブルっぽいデータを任意の項目でソートしたいときの Tips 。こんなやり方できんのね。 a = [ {:id => 4, :name => "abcde", :value => 50, :tag => "zzz"}, {:id => 3, :name => "abcde", :value => 50, :tag => "zzz"}, {:id => 3, :name => "abcde", :value => 30, :tag => "zzz"}, {:id => 2, :name => "abcde", :value => 50, :tag => "zzz"}, {:id => 2, :name => "bbcde", :value => 50, :tag => "zzz"}, {:id => 1, :name => "abcde", :value => 50, :tag

  • 満足せる豚。眠たげなポチ。:[Ruby] Ruby on Rails を手動でインストールするには。

    企業や学校などでRailsをインストールする場合、ProxyやGroup Policyなどの環境に依存し、RubyGemsによる自動のリモートインストールが失敗することがある。 このような場合もローカルへRailsの依存ファイルをダウンロードし、RubyGemsのlocalオプションを使うことでRailsをインストールすることができる。 手順は下記のとおり。 rake のインストール Rails の依存ファイル群をダウンロード ページ左側のTGZ/Zip releases から'.gem'ファイルをダウンロードする。 ・Rails ・Active Record ・Action Pack ・Action Mailer ・Active Support ・Action Web Service RubyGemsを使い、下記の順にインストール gem install activesupport --

    jjzak
    jjzak 2007/02/14
    -pで良いらしい。単純にProxyのせいでRailsがインストールできない場合は、手動でインストールせずに以下のコマンドで一括インストール可能。gem install rails -p http://proxy.url:port環境変数でhttp_p
  • 満足せる豚。眠たげなポチ。:コンソールアプリケーション用 Ruby フレームワーク SimpleConsole を使ってみた

    Ruby の用途が、 業務アプリをばりばり開発! とかではなくて、 仕事をするなかでちょっと困ったり面倒だったりするときのツール という位置づけな自分にとって、書いているコードはいくつかオプションを指定してコンソールで走らせてやれば終了するようなものがほとんどを占めている。 そうすると、かなり毎度同じような内容を書いていたりして、DRY じゃないなー(けど、自分しか使わないようなのが多いし、ま、いっかー)と感じていた。 そうこうするところに、SimpleConsole というコンソールアプリ用のフレームワークの紹介を読み、「これで解決するんでない?」と期待を持ったので試してみることにした。 SimpleConsole って何? 紹介をざっと読む限りだと、SimpleConsole は、 オプションの解析とバリデーションを自動でやってくれる Controller と View を簡単に作成

    jjzak
    jjzak 2006/12/20
    コンソールアプリケーション用 Ruby フレームワーク SimpleConsole
  • 満足せる豚。眠たげなポチ。

    たまに手抜きで使うコードをなんとなく載せてみる。テンプレート使いたいんだけど、ちょっとしたスクリプトだしそもそも ERB の API どんなんだったか覚えてないし、リファレンス引くのもちょっとした手間だし。てなときに使ってる。(ERB くらい覚えろよ。という話もある。覚えてもすぐ忘れるんだよなぁ。) sample_template = Proc.new do |param1, param2| %Q! とまぁこんなかんじで始まったわけですが、 この辺はぜんぶテンプレートなんですね。 だから、どんな風に何を書こうが自由なんです。 パラメタについても記法に迷うことなく いつもの形で出力することができます。 たとえば、 #{param1} こんな風に。 文中にあっても#{param2}なんだか見慣れた形式で安心です。 かんたんですね。 !.lstrip end # 使うのも簡単。API を調べたり

  • 満足せる豚。眠たげなポチ。:もっとPathname。

    川o・-・)<2nd lifeさんで、Pathnameの話題が出てましたね。 ぼくもdaigoさんのRedHandedでの紹介を見てからすっかりPathnameの虜です。一度使うと離れられないです。 Pathnameファンとしては、このあたりもおすすめ。 mkpath find rmtree 使い方はこんなかんじ。 Pathname.mkpath Pathname.new('/tmp/foo').exist? # => false Pathname.new('/tmp/foo/bar/hoge').mkpath # => 上位のディレクトリも自動的に生成 Pathname.new('/tmp/foo/bar/hoge').exist? # => true Pathname.new('/tmp/foo').exist? # => true

  • 満足せる豚。眠たげなポチ。:Pathname で遊んでみる

    require 'pathname' class Pathname def /(path) self + path end end def method_missing(name, *args) name.to_s end root = Pathname.new '/tmp' root/foo/bar # => #<Pathname:/tmp/foo/bar> (root/bar/foo).parent.children # => [#<Pathname:/tmp/foo/bar>, #<Pathname:/tmp/foo/baz>]

  • 1