タグ

ブックマーク / blog.mirakui.com (12)

  • チーム白金動物園としてISUCON13に参加しました - 昼メシ物語

    結成たぶん10年くらいのチーム白金動物園(mirakui, sorah, rosylilly)として ISUCON 13 に参加してきました。ここ数年はなんだかんだ運営側であることが多かったので、いち選手としては随分久しぶりな気がします。 結果は694チーム中18位で、最終スコアは 103,838 でした。 ISUCON13 受賞チームおよび全チームスコア : ISUCON公式Blog 優勝経験のあるチームとしては満足のいく結果ではありませんが、Rubyを使ったチームの中では一番スコアが高かったようです。 上位30チームに限定すると以下となりました Go   29組 96.7% Ruby   1組   3.3% ISUCON13 利用言語比率 : ISUCON公式Blog この1組が我々です。 あとLINEヤフー社が提供してくださった会場に入場した順では僕が1位を取りました。 ISUCON

    チーム白金動物園としてISUCON13に参加しました - 昼メシ物語
  • 不要なメルマガ広告はspamフォルダではなく配信拒否(オプトアウト)しましょう - 昼メシ物語

    一般にspamと呼ばれる電子メールには2種類あります。オプトイン(配信承諾)して受け取ったメールと、オプトインしてないのに届いたメールです。 この記事は、インターネット全体の利益を考えるなら、オプトインして受け取ったメール広告を迷惑に感じたら、spamフォルダに入れて放置するのではなく、配信拒否(オプトアウト)するべきであることを促すものです。 (追記:なお、お肉のほうのスパムは大文字のSPAMで、迷惑メールのほうは小文字でspamと書くそうです。コメントありがとうございます) オプトインとオプトアウト あなたがメールを受け取る意思を表明することを、オプトインと呼びます。 反対に、「このメールは受けとりたくない!」という意思を表明することを、オプトアウトと呼びます。 例えば、楽天などのネットショップで買い物をした時に、「メールマガジンに登録する」というチェックボックスがあったとします。これ

    不要なメルマガ広告はspamフォルダではなく配信拒否(オプトアウト)しましょう - 昼メシ物語
  • WEB+DB PRESS vol.70に「実践Rails高速化」を寄稿しました - 昼メシ物語

    技術評論社の紹介ページ: http://gihyo.jp/magazine/wdpress/archive/2012/vol70 WEB+DB PRESS vol.70 に「実践Rails高速化」という特集記事を寄稿しました。 記事は40ページで、内容はこんな感じです。 第1章 Rails は遅いのか イントロです。 第2章 遅いコードの特定 Railsアプリをプロファイリングする方法です。 第3章 Rails キャッシュ機構の活用 Railsのキャッシュ機能は色々あってややこしいのでまとめてみました。 第4章 ActiveRecord の高速化 へんな使い方をしてスロークエリを出さないように気をつける方法などです。 第5章 HTTP レイヤの高速化 ETagちゃんとしろみたいなことを書きました。Asset Pipelineについても書いてあります。 第6章 高速 Unicorn サーバの

    WEB+DB PRESS vol.70に「実践Rails高速化」を寄稿しました - 昼メシ物語
  • ActiveRecordが発行するSQLをフックして色々やるためのライブラリArproxyを公開しました - 昼メシ物語

    https://github.com/cookpad/arproxy http://rubygems.org/gems/arproxy これは何? Arproxyを使うと、ActiveRecordが発行したSQLDB Adapterによって実行される直前をフックすることができます。これによって、カスタマイズしたクエリログを出力したり、どこからクエリが発行されたのかをトレースしたりすることができるようになります。 Arproxyでは、DB Adapterのフック処理を以下のように定義します。これはクエリが実行されるたびにバックトレースを出力する例です。*1 class QueryTracer < Arproxy::Base def execute(sql, name=nil) Rails.logger.debug sql Rails.logger.debug caller(1).join(

    ActiveRecordが発行するSQLをフックして色々やるためのライブラリArproxyを公開しました - 昼メシ物語
  • #RubyKaigi 2011で気になったgem 13選 - 昼メシ物語

    Rubyist達の夏フェスであるところのRubyKaigiが今年も開催され、猛暑の練馬が大いに盛り上がりました。今回が最後の開催とのことで、関係者各位は素晴らしい会議を当にどうもありがとうございました。 さて、今年のRubyKaigi2011での各セッションで紹介されたgemのうち、気になったものをピックアップしてみました。 1. fakeweb fakewebは、指定したURLのHTTPレスポンスを偽装する、テスト用のライブラリ。外部サービスと連携するプログラムのテストを書くにはとても便利ですね。 Engine YardのAndy Delcambre氏による「Toggleable Mocks and Testing Strategies in a Service Oriented Architecture」という発表で紹介されました。 以下、サンプルコードです。(READMEより) F

    #RubyKaigi 2011で気になったgem 13選 - 昼メシ物語
  • 2枚の画像のdiff(差分)を超簡単に調べる方法 - 昼メシ物語

    Githubで画像の差分を見られるモードが話題を呼びましたが、このように2枚の画像の差分を調べたいときって時々ありますよね。 そんなときImageMagickのコマンドラインツールを使えば、たった1行で実現できます。 $ composite -compose difference A.jpg B.jpg diff.jpg とすれば、A.jpg と B.jpg の差分画像 diff.jpg が作られます。この差分画像は以下のようになります。 さらにこの差分画像(diff.jpg)が「真っ黒な画像」かどうかも、コマンドラインで調べることができます。 # 差分がなかった場合(=diff.jpgは黒一色の画像) $ identify -format "%[mean]" diff.jpg 0 # 差分があった場合 $ identify -format "%[mean]" diff.jpg 960.8

    2枚の画像のdiff(差分)を超簡単に調べる方法 - 昼メシ物語
    Watson
    Watson 2011/03/27
  • 本当は速いImageMagick: サムネイル画像生成を10倍速くする方法 - 昼メシ物語

    一般的に ImageMagick のサムネイル画像生成は遅いとされており、パフォーマンスが求められるシーンでは Imlib2 などのより高速な画像処理ライブラリが使われることが多いです。 Imlib2 の高速さについては、以前「Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成 - 床のトルストイ、ゲイとするとのこと」という記事で紹介しました。この記事のベンチマークにおいて、Imlib2 によるサムネイル画像の生成は、 ImageMagick の3倍程高速でした。 しかし、 ImageMagick は Imlib2 より画質がよく、高機能で使いやすく、今も頻繁にメンテナンスされており、とてもよく出来ています。その点 Imlib2 は、2004年からメンテナンスされておらず、セキュリティホールが見つかっても、各Linuxディストリビューションがそれぞれパッチを当て

  • ruby-profとKCacheGrindでプロファイル野郎になる - 昼メシ物語

    速さが足りない!!!!! そんな時はプロファイリングの時間ですね。 Rubyには標準添付ライブラリとして profile というプロファイラがついてくる。でもこのライブラリはあまりに遅すぎて実用に耐えないから、多分誰も使っていない。ほとんどのRubyistは ruby-prof を使っていることだろう。 今回はこの ruby-prof を使って Ruby プログラムのプロファイリングする方法を紹介する。 計測する(ruby-prof) ruby-profはrubygemsで簡単に入る。 $ gem install ruby-profruby-profというコマンドラインツールがインストールされる。これを使うと、プログラムを変更することなく手軽にプロファイリングを行うことができる。ruby-profコマンドのusageは以下のとおり。 ruby_prof 0.9.2 Usage: ruby_

    ruby-profとKCacheGrindでプロファイル野郎になる - 昼メシ物語
  • Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成 - 昼メシ物語

    この記事の概要 Imlib2を使って画像のサムネイルを生成してみたところ、ImageMagickより3倍速かった。 また一般的には、Imlib2の方が画質が悪いとされているが、パラメータを調整することで、十分に美しいサムネイル画像を得ることができた。 はじめに Imlib2は画像処理ライブラリ。mixiの発表資料大規模画像配信とPerl によれば、mixiは高速に高品質なサムネイルを生成するために、ImageMagickでなくImlib2を選んでいる。 上記資料の中では、以下のように説明されている。 速度 Epeg > Imlib2 > Imager >>> ImageMagick 画質 ImageMagick > Imlib2 >>> EpegImlibの画質は多少ImageMagickに劣るが、速度は十分に速い、とのこと。 一方で、404 Not Foundという記事では、ImageM

  • gem管理の新標準ツール"Bundler"のTips - 昼メシ物語

    Bundlerは、rubygemsのラッパーです。Rails3のgem管理に採用されています。 Bundlerを使うことで、 このgem、手元にはインストールされているのに、番環境にインストールされてない! 開発環境にgemを入れまくったら、プロジェクトにどのgemが必要なのか分からなくなった! みたいな問題を解決できます。 詳しくは公式サイトをご覧ください。 今日はそんなBundlerについて色々分かってきたので、Tipsをいくつか紹介したいと思います。 前提知識 この記事は、このへんが理解出来ていることが前提です。 Bundler: The best way to manage Ruby applications Rubygems に /usr/bin を触らせないためには gem をユーザーディレクトリで運用する++ - きたももんががきたん。 Bundlerは1.0系以降を使おう

    gem管理の新標準ツール"Bundler"のTips - 昼メシ物語
  • 8分21秒で分かるRubyとOAuthによるTwitterAPIの使い方(動画) - 昼メシ物語

    TwitterAPIのBASIC認証は近々廃止され、今後はOAuth/xAuthにシフトされます。 混乱している開発者も多いと思うので、今回はOAuth対応なTwitterBotを作ることを前提にして、その簡単なやり方を動画に撮ってみました。スクリーンキャストというやつです。 動画の内容 Twitter Botをアプリケーションとしてtwitter.comに登録 Consumer Key, Consumer Secret を取得 Twitter BotアカウントのAccess Token, Access Secretを取得 RubyTwitter Botアカウントに発言させるプログラムを作成 発言成功 補足:AccessToken発行に使用したスクリプト 動画の中で、AccessTokenの発行に、俺が書いたスクリプトを使っています。 これです。 http://gist.github.c

    8分21秒で分かるRubyとOAuthによるTwitterAPIの使い方(動画) - 昼メシ物語
  • 掃除屋歴7年の俺がしつこい汚れの落し方を教えるよ - 床のトルストイ、ゲイとするとのこと

    (2009/12/31 追記あり) 学生時代にホームクリーニングのバイトを7年間やっていたので、大抵の汚れなら落し方分かります。このあいだ #pandacleaning というハッシュタグで掃除の仕方を淡々とつぶやいていたら評判がよかったので、ここらでまとめておくよ。 参考: mirakui によるパンダ掃除相談室 #pandacleaning - Togetter 掃除のために絶対に用意しなければならないもの 雑巾 すべての掃除に雑巾は必須です。雑巾はいくらあってもいいです。買ってくる必要はなくて、ボロくなったタオルを使うと良いです。縫ったりする必要はないです。ちなみに、プロの間では、上級者ほど雑巾の使い方がうまいです。雑巾が汚れる→交換する→時間のロス につながるので、ベテランの職人ほど一枚の雑巾で沢山の汚れを見事に拭き取ります。 バケツ 雑巾とバケツは常にセットです。バケツなしに水拭

    掃除屋歴7年の俺がしつこい汚れの落し方を教えるよ - 床のトルストイ、ゲイとするとのこと
  • 1