IntelliJ IDEAのライセンスを更新した

サブスクリプションへの移行でお得な切り替えライセンスだよに誘惑されてAll Products Packに変えた。 宝の持ち腐れとはこのことだろう。

まともに使うのはIDEA, PhpStorm (, ReSharper)くらいではないだろうか。 DataGripはちょっと使ったけどWindows上ならA5:SQL Mk-2でいいんじゃね感。

とりあえず来年分はfreeなのであまり深く考えないでおこうと思います。

Zenfone Maxを買った

www.asus.com

今までだとバッテリーの残りが40%切るとそろそろ充電かな?と思っていたけどこれに変えてからはまだ1日持つな。に変わりました。 前のがバッテリー劣化気味ということもありさらに長持ちするように感じます。

サイズは5.5インチと大きめな上にバッテリーモリモリのおかげで分厚く重さも200g超えのおデブですが それに見合った長時間駆動があるのでそこは妥協するしかないでしょう。 基本的なスペック面は抑え気味でグラに力を入れているようなゲームやる人には微妙なところ。 snapdragon650以上ので同じ方向性のが出ればゲームにもそこまで困らないのかな?

pdo_sqlsrv_7がリリースされていた

github.com

なぜかこのissueが進捗報告用に使われているmssqlドライバに待望のpdo拡張がプレリリースされた。 リリース日がなんかおかしい気もするけどPDOのはここ数日追加されたもの…だと思う。

SQL Server上のIISPHPを動かしつつリリースされていたんだしPHP7にしたいなーと思っていた勢が待ち望んでいたものである。

Linux用のものはcoming weeksとあるのでもう少しですね。

ちょっと動かした感じではPDOStatement::bindParamでPDO::SQLSRV_ENCODING_BINARYを指定するとエンコーディング変換に失敗したよ例外を履く以外は普通に動いている感じ。

具体的にはcore_stmt#core_sqlsrv_bind_paramの convert_input_param_to_utf16 呼んでるところで失敗してるのかなあといったところ。 PHP側の設定の可能性もないわけではないしちょっとまだ問題の切り分けができていない。

本リリースが待ち遠しいですね。

特定の環境からメールを送信できなかった

ThunderBirdを使うと自社のメールサーバーを使ってメールが送信できなかったお話。

経緯

OSX標準のメール.appでは問題ないんだけどThunerBirdからだとエラーで送信できない。と言われたので調査して暫定の対応した。

調査

ログを確認すると、

Helo command rejected: need fully-qualified hostname; 

のエラーが発生していた。 また、気になった点として

Received: from MacBook-Air.local ...

のように送信側のマシンのhostnameっぽいものが表示されていた。

/etc/postfix/main.cfの設定を確認すると

smtpd_helo_restrictions =
        permit_mynetworks,
        reject_invalid_helo_hostname,
        reject_unknown_hostname,
        permit

としていた。

暫定対応

smtpd_helo_required = yes
#smtpd_helo_restrictions =
#       permit_mynetworks,
#        reject_invalid_helo_hostname,
#        reject_unknown_hostname,
#        permit

に変更し、EHLO/HELOコマンドは要求するが、その中身のチェックを行わないようにし、メールが送信ができることを確認した。

本来ならば、こんな適当な対応ではなく、smtp_helo_nameにMTAのホスト名を設定すべきなんでしょう。 次に設定を触れるときに試す。

参考

gihyo.jp

その他

メール.appから送ったもののヘッダーを確認すると、

Received: from [<マシンのプライベートアドレス>] …

となっているがThunderBirdだとhostnameが使われている理由がいまいちわからなかったので調べたら設定で変更可能らしい。

Replace IP address with name in headers - MozillaZine Knowledge Base

ThunderBird -> 環境設定 -> 詳細 -> 設定エディタ

f:id:ebifly10:20160330235920p:plain

about:configですね。

smtpserverで検索

f:id:ebifly10:20160331000100p:plain

smtp1の1の部分は1番目の設定とかそんなノリ。

右クリックで 新規作成 -> 文字列で設定名に

mail.smtpserver.smtp1.hello_argument

値は任意のもの…なんだけど名前解決できるのにすればいいんじゃないでしょうか。何も考えずにlocalhostにしましたが。

これに変更後にメールを送ってヘッダーを見ると

Received: from localhost …

やったぜ。