おぎろぐはてブロ

なんだかんだエンジニアになって10年以上

PHP

(PHP)プログラマのためのVIM (9) - PHP向けカスタマイズ

Yahoo!のAndreiさんのプレゼンのPDFを勉強がてら訳していってます。訳は微妙です。 元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな カ…

(PHP)プログラマのためのVIM (8) - セッション、misc、ヘルプ

Yahoo!のAndreiさんのプレゼンのPDFを勉強がてら訳していってます。 元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな (1)カーソル位置…

(PHP)プログラマのためのVIM (7) - 補完・マップ・オプション

Yahoo!のAndreiさんのプレゼンのPDFを勉強がてら訳していきます。 元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな (1)カーソル位置・…

PHP Security Tips #1〜#7

Zend Developer Zoneで、PHP Security Tipsというのが連載されはじめた。現時点で#7まで。 PHP Security Tip #1 PHPのバージョンを最新に保とう PHP Security Tip #2 あなたのサイトについて、エラーを表示させていないことと、潜在的に情報を漏らしていない…

(PHP)プログラマのためのVIM (6) - ビジュアルモード、ウィンドウ、タブ

元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな (1)カーソル位置・カーソル移動・マーク・挿入 (2)削除・検索 (3)置換・テキストオブ…

(PHP)プログラマのためのVIM (5) - undo

元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな (1)カーソル位置・カーソル移動・マーク・挿入 (2)削除・検索 (3)置換・テキストオブ…

(PHP)プログラマのためのVIM (4) - コピー/削除/貼り付け、レジスタ

元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな (1)カーソル位置・カーソル移動・マーク・挿入 (2)削除・検索 (3)置換・テキストオブ…

(PHP)プログラマのためのVIM (3) - 置換・テキストオブジェクト

元記事: Andrei Zmievski: "VIM for (PHP) Programmers" slides and resources この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな (1)カーソル位置・カーソル移動・マーク・挿入 (2)削除・検索 置換 :[range]s/<pattern>/<replace>/{flag</replace></pattern>…

convert_to_* と convert_to_*_ex の違い

PHP

convert_to_* は、zvalを指定の型に変換するもの。convert_to_*_ex は、zvalが既に指定した型だったら終わり。で、リファレンスだったら分離して、convert_to_* を呼び出すようになっている。zend_operators.h #define convert_to_boolean_ex(ppzv) convert_…

VIM for (PHP) Programmers の訳 (2) - 削除・検索

CSS弄らないときたないなぁ。。 この記事シリーズまとめはこちら: (PHP)プログラマのためのVIM (まとめ) - おぎろぐはてな 削除 Backspaceキーを解放 (削除できるように) :set backspace=start,indent,eol 検索 検索は重要だよね どのように検索してる? f / …

VIM for (PHP) Programmers の訳 (1)

前に書いた、Andreiの "VIM for (PHP) Programmers" のスライドを勉強がてら訳していきたいと思います。いつも、他の人が、vimの便利な機能をまとめているのを見て、すげーべんりー、と思って1回使ってみて、そのまま忘れてしまうということをやってしまうの…

"VIM for (PHP) Programmers" slides and resources

Yahoo!のAndreiの「PHPプログラマのためのVIM」のプレゼン資料とスクリプトファイル。77ページと、結構な量のスライドです。軽く眺めて、「結構あるなー」と思っただけで、中身は多すぎて読んでない。。

PHP_FUNCTIONマクロ

PHP

PHP_FUNCTION(fname) は、以下のようなマクロで、 // main/php.h: #define PHP_FUNCTION ZEND_FUNCTION // Zend/zend_API.h: #define ZEND_FUNCTION(name) ZEND_NAMED_FUNCTION(ZEND_FN(name)) #define ZEND_FN(name) zif_##name #define ZEND_NAMED_FUNCTIO…

出力バッファリング

PHP

PHP言うても、PHP自体のソースコードレベルの話ばっかりしてるから、カテゴリ名が微妙だ。PHP APIとか? PHP出力制御関数 PHPでは、出力制御関数というものが用意されています。これは、出力をそのまま出力するのでなくて、一旦バッファに格納し、コールバッ…

PHP Extensionを書くのにおすすめな本

PHP

日本語だと、青マンモス本(PHP5徹底攻略 エキスパート編)ですが、あまり詳しくは書かれていません。(あくまで本の1セクションとして書かれているということ、そして、もう十分分厚いので、紙面の都合上という言葉に尽きます ^^;)。本格的に書きだすと物足り…

jsminとCSSTidyのExtension作成

PHP

JavaScriptのファイルサイズ縮小化ツールjsminと、CSS圧縮ツールCSSTidyを、C++で実装してExtensionにしてみているところです。どちらもPHPスクリプト版が提供されてはいるのだけれど、Cのが早い!ということで。^^; とりあえず、jsminの方は実装完了。 こん…

最近やってること

PHP

PHP Extensionの関数の中で、あたかも関数スコープをもたせること。 Cで、このように書くと PHP_FUNCTION(hogehoge) { zend_eval_string("echo 'hello world';", NULL, "hoge" TSRMLS_CC); } これとほぼ等価。 なのだけれど、Cの方は、関数スコープに入るわ…

PHP JSON Parser

PHP

PHP5.2から、php-jsonのJSON encoder/decoderが最初から組み込まれるようになった。あら、これは便利!という、ありきたりな話はしなくって、このphp-jsonのソースに含まれる、JSON_parser.hについて。 中身はこんなの。(PHP5組み込みもPECLも同じ) /* JSON_…