プログラミング
TL;DR DB跨ぎの外部キーが絡む状態でDatabseSetupすると、外部キーの元になるinsertがコミットされずにデッドロックが発生する エラーメッセージはCaused by: com.mysql.cj.jdbc.exceptions.MySQLTransactionRollbackException: Lock wait timeout exceeded;…
TL;DR KmValueParameter.typeは実際の所non-nullだが、定義上nullableになっている ドキュメントも「KmValueParameter.typeがnon-nullならKmValueParameter.typeはnull」というような記述になっている ※0.3.0時点の話 本文 使っていて疑問を感じたので質問を…
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の公式ドキュメントに書かれている内容が全てです。 dev.mysql.com 「SQL_CALC_FOUND_ROWS SELECT FOUND_ROWS()」というような形で検索しても非推奨化している旨がパッとは出てこなかったためこの記事を書きました。 補足 公式ドキュメ…
NamedParameterJdbcTemplateに対して発行するクエリで、JSON配列をパラメータとして設定する所で詰まったので、備忘用のメモです。 状況 以下のような処理を行うクエリを作成していました。 select JSON_OVERLAPS(/* テーブルから取得したJSON配列 */, /* パ…
2021/5/14追記 幾らか試した雰囲気では、File->Project Structure->Project ->Project SDKのバージョンが1.8(Java 8)だとこの問題が出るように見えました。 ここをJava 12以降(試したのが12と16だっただけで、それ以前でできないかは見ていません)にする…
とても小さなドキュメント修正ですが、google/kspにコントリビュートした/人生初のコントリビュートができた話を書きます。 当該PR github.com 何をやったか あるドキュメントでgradleのrepositories設定でmavenCentralの順番が後ろになっていた問題を修正し…
TL;DR 日本語記事を機械翻訳で転載して広告収入を得ているサイトがそれなりに有るっぽい 当該サイトがGoogle広告を使っている場合、DMCAテイクダウンを成立させれば検索から除外可能 この余波か当該サイトに広告が表示されなくなっていた 見かけたらどんどん…
TL;DR Orikaの依存をjmhImplementationではなくimplementationで定義した所解決しました。 Orikaに限らず、ライブラリによってはjmhImplementationだと上手く動かないようです。 問題 jmh-gradle-pluginでOrika 1.5.4を利用したベンチマークを作成していた所…
TL;DR JMHのベンチマークスコアが安定しなかった (正確に特定はしていないが)全体の実行に5時間かかる内容であるため、途中でバックグラウンド処理が走った結果が原因と推定 start /affinity ${マスク} ${呼び出すプログラムと引数}とすることで、ベンチマ…
早いものでもう1年が終わろうとしています。 ということで去年に引き続き、今年のアウトプットから1年を振り返っていきます。 wrongwrong163377.hatenablog.com アウトプットまとめ まず今年1年で行った主なアウトプットです。 公開したライブラリ: 4つ 外部…
TL;DR Include administratorsしない場合、自分がadminならRestrict who can push to matching branchesは機能しない やりたかったこと 間違えてフォーク元にpushする事故を防ぐためBranch protection ruleを調べていた所、Restrict who can push to matchin…
TL;DR Webpackのコンフィグファイル名を間違えていた 原因/対処法 Cmd + Shift + aでPreferences -> Language & Frameworks -> JavaScript -> Webpackを開き、webpack configuration fileを確認した所、webpack.config.jsとなっているべき所がwebpack.common…
TL;DR push開始後に通信の失敗が起こると下記の画像のようなRefresh Token表示が出る 単純に通信に失敗しているだけだった場合、実際にはRefresh Tokenしなくてもよい 本文 リモートワーク開始以降、自宅の回線やVPNの不安定さで通信に失敗する場面がしばし…
問題 JetBrains IDEでgradle.ktsで書いたプロジェクトを編集し、依存するKotlinのバージョンを1.4に上げた所、gradle.kts/Kotlin/Java全てのファイルがエラー表示となり、補完等が効かなくなった 一応コマンドライン等からは正常に機能しているようだった エ…
TL;DR IntelliJ IDEA 2020.2で起動直後に固まって操作できなくなる状況になった PCの再起動、IDEAの再インストールは効果が無かった 自分の場合は閉じる前に開いていたREADME.md(Markdownファイル)を消した所正常に操作できるようになった 問題 IntelliJ IDE…
TL;DR Intellij IDEA 2019.3で、大きめのvueファイルを編集するとハングアップするようになった ランタイムをJDK8系からJDK11系に変更したところ症状が抑制された 原因がJDK依存の問題か、JDK変更による処理効率アップかは不明 問題 Intellij IDEA 2019.3で…
この記事はMicroAd Advent Calendar 2019の23日目の記事です。 目次 目次 前書き 【Kotlin】アノテーションを自作する【SpringBoot】(2018年12月4日) 【SpringBoot】ファイルとその他データを同時にPostする【Axios】(2019年2月1日) 補足 【Git】GUIツー…
マサカリ避け 本読んでないです。 経験則です。 DDDチョットデキル人になりたいです。 前書き 「大量の相関チェック(しかもDBアクセスなど層をまたぐ処理や複数オブジェクト間の相関チェックを含む)とその後の登録が発生する状況」を想定して書きます。 言…
やりたかったこと 以下のようにinterfaceが2つあるとき、この2つのinterfaceを継承したinterfaceを作ろうとしました。 public interface Interface1 { String hoge(); } public interface Interface2 { int fuga(); } やろうとしたこと interfaceなので、以…
内部エラー周りの設計について自分の経験から得た知見をまとめます(なのでセオリーとかアンチパターンとか有れば教えていただけるとありがたいです)。 内部エラーとは基本的に自分で書いてThrowするようなエラーを想定しています。 エラーハンドリングに関…
問題 以下のようにSuppressionFileとpomを用意して抑制設定を行いました。 owasp-dependency-check-suppressions.xml(SuppressionFile) <suppressions xmlns="https://jeremylong.github.io/DependencyCheck/dependency-suppression.1.3.xsd"> </suppressions> pom.xml <plugin> </plugin>
状況 dataに用意したオブジェクトの内容を変更しているのにcomputedが変化しなくて困っていました。 対処 前提 dataに宣言する時点でプロパティを宣言しておけばVueが更新を追ってくれるので、基本はプロパティを宣言しておいた方がいいらしいです。 // ダメ…
読みやすいコードとは何かについて個人的に思っていることについて書きます。前提として、黒魔術的な話や自動整形で直せるような部分には触れません。 そもそも読みやすさとは何か? 最近のコードにおける読みやすさとは「その処理によって何がどう変化する…
「即戦力学生」という存在が目立っていたり、企業側もそんな存在を求めていたりする中で、エンジニアの自分が「エンジニアとしてこんなスキルを持った人間と働きたいな」と思っているスキル3つをまとめます。 タイトルについて 『床上手な処女』というのは下…
状況 TextAreaForでModelを正しく指定しているにも関わらず初期値が入らない状況になりました。 原因 TextAreaForを追加しようとする前は、ViewData経由でcshtml側に値を渡してバインドし、バインドされた値によってModelが初期化されるという構造になってお…
やり方 以下のAPIに対してQRコードにしたいURLを指定することで、簡単にQRコードを生成することができます。 http://chart.apis.google.com/chart?chs=320x320&cht=qr&chl=/* QRコードにしたいURL */ 例えば、このブログのブログトップを指定すると以下のよ…
やりたかったこと vuejs-datepickerでPOSTした日時から、サーバーサイドで日付を取得する 問題の概要 vuejs-datepickerはタイムゾーンまで含めてデータを出力する Jacksonはフォーマット設定をしなければ受け取った日時をGMT基準(=日本時間-9時間)に変換し…
Java8でプロジェクトをやっていて後悔していることを5点挙げます。 上から後悔している順です。 nullを返すな、Optionalを使え 文字通りなんですが、null が絡むと何が返ってくるのか分からない状態になるのでOptional使った方がいいです。 特にnullを返しが…
インデント数や改行のやり方について、自分の好みを書きます。 言語はJava想定ですが、別言語でも基本的な好みは同じです(IDEは当然使うものとします)。 はじめに そもそもの話 インデント数 4スペース対2スペース Tabインデント 改行の方式 ブロックの改…