上に政策あり、下に対策あり

ジェット旅客機の墜落実験は昔も行われている。「テレビ史上初」という言い方

ドキュメンタリーチャンネル「ディスカバリーチャンネル」は、テレビ史上初となるジェット旅客機墜落実験を行なった新番組『好奇心の扉:航空機事故は解明できるのか?』を11月6日(22:00~)に放送する。

はてなブックマーク – テレビ史上初、航空機を墜落させてみた! ついに明かされる安全なエリアとは | マイナビニュース

このニュース自体が、2012年のテレビ番組についてのものだったので、「前に見た」的な反応も多かったようですが、そもそも、2012年のこの実験も、史上初というわけではなかったようです。”jet plane crash test”などで検索するといくつか昔の事例が出てきました。

1964年米航空局(FAA)のDC-7のクラッシュテスト

制御された衝撃実演 – Wikipedia

1984年NASAのボーイング720のクラッシュテスト

Controlled Impact Demonstration – Wikipedia

自動車の衝突テストと同じで、衝突実験に使われるダミーボディを客席にもパイロットの運転席にも置いて、衝突時に何が起きるかを撮影し記録していますね。

記事中の「史上初」は、ジェット旅客機の墜落実験が歴史上初めて、という意味ではなく、テレビが主導してやる実験が初めて、ということのようです。間際らしいというか、わざと「前例がない実験」のように思わせようとしてるのではと疑いたくなる言い方ですが。

[障害報告] 読んだ4で書名検索が止まっていました

ツイッター読書記録サービス「読んだ4」ですが、

10月中旬より、書名検索機能が動かず、何を検索しても結果が無いというページが表示されていました。

Amazon APIから書籍情報を取得していたのですが、Amazon から API 利用のためのキーを変更するようにというメールが来ていたのを見過ごしていたのが原因でした。

WordPress Jetpack pluginを強制的に止める

非常に限定的な状況での話なのですが、とあるWordPressサーバで Jetpack プラグインが動作しなくなるということがあり相談を受けました。

動かないなら止めればいい、と思うのですが、Jetpackの管理画面も、プラグインの停止リンクも、真っ白やデザインの無いページに遷移してしまい、プラグインを止めることができません。

自分の管理下のサーバなら、直接サーバをいじればいいのですが、サーバーにログインする権限がなく、pluginフォルダを削除できません。(サーバに触れるなら、プラグインのファイルを消してしまえば終わりです) mysqlの直接アクセスも許されていないので、プラグインの利用フラグを直接オフにすることもできません。

WordPressの管理画面だけは管理権限があるので、これでなんとか止めよう、となると、管理画面からの「プラグイン」の「編集」しかありません。

jetpack/jetpack.php を単に止めただけでは、Jetpack の処理は起動しなくなりますが、Jetpack プラグインを停止・削除できないのは同じです。そこで、jetpack.php の冒頭にある要求WordPressのバージョン番号

define( ‘JETPACK__MINIMUM_WP_VERSION’, ‘4.5’ );

を、現在のWordPressバージョンより大きな数字、たとえば’10.0’とかに書き換えて保存することで、Jetpackのバージョンチェックが走り、プラグインは停止してくれました。

一旦停止状態になれば、管理画面から削除してしまうことも可能です。

globalとlocalのphpunitバージョンが違う時に出たエラー

phpunit の実行で以下のようなエラーメッセージが出た場合、


PHPUnit 4.5.1 by Sebastian Bergmann and contributors.

PHP Fatal error: Call to undefined method PHPUnit_Framework_TestResult::warningCount() in ~akky\AppData\Roaming\Composer\vendor\phpunit\phpunit\src\TextUI\ResultPrinter.php on line 185

Fatal error: Call to undefined method PHPUnit_Framework_TestResult::warningCount() in ~\akky\AppData\Roaming\Composer\vendor\phpunit\phpunit\src\TextUI\ResultPrinter.php on line 185

これは、composerで定義されたlocalにあるphpunit(./vendor/bin/phpunit)を呼ぶつもりで、globalにインストールされたphpunit(version 5.1.6)を呼んでいるために発生しているエラーのようです。

phpunitのバージョン表記が、なぜかlocal側の4.5.1で出てくるのでちょっと気づかなかったのですが、


$ ./vendor/bin/phpunit

とlocalのphpunitを呼ぶと、エラーは起こらなくなりました。

Laravelプロジェクトでも同様のエラーが報告されていました。globalのphpunitをuninstallすると解消した、というコメントもありますがつまりはそういうことでしょう。

composer.json で新しいphpunitが指定されていればこのトラブルは起こらないのでしょうけど、phpunitを更新するとテストが動かなくなる、ということもあるので、他のプロジェクトを持ってきてテストするとこういうことも起こるでしょう。