[Java] Jetty-Runnerでお手軽にWebアプリを試す

Jetty Runner

JavaでWebアプリを試したい場合はTomcatやGlassFishといったアプリケーションサーバを用意して、設定ファイルを作って、デプロイして...といった手順が必要になる。
でも、サンプル作成やデバッグ目的でもっと手軽にServletを作りたい時がある。
Dockerを使って環境を用意してもいいけど、[PHP] PHPのビルトインサーバでxdebugを使うの"php -S"並みにできないだろうか。
こんな時はJettyを使うといい。

[PHP] PHPで任意精度計算

BC Math

PHPでは小数を含めて、任意精度で計算をしたい場合はBC Math関数を使う。
http://php.net/manual/ja/book.bc.php

こんな感じで。
bcdiv('123.45', '78.90', 10);      // 1.5646387832

2値を比較する場合はbccompを使う。

[PHP] PHPの変な演算子

変な演算子たち

PHPではNull合体演算子、宇宙船演算子という変な演算子がある。

Null合体演算子は比較対象がNULLであれば指定した値を返し、非NULLであればその値をそのまま返してくれる。
宇宙船演算子はCのstrcmpみたいなもので、二値を比較して、等しければ0、右の値が大きければ1、左の値が大きければ-1を返してくれる。
// Null合体演算子
$foo ?? 'nothing';
// 宇宙船演算子
$a <=> $b;

※Null合体演算子、宇宙船演算子ともにPHP7からの機能。
PHPマニュアル 新機能

[WSH] Windowsのコマンドプロンプトでtee

tee

[WSH] Windowsのコマンドプロンプトで正規表現を使って、文字列置換ではコマンドプロンプトから文字列置換をする方法を書いた。

他にもよくある作業として、画面で出力を確認しながら、同じものをファイルに取っておきたいことがあるよね。
いわゆるteeだ。

[bash] quine

明けましておめでとうございます。
2018年もよろしくお願いします。

$ q=q=%q\;printf\\x20\$q\\x20\$q\\n;printf $q $q
q=q=%q\;printf\\x20\$q\\x20\$q\\n;printf $q $q