カテゴリー別アーカイブ: 技術

Nginx reverse proxy + Apache(mod_php)環境でmod_pagespeedを動かしてみた

出立ての頃に少し触ってすっかり忘れてたのに突然存在を思い出したので、js/css/html minifyあたりがカジュアルに使えるようになってると良いなと思いつつ。

本当はちゃんとアセットパイプラインとかやるべきなんだろうけど、そこまで手を入れられない動いているアプリケーションに次善の策として検討できると便利なんじゃないかと。

とはいえ何度も何度もminifyするのは無駄遣い感が凄いので、Apacheにmod_pagespeedを入れてminifyした結果をnginxにキャッシュさせようという戦術で、とりあえずwordpressが動いている環境にmod_pagespeedデフォルト。これはそれっぽく動いているようには見えたんだけど、JSやCSSのURLが変わってしまう(style.cssがstyle.css.pagespeed.abcd.cssのような感じに)のが嫌な感じなので元々のURLを維持しつつ、画像の最適化系まで入れるとカジュアルじゃなくなってくるので、また今度にしたい。ということで入れてみた設定が以下。
# nginx 1.1.10, apache 2.2, mod_pagespeed 1.11.33

続きを読む Nginx reverse proxy + Apache(mod_php)環境でmod_pagespeedを動かしてみた

imagickを使ってpdfを画像に変換する

PHPのImagick(ImageMagick)を使ってPDFファイルを画像に変換することができます。

$imagick = new Imagick();

$imagick->readimage($pdf_file_name);

for ($i = 0; $i < $imagick->getImageScene(); $i++) {
  $imagick->setIteratorIndex($i);
  $imagick->setImageFormat('jpeg');
  $imagick->writeimage($image_file_path . '-page' . $i . '.jpg);
}

これ、結構リソース使うんですよね。ページ数の多いPDFを変換しようとしたら、memory_limitやmax_execution_timeに引っかかって…という経験ありませんか?

特定ページだけを画像化したい場合限定(1ページ目だけ変換したいとかありますよね?)ですが、次のコードでサクッとできます。

続きを読む imagickを使ってpdfを画像に変換する

appendChild()ではなくinsertBefore()を使ってスクリプトをロードするのはなぜ?

Google Analyticsのコードが使っているような、サードパーティのスクリプトを非同期にロードする方法を「createElement-insertBeforeパターン」と言うことくらいは知っていました。けど、ふと「なんでappendChildじゃ駄目なんだ?」と思って調べたのでメモ。

続きを読む appendChild()ではなくinsertBefore()を使ってスクリプトをロードするのはなぜ?

document.write()を止めるためにはFriendly iFrameを使うのが良さそう

Chromeの開発者ツールを開くとコンソールに何か出てるな。というのは気になってたんだけど、スルーしてたらこんな投稿があることを教えてもらった。
遅い通信だとChromeはdocument.writeで外部のスクリプトを読み込んでも動かなくなるらしい(A Parser-blocking, cross-origin script …)

続きを読む document.write()を止めるためにはFriendly iFrameを使うのが良さそう

CentOS 7のbind(named-chroot)は/var/named/chroot以下にファイルを置くと起動しない

自分で設定したヤツじゃなかったので、yum updateしたら上がらなくて焦った…

以前はそんなことなかったと思うんだけど、以下のファイルを /var/named/chroot 以下にマウントしようとして、同名のファイルがあるとエラーになり、起動できないようになったようです。

続きを読む CentOS 7のbind(named-chroot)は/var/named/chroot以下にファイルを置くと起動しない

PDOのプリペアドステートメントで実行するSQLを確認したい(?プレースホルダの場合)

モダンなフレームワークを使っていればこんなことで困ることもないんだろうけど、レガシーなオレオレフレームワークの面倒を見ないといけないこともあるよね。

そんな時はこんな感じでやるしかないんじゃないかな。

続きを読む PDOのプリペアドステートメントで実行するSQLを確認したい(?プレースホルダの場合)

XymonのアラートをSlackに飛ばすシェルスクリプト

Slackはやってるねー。必要な機能がきちんと動くことと、UXについて真剣に考えてるんだろうなぁという感じが伝わってくるところが良いと感じています。あとは、豊富なインテグレーション!のはずなんだけど、残念ながらXymonのインテグレーションは無いので、WebHookを使ってアラートをSlackに飛ばせるようにした。

続きを読む XymonのアラートをSlackに飛ばすシェルスクリプト