タグ

ブックマーク / iogi.hatenablog.com (17)

  • Traffic Serverのオープンソース化:70万行のコード、9ヶ月 (和訳) - おぎろぐはてブロ

    先日、Yahoo!からTraffic Serverのオープンソース化が発表されましたが、その公開についての記事がYDN Blogに出ていたので適当に訳してみました、 http://developer.yahoo.net/blog/archives/2010/02/opensourcing_traffic_server_700k_lines_of_code_9_months.html 以下、訳 以下は、TrafficServerのオープンソースリリースのためのコードベースを準備したYahoo!のチームのメンバーであるAndrew Hsuとの会話からです。 Traffic Server (TS)とは? Traffic Serverは、高速で、スケーラブルで、かつ拡張HTTP/1.1に準拠したキャッシュプロキシサーバーです。TSは、遅延が少なく、"プラグイン"アーキテクチャに基づいて拡張可能なフ

    Traffic Serverのオープンソース化:70万行のコード、9ヶ月 (和訳) - おぎろぐはてブロ
    sotarok
    sotarok 2010/02/23
    へー/「Traffic Serverは、高速で、スケーラブルで、かつ拡張HTTP/1.1に準拠したキャッシュプロキシサーバーです。」
  • OAuthのPHP実装 - おぎろぐはてブロ

    OAuthの実装については、http://oauth.net/code/ に各言語ごとに情報が載っています。 PHPのところを適当に訳すとこんな感じ。 OAuthをサポートするPHP Extensionがある。John Jawedによって書かれた。例はここに、段階的な説明もある。このPECLパッケージは、Rasmus Lerdorfによってデファクトスタンダードとみなされている。 Andy Smith は、OAuthの基礎的なPHPライブラリを書いた。 Cal Henderson は、署名を扱うのを主としたシンプルなOAuthライブラリを、提供した。 HTTP_OAuth は、Jeff Hodsdon と Bill Shupp (Digg) によって開発されたPEARパッケージです。このツールを使って試すことができる。 CakePHP用にOAuthコンポーネントがあります。 Justin

    OAuthのPHP実装 - おぎろぐはてブロ
  • 現在trunkにあるTokyoCabinetのdbaハンドラをPHP5.3で使ってみる - おぎろぐはてブロ

    dba関数というのを知っていますか?dbm形式のデータベースの抽象化レイヤとなる関数を提供するモジュールで、PHPのソースコードに同梱されています。 PHP: DBA - Manual 例えば、dbm や qdbm といったものを利用できる他、inifile という php.ini 形式のようなファイルをDBMのように読み書きできるハンドラが用意されています。 で、現在、PHPのソースコードのtrunkには、TokyoCabinetのハンドラがコミットされています。 php/php-src/trunk/ext/dba/dba_tcadb.c (実装体) php/php-src/trunk/ext/dba/php_tcadb.h (ヘッダ) php/php-src/trunk/ext/dba/config.m4 いつ、これが提供されるようになるかは不明ですが、現時点でもbackportすれ

    現在trunkにあるTokyoCabinetのdbaハンドラをPHP5.3で使ってみる - おぎろぐはてブロ
  • PHPのstream wrapperをさわってみた - おぎろぐはてブロ

    PHPには、ストリームラッパーというファイルなどへのアクセスを抽象化するしくみがあります。普段よく使う http:// とかがそうです。 組み込みで提供されるストリームラッパーは以下です。 ファイルシステム HTTP と HTTPS FTP と FTPS PHP 入出力ストリーム 圧縮ストリーム データ (RFC 2397) Glob Phar PHP: Supported Protocols and Wrappers - Manual それぞれどういうふうに使うものなのか試してみました。 ファイルシステム /path/to/file.ext relative/path/to/file.ext fileInCwd.ext C:/path/to/winfile.ext C:\path\to\winfile.ext \\smbserver\share\path\to\winfile.ext f

    PHPのstream wrapperをさわってみた - おぎろぐはてブロ
    sotarok
    sotarok 2010/02/17
    stream wrapper
  • pharのしくみ - おぎろぐはてブロ

    PHP5から追加された機能として、SimpleXMLとかSPLなど、動作的にユーザレベルでは実現できないおもしろい動きをするものがあります。5.3から標準モジュールとなったpharも同じように結構見えないところでPHP体の動きを変えるような実装をしているので、調べてみました。 以下の部分に大きく分けています。 stream wrapperの定義 zend_compile_fileの差し替え ファイルアクセス系関数の差し替え パス解決の差し替え stream wrapperの定義 pharは、stream wrapperとして動くことで、"phar://path/to/foo.phar/bar.php" といったファイルにアクセスすることができます。 普段よく使う http://〜 、 https://〜 、ftp:// などと同様で、抽象化してアクセスできるようになるしくみです。 定義

    pharのしくみ - おぎろぐはてブロ
    sotarok
    sotarok 2010/02/17
  • 一番使われてない配列関数って何? (PHP懇親会での発表ネタ) - おぎろぐはてブロ

    先日、五反田でり坊で開催されたPHP懇親会に参加しました。 第4回PHP懇親会 - events.php.gr.jp PHP懇親会は、参加者全員が5分程度のLTをやることになっていて、発表の敷居も低く、また発表後には、発表の内容を肴に酒を呑みながら議論できるという感じになっています。 品川駅から自転車で行ったら、遠回りになったり、店の前を通り過ぎてしまったりして遅刻してしまいました。着いたらお通しにビールが出てきて、かけつけ一杯。自転車漕いだ直後のビールはすごくうまかったです。料理も豪華で、初めてべた鯛の塩釜焼きはものすごくうまかったです。すてきなお店です。 参加者が少なめだったのがちょっと残念でしたが、発表も余裕を持ってすることができ、まったりと会話もできて、雰囲気がすごくよかったです。主催者のLINDさんありがとうございました! ということで発表内容 最近は、もっぱら配信の人になって

    一番使われてない配列関数って何? (PHP懇親会での発表ネタ) - おぎろぐはてブロ
    sotarok
    sotarok 2009/11/29
    array() が 1 位はそりゃそうだってかんじだけどw
  • facebookでのAPCの設定 - おぎろぐはてブロ

    php|tek 2007で発表された、facebookの中の人のAPCの設定についての話です。軽く中身を説明します。 apc@facebook (PDF) apc@facebook (PDF) 2007/09/21 追記 サイトの構成が変わって、スライドがデッドリンクになっていたため差し替えました。また、今月開催されたphp|works 2007での講演もアップされています。こちらのが読みやすくなっている部分があるので、こちらを参照したほうがいいかも。 apc@facebook (PDF) in phpworks2007 http://tekrat.com/talks 内容 LAMP構成で、そしてAPCを使ってます Facebookのprofile.phpの表示を例にあげると、ノーマルのPHPに比較して、FacebookのチューンしたAPC設定では秒間リクエスト数が12倍に! ちょ、、それ

    facebookでのAPCの設定 - おぎろぐはてブロ
  • Debug Hacks ConferenceのUst配信しました - おぎろぐはてブロ

    よしおかさんからお誘いいただき、Debug Hacks ConferenceのUst配信を行いました。さすがIIJ。回線ばっちりですね! そして、献ありがとうございました!これからがっつり読んで、困ったときに活用させていただきます! UstreamのUIが大幅にリニューアル Ustreamのインターフェイスが思いっきり変わっていたのに驚きました。昨日の夜は普通だったのに! 最近になってFacebookとの連携が強化されていたのですが、そういう流れなのか、今回のリニューアルでは、Twitterを全面に押し出したりしています。 とりあえず版 とりあえず見れる状態になっているムービーのみ公開します。 音声があまりよろしくない感じですね。申し訳ないです。 GDB / Toyo Abe malloc()やfree()で障害 / Hiroshi Shimamoto Debug Hacks Hack

    Debug Hacks ConferenceのUst配信しました - おぎろぐはてブロ
    sotarok
    sotarok 2009/04/28
    debug hacks conference の動画
  • PHP5.1から実装されたrealpath cacheについて(2) - その動きと影響を受ける関数 - おぎろぐはてブロ

    前回に引き続き、realpath cacheについてのはなしです。どうキャッシュされるのか、動きを追っかけてみたいと思います。 (前回と同じく、コードは5.2.6をベースにしています) たとえば、こんな感じのコードのとき。 <?php $filename = "/var/www/data.txt"; $data = file_get_contents($filename); ?> 相対パスだと、 <?php $filename = "data.txt"; // 第2引数がtrueだと相対パス時にinclude_pathを走査する $data = file_get_contents($filename, true); ?> ファイルアクセスの前段にはstream wrapper 実際にコードを読む人のために補足しておくと(いねーよ)、PHPでファイルアクセスを伴う関数の多くは、ファイル実体に

    PHP5.1から実装されたrealpath cacheについて(2) - その動きと影響を受ける関数 - おぎろぐはてブロ
    sotarok
    sotarok 2008/05/07
  • Twinpactを利用したUstream動画配信システム (Windows編) - おぎろぐはてブロ

    先日の拡張勉強会では、Ustream中継を実施しました。トライアルだったため、大々的には告知しませんでしたが、概ね問題なく配信できたようです。見ていただいた方ありがとうございます。中継を見られなかった方でも、Ustreamにてアーカイブを参照頂けます。 http://www.ustream.tv/channel/extstudy (次回以降もこちらで中継を行っていきます) 配信方法ですが、Macについては、1000speakersなどを中継している中継職人(wのcojiさんがまとめていますが、今回、自分はWindowsで行ったので、その際の構成についてまとめておきます。 ほんとはMacでやろうと、初代mac miniをセットアップして持って行こうとしていたのですが、Twinpactを認識しなかったりしたのと、CamTwistが動かない古いOSだったので諦めました。 マシンは、Let's N

    Twinpactを利用したUstream動画配信システム (Windows編) - おぎろぐはてブロ
  • CodeGen_PECL 1.1.0で関数プロトタイプのオプション引数の解析で順番が逆になる - おぎろぐはてブロ

    id:Yudoufuさんから教えてもらったのだけれど、 hoge([string hoge1 [,string hoge2] ]) ってpecl-genやったら、できたものがhoge(hoge2, hoge1)になった。。 む?と思って実際に確認してみたら、その通りになりました。 pecl-genコマンドには、関数のプロトタイプをして、その部分だけのスケルトンを生成するオプション(--function)があります。 $ pecl-gen --function="void hoge([string hoge1 [, string hoge2]])"これを叩くと、関数定義の部分はこのようになり、引数の定義も hoge2, hoge1 と逆になって、zend_parse_parametersにも逆に入っています。これだと、void hoge(string hoge2, string hoge1)

    CodeGen_PECL 1.1.0で関数プロトタイプのオプション引数の解析で順番が逆になる - おぎろぐはてブロ
    sotarok
    sotarok 2008/01/24
    ばぐばぐ
  • 第1回PHP拡張勉強会を終えて - おぎろぐはてブロ

    拡張勉強会では、どう見ても独力でextension作れます当にありがとうございましたという人たちにもいろいろ教えてもらい、「やべー、最近書いてないのばれる」と思いつつも、自分にとっては、よい勉強になりました。(教えてもらったところは、あとでフォローします。) 自分ひとりでただしゃべっていたとは言え、関山さんの連載がナイスタイミングで出てきたり (大いに参考にさせてもらいましたm(__)m)、高木さんがCodeGen_PECLリファレンスを訳してくれたり (しかも気づいたら全部翻訳終わってる!)と、いろいろな方から助けられたからこそ実施できたわけで、すごく感謝しています。 せっかく盛り上がったこの火を消さないようにがんばりたいとおもいます。 懇親会 メンツが濃すぎて相当おもしろかった。平日だとどうしても時間が遅くなってしまって、長く話せないのがちょっと残念。 20名以上の大所帯にも関わらず

    第1回PHP拡張勉強会を終えて - おぎろぐはてブロ
    sotarok
    sotarok 2008/01/24
    おつかれさまですー
  • 加算子の挙動 - おぎろぐはてブロ

    これは知らなかった。 <?php $a = 'Test'; echo ++$a . PHP_EOL; $b = 'Test' + 1; echo $a . PHP_EOL; ちなみにこの結果は Tesu 1 http://d.hatena.ne.jp/kidd-number5/20080112/1200067231 ++$a と、インクリメントすると、最下位の文字が t → u と、1文字ずれる $b + 1 と、1 を加えると、0扱いされて、演算結果は 1 になる。 なんか違和感がある。 マニュアルみてみた。 PHP は、算術演算子で文字変数を扱った場合に C ではなく Perl の慣習に 従います。例えば、perl では 'Z'+1 は 'AA' を返しますが C では 'Z'+1 は '[' ( ord('Z') == 90, ord('[') == 91 ) を返します。 文字変数

    加算子の挙動 - おぎろぐはてブロ
    sotarok
    sotarok 2008/01/14
    うおーこの機能ってどこで使うのかなあ
  • mt_rand([int $min, int $max])で $min &gt; $max のときの挙動 (理由解説編) - おぎろぐはてな

    前回の話の続き。引数の乱数範囲の値が min > max のときにおかしいという話ですが、これは普通のrand()でも同じマクロを使っているので同様です。 で、ソースコード眺めてたら、rand()関数の上にこんなコメントが。 /* * A bit of tricky math here. We want to avoid using a modulus because * that simply tosses the high-order bits and might skew the distribution * of random values over the range. Instead we map the range directly. * * We need to map the range from 0...M evenly to the range a...b * Let

    mt_rand([int $min, int $max])で $min &gt; $max のときの挙動 (理由解説編) - おぎろぐはてな
    sotarok
    sotarok 2007/11/29
  • Powerpointの資料をキレイにSlideShareにアップする - おぎろぐはてブロ

    r3の発表をSlideShareでアップしています。素のPowerPointだと、読めない人がいるということ、あと手軽に見られるというのがよいです。 SlideShareでは、PowerPointPDF、OpenOffice (odp)形式のファイルがアップロードできます。そして、日語のPowerPointファイルもアップできるのですが、その場合SlideShare側が持っている日語ファイルが少ないために、明朝体でしかもサイズ違って画面からはみ出してしまったりしまってしまいます。読めないことはないけどかっこよくない。フォントを埋め込んでもダメでした。 なので、これを解決するために、文字のアウトラインを埋め込んだPDFをアップロードしています。 まず、アウトラインを埋め込んだPDFを作る必要があるんですが、フリーのものでいくつか試してみて、PrimoPDFというのでできました。 PDF

    Powerpointの資料をキレイにSlideShareにアップする - おぎろぐはてブロ
    sotarok
    sotarok 2007/11/23
    slideshare
  • PEARの読み方 - おぎろぐはてな

    前のエントリのコメント欄で、okuryuさんや uechocoさんから、PEARを「ペア」でなく「ピア」と、つい読み間違えちゃう人が多いと頂きました。自分も意識していないと、つい「ピア」と読んじゃいます。 でもPEARを「ピアー」と読む証拠があります。 id:koyhogeさんのFlickrの写真から。 (Uploaded on October 5, 2007 by koyhoge0) 梨のイラストまで入って「ピアー」とはなんという確信犯。 ハード1枚巻/65m、1カートン 100ヶ入り 4,000円。 ToiletPaper ノベルティにいいですかね。。

    PEARの読み方 - おぎろぐはてな
    sotarok
    sotarok 2007/10/22
    うはっw
  • php|works 2007の講演スライド - おぎろぐはてブロ

    9月13〜14日にアトランタで開催されたphp|works 2007での講演スライドが、以下にまとめられています。 http://works.phparch.com/c/p/works_live,slides 個人的に興味のあるやつと、タイトルでは中身が分からないものをピックアップして軽く説明します。 Ed Finkler - Intro to Codeigniter PHPフレームワークCodeigniterの説明 (参考) http://userguide.cilab.info/ Ed Finkler - Securing the PHP Environment with PhpSecInfo セキュリティチェック用のツールPHPSecInfoの説明 Sara Golemon - PHP Extensions めがねっ娘SaraによるPHP Extensionの書き方。すごく詳しいです

    php|works 2007の講演スライド - おぎろぐはてブロ
    sotarok
    sotarok 2007/09/27
    php|works 2007
  • 1