タグ

i_ogiに関するshimookaのブックマーク (15)

  • 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のしくみ - おぎろぐはてブロ
    shimooka
    shimooka 2010/02/16
    id:i_ogiが本領発揮しつつある
  • 現在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懇親会での発表ネタ) - おぎろぐはてブロ

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

    一番使われてない配列関数って何? (PHP懇親会での発表ネタ) - おぎろぐはてブロ
    shimooka
    shimooka 2009/12/01
    多すぎるよなー
  • PHP5.2.5からのglob()関数の動作変更 - おぎろぐはてブロ

    最近知った事実ということで、メモ。 glob関数でマッチしないときは、空配列が返る。 (但し、プラットフォーム依存) php -dopen_basedir= -r 'var_dump(glob("/non/exsistent/path"));' array(0) { }なんですが、 open_basedir に何かしら設定されている場合、もしくは safe_mode が on のときは 5.2.5 から false が返るようになっています。(引数の検索パスが * など含まず実在のパスを指している場合は従来通り空配列が返却されます) php -dopen_basedir=/tmp -r 'var_dump(glob("/non/exsistent/path"));' bool(false)glob自体の実行が失敗してfalseなのか、それともマッチが0件なのか分からないという素敵な仕様です

    PHP5.2.5からのglob()関数の動作変更 - おぎろぐはてブロ
    shimooka
    shimooka 2009/10/19
    そ、そうだったのか
  • 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配信しました - おぎろぐはてブロ
  • 第41回PHP勉強会@関東のムービー - おぎろぐはてブロ

    最近は、もはや動画公開ブログになってしまってますが、いつも通りムービーアップのお知らせですw ということで、今月もPHP勉強会に参加しました。 第41回PHP勉強会@関東 - events.php.gr.jp 会場をお貸しいただいたトライコーン株式会社様ありがとうございます。また、スタッフのみなさん、そしてご参加頂いたみなさまありがとうございました。 ムービー mac portsで入れてたffmpegが中途半端な状態になってて、音声が入ってないムービー作ったり手こずって遅くなりましたが全部Up完了。 ついに来た! Agavi 1.0 / MugeSo http://d.hatena.ne.jp/MugeSo/20090323/1237818091 今日からはじめるRedmine / yando 第41回PHP勉強会でRedmineに関する発表をしてきた&発表資料 - yandodの日記 P

    第41回PHP勉強会@関東のムービー - おぎろぐはてブロ
  • 第40回PHP勉強会@関東に参加しました - おぎろぐはてブロ

    ということで参加して撮影してきました。 第40回PHP勉強会@関東 - events.php.gr.jp 今回の勉強会はいつもと違う感じ。スペシャルゲストとして、 Chief Architect for Delphi for PHP の Jose Leon さんがスペインから来られており、Delphi for PHPの話をしていただいたのと、他の方の発表もJoseに見てもらいたいという観点での内容となっていました。 動画 Joseさんの分が、Ustreamで回線が不安定で、録画・中継がうまく行えてませんでしたので、こちらでご覧ください。 Secret of Delphi for PHP 休憩を挟んで2つに分かれています。 5 stories of Japanese PHP Community / yandod openpearについて / sotarok TDDLive 〜テスト駆動のリズ

    第40回PHP勉強会@関東に参加しました - おぎろぐはてブロ
  • 第39回PHP勉強会@関東 - おぎろぐはてブロ

    今年初めのPHP勉強会に参加しました。 第39回PHP勉強会@関東 - events.php.gr.jp ビデオ 今回ちゃんと準備してなかったので、見づらい点があるかもしれませんがご了承ください。各発表者さんのサイトで発表資料が掲載されているので、そちらと一緒に見ていただけるとよいと思います。 CakePHP1.2最新情報 / yando CakePHP1.2と thechaw(チョー) について発表してきた - yandodの日記 CakePHP勉強会@福岡 (仮)が開催決定 2009年3月13日(金) 動画配信もされるはず。東京サテライト会場もやるかも symfony 1.2を支えるサブフレームワーク / fivestar 第39回PHP勉強会 - ゆっくり*ゆっくり Sensio Labs(symfony)訪問レポート / akky Sensio(symfony)訪問レポート

    第39回PHP勉強会@関東 - おぎろぐはてブロ
  • PHPカンファレンス2008での動画配信について - おぎろぐはてブロ

    PHPカンファレンス2008が無事に終了いたしました。ご出席頂いたみなさま、講演者のみなさま、協賛スポンサー各社さま、ありがとうございました。そしてスタッフの皆様おつかれさまでした! 今回のPHPカンファレンスでは、みんなやってるしということで、Ustream.tvによる配信を実施しました。大きな配信障害もなく、最も同時閲覧者数が多かったとき(パネルディスカッション)で200強と、多くの方に見て頂くことができました。 当日の模様は、techtalk.jpの方でアーカイブを参照頂けます。(サブ会場のセッションも公開準備中です) PHPカンファレンス2008 小会場(サブセッション)の動画 - techtalk.jp cojiさんありがとうございます! ということで、動画配信関連についてまとめておきます。 配信機材図 次回に参考にできるよう、当日に実際に使った状態に資料をアップデートしています

    PHPカンファレンス2008での動画配信について - おぎろぐはてブロ
    shimooka
    shimooka 2008/07/25
    お疲れ様でした!やっぱ、動画で残るのは良いですね。
  • #12 ビート・クラフト 小山哲志/ヤフー 荻原一平 | gihyo.jp

    今回、取材させていただいたのは(⁠株⁠)ビート・クラフトの小山哲志さんとヤフー(⁠株⁠)の荻原一平さん。お二人ともPHPユーザ会でご活躍です。さらに今回は、「⁠見学」ということで、アシアル(⁠株⁠)の亀大地さん、グリー(⁠株⁠)のエンジニア一井崇さんもご同席。PHPユーザの方々に囲まれて、弾さん危うし?! (撮影:平野正樹) プロフィール 弾:まず、ご職業は? 荻原:ヤフー(⁠株⁠)でWebエンジニアをしていて、Yahoo!ウォレットっていう動画などの有料コンテンツを売ってる仕組みがあるんですけど、そこのフロントエンドを中心に、PHPなどで開発しています。 小山:ビート・クラフトって会社にいるんですが、私の仕事は受託開発なんで、いろんなお客さんから案件がきてPHPやほかの言語で開発してます。 弾:補足しますと、僕のブログにバナーがいっぱい入っていて、このバナーを集めてくるのはAMNという

    #12 ビート・クラフト 小山哲志/ヤフー 荻原一平 | gihyo.jp
  • clearstatcache()のはなし - おぎろぐはてブロ

    前々回、前回のrealpath cacheの話は実のところこの話の前振り。(なんだけど、前振りの方が長くて役立つ。 clearstatcache()を叩くと、realpath cacheもクリアされるよというのが前回までの話なのですが、clearstatcache()の関数リファレンスにはこのように説明が書かれています。 void clearstatcache( void ) stat やlstat、またはその他の関数(後述)を使用すると、PHPはパフォーマンス向上のために それらの関数の戻り値をキャッシュします。しかし、ケースによっては、 キャッシュされた情報を消去したい場合もあるでしょう。例えば、一つのスクリプト上で同じファイルが何度もチェックされ、そのファイルが変更されたり削除されたりする可能性がある場合、ステータスキャッシュを消去しなければならないと感じるでしょう。 このようなケー

    clearstatcache()のはなし - おぎろぐはてブロ
  • 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) - その動きと影響を受ける関数 - おぎろぐはてブロ
  • PHP5.1から実装されたrealpath cacheについて(1) - 概要と、デフォルトのキャッシュサイズが小さめというはなし - おぎろぐはてブロ

    PHP5.1から、パフォーマンス対策として、realpath cacheというものが導入されています。 PHPがファイルを開く際(実行ファイル体から、include/require、fopenなど基的には全てのファイルアクセスが対象)に、open_basedirの検証や、include_pathの探索のために、realpath(3)を呼び出し、その中でstat(2)を大量に呼び出しており、ファイルをたくさん扱う場合には、結構ボトルネックとなっていました。(realpathとは正規化された絶対パス名を返すもので、パス中のシンボリックリンクをすべて展開する関数です) ここらへんの実際の動きについては前に書いてます。 include_pathを探しにstat()を呼びまくるのを眺める - おぎろぐはてな Yahoo!では、このキャッシュがなかったころ(PHP4の時代)、realpathを呼び

    PHP5.1から実装されたrealpath cacheについて(1) - 概要と、デフォルトのキャッシュサイズが小さめというはなし - おぎろぐはてブロ
  • 第2回PHP拡張勉強会を開催しました - おぎろぐはてブロ

    1月の第1回に引き続き、第2回拡張勉強会を3月23日に開催しました。会場を提供頂きましたグリー株式会社様ありがとうございました!新オフィス! 今回は30人強の参加者で、話す人も5人と、ニッチな話題なのに結構大きなイベントとなりました。発表いただいた皆様、そして、参加頂いた皆様ありがとうございました。 内容については、id:shimookaさんなどいろいろな人がまとめてくれているので、そちらを参照ください。(やってる方は頭真っ白w) 2008-03-23 - Do You PHP はてな ust中継 今回は、こっそりとustream.tvで中継をやってみました。 cojiさんが、1000speakersなどの中継で使っているTwinpactという、プロジェクタへの出力画面をPCに取り込んでいます。 ビデオにキャプション入れたり、PIPしたりとかやれる用意をしてはいたのですが、自分も発表する手

    第2回PHP拡張勉強会を開催しました - おぎろぐはてブロ
  • テンプレート管理ツールr3のドキュメント - おぎろぐはてブロ

    Yahoo!がオープンソースで公開している、テンプレート管理ツールr3が、Yahoo! Developers Networkに掲載されています。 http://developer.yahoo.com/r3/ このサイト上で、r3のユーザーガイドと、コマンドリファレンスが公開されています。

    テンプレート管理ツールr3のドキュメント - おぎろぐはてブロ
    shimooka
    shimooka 2008/02/14
    r3のドキュメント
  • 1