タグ

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

  • 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(差分)を超簡単に調べる方法 - 昼メシ物語
  • JPEGのフレームヘッダを読んでwidthとheightを取り出す - 昼メシ物語

    突然ですが、JPEG の構造はだいたい下記のような感じになってます。 今回は libjpeg 等のライブラリを使わずに、JPEGファイルから画像の width と height を取り出したいと思います。この width と height の情報は、上図におけるフレームヘッダセグメントに入っています。 基礎知識 フレームヘッダセグメント フレームヘッダセグメントの中身は、以下のとおりです。 データ サイズ(bit) フレーム開始マーカー 16 フレームヘッダのサイズ(byte) 16 サンプル精度 8 height 16 width 16 省略 あとは、サンプリングファクタとかが延々と続くんですが、今回は不要なので省略しています。 ヘッダセグメント フレームヘッダ以外のヘッダセグメントには、EXIFデータやサムネイルなど、画像のデコードに直接関係ないメタデータが入っています。 JPEGでは

    JPEGのフレームヘッダを読んでwidthとheightを取り出す - 昼メシ物語
  • ISUCON5本選で2位でした(白金動物園) - 昼メシ物語

    白金動物園、2位いただきました #isucon @sora_h @rosylilly と3人でチーム「白金動物園」として ISUCON 5 に参加し、選で2位を獲得しました。 主な分担としては sorah と rosylilly の2人が実装をして、僕はインフラまわりの整備と、ログ分析や指示出し、あと二人が喧嘩したら仲裁をするという分担でした。今年は二人が喧嘩しなかったので仲裁役は必要なくて良かったです。 (追記 2015/11/02 14:14)2人の記事が揃ったので以下にリンクしておきます。HTTP/2 まわりのチャレンジなどは彼らの記事に詳しいです。 sorah: ISUCON5 で準優勝してきた #isucon - diary.sorah rosylilly: ISUCON5 で準優勝しました - 鳩舎 やったこと 今回の問題はマイクロサービスがテーマになっていて、運営側が用意し

    ISUCON5本選で2位でした(白金動物園) - 昼メシ物語
  • 「全自動パラメータチューニングさん」は何であって何でないのか - 昼メシ物語

    発表資料: 全自動パラメータチューニングさん // Speaker Deck ソースコード: https://github.com/mirakui/tuningsan これは何なのか ハッカソンイベント「Open Hack Day Japan」にて、24時間の制限の中で開発し、90秒でプレゼンテーションした作品です 2013/2/16〜2/18 にかけてヤフー株式会社で開催された、「Open Hack Day Japan」という大規模ハッカッソンイベントで開発しました。 上記のプレゼンテーションは発表で使用したものです。 Open Hack Day Japan - Yahoo! JAPAN 作品は、全参加作品の中で唯一のコマンドラインツールであり非常に地味でしたが、ありがたいことに KLab賞をいただくことができました。どうもありがとうございます。 指定した1パラメータの自動調整によって

    「全自動パラメータチューニングさん」は何であって何でないのか - 昼メシ物語
  • #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選 - 昼メシ物語
  • Passenger 4.0 beta1 の新機能解説 - 昼メシ物語

    先日、 Phusion Passenger 4.0 beta 1 が公開されました。 近年は Passenger に代わり Nginx + unicorn の構成が Rails の業界標準になりつつありますが、Passenger 4 は大きく進化したようなので、そのアップデート内容を紹介します。 なお、この記事は 10/24 に公開された Phusion 公式ブログの記事「Phusion Passenger 4.0 beta 1 is here – Phusion Corporate Blog」を要訳したものです。説明をところどころ省いているので、詳しくは原文を参照してください。 What's new? 複数のRubyバージョンのサポート 1サーバで複数のアプリケーションをホストしている場合、アプリケーション毎に違うRubyインタプリタを指定できるようになりました。 イベント駆動 I/O

    Passenger 4.0 beta1 の新機能解説 - 昼メシ物語
  • 本当は速いImageMagick: サムネイル画像生成を10倍速くする方法 - 昼メシ物語

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

  • 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高速化」を寄稿しました - 昼メシ物語
  • 1