【DbUnit】DB跨ぎの外部キーが絡む状態でDatabseSetup時にLock wait timeout exceeded; try restarting transactionになる問題への対処【Spring】

TL;DR DB跨ぎの外部キーが絡む状態でDatabseSetupすると、外部キーの元になるinsertがコミットされずにデッドロックが発生する エラーメッセージはCaused by: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded;…

【kotlinx-metadata】KmValueParameter.typeはnullにならない

TL;DR KmValueParameter.typeは実際の所non-nullだが、定義上nullableになっている ドキュメントも「KmValueParameter.typeがnon-nullならKmValueParameter.typeはnull」というような記述になっている ※0.3.0時点の話 本文 使っていて疑問を感じたので質問を…

【Kotlin】Intellij IDEAでjava.lang.OutOfMemoryError: Java heap spaceでコンパイルが失敗する状況への対処

Kotlin 1.3.71のプロジェクトで、バージョンを1.4や1.5に上げた所、java.lang.OutOfMemoryError: Java heap spaceでコンパイルが失敗する状況になりました。 Preferences -> Build, Execution, Deployment -> Compilerで、Shared build process heap size (M…

【MySQL】SQL_CALC_FOUND_ROWS + SELECT FOUND_ROWS()でLIMIT前の行数をカウントする方法はMySQL8.0.17で非推奨化している

本文 タイトルとMySQLの公式ドキュメントに書かれている内容が全てです。 dev.mysql.com 「SQL_CALC_FOUND_ROWS SELECT FOUND_ROWS()」というような形で検索しても非推奨化している旨がパッとは出てこなかったためこの記事を書きました。 補足 公式ドキュメ…

【Spring】SQLにパラメータとしてJSON配列を設定したい場合、JSON_ARRAYを使う

NamedParameterJdbcTemplateに対して発行するクエリで、JSON配列をパラメータとして設定する所で詰まったので、備忘用のメモです。 状況 以下のような処理を行うクエリを作成していました。 select JSON_OVERLAPS(/* テーブルから取得したJSON配列 */, /* パ…

【Confulence】テンプレートに画像を添付できない問題をGoogle Drive経由で回避する

Confulenceには現在テンプレートに画像を添付できない不具合が有ります。 jira.atlassian.com この不具合は2021年7月に「今後3ヶ月以内(最長11月内?)のリリースを目指す(意訳)」というコメントが残されていますが、すぐにでもなんとかしたい方向けの記…

Intellij IDEAで、Kotlinプラグインを1.5にアップデートしたらビルドができなくなった問題への対処

2021/5/14追記 幾らか試した雰囲気では、File->Project Structure->Project ->Project SDKのバージョンが1.8(Java 8)だとこの問題が出るように見えました。 ここをJava 12以降(試したのが12と16だっただけで、それ以前でできないかは見ていません)にする…

【日記】初めてOSSにコントリビュートできた話

とても小さなドキュメント修正ですが、google/kspにコントリビュートした/人生初のコントリビュートができた話を書きます。 当該PR github.com 何をやったか あるドキュメントでgradleのrepositories設定でmavenCentralの順番が後ろになっていた問題を修正し…

【uBlock】YouTubeで「インターネットに接続してください」「現在オフラインです。接続を確認してください。」と出てしまう状況への対処【アドブロック】

YouTubeで、以下の画像のように「インターネットに接続してください」「現在オフラインです。接続を確認してください。」と出てしまう状況への対処法をまとめます。 やり方 ここで紹介する方法は2021/3/23に id:Yuki2718 氏より当記事のコメントにて共有頂い…

【日記】自分の記事を機械翻訳して無断転載していたページの広告を剥がした

TL;DR 日本語記事を機械翻訳で転載して広告収入を得ているサイトがそれなりに有るっぽい 当該サイトがGoogle広告を使っている場合、DMCAテイクダウンを成立させれば検索から除外可能 この余波か当該サイトに広告が表示されなくなっていた 見かけたらどんどん…

【Gradle】jmh-gradle-pluginでjava.lang.NoClassDefFoundErrorが出る場合の対処

TL;DR Orikaの依存をjmhImplementationではなくimplementationで定義した所解決しました。 Orikaに限らず、ライブラリによってはjmhImplementationだと上手く動かないようです。 問題 jmh-gradle-pluginでOrika 1.5.4を利用したベンチマークを作成していた所…

【JMH】Windows環境で実行するコアを指定してベンチマークのスコアを安定させたかった話

TL;DR JMHのベンチマークスコアが安定しなかった (正確に特定はしていないが)全体の実行に5時間かかる内容であるため、途中でバックグラウンド処理が走った結果が原因と推定 start /affinity ${マスク} ${呼び出すプログラムと引数}とすることで、ベンチマ…

1年を振り返る

昨日はアウトプット面から1年を振り返りをしましたが、今日は1年間の生活面を振り返ります。 wrongwrong163377.hatenablog.com 1年の雑感 まず今年1年の感想ですが、始めた自作ライブラリの開発をずっとやっていたのと、コロナによる変化の年というのが大き…

【ブログ94本】1年のアウトプットを振り返る【自作ライブラリ公開】

早いものでもう1年が終わろうとしています。 ということで去年に引き続き、今年のアウトプットから1年を振り返っていきます。 wrongwrong163377.hatenablog.com アウトプットまとめ まず今年1年で行った主なアウトプットです。 公開したライブラリ: 4つ 外部…

【GitHub】Branch protection ruleでRestrict who can push to matching branchesが効かなかった話

TL;DR Include administratorsしない場合、自分がadminならRestrict who can push to matching branchesは機能しない やりたかったこと 間違えてフォーク元にpushする事故を防ぐためBranch protection ruleを調べていた所、Restrict who can push to matchin…

【プログラミング】Intellij IDEAでVueファイルの@エイリアスが解決できなかった問題への対処

TL;DR Webpackのコンフィグファイル名を間違えていた 原因/対処法 Cmd + Shift + aでPreferences -> Language & Frameworks -> JavaScript -> Webpackを開き、webpack configuration fileを確認した所、webpack.config.jsとなっているべき所がwebpack.common…

【GitKraken】Refresh Token表示が出ても、まずは通信の失敗を疑うべきだった話

TL;DR push開始後に通信の失敗が起こると下記の画像のようなRefresh Token表示が出る 単純に通信に失敗しているだけだった場合、実際にはRefresh Tokenしなくてもよい 本文 リモートワーク開始以降、自宅の回線やVPNの不安定さで通信に失敗する場面がしばし…

【プログラミング】JetBrains IDEでgradle.ktsプロジェクトがKotlin 1.4へのアップデート後Cannot access...となって壊れる状況への対処

問題 JetBrains IDEでgradle.ktsで書いたプロジェクトを編集し、依存するKotlinのバージョンを1.4に上げた所、gradle.kts/Kotlin/Java全てのファイルがエラー表示となり、補完等が効かなくなった 一応コマンドライン等からは正常に機能しているようだった エ…

Macのファイル選択ダイアログで大量のファイルを一気に選択するとファイルが抜ける

TL;DR HTMLのinput type="file"などでファイル選択ダイアログを出し、大量にファイルが入ったフォルダを開いた上でCtrl + Aなどで選択するとファイルが抜ける 目安は500件以上 accept属性を付けると症状が酷くなる傾向あり 以前から有る不具合で、macOS Cata…

【プログラミング】JetBrains IDEで起動直後に固まって操作できなくなる問題への対処

TL;DR IntelliJ IDEA 2020.2で起動直後に固まって操作できなくなる状況になった PCの再起動、IDEAの再インストールは効果が無かった 自分の場合は閉じる前に開いていたREADME.md(Markdownファイル)を消した所正常に操作できるようになった 問題 IntelliJ IDE…

【プログラミング】JetBrains IDEでvueファイルを編集しているときに固まる問題への対処

TL;DR Intellij IDEA 2019.3で、大きめのvueファイルを編集するとハングアップするようになった ランタイムをJDK8系からJDK11系に変更したところ症状が抑制された 原因がJDK依存の問題か、JDK変更による処理効率アップかは不明 問題 Intellij IDEA 2019.3で…

Qiitaを始めてから1年で書いた80本弱の記事を振り返る

この記事はMicroAd Advent Calendar 2019の23日目の記事です。 目次 目次 前書き 【Kotlin】アノテーションを自作する【SpringBoot】(2018年12月4日) 【SpringBoot】ファイルとその他データを同時にPostする【Axios】(2019年2月1日) 補足 【Git】GUIツー…

【Kotlin】ありえないエラーが出てハマった話【BeanValidation】

以下のように、「エラー条件を満たした場合、値をメッセージに入れて返す」的な処理をクラス内に実装していたところ、通常では考えられないバグが出てハマりました。 @Null(message = "\${validatedValue}は異常値です。") fun getHoge(): String? = when (c…

【日記】はじめてのBuzzり

自分の書いた以下の記事がBuzzったので感想を書きます。 qiita.com 何故バズったか 多分やめ太郎さんに拡散していただいたことが大きいと思います。 このおかげでGitKrakenを多くの方に知っていただけました、ありがとうございました。 これ良いって音部っち…

【日記】DDD的な設計完全に理解したメモ【プログラミング】

マサカリ避け 本読んでないです。 経験則です。 DDDチョットデキル人になりたいです。 前書き 「大量の相関チェック(しかもDBアクセスなど層をまたぐ処理や複数オブジェクト間の相関チェックを含む)とその後の登録が発生する状況」を想定して書きます。 言…

【Java】interfaceでinterfaceをimplementsしたかった(extendsが正しかった)話

やりたかったこと 以下のようにinterfaceが2つあるとき、この2つのinterfaceを継承したinterfaceを作ろうとしました。 public interface Interface1 { String hoge(); } public interface Interface2 { int fuga(); } やろうとしたこと interfaceなので、以…

【日記】「エンジニアが不要とされる瞬間」について考えたこと【意見】

wrongwrong163377.hatenablog.com 上記記事に関して、「じゃあ未来永劫エンジニアが必要とされ続けるか」と言われるとそうでもないと思っている話を書きます。 自分は主に以下の状況でエンジニアが不要とされるだろうなと思っています。 人格と社会的な不確…

【日記】「AIがエンジニアを不要にする」という言説について考えたこと【意見】

AIでプログラマが不要になる系の話、「プログラミングにおける作業量の9割近くは自動化可能だが、仮に自動化しても自動化で置き換えられない1割と、自動化ツールを使うために新たに増える1割が仕事として残る」ってのの繰り返しなんじゃないかと思うようにな…

【レビュー】東京マルイ ステアーHC レビュー

過去記事で何度か触れていましたが、改めてステアーHC単体でレビューしていきます。wrongwrong163377.hatenablog.com wrongwrong163377.hatenablog.com wrongwrong163377.hatenablog.com記事内で提示するデータに関する注釈は以下の通りです マルイ純正ミニS…

【自作PC】購入用メモ【順次更新】

組む時期 増税直前ということで9月頃を予定しています。 メインパーツ 個人的な優先度順で書きます。 ケース まだ決めきっていませんが、A4-SFXを選ぼうと思っています。 理由は、今回の自作で求めるのが最もコンパクトなケースであることだからです。 kakak…