タグ

ブックマーク / memo.yomukaku.net (3)

  • Rubyのmoduleをmix-inする際のincludeとextendの違いをシンプルな例で理解する

    Rubyのclassにmoduleをmix-inする場合に、moduleをclassにincludeした場合とclassをmoduleでextendした場合で何が違うのか? よく判らなくなるのでシンプルな実例でまとめます。 「モジュールがクラスメソッドではなく、インスタンスメソッドを定義しているとき、これらのインスタンスメソッドは、ほかのクラスにミックスインできる」(「プログラミング言語Ruby」261ページ)とあります。そして「モジュールをミックスインするための通常の方法は、Module.includeメソッドだが、Object.extendを使う方法もある」(同262ページ)となっています。includeとextendで何が違うの? となり、時どき理解の足りない書き方をしてNoMethodError: undefined method...のような例外をだしてしまうことがあります。そこ

  • Rubyで相対URLを絶対URLに変換する方法 - URI.join(base, relative_url).to_s - memo.yomukaku.net

    Rubyで/barや../fooのような相対URLをhttp://example.com/foo/barのような基準のURLと比較してhttp://example.com/barのような絶対URLに変換する方法を書きます。Rubyで相対URLを絶対URLに変換するにはURIのjoinメソッドを使用します。 URI.join(base, relative_url).to_sのように使います。 以下に例として、http://www.example.com/foo/barを基準としてさまざまな相対URLを絶対URLに変換するコードを書きます。 require 'uri' page_url = 'http://www.example.com/foo/bar' hrefs = %w[ http://example.com/ http://puu.example.com/ http://www.exa

  • TorとVidaliaをMac OS X 10.8 Mountain Lionにインストールする - memo.yomukaku.net

    Torを使用すると接続経路を匿名化することができます(通信内容は秘匿化されないため、秘匿にしたい場合は別途の暗号化が必要です)。  一年半程前に「TorをMac OS Xで使用する方法(vidaliaとPolipoの設定)」http://memo.yomukaku.net/entries/183という記事でMac OS X 10.6 Snow LeopardにTor、VidaliaとPolipoをインストールして動作させるための記事を書きました。 Mac OS Xも10.8にバージョンが上がり、TorとVidaliaもそれぞれ0.2.2.37と0.2.19にバージョンが上がったため、あらためてMac OS X 10.8 Mountain LionにTorとVidaliaをインストールして接続経路を匿名化する方法について書きます。TorとVidaliaのダウンロードとインストール Torのダ

  • 1