JPAを積極的に推奨することはやめようと思う


@Transactional
public void updatePostTitle(Long postId, String postTitle) {
⠀
    Post post = postRepository.findById(postId).orElseThrow();
⠀
    post.setTitle(postTitle);
⠀
    postRepository.save(post);
}

これはHibernateのメインcontributorであるVlad Mihalceaさんのブログ記事 The best Spring Data JpaRepository で “the save method anti-pattern” という名前の アンチパターン として紹介されているコードですが、今まで携わってきたプロジェクトでこのコードが間違っていると指摘できるプロジェクトはひとつもありませんでした。

Read more ⟶

Thymeleafのformのバインドにrecord classは使わない方が良さそう


前回 のつづき。

あれ、そういえばJavaのrecord classも似たような性質だな、ということはrecord classもform bindingには使えないのかな?でもあまりそんな話聞いたこと無いな、どうなんだろう…と思い検索してみたのですが、ヒットしたのは自分の記事でしたw

Read more ⟶

KotlinでformバインディングするときもやっぱりJava Beansにした方が良さそう


はじめに

前回 の続きになります。
前回はJavaでformバインディングしvalidationを行いました。

今回は、Kotlinでformバインディングしてみて挙動を確認します。

Read more ⟶

Spring Boot(Spring MVC)のform送信の仕組みを少しずつ理解する


はじめに

Spring Boot + Thymeleaf でのform送信について、公式ドキュメントとしては

があります。

しかし、これらのドキュメントは初歩的な説明にとどまり、この知識だけで実践に挑むとかなり苦労します。
また、最近は静的webページでformをpostするみたいなことをやる機会が少なくなっており、検索しても実例が出てこなかったりロストテクノロジー化しつつあるように思われました。
(「ロストテクノロジー化」については、AIに聞けば良い時代になったので今後は問題にはならないかも?)

Read more ⟶

確定申告(2024年分)振り返り


昨年のものはこちら:

昨年同様、次回に向けて重要だと考える順に書いていきます:

  • 次回確定申告までにマイナンバーカードの電子証明書期限が切れるので更新が必要
    • 有効期限は5回目の誕生日。3ヵ月前から更新可能で、そのあたりで『地方公共団体情報システム機構から送付される「マイナンバーカード・電子証明書 有効期限通知書」』なるものが届くらしい。それが必要
  • 下にも書いているがfreeeで口座連携ができていないことはしばしば発生する。確定申告直前に確認するのでなく、日ごろからたまにfreeeにログインして確認すべき
  • freee にみずほ銀行の入出金が去年5月から一切連携できておらず焦ったが、みずほダイレクト通帳で出力したCSVを、freeeの機能「みずほ銀行ダイレクト(API)でダウンロードしたCSV」インポート機能で取り込めた。
    • リンク先にある通り、事前の申請などが必要なので注意。自分はかなり昔に契約していたので助かった
  • 国民健康保険料はマイナポータル連携できない(国じゃなくて市の管轄だから推進力が無いのだと思う)。これだけまだ郵送されてくる書類を保管しておく必要がある
    • 去年も書いた
  • 2割特例や簡易課税制度を選択しているのならe-taxで簡単に消費税申請できる。freeeでやろうと思うと上位プランで値段が上がってしまうが、別にfreeeでやる必要はない
  • 昨年、「消費税簡易課税制度選択届出書を出しておく必要がありそう」と書いていたがすっかり忘れていた。昨年内に届け出が必要だったが、ギリギリ間に合った
  • 楽天のふるさと納税の証明書は、今年から即時に発行できるようになっていた

例年なかなかやる気が出なくて、今年も結局最終週まで手を付けられなかった。

Read more ⟶

WSLは /etc/environment を読まない


このエントリーを書くためにWSL2にHugoをsnapでインストールしました。

そして hugo コマンドを実行すると…そんなものはないと言われてしまいました。
PATHが通っていないからかな?と思い /etc/environment ファイルを見て見たのですが /snap/bin は初めから設定されている。むむむと思いググったところ次のような記事がヒットしました:

Read more ⟶

Scoopでpwshのupdateに失敗する


Scoop で

1
scoop update pwsh

を実行してもプロセスが起動しているからスキップする

ERROR The following instances of "pwsh" are still running. Close them and try again.

 NPM(K)    PM(M)      WS(M)     CPU(s)      Id  SI ProcessName
 ------    -----      -----     ------      --  -- -----------
     71    42.12     104.00       0.52   26500   1 pwsh

というメッセージが出てアップデートできない事象がずっと続いていました。
(ちゃんと読んでいないのですが)公式のGitHubでissueがいくつか建っているようです。

Read more ⟶

ランニングで筋肉痛になったと思ったら1ヶ月経っても治らない


はじめに

ランニングが原因で筋肉痛になっていたと考えていた痛みが1ヶ月以上治まらず整形外科で診察を受けたところランニング障害と診断されました。
この症状について、行った対策などを記録していこうと思います。
完治するまで更新予定です。

Read more ⟶

Minecraft Bedrock で Add-on 開発環境を利用して Hello, world!


はじめに

Minecraft Bedrock Edition(いわゆる統合版)には、Java EditionでいうところのMODに相当するAdd-onを開発する環境があります。
これを利用して、自作プログラミングをMinecraft上で実行する環境をセットアップします。

Read more ⟶

Centos7 に Homebrew を導入して Puppeteer を実行する


次の回答の検証になります:

環境は前回のエントリーで用意したものです。

セットアップ

Development Tools インストール

あとでHomebrewに要求されるので先にインストールしておきます:

Read more ⟶

CentOS7実行環境を整える


今さらCentOS7環境で検証する必要が出たので環境を整えました。
その時のメモです。
ホストOSはWindows11です。

インストール

Vagrant

scoop でインストールしました。

Read more ⟶

Stable Diffusion Installation on Windows11


(追記: 後で知りましたが、Stability Matrix というパッケージがここに書いた手順よりインストールが簡単そうでした)

Windows11へStable Diffusionをインストールしたときの作業ログです。

Read more ⟶

Windows Terminal を起動するとフォントが無いというエラーが出た


久しぶりにWSL2で作業をしようとWindows Terminalを起動するとフォントが存在しない旨のエラーが出ました。

Cicaフォントを指定しているのですが、以前はこの設定で起動していたし、フォントをアンインストールした記憶もないし…と思ったものの検索してみたところ同じような症状の記事が見つかりました。

取り敢えず対処としては「すべてのユーザーに対してインストール」を実行すれば良さそうなのでフォントファイルを右クリックしたところ、該当メニューが現れませんでした。ちなみにWindows11です。

Read more ⟶