Kotolin のプロジェクトを Maven で作成する


入門書を一通り読み終えたのでサンプルプロジェクトを作成しようと思いました。

JetBrains がメンテナンスしている archetype が利用できそうです。

mvn archetype:generate -DarchetypeGroupId=org.jetbrains.kotlin -DarchetypeArtifactId=kotlin-archetype-jvm

IntelliJ IDEA から作成した場合も似た感じの pom.xml が作成されるかなと思います。

…
Read more ⟶

IntelliJ 最新版(2021.3) で Kotlin と Lombok が共存できない


[追記 2022-01-17] 今回リリースされた 213-1.6.10-release-944-IJ6461.79 で修正されたようです(ただし .idea ディレクトリを削除してからインポートし直す必要がありました)。

Kotlin 1.5.20 から Lombok compiler plugin というものが提供されるようになり、 Kotlin から自動生成される getter などにアクセスできるようになりました(※実験的機能なようですが)。

…
Read more ⟶

Kotlin in Action (Kotlin イン・アクション) 読書メモ


Kotlin 関連書籍について

書籍 Kotlinイン・アクション を読んでいます。

2022 年 1 月現在の Kotlin 最新バージョン が 1.6.10 であるのに対し、本書が解説しているのは 1.0 のようなので、役に立つのかな…と当初は考えていましたが、今のところ、これは駄目だ、というところは無さそうです。 (気になる人はドキュメントの “Earlier versions” (このあたり) で新機能について説明があります)

…
Read more ⟶

Ubuntu で作業していると突然マウスホイールが効かなくなる


表題のような事象がたまに発生していて、これまではOS再起動で直していました。

その症状が今しがた出たのですが、ふと imwheel をインストールしていたことを思い出してこれをアンインストールしてみたところ、再起動せずにスクロール機能が復活しました。

…
Read more ⟶

Spring Boot でサンプルコードを作成するときのプロパティなど


Stack Overflow で Spring Boot の質問に回答するときのサンプルプロジェクトを作成するとき、 Spirng Initializr を利用しているのですが、よく必要な dependencies を追加し忘れたり、設定しておいた方が良いプロパティってなんだっけかな、と迷うことがあります。

…
Read more ⟶

VSCode でエラー/警告アンダーラインの区別がつかない


VSCode のデフォルトの色設定だと、エラーの波線と警告の波線との区別が私の目では付けづらいのです。 おそらく赤色と黄色だと思うのですが…

色についてのプロパティは次のリンク先に説明がありました。

…
Read more ⟶

Spring Boot でカスタム validator に injection する


はじめに

Spring Boot で JPA Validator にインジェクションしようとしたけどできなかった、という話を何度か聞いてその度に調べていたので、次回に備えてまとめておきます。 サンプルコードはこちら:

…
Read more ⟶

Spring MVC で Java17 record を試してみる


(※ record は Java14 でプレビュー版が導入、 Java16 で正式版が導入されたので Java17 というのは不正確なようですが…)

Java17 の record を今まで利用してきた POJO から置き換えられるのかを簡単に見てみました。

…
Read more ⟶

Mapstruct Spring Extensions を試してみる


はじめに

MapStruct の公式サイトを見ていると、 Mapstruct Spring Extensions なるサブプロジェクトが発足していたので、何者か調べようと試してみました。

結果、これは Spring の ConversionService の Converter と MapStruct の Mapper を統合して、実装を少し楽にしよう、というもののようでした。

…
Read more ⟶

STS(Eclipse) で Import Getting Started Content が進まない


Spring Tools 4 for Eclipse を利用していると、バージョンによって? プロジェクト新規作成時などで “Import Getting Started Content” というタスクが走るのですがこれが全く終わらないことがあります。

…
Read more ⟶

map で Result を引き回すときに Err を意識したくない その2


その1はこちらです:

その1では戻り値が i * 2 の i32 型になる話でしたが、その次に考えたかったのは Result が返ってくるメソッドで引き回すときの話でした。こんな感じで:

…
Read more ⟶

Servlet 5.1 で Samesite 属性を設定できるようになる


現在の Servlet API では Cookie に SameSite 属性を設定するメソッドがありません。

そのため、仕様外の、フレームワーク固有の方法だったり、低レイヤーの仕組みを使って設定する必要があります。

…
Read more ⟶

Android Firefox Webextensions 開発/デバッグ覚え書き


  • HAXM を有効化するためには 今でも Hyper-V を無効化しておく必要があるらしいです。つまり Android 開発と WSL2 は両立できないということに。

    • 私は最初 Hyper-V 有効か状態で開発環境インストールを進めたのですが、やはりインストール失敗しました。
  • 最初コマンドラインツール(sdkmanager)だけインストールしようとしたものの、どこからダウンロードすればいいのか分からなかったのですが、 Android Studio のダウンロードページにリンクがありました(Command line tools only)。

    • …ですが結局面倒くさくなって All-in-One でインストールしてくれる Android Studio をインストールすることでセットアップを済ませてしまいましたw
  • adb コマンドは %LOCALAPPDATA%\Android\sdk\platform-tools にインストールされていました(参照: Where is adb.exe in windows 10 located? - Stack Overflow)。

  • 開発手順はこちら: Developing extensions for Firefox for Android - Firefox Extension Workshop

    • web-ext コマンド引数に --firefox-apk org.mozilla.fenix を指定していますが、通常の Firefox を対象にする場合は --firefox-apk org.mozilla.firefox, beta版の場合は --firefox-apk org.mozilla.firefox_beta を指定すればよかったです。

      • Firefox を Google Play ストアからインストールのが面倒だったので(Google アカウントでログインする必要がある)、 GitHub のリリースページから apk をダウンロードしてインストールしました。
…
Read more ⟶