JavaFX で ace.js を使ったエディタのテキストがコピーできない

はじめに Workaround 1 Workaround 2 Workaround 3 ace.js におけるコピー処理 まとめ はじめに windows での挙動は試していませんが、MacOS 上で JavaFX の WebView を使い、ace.js を組み込んだ際にテキストのコピーが動かない事象がありました。 環境は J…

Java lambda における this 参照について

はじめに 匿名クラスの this 参照 lambda の this 参照 lambda コードの展開 lambda で自身を参照する はじめに lambda は、匿名クラスの単なる構文糖ではなく、その実現方法の違いから発生するいくつかの違いがあります。 ここでは、lambda ブロックにおけ…

JavaFX でダイアグラムを書く

はじめに マウスドラッグ可能なダイアグラムの作成 最初のダイアグラムの表示 ダイアグラムを繋ぐコネクタの作成 クラス図の表示 まとめ はじめに 前回は JavaFX の環境構築についてのポストでした。 blog1.mammb.com 今回は、JavaFX により、上記のような簡…

JavaFX の始め方(Gradle 編)

はじめに プロジェクトの作成 OpenJFX プラグインの導入 アプリケーションの実行 モジュール はじめに Java 11 からは、JavaFX が同梱されなくなったため、別途 OpenJFX を導入する必要があります。 しかし、Maven や Gradle 向けにプラグインが提供されてい…

ANTLR による構文解析の始め方

ANTLR とは ANTLR の導入 ANTLR の実行 ANTLR による構文解析 ANTLR の文法ファイルと生成ファイルの関係 まとめ ANTLR とは ANTLR (ANother Tool for Language Recognition) は構文解析器を生成するパーサジェネレータで、yacc や JavaCC などと同じ類いの…

JPA Schema Generation プロパティ

はじめに プロパティ一覧 persistence.xml での設定例 Spring Boot での設定例 はじめに JPA2.1 から標準化されたスキーマ生成プロパティですが、意外にまとまった情報が見当たらないので。 プロパティ一覧 javax.persistence.schema-generation 説明 connec…

Maven Central Repository への公開手順(Gradle版)

はじめに sonatype で JIRAアカウント作成 New Project の issue 登録 GnuPG の導入 GnuPG による鍵の生成 公開鍵を鍵サーバへ登録 秘密鍵をエクスポート Gradle プラグインの導入 build.gradle の設定 リポジトリへの公開 まとめ はじめに Maven Central Re…

プログラマ向け ASCII 記号の読み方

etc

