BLOGTIMES
«Prev || ... 917 · 918 · 919 · 920 · 921 · 922 · 923 · 924 · 925 ·... | | Next»
2012/01/03

Facebook の php 技術 HipHop はどのようなものなのか

facebook  php  opensource 

少し前に Facebook から HipHop Virtual Machine というものがリリースされたというものが流れていたので気になっていたんですが、これについても、原型の Hiphop compiler についても、動かした(動かせた)という情報をあまり見かけなかったのですが、その最適化内容を考察しているサイトを見つけていたので忘れないうちにメモ。

PHPのJITコンパイラ「HipHop Virtual Machine」、Facebookがオープンソースで公開 - Publickey

Facebookは10日、PHPを高速に実行する仮想マシン「HipHop Virtual Machine」(hhvm)を公開しました。
HipHop Virtual Machineは、PHPを高速に実行するためにPHPのコードをC/C++に変換してg++でコンパイルし、バイナリコードにするHiphop compiler(hphpc)と、PHPのインタプリタであるHipHop interpreter (hphpi)を組み合わせたもの。PHPのコードをダイナミックにバイナリコードへと変換することで、高速な実行を目指しています。

実際に HipHop Compiler を動かす環境を作るのは結構めんどくさい作業のようで、これが普及の妨げになっているようです。

 ・hiphop php でPHPからジェネレートされたC コードを読んでみよう。 - お前の血は何色だ!! 4
 ・hiphop php でPHPからジェネレートされたC コードを読んでみよう。 (後編) - お前の血は何色だ!! 4

