DmImage の 回転/反転 フィルタ
画像処理の DmImage というライブラリがある。
gd のラッパで、なかなか使いやすいので現在のプロジェクトに導入している。
携帯からの画像アップロードの要件が加わり、Exif の Orientation に基づく 回転/反転 処理が必要になった。
この機能は DmImage には元々は付いていないが、各処理はフィルタで定義していくことができる。
汎用的なものなのでライブラリ化した。
iamapen/dmimage-plugin
今後も、gd ベースの画像処理なら DmImage を使うと思う。
ImageMagick(php-imagick), GraphicsMagick(php-gmacick) と比べて勢力的にはどうなのかしら。
null を 空文字にしたい
そんな時、みんなどうやっているのだろうか。
たとえば WebAPI から JSON で何らかのデータを取得して、
HTMLを描画しようと innerText を使うと値が null だった場合に "null" と表示されてしまう。
JSは経験が少なくてプラクティスがわからない。
/** * nullを置換して返す * @param {String}|null str * @param {String} replace (optional) 初期値 "" * @returns {String} * @static */ StringUtil.ifnull = function(str, replace) { if(typeof replace === "undefined") { replace = ""; } if(str === null) { return replace; } return str; };
こんなの自分で書いたりしないよねたぶん。
オブジェクトのフィールドをループする
var obj = {foo:"HOGE", bar:"FUGA"}; Object.keys(obj).forEach(function(v, i){ console.log(i + " " + v + " = " + obj[v]); });
prototype は辿らない。
大抵の場合はこれ。
slow_log 関連
オンライン変更の時にいつも忘れるのでメモ
set global slow_query_log_file='/var/log/mysqld/slow_query.log'; set global long_query_time=0.1; set global slow_query_log=1; show global variables LIKE '%long%'; show global variables LIKE '%slow%';
openssl でサーバ証明書もろもろ
先日 GlobalSign で証明書を取得したところ、x509 と PKCS7 の両方の形式で証明書が送られてきて、 x509 の場合はさらに中間証明書をこのウェブページから探してねと書かれていて、 どれがどれやらよくわからず探すのが面倒だった。
openssl を使って、PKCS7 → x509 変換をすることができる。 変換した方が中間証明書を探す手間もかからないし、選択ミスも起こらない。
なお、 CertificateChainFile が無くなったのは Apache-2.4.8 からで、2.4.6 以下の場合は 2.2系と同じ設定方法になる。
2.4系からはx509に羅列だ、と思ってると CentOS-7.2 標準のApacheが 2.4.6 だったりしてハマる。