Hello Project Panama, on Java17
はじめに
当時(Java14)は Project Panama 用にビルドされた JDK を利用する必要がありましたが、 Java17 では incubator ではあるものの JEP 412: Foreign Function & Memory API が標準 JDK に導入された
Tauri を GUI にして Rust と React に入門する
はじめに
Tauri という、 WebView を利用して GUI を実現する Rust 製フレームワークを試してみました。
Rust も React も入門書から陸続きで書き始められるので、余計なことに気を取られずに済みそうです(ただし、 JS - Rust 間のデータ受け渡しに利用する JSON オブジェクトのシリアライズ/デシリアライズに利用する Serde についての知識は少し必要になりそうでした)。
JPA Entity には Lombok の @Data(@EqualsAndHashCode) を使用すべきでない
問題になりそうなキーワード:
-
lazy loading
-
collection
-
循環参照
-
mutability
@Data
(@EqualsAndHashCode
) を付与すると hashCode()
は自動で算出されるようになりますが、JPA @Entity
では上記のような理由で、ハッシュ値が計算できなかったり要件を満たせなくなったりします。
RestTemplateが採用するHTTPクライアント実装の順序
By default the built RestTemplate will attempt to use the most suitable ClientHttpRequestFactory
とありますが、具体的にどうやって決めているの?という話です。
ClientHttpRequestFactorySupplier
をみると一目瞭然ですが、
-
Apache HttpClient (
org.apache.http.client.HttpClient
) がクラスパスに存在すればそれを採用する -
OkHttp (
okhttp3.OkHttpClient
) がクラスパスに存在すればそれを採用する -
上記のものがいずれも無ければ
java.net.HttpURLConnection
を採用する
Spring BootとTypeScriptで開発するためのプロジェクト設定(Gradle) - Polyfillも必要とする場合
はじめに
前回 は ts-loader
を用いて TypeScript をビルドしました。
簡潔にセットアップできたのは良いのですが、実際にはPolyfillを行いたいので babel-loader
をベースに再構築することにします。また、自動テスト( jest
)も導入します。
Spring BootとTypeScriptで開発するためのプロジェクト設定(Gradle)
はじめに
Spring Boot で JavaScript を扱うときは素のJSをhtml(Thymeleafテンプレート)に <script>
タグで埋め込む、というのが多分一般的で手っ取り早い方法かと思います。
Spring Boot 2.5.0(Spring Security 5.5.0-M2)でremoteUserの値が変わった
HttpServletRequest#getRemoteUser()
をログ出力(Tomcatの %u
)しているのですが、Spring Boot 2.5.0 から返ってくる値が変わったようです。
どの変更が影響しているのか調べたところ、次のものが該当するようです。
AWS EC2 で squid プロキシサーバを立てる
はじめに
SteamのDLC等をダウンロードしようとしたとき、IPアドレスによるアクセス制限が課されている場合があり、それを回避する必要が出る状況がたまにあります。
Spring Boot で Tomcat のメトリクスを出力する
Spring Boot アプリケーションの性能評価を行っているのですが、実装したアプリケーション部分ではなく、webサーバかどこかがパフォーマンスボトルネックになっているように思われる事象に直面し、その原因を調べたいと思っています。
GitHub Actions を使って GitHub Pages を定期更新する
これまで GitHub Actions を使ったことがなかったのですが、
という質問を見かけ、丁度よいお題だと思ったのでこれを実現してみることにしました。
Spring BootでTomcatのデフォルトエラーページが出るのを抑止する
Spring Boot を実行していると、Tomcatのデフォルトエラーページが表示されるような事象に遭遇することがあります。
このページのカスタマイズ方法は、上記issueにありますが、現状Spring Boot フレームワークでは提供されておらず少しトリッキーです。
Git の merge も思いの外危険
次のblogエントリがバズっていました:
大局としては同意なのですが、ミクロな点では、 rebase
恐怖症というか、 merge
を信頼し過ぎているというか、少し私とは意見が異なると感じました。
そして、上記のblogのような意見が多数派ではないかと思いますので、改めて merge
の怖いところを具体例で示したいと思います。
script src に設定する URL の & はどう書けば良い?
<script>
タグの src
に URL
書く場合、クエリパラメータ連結の &
ってどう書くべきなんだろう、という話です。
結論としては、以下のように、 &
とするのが無難、ということのようです。