環境
- docker Debian Jessie
原因
ubuntuとパッケージ名が違う
apt-get install libjpeg62-turbo-dev
でおk
PHPの公式ドキュメントを見て貰えればわかるように、PHPからImageMagickを通して多くの画像処理を行うことができる。が、当然サーバー上にImageMagickがインストールされてなければならない。
docker上で操作したいときに若干はハマったのでメモ
今使ってるイメージは公式のphp:5.6-fpm
FROM php:5.6-fpm # (略) RUN apt-get update && apt-get install libmagickwand-dev -y --no-install-recommends \ && pecl install imagick-3.4.3 \ && docker-php-ext-enable imagick
libmagickwand-devが結構ポイントで、ただのImageMagickではダメだった。。
ActionMailerを使ったメール送信周りのテストをしていて、
# メール1通送れているか expect(ActionMailer::Base.deliveries.size).to eq(1) mail = ActionMailer::Base.deliveries.last expect(mail.subject).to eq("たいとる") expect(mail.to).to eq(['aaaaaaaaaaa@example.com']) expect(mail.body.encoded).to include("ほげほげ") expect(mail.from).to eq(["aaaaa@example.com"])
といった形でメールに対してテストができる。mail.from
で差出人のメールアドレスが取得できるのだが、
はてなブログサポート事務局 <hatena@example.com>
のように名前を含むメールアドレスになってしまうと何故かうまく取れなくなる。(でテストにコケる
mail[:from].value
で名前ごと取れる。つまり
mail = ActionMailer::Base.deliveries.last expect(mail[:from].value).to eq('はてなブログサポート事務局 <hatena@example.com>')
みたいに可能。ベストなやり方かはわからんが
ちなみにこのやり方で取れるのは5以降らしい
MessagePackと呼ばれるJSONのような、、だけど似て非なるオブジェクト形式がある。
具体的な説明は公式ドキュメントに譲るとして、phpやruby 、Pythonで扱うライブラリはあるものの、linuxのコマンドで使いたかったのでメモ
msgpack-toolsというのがあるのでありがたく使う
公式ドキュメントではパッケージでもインストールできるようだが、うまくいかなかったのでおとなしく自ビルドする。
git clone https://github.com/ludocode/msgpack-tools.git cd msgpack-tools
ビルド自体は単純である。が、md2manに依存しているので gem install md2man
が必要
./configure make make install
$ echo '{"compact": true, "schema": 0}' | json2msgpack | msgpack2json {"compact":true,"schema":0}~/tmp/msgpack-tools
おk
ロゴだけ左端に、ほかは右寄せにってのがすごく役に立った(:first-child と margin-right: auto; の合わせ技)