タグ

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

  • UnicornとかRainbows!とかの話 : As Sloth As Possible

    随分長いことブログ放置してしまったのだけどネタ見付けたので久々の記事。 UnicornはPassengerより遅かった? なんかTwitterで「アクセス少ないときはPassengerよりUnicornのが速いのに、アクセス多くなってきたらその逆になった」って話をみかけたので、それ単にUnicornのworkerが足りないんじゃないの、と返したのだけど、どういうことかという話を少しまとめる。 まず、Unicornのworkerは1プロセスにつき1度に1リクエストしか処理しない。だから例えば、凄い大雑把な計算だけど、平均50msくらいでレスポンスを返すアプリだとすれば、1workerは20req/secくらいは返せるかなと見積もって、ピーク時に100req/secくらいアクセスがありそうだったらworkerを5個くらい立てとくかな、足んなかったらもうちょっとかな、みたいに考える。実際どんくら

    UnicornとかRainbows!とかの話 : As Sloth As Possible
    aereal
    aereal 2012/03/04
  • ちょっと見てて面白かったので : As Sloth As Possible

    なんか金縛りにあって眠れなくなったのでTwitter見てたら面白いやりとりをみかけた。すげー大雑把に要約すると、こんな感じ。 Railsの勉強をしてる人が「なんでHello worldしたいだけなのにDB必要なの!?DB使うにしたってMySQLなんか今必要じゃないしチュートリアルではSQLiteとかにしといてくれたっていいのに!プリプリ!」みたいな呟きをする 「いやRails使うんなら普通DB要るでしょ。なんでそこに文句言ってるの。」とツッコミが入る 「とりあえずチュートリアルは一番簡単なやり方書いといてくれた方が親切じゃないですか。」と反論 「いやだから、Railsを使うのに一番当たり前の構成を作るのにはどうしたらいいかがチュートリアルでしょ。それが必要ないんなら別なの、例えばSinatraとか使えばいいじゃん。フレームワークの特性も分からずに使っておいてチュートリアルがおかしいとか筋違

    ちょっと見てて面白かったので : As Sloth As Possible
    aereal
    aereal 2011/09/06
    RubyっていうのをつかうとかんたんにHello Worldできるでござるよ〜
  • ライブドア第五回テクニカル・セミナーで発表してきた : As Sloth As Possible

    「スマートフォンについて何か喋ってよ」というかなり大雑把なネタ振りをされたので、第五回ライブドア・テクニカルセミナーでこんな感じの話をしてきました。 140字で分かるfaultierの発表: 「iOSとAndroidは違うものだって認識しよう」「両方やってみたらどっちかが圧倒的に作り易いわけじゃなかった」「お前これやりたかっただけだろ http://bit.ly/e429B1」 #ldtech あとで動画や資料は公開されるはずですが、大変申し訳ないことにテンパりまくって見るに耐えない感じになっちゃってると思うので、一応何を言いたかったのかを補足しておきます。 iOSとAndroidは違うものだという話 開発環境の違いについてはまぁいいとして、例えばアプリの設計思想。iOSでは「まずアプリケーションという大きなプログラムがあって、その中で画面を表示したり通信したりしてる」って感じの構成になっ

    ライブドア第五回テクニカル・セミナーで発表してきた : As Sloth As Possible
  • @IT自分戦略研究所の記事と「ハチロク世代」の話 : As Sloth As Possible

    こないだ取材を受けた「「ハチロク世代」がIT業界を変える日 − @IT自分戦略研究所」という記事が先週末から公開されました。このブログから記事を見に行く人より、記事からこのブログに来る人のがずっと多いのと、あんまりこういうの慣れてないので照れちゃうから書かなくていいかな、と思ったのだけど、一応一言二言言っておきたいことがあるので書いておく。 「世代論」とか「IT業界」とか、どうでもいいのよね割と と言っても、記事の中でも色々言ったし、UKSTUDIOのブログを読んでもらえば言いたいことはほとんど言ってくれちゃってるので、付け足すこともそんなにない。なんというか、俺を含め件の記事に出てるメンツは「力こぶモリモリ作って"時代を変えるぞ、おー!"って叫んでる」空気ではないんだよね。良くも悪くも比較的ヌルい。少なくとも俺は好きなことやってたらこうなっちゃった、っていうのが近い。 こういう特集に載っ

    @IT自分戦略研究所の記事と「ハチロク世代」の話 : As Sloth As Possible
    aereal
    aereal 2010/06/21
  • GCDを試してみる : As Sloth As Possible

    Rubyと比べながらBlocksをいじってみたり、BlocksでNSArrayにmapメソッドを生やしてみたりしてきたので、そろそろGrand Central Dispatch(GCD)も試してみる。あんま関係ないけど、グランド・セントラル・ディスパッチってなんか必殺技っぽいよね。じゃあ一緒に高らかに叫んでみようか。せーの、グランド!セントラル!ディスパッチ!! GCDってなにさ ドキュメント嫁。 …だけだと流石に不親切なので、一応簡単に説明すると、APIを通してぽんぽん処理をqueueにつっこんでってやると、ランタイムの方でそれを上手いこと並列実行しといてやるよ!安心しろチェリーボーイ共、スレッドのことは俺が面倒見てやるぜ!って仕組み。そんな口調なのかどうかはわかんないけど、まぁ大体そんな感じ(適当)。 例によってRubyと比較 まぁ、こんなコードがあったとします。 # ruby f =

    GCDを試してみる : As Sloth As Possible
    aereal
    aereal 2010/05/16
  • BlocksでNSArrayにmapメソッドを生やしてみる : As Sloth As Possible

    RubyエンジニアのためのObjective-C Blocks入門に引き続き、Blocksネタ。そっちの記事ではBlocksはクロージャ的ななにかだって言ってるのに単なる関数ポインタみたいにしか使ってなかったので、せっかくなのでクロージャ的に使ってみる。 eachできるならmapも欲しい -[NSArray enumerateObjectsUsingBlock:]を使えば、Array#each相当のことができるとこまでは前回の記事でできた。そうすると、Array#map相当のこともNSArrayにさせられるはず。例えばこんなの。 # ruby array_a = %w(ひたぎ 真宵 駿河 撫子 翼) array_b = array_a.map {|x| "#{x}が可愛過ぎて生きるのが辛い" } Rubyistには説明の必要もないと思うけど、Array#mapが何をしてるかというと、 1引

    BlocksでNSArrayにmapメソッドを生やしてみる : As Sloth As Possible
  • 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
  • Text::MicroTemplateで遊ぶ : As Sloth As Possible

    こないだ言ってたPlackアプリのサンプルでは、出来るだけ普段使ってない構成にしようと目論んでて、そのために例えばテンプレートエンジンにはText::MicroTemplateを使ってみたりしている。 Text::MicroTemplateはシンプルで軽くてなかなか良かった。ちなみにこんな感じで使う。 use Text::MicroTemplate qw(:all); my $html = render_mt('Hello, <?= $_[0] ?>', 'faultier')->as_string; でもファイルから読みたいよねーそれ実装しなきゃなのかなーとか思ってたらちゃんとText::MicroTemplate::Fileってのがあって、こっちを使えばキャッシュも使ってくれるしラッパーの機能とかもあるしで素敵だ。 ?# hello.mt Hello, <?= $_[0] ?> use

    Text::MicroTemplateで遊ぶ : As Sloth As Possible
    aereal
    aereal 2009/11/16
  • 告白されたときの正しいステータスコードの返しかた、読みかた - As Sloth As Possible

    今日は秋らしいよいお天気だったので、それとは特に関係なく今日も今日とてぼーっとディスプレイに向かっていたところ、こんな記事を見付けた。 勇気を出して告白! その返事で覚えるHTTPステータス・コード あらあらまあまあ。なんだか俺、この記者の方にシンパシーを覚えるよ。 この手のネタは大好物なのだけど、404はお断りの返事ちゃうやん、てか断り方だけでも何パターンもあるんやで、とうずうずしてきたので便乗して考えてみることにした。例によって400系レスポンスに偏ってるのはお約束。しかたないよねー。告白のレスポンスなんて受けとる方でも返す方でも400系しか知らないもん。ごめん嘘だ。503(「お前当にタイミング悪いな」)返したことある。再リクエストはありませんでした。200?ああ、そんなステータスコードもありましたね。おいしいのかな。使ってみたいです。 (予想外に反響があったので追記)見ての通り全部

    告白されたときの正しいステータスコードの返しかた、読みかた - As Sloth As Possible
    aereal
    aereal 2009/11/03
    304 Not Modified => 「まだあなたに対する気持ちは変わってないの」 / 取りこまれていてワロタ
  • 1