2023-01-01から1年間の記事一覧
はじめに 郵便番号データ改定の経緯 町域名の問題点 郵便番号データの泥臭い編集 まとめ はじめに 2023年6月より、日本郵政の公開する郵便番号データ、通称 ken_all.csv の改定版が公開されました。 旧来の ken_all.csv に加えて、「住所の郵便番号(1レコー…
インストール Podman machine イメージ コンテナ Volume Pod 確認 No connection could be made because the target machine actively refused it エラー Example postgresql Oracle Database 23c free インストール macOS $ brew install podman Windows > …
blog1.mammb.com sourcesJar タスク sourcesJar へのソース追加 sourcesJar タスク Source Jar は、Java Plugin で 提供される withSourcesJar() メソッドにより、 sourcesJar タスクを追加することができる(プロジェクトに sourcesJar という名前の既タスク…
k6 とは インストール MacOS Windoes Docker バージョン確認 簡単な負荷テストの例 出力メトリクス xk6-dashboard テストスクリプトの構成 実行オプション HTTP リクエスト HTTP レスポンスのCheck スクリプトの自動生成 k6 とは Go で書かれた開発者フレン…
blog1.mammb.com Jar ファイルを任意ディレクトリに配備する Jar ファイルを任意ディレクトリに配備する Configuration を作成して依存定義 Copy タスクで任意ディレクトリにJarをコピー val copyJar: Configuration by configurations.creating dependencie…
winget とは バージョン確認 利用可能なコマンド インストール済みパッケージの確認 パッケージの検索 アプリケーションのインストール アプリケーションのアップグレード アプリケーションのアンインストール 導入パッケージのエクスポート/インポート wing…
blog1.mammb.com システムプロパティから取得 OS Detector Plugin DefaultNativePlatform システムプロパティから取得 単純にシステムプロパティから判定できる。 val os = System.getProperty("os.name") val targetOs = when { os == "Mac OS X" -> "macos…
blog1.mammb.com システムプロパティによる判定 オプションの設定箇所 システムプロパティによる判定 val idea = System.getProperty("idea.active") == "true" || System.getProperty("idea.sync.active") == "true" if (idea) { // } IDEA から Gradle タ…
はじめに ゼロ幅分割 ゼロ幅 (zero-length) とは はじめに 以下のような文字列を : で分割する。 var string = "aa:bb::cc"; split を使うと : で分割され、分割文字である : は含まれない。 string.split(":"); // Arrays.deepToString(string.split(":"));…
はじめに プレビュー版からの変更点 Pattern Matching for switch による機能拡張 switch ラベルによるパターンマッチ case ラベルの guard 条件指定 null と switch enum 定数 ラベルの改善 case ラベルの Dominance(優位性) 型の網羅性(Exhaustiveness) パ…
はじめに レコードパターン ネストされたレコードパターン var による型推論でのマッチング generic レコードのマッチング マッチングが失敗するパターン exhaustive switch blog1.mammb.com はじめに Java16 で導入されたレコードクラス(JEP 395: Records)…
blog1.mammb.com add-exports / add-opens によるパッケージ公開 Gradle Kotlin DSL でコマンドライン引数を指定する オプションをまとめて定義する MANIFEST での Add-Exports 指定 add-exports / add-opens によるパッケージ公開 Java モジュールシステム…
blog1.mammb.com グローバルに無効化 プロジェクト毎に無効化 グローバルに無効化 Gradle のタスク実行時のメッセージがローカライズされて鬱陶しかったり、メッセージが文字化けしたりする場合は、ホームディレクトリ配下の .gradle/gradle.properties でロ…
blog1.mammb.com TL;DR プロジェクト作成 コマンドライン引数でバージョン指定 バージョンプロパティを指定する Jar アーカイブ名を直接指定する プロジェクト自体を変更する Base Plugin の archivesName を指定する TL;DR gradle init タスクで作成したプ…
blog1.mammb.com Java プレビュー言語機能 Gradle Kotlin DSL でプレビュー機能を有効化する Gradle Groovy DSL でプレビュー機能を有効化する Java プレビュー言語機能 Java でプレビュー言語機能を使用するには、コンパイラとランタイム・システムで明示的…
はじめに エラーコード エラーの原因 WSUS の接続先 WSUS とは はじめに Windows Update で「更新サービスに接続できませんでした」エラー がいつまでたっても直らず。 対処方法として、DNS や Proxy などの設定見直しが多く挙げられているが、問題はそこで…
はじめに 文字列テンプレート StringTemplate FMT テンプレートプロセッサ テンプレートプロセッサの自作 まとめ blog1.mammb.com はじめに JEP 430 String Templates がプレビュー公開されました。 ようやく Java でも文字列補完(string interpolation)が使…
はじめに テーブルのカラム定義一覧 ビューのカラム定義一覧 まとめ はじめに テーブルのカラム定義は ALL_TAB_COLUMNS や USER_TAB_COLUMNS を見ます。 しかし、データタイプ毎にデータ長の捉え方が異なるため、きれいに一覧にするのは結構シンドイです。 …
はじめに いろいろと注意点の多い BigDecimal は、使おうとすると、注意点があるということ以外忘れてる。 インスタンス生成は文字列から行うこと 比較は equals() でなく compareTo() を使うこと Java8 より前は stripTrailingZeros() のバグに注意すること…
Spin とは 2023年03月に 1.0 版がリリースされた WebAssembly でマイクロサービスアプリケーションを作るためのフレームワークです。 フレームワークとなっていますが、WIT(Wasm Interface Type) を生成し、WebAssembly Component Model として動作させるた…
はじめに Unnamed variables Unused patterns Unnamed pattern variables まとめ blog1.mammb.com はじめに Java21あたりで入るかもしれない Unnamed Patterns and Variables(JEP 443) の先取りです。 Unnamed Patterns and Variables では、他の言語で良く…
forward 前のリクエストURI取得 Forwarded Request Parameters パスの取得 forward 前のリクエストURI取得 HttpServletRequest.getAttribute() から取得できる。 HttpServletRequest request = //... String uri = (String) request.getAttribute("javax.ser…
はじめに TL; DR png2icons 実行時のセキュリティ設定 png2icons のオプション icns ファイル ico ファイル はじめに ドローツールではなく、単画像ファイルから Windows 向けの ico ファイル、mac 向けの icns ファイルの作成手順です。 TL; DR png2icons …
はじめに 動機 Sequenced の追加 SequencedCollection SequencedSet SequencedMap Collections.unmodifiableSequenced blog1.mammb.com はじめに Java21 でコレクションフレームワークに順序付き要素のシーケンスを表すインターフェースが追加されます。 JEP…
はじめに Obsidian のインストール Obsidian の設定 Obsidian の基本操作 プラグイン Excalidraw プラグイン Advanced Tables プラグイン Remotely Save プラグイン まとめ はじめに Notion からの乗り換え先として、Obsidian を紹介します(Obsidian はその…
JPAstreamer とは JPAstreamer の始め方 JPA の利用準備 クエリの実行 Stream API と SQL の対応 Join 処理 CDI 統合 まとめ JPAstreamer とは Speedment 社が提供している ORM ツールキットに speedment があります。 speedment は、データベース操作を Jav…
はじめに Java Persistence API 2.2 (Jakarta Persistence 2.2) Jakarta Persistence 3.x Hibernate 6.x まとめ はじめに Hibernate 5系と6系と、JPAの名前空間の変更(javax.persistence -> jakarta.persistence)対応がややこしいので、と言うか経緯知らない…
はじめに Windows macOS(cocoa) winit まとめ はじめに Rust で native な Window を作成する3種です。 Windows microsoft が提供している windows クレートを利用することで、伝統的な Windows API の作法でプログラミングできます。 [dependencies.windows…
はじめに デジタル・ガバメント推進標準ガイドライン群 実践ガイドブックの全体像 切り抜き 導入部 丸投げ禁止!! 目標設定、それって本当に大丈夫? お役所だからと言って よく見る認識齟齬 はじめに NIPPON EXPRESS ホールディングスのシステム開発頓挫に…
Test Double とは Test Double のタイプ ダミー(Dummy) スタブ(Stub) スパイ(Spy) モック(Mock) フェイク(Fake) Test Double のタイプの比較 Test Double とは 映画などで、危険なシーンや高度なスタントに使用されるスタントパフォーマーを「スタントダブル…