PlayFramework2.7でJaCoCoのカバレッジ出力対象からviewsやroute、controllerのjavascriptなど自動生成パッケージを除外する方法。build.sbtに追記するだけでレポートの肥大化を防げます♪
PlayFramework2系をsbtではなくGradleで動かす方法。公式のGradleプラグインでgradle runPlayから起動し、JUnitやJaCoCoも使えます。PlayFramework2.7以上・Scala2.13以上は非対応なので注意♪
PlayFramework2.7で配列のクエリパラメータをFormモデルにbindFromRequestDataでマッピングすると最初の要素しか入らない問題。[]を付けるお作法と、[]無しでbindしてBeanバリデーションする自前の対処法をご紹介♪
PlayFramework2.7のプロジェクトでsbt-jacocoプラグインを使い、JUnitのカバレッジレポートをHTML形式で自動生成する方法。plugins.sbtへの追記とsbt jacocoでの実行、分岐を網羅していない場合の見方まで♪
sbtを使ってPlayFramework2.7のプロジェクトをJavaで作成する方法。Homebrewでのsbtのインストール、sbt newでのプロジェクト作成(ScalaとJavaの場合)、実行、生成されるディレクトリ構造、JUnitテストの実行まで♪
javacコマンドのコンパイルエラーログを日本語ではなく英語で出したいときは、-J-Duser.language=en オプションを付けるだけ。英語のエラーメッセージのほうがネットで調べやすいときに便利です♪
JavaでListやMapを操作するとUnsupportedOperationExceptionが出る原因は、Collections.emptyListやArrays.asListで作った固定長のコレクション。finalとは無関係です。new ArrayListでラップすれば操作できます♪
UpdraftPlusのバックアップからWordPressをローカル環境へ丸ごと復元する手順。DBダンプ内のURLを置換し、ローカルにWordPressを立ててプラグインから復元。バージョンアップの検証に♪
zip・gz・tarの違いは「圧縮」と「まとめる」の役割分担です。gzipやtarコマンドでファイルやディレクトリを圧縮・解凍する手順を、tar.gzの合わせ技や注意点も含めてまとめました♪
PlayFramework2.7でCookieに保存されるSession情報の名称や有効期限、HttpOnly、Secureなどの属性を変更する方法。デフォルト値の一覧と、application.confのplay.http.session配下のキーで上書きする手順です♪