The Rank of F

六本木で働く無能のブログ

php 7.4 に Typed Properties 2.0 が来そうな話

TL;DR

  • https://wiki.php.net/rfc/typed_properties_v2
  • php 7.4 へのオブジェクトプロパティへの型付け導入への RFC 投票が始まった
  • 現在のところ反対意見もなくこのまま可決されそう
  • 現状の実装だとパフォーマンスは MediaWiki でのテストで 2% 〜 3% 低下
続きを読む

macOS High Sierra(10.13.6)のfold(1)コマンドが死んでる話

シェルスクリプトで汎用的なコマンドを作るのがダルかったので雛形を作ろうとしていた時にSegmentation Faultに出くわした。

SEGVなんてPOSIX準拠のコマンドを普通に使っている限り発生しないと思っていたのだけれど、発生してしまったものは仕方ないので少々調査してみることにした。

どうやらmacOSfold(1)がバグを抱えているくさい。標準入力から値を渡し、-sまたは-bオプションをつけると確実にSEGVする。

macOS fold(1) SEGVasciinema.org

上記の通り、BSDfold(1)ではなくGNUfold(1)では正常に動作している。

macOS自体がBSD系なので、同じ系統であるFreeBSD (12.0 Current)でも動作を確かめてみた。結果としては問題なく動作した。

うーん困った... 一応Appleにバグレポートを投げてみたけれど、いつころからこのバグを抱えているんだろうか...

fold(1)を使うシェルスクリプトが全滅する可能性もありなんとも言えない。せめてPOSIXの範囲内では正常に動作するようにしてほしい...

というかPOSIX標準満たせてなくてもThe Open GroupのUNIX認証通るんですね...特にテストとかはないのかな

雑記 : PHP_CodeSnifferとPHPCompatibility

自分の書いているphpのコードが特定のphpバージョンで正常に動作するか確認したい。

ということでPHP_CodeSniffer(squizlabs/PHP_CodeSniffer)とPHPCompatibility(wimg/PHPCompatibility)を使って解析する方法をQiitaに投げた。

php 7.0へのマイグレーション確認用には他にもsstale/php7ccとかもあるようだけど,どうなんだろうか。