た
ブログ書くたびに、はてな記法忘れてるから MarkDown で書きたいし はてブロに引っ越しかなぁ とか思いつつ何年も経ってる— どぅーあき (@do_aki) 2018年3月19日
概要 各種 PHP の実行環境 と PHP 内部の動きについて、 PHPerKaigi2018 前夜祭 で話してきました。 PHP と SAPI と ZendEngine3 と from do_aki 経緯とか PHPerKaigi2018 の存在を知ったのが 1/9 window.twttr = (function(d, s, id) { var js, fjs = d.get…
はじめに 本記事は PHP Advent Calendar 2017 18日目 です。先に断っておきます。 この記事の内容は、 php スクリプトを書く上で全く必要のない知識です。知ってすぐ何かに役立つような情報を求めていたらごめんなさい。 https://qiita.com/advent-calendar/…
はじめに php で列挙型と言えば、 @hiraku さんの http://qiita.com/Hiraku/items/71e385b56dcaa37629fe みたいな実装がほとんどかと思います。自分もだいたいこんな感じでいいかなと思っているのですが、2点ほどどうしても実現したいことがありました。1. I…
時間が開いてしまいましたが、先週 第七回闇PHP勉強化に参加し、トークしてきました。タイトルは「PHP AST 徹底解説(補遺)」および、「signal の話 或いは Zend Signals とは何か」です。前者は、過日 PHPカンファレンス2016 で発表した「PHP AST 徹底解説」…
概要 PHP7 で導入された AST(Abstract Syntax Tree) について、その概要と、導入によるPHPの変化を解説しました。 おまけでASTの利用法についても少し。AST の可視化は https://dooakitestapp.herokuapp.com/phpast/webapp/ にて試せます(動いてなかったらご…
この記事は 闇PHP Advent Calendar 2015 10日目 ですphp の連想配列で用いられているハッシュ関数は DJBX33A と呼ばれるものです。 実装は php5.6 までは Zend/zend_hash.h 、php7 からは Zend/zend_string.h に、どちらも zend_inline_hash_func という関数…
この記事は 闇PHP Advent Calendar 2015 9日目 です 先日の 闇PHP勉強会で、 ext_skel スクリプトで生成される雛形って、ほとんど更新されてないのでは 的な話をしたので、気になって調べてみました。上は php-5.6.16 と php-7.0.0 の skelton.c の diff で…
この記事は 闇PHP Advent Calendar 2015 5日目 です pcntl 拡張で signal を扱う php で signal を扱うためには pcntl 拡張を利用します。使い方は簡単で、pcntl_signal 関数で トラップしたいシグナル番号とコールバックされる関数(シグナルハンドラ)を登録…
この記事は 闇PHP Advent Calendar 2015 4日目 です tick について ZEND_TICKS とは、tick 不可能行*1の後に発行されるオペコードで、多くは、セミコロンで終わるステートメントごとに発行されます。ただし、デフォルトでは発行されず、利用するためには dec…
2015/11/20 MySQL Casual Talks vol.8 2015/11/22 第六回闇PHP勉強会 2015/11/24 PHP BLT #1 意図せず、飛び石でトークすることになってました。 MySQL Casual Talks vol.8 N対1 レプリケーション + Optimizer Hint from do_aki いつものアレに対する近況報…
去る 2014/10/11。大田区産業プラザPiOにて PHPカンファレンス2014が開催されました。その中で、「mysqlnd 徹底解説」というタイトルでトークさせていただきました。 20141011 mastering mysqlnd from do_aki 雑感 思い返せば PHP カンファレンスで初LT をし…
去る、9月27日(土)に ISUCON4 予選に参加しました。 チームは「ご注文は php ですか?」です。 利用言語は go でした。名前に偽りありと言われそうですが、チーム名決定した後に利用言語を決めたのと、候補の中には「彼女募集中」とか、「ぺちぱー合コン部」…
去る 2014年07月11日、MySQL Casual Talks vol.6 が開催され、例のごとく LT してきました。 ちとごたごたして書いてなかったので、今更だけど書き綴る。 N:1 Replication meets MHA from do_aki MySQL Casual Talks vol.6 の自分以外のトークについては @na…
導入 "配列のランダマイズ、出来ますか?" を読み、php の場合はどうなの? と思ったので、調べてみましたというお話。結論としては、4.3.0 以降の php では等分散されます。ただ、疑似乱数生成器が libc 依存なため OS によって異なる結果となるので、異な…
概要 ある程度のディスク容量がある場合、なーんも考えずにそのままインストールすると、 /home に多くの容量が割り当てられます。これはこれで使いやすいケースもあるのだけど、/home を / に統合して一つの空間として使いたかったのでまとめた時のメモ。 …
@yoya さん主催のPHP勉強会@相模原 に参加し、トークしてきました。当初は SAPI 周りのことを入念に調べて、SAPI が何をするモノで、どのように動くのかを発表するつもりだったのですが、SAPI って実装ごとにかなり性格が違う。 結局、SAPI については処理の…
はじめに 本記事は、PHP Advent Calendar 2013 18日目です。前日は @oasynnoum さんの http://oasynnoum.blogspot.jp/2013/12/raspberry-pi-php.html でした。ラズパイ x php ってあまり見ない組み合わせだったので、なかなかに新鮮でした。 さて、まず初め…
かじゅある!この記事は、MySQL Casual Advent Calendar 2013 4日目です。3日目を数秒差で @kamipo さんに取られてしまい*1、ネタかぶったらどうしようとドキドキしていましたが、そのようなことはなくこれでようやく安眠できそうです。 MySQL では、UNSIGNE…
前から気になっていて、ささたつさんの記事 を読んでから、これは良いなと思っていつつも、ずっと触れずにいた AngularJS の勉強会が開催されるという情報を得たので、参加してみた。ほんとは、参加するまでに何か軽く作っておきたかったのだけど、 結局今日…
前半はいつものネタ。"相変わらず安定稼働してる" というだけの話なのだけど、実は裏でちょこちょこ改良していて、ちゃんとものができていればそれを話す予定でした。んで、次に マルチソースレプリケーションの話。こちらは実際に試してみたので、その挙動…
選択言語は PHP。スコアは、FAIL でまくって 0。 完全に InnoDB Memcached の罠にはまってました。PHP 使ったチームだと、 @dekokun が素敵なエントリを書いているので、それを読むのが良いと思う。 → ISUCON予選にPHP実装で参加して3位になりましたーやった…
packagist: https://packagist.org/packages/dooaki/net-empty_port github: https://github.com/do-aki/Net-EmptyPort net-empty_port とは 実行したマシンの空いてるポートを探し出してくれるモジュール。 https://metacpan.org/module/Net::EmptyPort に…
マスタn対スレーブ1レプリケーション については、 vol.2、 vol.3 で話したことに加えて、 pt-online-schema-change と相性悪いという話をしました。 同じ内容だけど、少しずつ加えてるのですよ。ただ、これだけだとあまりに内容が薄いので、もう一本続けて…
Immortal from do_aki 気軽に die するプログラムがあってテストしづらい、という話を以前聞いたことがあり、「たしか、拡張で opcode フックできたよなー」と思ったので、 die したときに単純に死ぬのではなく、何かをすることができる拡張をつくってみよう…
※ ただし IE を除くブラウザで表示しているデータをCSV ファイルにしてダウンロードしたかったので調べてみると File API の Blob + createObjectURL でさくっとできるっぽい。 *1 だけど、日本語が utf8 になってしまう。そのまま Excel で開くと文字化けて…
だいぶ経ってしまったのだけど、 東京Ruby会議10 事後懇親会: Q で即興で LTしてきたもの。Excel 方眼紙って、目を細かくしたらドット絵になるよなぁと思って、画像から Excel ファイルを作るスクリプトを組みました。という話です。 こんな画像(png) が、こ…
2013/01/13,14 と開催された 東京Ruby会議10 に参加し、またもやPHP関連ネタを発表してきました。最近、図らずも PHP 芸人としての腕が上がっている気がします……。 A bridge between php and ruby from do_aki 自分の発表について たった15分の発表なのだけ…
PhantomJS を導入しようと思ったら公式で配布されているバイナリが CentOS 5.8 だとバージョン合わずにインストールできないので、ソースから構築した。ついでに RPM 作ろうとしたら、付属の spec ファイルが 1.7 用だったので 1.8 用に書き換えたよという話…