2024-01-01から1年間の記事一覧
6年目もやっていきます。 wrongwrong163377.hatenablog.com 雑感 今年は引越しを始め土日が潰れる系のイベントが多く、やりたい開発があまりできなかった感が強いです。 また、その間にメンテナンス作業等溜めてしまったので、来年もしばらくはその返済に追…
TL;DR Javaを利用していそうなアプリケーション(e.g. IDE)を全て閉じた上で、なお生きているJavaプロセスがある場合、それをkillすれば回復する可能性が有ります。 自分はmac環境にて、アクティビティモニタからプロセスを目grep・終了とすることで対処し…
TL;DR 自分の環境では、入力ソースにABCを選ぶことで解決できました(英字と出ている場合不具合が起きている)。 また、以前起きた際はUS配列の外部キーボードなら正常入力できました。 自分は試せていませんが、アクセシビリティキーボード(ソフトウェアキ…
Spring WebFlux/R2DBC/jOOQ/PostgreSQL/Kotlin Coroutines環境で、不意にselectクエリがハングする状況が何度か有りました。 関連する内容が多すぎて原因は解析し切れていませんが、そのような状況に対して見出した3つの対処法をまとめます。 何かより良い対…
jOOQで組み立てたクエリをConnectionFactoryへ直発行する仕組みを作ったのでまとめます。 なお、これは事情が有って作ったものであり、本来一切推奨できないコードであることはご承知おき下さい。 コード全体は以下の通りです。 基本的にはSelectクエリでの…
状況 jOOQのコード生成後にフォーマッティングするため、kotlinterを用いfinalizedBy("formatKotlin")としていたプロジェクトで、nu.studer.jooqからorg.jooq.jooq-codegen-gradleに移行する際、以下のようなエラーが出るようになりました(※編集しているた…
Project StructureのSDKに指定しているJDKバージョンが違うのにcodegenTarget8Jvm8Testを使っていたのがダメだったらしい 指定されているJava 11に合わせ、codegenTarget8Jvm11Testを使うよう変更したら完全に通るようになった 試した限り、codegenTarget8Jv…
文脈 jOOQでは、getSqlでパラメータが埋め込まれる前のクエリ文字列を得られます。 このクエリについて、デフォルトでは、select * from table where id = ?というように、プリペアドステートメントが?で表現されています。 一方PostgreSQLでは、select * fr…
状況 パターン網羅のために大量の呼び出しを行うようなテストを追加した所、java.lang.OutOfMemoryErrorでテストが失敗する状況が生じました。 外形的な挙動としては、テスト関数が1つ終わってもメモリが解放されず、テストが進むにつれメモリ使用量も線形に…
Long.toStringは上位ビットが0だった場合に削れた文字列を返してしまいます。 完全な16進数表記を得るにはString.format("%016x", number)を利用する例がよく引っかかりますが、内部処理を見ると結構重そうなことをしています。 一方、Java 17からは、このよ…
状況 大量のUUIDを指定したin句を発行する際に、メモリ消費量が問題になりました。 見たところ、jOOQではUUID1件当たりcast('b81b8735-6ac8-4b0b-a969-658e70425616' as uuid)みたいな形のクエリになってしまうことが原因のようでした。 対処 応急処置として…
AsyncClientの方で調査していますが、通常の方も同じ内容が有るはずです。 特にコンフィグ無しでAsyncResponseTransformer.toFileを呼び出した場合、FileTransformerConfigurationはdefaultCreateNewで設定されます。 aws-sdk-java-v2/core/sdk-core/src/mai…
github.com greadle.propertiesを弄る ビルド・テストで全論理コア使われると他アプリの動作が重くなるので、kotlin.test.junit5.maxParallelForksを全論理コア数 - 最低限確保したい論理コア数にしていいかも。 以前はJDK7以前を無視するオプションも有った…
以下のように、additionalPropertiesのtypeを指定すると、値の型を変えられます。 例ではstringを指定しているので、Kotlinで生成した場合Map<String, String>になります。 type: object additionalProperties: type: string type: integerにすればMap<String, Int>になりますし、type: st</string,></string,>…