ちょっと時間を作って上記の環境を実際に作って試してみようと考えています。


    at 15:32 |
    2012/01/02

    hashdos という DoS 攻撃

    php  DoS  PoC 

    ウェブアプリケーションに共通する DoS 攻撃手法として hashdos というものが出現しているらしいのでメモ。

    徳丸浩の日記: Webアプリケーションに対する広範なDoS攻撃手法(hashdos)の影響と対策

    連想配列の実装には、高速な検索が要求されるためハッシュテーブルが用いられます。ハッシュテーブルは、文字列を整数値(ハッシュ値)に変換するハッシュ関数を用いて、平均的には一定時間に検索・挿入・削除が行えるデータ構造です。しかし、ハッシュ値が一致する(衝突する)キー文字列については、通常ハッシュテーブルは順次的な探索となり、検索・挿入などが遅くなります。
    hashdosは、ハッシュ値が同じになるキーを多数POSTパラメータに含ませることにより、CPU資源を枯渇させる攻撃です。

    試しにローカルで exploit を実行してみましたが CPU を使い切ってしまいました。
    mod_security によって対策できるようなので、下記のルールを有効にしておきました。

    # Maximum number of arguments in request limited SecRule &ARGS "@gt 255" "phase:2,t:none,deny,log,auditlog,status:403,msg:'Too many arguments in request',id:'960335',severity:'4'"

    とりあえずこれで急場はしのげそうです。


      at 16:21 |
      2012/01/01

      JpegAnalyzer Plus

      exif 
      JpegAnalyzer Plus - JpegAnalyzer Plus

      先日から EXIF をごにょごにょしているので何か良いソフトがないかと思って探してみたら、JpegAnalyzer Plusというソフトがありました。メーカー独自の内容である MakerNotes にも結構対応されているようです。

      JpegAnalyzer Plus

      JpegAnalyzer PlusはJPEGファイルの破損修復といった用途から、デジタルカメラの撮影情報(Exif)を表示する用途など、多目的に使用出来る多機能画像ファイル解析ソフトです。
      特にExif表示では、メーカーノートと呼ばれるメーカー独自形式で記録される部分のデータ表示に優れ、デジタルカメラの画像ファイルから、詳細なカメラ設定などを読み取る事が出来ます。

      16進数ダンプ表示もできるので、 EXIF を使ったアプリ開発のお供に良さそうです。


        at 22:38 |
        2012/01/01

        2012年 あけましておめでとうございます

        ご挨拶 

        本年もよろしくお願いいたします。
        みなさまにとってよい1年になりますようにお祈り申し上げます。

        新年にあたって

        地震があったり、所属が変わったり、実家が新築になっていたりと、去年からはまったく想像がつかない新年を迎えています。家族が無事であったことがなによりでした。近年は今年こそ平穏無事にと思ってしまいがちなのですが、今年も攻めの姿勢を保ち続けたいと思います。今年も猛ダッシュで駆け抜けますので、お見苦しいところも多いかと思いますが、旧年中とかわらずのご指導、ご鞭撻をいただければ幸いです。

        去年よりはTLは丸くなったと思いますが、今年もそこだけはキープしたいですね。
        そしてなんといってもFE 覚醒を楽しみにしながら前半を過ごします!


          at 00:00 |
          2011/12/31

          年越しそば!

          soba  風習 
          年越しそば - 年越しそば!

          今年も年越しそばで締めくくります。
          来年は良い年になりますように。


            at 23:10 |

            2011年の検索フレーズ Top100

            ranking 

            続いて検索フレーズのランキングをまとめておきます。

            こちらも前年との比較をつけていますが、トレンドが素直に反映されているのか上位は昨年と大きく様変わりしています。こちらを見るとNHKのらじる★らじるのすさまじさが分かると思います。
            4位になまず速報が入っているあたり、やっぱり震災の年だったんだなという感じですね。

            [2011年の検索フレーズ Top100 の続きを読む]

              at 22:33 |

              2011年の人気エントリ Top 100

              ranking 

              今年もあと1時間足らずになりましたので、2011年のこのブログのまとめをしておきます。

              集計にあたって前年度順位をつけるようにしてみましたが、やっぱり今年もパクリ感想文ネタがとにかく強かったですね。あとはNHKがサイマルのネットラジオ配信を始めたというのがものすごい勢いでアクセス数を伸ばしました。あとはマシンの仮想化や Windows7 ネタがランクアップしてきたので、だいぶこのあたりが普及してきたことを感じさせてくれますね。

              [2011年の人気エントリ Top 100 の続きを読む]

                at 22:29 |

                切り餅づくり

                風習 
                のし餅と餅切り器 - 切り餅づくりのし餅を棒状に切る - 切り餅づくり
                餅切り器で切っていく - 切り餅づくりできあがった切り餅 - 切り餅づくり

                年末恒例ののし餅を切り餅にする作業。

                今や切り餅を買う家がほとんどだと思いますが、いちおう伝統なのでのし餅から作ります。数年前までは自宅で餅つきしていたのですが、さすがに祖母のところからもらってくるだけになってしまいました。単に切り分けるだけですが、結構な力作業なので、気合いを入てかかる必要があります。本当は大きな菜切り包丁があればいいのですが、文化包丁でなんとか処理しました。

                これで正月を迎える準備ができました。


                  at 16:24 |
                  2011/12/30

                  EXIF からレンズ名を取得する(Panasonic編)

                  php  exif 

                  NP_Exif で画像の EXIF 情報は出力できるようにしているのですが、レンズが増えてくると、焦点距離よりもレンズ名が表示したくなります。
                  ということで、レンズ名をプログラムで取得して表示する方法について調べてみました。

                  生の EXIF データを眺めて見てみると LEICA DG MACRO-ELMARIT 45/F2.8 のような文字はあるので、とりあえずきちんとパースできればデータを取り出すことはできそう・・・・というところまではすぐに分かったのですが、ここから一筋縄ではいきませんでした。どうもこのデータが入っている部分は MakerNotes と呼ばれるメーカー独自の記録領域で php に含まれている read_exif_data() で Panasonic機(GF1 / GX1)の EXIF をパースすると 8kB のバイナリデータとしてしかアクセスすることができませんでした。

                  とりあえず中身については解析してくれている人がいて、ある程度フォーマットも明らかになっている*1ようなので、これに対応したパーサーを捜してみたところ、下記のものが見つかったので今回はこれを使うことにしました。

                   ・The PHP Metadata Toolkit

                  以下、作業メモ。

                  [EXIF からレンズ名を取得する(Panasonic編) の続きを読む]

                  at 23:51 |

                  わら飾りをつける

                  風習 
                  輪飾りの準備 - わら飾りをつける

                  明日飾り付けをするわけにはいかない*1ので今日は家の飾り付けをします。飾り付けは小さい頃から祖父に教わって一緒にやっていたので、体に染みついていて迷うことはありません。あまり意識しませんでしたが、こういうのって女人禁制だったりするんですよね。

                  これまでは家の至る所に輪飾り用の釘が出ていてそこに引っかけていくという方式だったのですが、今年は家が新しくなったので30年ぶりに釘を打つところから飾り付けをしなければなりません。記憶を頼りに旧家と同じような場所にピンをつけました。これで一気に正月モードになりました。

                  • *1: 一日飾りになってしまうから。

                  at 16:32 |
                  «Prev || ... 917 · 918 · 919 · 920 · 921 · 922 · 923 · 924 · 925 ·... | | Next»