記号 名前 ~ tilde ` backquote / grave accent / left quote / back tick ! exclamation mark / bang / not @ at sign / at # hash / sharp / number sign / pound $ dollar sign / dollar % percent sign / mod ^ caret / hat / circumflex & ampersand / …

日本郵便の郵便番号データ ken_all をどうにかする

はじめに 郵便番号と住所の割当についての注意点 郵便番号データのカラム定義 複数行に分割されるレコード 町域名の編集 "以下に掲載がない場合" "・・の次に番地がくる場合" "・・一円" カンマ区切りされた町域名 地割 町域名がカッコ付きで補足されるパタ…

Set や Map のキーを前方一致の Like 検索する

はじめに NavigableSet NavigableMap まとめ はじめに 入力項目の自動補完(auto complete)などで、前方一致の Like 検索を行いたい場合があります。 Set や Map は、key または key-value のデータ構造なので、これらの用途には向いたものではありませんが、…

【これだけで大丈夫】.gitignore チートシート

git

リポジトリで管理したくないファイル(or ディレクトリ) は.gitignore に定義することで git add 実行時にインデックスに追加されなくなる。 指定 除外対象 foo.txt 配下のサブディレクトリのどこかにある foo.txt ファイル(or ディレクトリ) /foo.txt 現在の…

より良い .gitignore を一瞬で手に入れる

git

はじめに Github 管理の .gitignore テンプレート .gitignore の作成 まとめ はじめに Git を利用する際 .gitignore にファイルやディレクトリを指定することで、リポジトリ管理の対象から除外することができます。 例えば Windows の場合のThumbs.db や mac…

RGBカラーコードで明度・彩度・色相を変更する

RGBカラーコードとHSVモデル 明度を変更する 彩度を変更する 色相を変更する まとめ CSS でカラーコードを指定する際に、少し明るい色が欲しいな、とか、少し鮮やかな色が欲しいなといったケースがよくあります。 ここでは、RGBカラーコードで明度・彩度・色…

Quarkus 1.1 で追加されたテンプレートエンジン Qute

はじめに Qute とは プロジェクトの作成 Hello Qute Qute テンプレートの文法 Template Extension Methods まとめ はじめに マイクロサービス・アプリケーション・フレームワークである Quarkus の バージョン 1.1 が 2019年12月17日にリリースされました。 …

Java でリストを逆順にイテレートする

はじめに ListIterator による逆順イテレート ListIterator ユーティリティを利用した逆順イテレート DescendingIterator による逆順イテレート はじめに 以下のようなリストを逆順で末尾からイテレートしたいケースがあります。 List<String> list = Arrays.asList(</string>…

HTML 要素の disabled 属性と readonly 属性の違いと正しい使い方

はじめに <input> 要素の disabled 属性 と readonly 属性の違い <input> 要素の readonly 属性の例外 <select> 要素の readonly 属性 readonly 属性が効かないコントロールで readonly を模倣する4つの方法 option 要素を disabled 指定する select コントロールの操作を無効化す</select>…

Markdown で簡単にオンラインドキュメントを生成できる mdBook の使い方

mdBook とは mdBook の導入 mdBook の始め方 mdBook でビルドする mdBook のコマンド mdBook での作業 mdBook で Rust コードを実行 mdBook とは Markdown 形式できれいなドキュメントを作成するためのツールです。 チャプター別に執筆した Markdown ファイ…

Java Stream でよく使う Map 変換

Map へ変換(キー重複無し) Map へ変換(キー重複有り) LinkedHashMap へ変換 任意キーでグルーピング グルーピングして集計 グループ分け Map へ変換(キー重複無し) 以下の Item のリストを id をキーにした Map に変換します。 List<Item> list = Arrays.asList( n</item>…

Vaadin と Spring Boot で作る 「Javaだけ」 Web アプリケーション

はじめに プロジェクトの作成 最初のアプリケーション 画面レイアウトの設計 レイアウト構築の概要 レイアウトの実装 エンティティの準備 アカウント一覧コンポーネントの作成 アカウント一覧のフィルタリング AccountService の追加 アカウント編集フォーム…

Rust のマルチプラットフォーム UI ライブラリ OrbTk の使い方

OrbTk とは プロジェクトの作成 Hello OrbTk Template によるレイアウト定義 イベント処理 まとめ OrbTk とは Redox という Rust で書かれた UNIX ライク OS のサブプロジェクトとして開発されている Widget Toolkit です。 OrbTk の機能としては以下が謳わ…

Bootstrap のファイル選択を custom-file-input できれいにする

はじめに テンプレート デフォルトの ファイル インプット カスタム・ファイル・インプット bs-custom-file-input を使う ラベルの変更 取消ボタン 取消イベントのマルチブラウザ化 まとめ はじめに Bootstrap の Forms コンポーネントは、デフォルトだと fi…

Java Beans の大罪 〜 getter/setter を捨てて美しきオブジェクトの世界で生きよ〜

まえがき はじめに Java Beans の誕生 サーバサイドの台頭 Struts と BeanUtilsの興起 Enterprise JavaBeans ORM の台頭 getter/setter は良くない習慣です なぜ getter/setter は悪なのか 悪の囁きに対する処方箋 まとめ まえがき 以下のコードを見てくださ…

macOS アップデート後にいつも出くわす invalid active developer path エラー

macOS のメジャーアップグレード後にいつも出くわすやつ macOS のメジャーアップグレード後には、いつも以下のようなエラーに出くわします。 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Libra…

bash の初期化ファイル .profile, .bashrc, .bash_profile の使い分けと管理方針

はじめに bash の初期化ファイル ログインシェルとは インタラクティブ(対話的)シェルとは ログインシェルとインタラクティブシェルの分類 各種環境における初期化ファイル CentOSの初期化ファイル Ubuntuの初期化ファイル macOS(Catalina以前)の初期化ファ…

Node のバージョン管理ツール n の使い方

Node のバージョン管理ツールである「n」を紹介します。 はじめに n のインストール n 利用準備 node のインストール node のバージョン切り替え node のバージョン削除 はじめに Node のバージョン管理ツールは、nvm nodenv 日本だと nodebrew など色々あり…

Quarkus の始め方 〜 Gradle 編 〜

はじめに Project Starter アプリケーションの起動 プロジェクトの構成 ネイティブ・ビルド ネイティブバイナリの実行 JVM モードのコンテナ作成 RestAssured によるテスト まとめ はじめに クラウドネイティブなアプリケーションフレームワークである Quark…

JUnit5 Jupiter による Parameterized Test の使い方

はじめに JUnit5 の導入 CsvSource による Parameterized Test Parameterized Test の型変換 ArgumentsAccessor で引数をまとめて受け取る ArgumentConverter で任意のオブジェクトを受け取る ArgumentsAggregator で複雑なインスタンスを扱う MethodSource …

CSS だけで並び替え矢印 ソートインジケータ を作る

はじめに CSS で三角形を作る 準備 ボーダーで正方形を書く ボーダーを広くする ボーダーをさらに広くする 不要なボーダーを消す 2つ目の三角形を作成する 2つの三角形の並びを調整する テーブルを作る ソートインジケータ を付ける クリックイベントで動き…

REST と RESTful と RESTish について

はじめに REST とは RESTful とは RESTish とは まとめ はじめに REST と RESTful 、さらに最近では RESTish という用語についてのまとめです*1。 REST とは REST(REpresentational State Transfer)という言葉が何を指すかは、かなり発散する話題です。 元と…

Docker でロードバランサ・アプリケーションサーバ・DBサーバの環境構築

はじめに Nginx でロードバランサを構成する Webサーバ1号機の作成 Webサーバ2号機の作成 ロードバランサの作成 ロードバランサとWebサーバの起動 Web アプリケーションの準備 Docker でアプリケーションをビルドする DBサーバの準備 ロードバランサとアプリ…