こみなのメモ帳

趣味と実益のネタ帳

カテゴリー: 技術情報

  • [h2db]インデックスのリビルド

    一般にデータの更新を繰り返しているとインデックスが断片化、肥大化しまいます。H2DBも例外ではありません。そうしたインデックスをリビルド(再構築)する機能は現時点(2021/03/18)で実装されていません。 データベー […]

  • [h2db]マイグレーションとリカバリ

    H2のバージョンアップで、DBデータ形式に関する変更があった場合でもDBデータを自動的にバージョンアップしてくれません。jarを差し替える前にDBデータの移行作業が必要です。 移行作業というと仰々しいですが、リカバリの手 […]

  • [play1-deps] libフォルダについて

    libフォルダは置かれたjarを勝手に認識してくれる便利なフォルダですが、本来は play deps コマンドで依存性解決した結果のライブラリの置き場所です。 そのため、playが置いた以外のjarファイルが見つかるとw […]

  • [play1] テンプレート処理結果を文字列で見たい

    play1のrenderメソッドは巧みに隠されていますが、Resultクラスを継承したランタイム例外を投げるようになっています。 こうした実装により、コントローラ処理での終わり方を意識することなく、バッサリ終わらせるよう […]

  • [play1-template] fieldタグについて

    入力フォームを作成する作業をパターン化して、記述量を軽減しようとする試み。 #{field ‘user.name’ } <input … /> #{/field} のようにフォーム部分を挟んで使う。 挟ま […]

  • [play1-template] includeタグで一回だけ読み込む

    C言語でヘッダファイルを何度も読み込まないためのテクニック。あれの Play!テンプレート版です。C言語の場合は下記のように記述しますよね。 “mylib_h” が未定義ならヘッダの /* 本文 […]

  • [node.js-express]postリクエストでページ移動

    最近、node.jsを始めました。 postリクエストを受けて、その内容によってページを移動する/しない、といった挙動を実現する方法を知ったのでメモしておきます。 単なるリダイレクトだとhttpステータス302となり、g […]

  • [play1-template] includeタグで対象ファイルが存在しない場合への対処

    includeタグを使うと外部ファイルをインクルードすることができます。通常はファイルが存在することを前提にすると思いますが、たとえばプロパティ値や変数を使って動的に読み込むファイル名を決めるような高度な使い方も考えられ […]

  • [play1-template] 長い文字列を省略する

    ブログ記事の一覧などで、本文をすべて表示するには長すぎる。文頭だけ表示したい、という場合があると思う。こんなとき、テンプレートの3項演算子を使うとすっきり書ける。 20文字を超えるときは20文字まで表示して「&#8230 […]

  • [play1-template] ログ出力

    テンプレート処理のトレース実行は難易度が高いので、、っていうか可能なのか分かりません。 初歩的なログ出力デバッグおすすめです。 スクリプトタグ %{ }% を使ってログ出力を呼び出します。 エラー発生個所に至るまでの変数 […]

  • [groovy] 再帰的にファイルを検索する

    Fileオブジェクトのgroovy拡張でとても便利なメソッドがある。 配下のファイルを総当たりしたいときはFileType.FILESを、ディレクトリを総当たりしたいときはFileType.DIRECTORIESを指定す […]

  • [play1-template] 数値に3桁区切りのカンマを入れる

    Groovyエクステンションを利用すると簡単に記述できる。 DecimalFormatクラスを利用した書式指定を用いる。 小数点2ケタまで、であればこんな感じ。