タグ

ブックマーク / faultier.blog.jp (6)

  • RubyでMongrel2のハンドラを書いてみる : As Sloth As Possible

    こないだ、と言っても2週間くらい前の話なんだけど、社内でZeroMQとMongrel2の勉強会をやった。Mongrelと言えば、俺がRails(たしか当時1.2くらいだったと思う)で仕事してた頃にアプリケーションサーバとして使ってたけど、最近だとThinとかPassengerとかUnicornとかの人気に押されてついぞ聞かなくなったアレだよなぁ、なんでPerlの会社の勉強会でMongrelなんだろう、と思ってたんだけど、Mongrel2はもはやRailsのアプリケーションサーバじゃなくて、通信にZeroMQなるものを使った汎用的なWebサーバになってたらしい。 大分野心的なプロジェクトではあるものの、今はZeroMQもMongrel2も「とりあえず出た」って感じらしく、今年一杯くらいは地雷原を突き進む気がある人だけ触るといいんじゃないかなという話だった。プロダクションで使うようなレベルにな

    RubyでMongrel2のハンドラを書いてみる : As Sloth As Possible
    asip
    asip 2010/09/18
  • RubyエンジニアのためのObjective-C Blocks入門 - As Sloth As Possible

    書こう書こうと思ってたけど忘れてたのを、PerlエンジニアのためのObjective-C Blocks入門を見て思い出した。すいませんタイトルは便乗です。 試しに書いてみる Blocksってのが何者なのかはさっきの記事なりAppleのドキュメントなりを見てもらえばいいと思うんですが、まぁウケが良さそうなので付けたタイトルにのっとってRubyと比較してみる。 f = lambda {|x| puts "#{x}のこと以外は何も考えられない" } f.call("うどん") void (^f)(id) = ^(id x) { NSLog(@"世界の全てを敵に回しても、僕は%@の味方だ", x); }; f(@"うどん"); なんだ、そっくりじゃない。似てる似てる。 上がRuby版、下がObjC版。下は普通引数にはNSString*とかを使うと思うけど、まぁRuby版と挙動を合わせるためにidに

    RubyエンジニアのためのObjective-C Blocks入門 - As Sloth As Possible
  • nginxとUnicornでRackアプリを動かす : As Sloth As Possible

    どうやらUnicornというのが良いらしいという噂を聞きつけたので、どんなもんじゃろと試してみることにした。 Route 477 - 大規模Railsサイトのための新しいHTTPサーバ、Unicorn Unicornてのは何者なのかと言うと、Rack及びRailsに対応したRubyのWebアプリ用のHTTPサーバ。詳しくは上の記事を読んで下さい。githubでも使ってるそうだ。あと、名前が格好良い(あんまり関係ない)。 まずはunicornの設定 と言っても、gem install unicornしてconfig.ruがあるディレクトリでunicornコマンドを叩けば、thinとかと同じようにサーバが起動する。rackup互換のオプションも付いてるので特に悩むこともないと思う。あとは普通にApacheとかでプロキシの設定してやるなりなんなりすればすぐ使える。 それだけだと大して面白くないの

    nginxとUnicornでRackアプリを動かす : As Sloth As Possible
  • requireとincludeとextendとmodule_function(1) : As Sloth As Possible

    Rubyで自作の外部モジュールを読み込む方法 - include と extend と module_function - (゚∀゚)o彡 sasata299's blogを読んでて、もしかしたらちょっと誤解があるのかなと思ったのでrequireとincludeとextendの話を。 requireはKernelモジュールのメソッド Rubyで外部ライブラリを読み込むには、require を利用します。 Rubyで自作の外部モジュールを読み込む方法 - include と extend と module_function - (゚∀゚)o彡 sasata299's blog これはその通り。もっと具体的に言うと、requireは引数のファイル名のRubyファイルを読み込んで実行するメソッドです。引数が絶対パスだったときはそのファイルを、そうでない場合はロードパスを優先順位上位から辿って最初

    requireとincludeとextendとmodule_function(1) : As Sloth As Possible
    asip
    asip 2009/06/21
  • PassengerでRackアプリを動かす : As Sloth As Possible

    昨日のネタではRackで簡単なアプリを作ってそれを複数立ち上げたThinで動かしつつ、表のApacheからmod_proxy_balancerで適当にプロキシしてやるって構成にした。Railsとかでもよくやるので慣れてるし、扱い易いので好きな構成だ。 ただ、今回の遊びでちょっとやってみたかったけことがある。何かというと、Passengerの導入。mod_railsとかmod_rackとか呼ばれてるアレ。スタンドアロンのサーバではなくてApacheやnginxに組み込んで使うタイプで、パフォーマンスもそれなりに良いし使い易いという話を聞いてたので気になってはいた。でもRails使わなくなってからなかなか試してみる機会がなかったので、この際ついでだ、とやってみることにした。 設定は簡単 インストールについてはPassengerのページでも見てもらうとします。別に何のことはない、gemからインス

    PassengerでRackアプリを動かす : As Sloth As Possible
    asip
    asip 2009/05/11
  • LLVMを勉強中 : As Sloth As Possible

    ここ数日、LLVMについて少し勉強している。そもそもなんでLLVMを触り始めたかというと、Twitter上で「今コンパイル欲求に駆られている」と(割と何も考えずに)つぶやいたところ、 「じゃあDTコンパイルしようぜ」 srd! でもあれコンパイラとは名ばかりでぶっちゃけ文字列をRubyコードにtranslateしてるだけだったりするね 「DTパーサを改良してLLVMにブリッジして、クロスプラットフォーム環境で高速に動作するDT処理系にするといいよ」 何その無駄に敷居高いお仕事!誰得!でもなんか面白そう! というやりとりがあって、じゃあ当に誰が得するのかわからないけど面白そうだからLLVMをバックエンドで使ってesotericがサポートしてるコードからバイナリを生成するコンパイラ作ろうぜ、という流れになったから。実にLLVMの無駄遣いですね。この記事ブクマするときは「LLVMの無駄遣い」っ

    LLVMを勉強中 : As Sloth As Possible
    asip
    asip 2009/04/14
  • 1