SpringBootでのサーバーアプリケーションはもうコンテナ運用も当たり前で、コンテナ運用が当たり前ってことはログも生ログファイルを見るんじゃなくどこかに集められたものを見るのが当たり前で、複数のサーバーで運用されるログを集約してみる場合は何かし…
新くもなんともない話です。当たり前と思う人には昔から当たり前(昔度合いはおまけ3を参照)。でも知らないことは悪ではないし、そうなんだーってなればいいだけの話。 一連のログに同じ値を付与したい時、 MDC (SLF4J) や ThreadContext (Log4j2) を使う…
いろんな現場でちょいちょい話題になるので「前にツイートしたなぁ」と見てみたらすっごい長かった。 コメントあると「対応しなければならない」ってなるの。あれが諸悪の根源だと思ってる。— irof (@irof) 2020年9月17日 諸悪の根源? とりあえず全文転記。…
メソッド名の getXXX と findXXX どっちがいいの?みたいな話になることがある。 この手の話ができるだけでもいい感じだと思います。名前が記号化していないってことなので。 世の中には名前に力を割くのが無駄な文脈もあって、そう言うのに晒されて続けると…
ブログの下書きを眺めてたら書きかけで飽きたっぽいのがみつかったので供養しておきます。 もう二年前になりますが、「コードをどまんなかに(該当スライド)」でこんな風に人とコンピュータとコードの関係を話しました。(なんかこれのブログ書いてないな………
ブログの下書きを眺めてたら長文がみつかったので供養しておきます。 TODOがDOされるかはわかりません。心の目で見てください。 Javaには null があって、この子がいない世界がいいんですけど、いなくなったりはしてくれないので、仕方がありません。いい感…
ブログの下書きを眺めてたら長文がみつかったので供養しておきます。 「まず公式サイトから読もうよ」って言い続けてたら、数年越しで結果的にその方が効率いいって気づいてくれた人もいるので、言い続けるのも大事だなーと思った。最近。— irof (@irof) 201…
ことし10本目のエントリ。 毎回このブログの1単位を「記事」と呼ぶか「エントリ」と呼ぶかとかで無駄に悩んだりします。「本記事」とか「本投稿」とかそういう、書いている文章内のスコープを指すの。 で意識的には「エントリ」を使ってるんだけど、これはは…
なんだかんだで色々あるなぁと。音質の違いなんてわかる耳をしていない私なので、たぶん費用対効果そんな良くないんだけど、まぁ。 違う端末間で接続切り替え面倒、Bluetoothのマルチ接続もできなくはないんだけど、それやるとSlack通知音とかが別の端末で鳴…
買ったコンテンツを間違えて消しちゃって、サポートに問い合わせたけどごく一部しか復元できず、再購入するしかなくなりました。その一部始終を記録しておきます。 私のKindle事情 MacのKindleアプリは「Kindle for Mac」とかで、長らく出来がイマイチなもの…
SpringFramework 6.0.11 SpringBoot 3.1.2 @Async と @EnableAsync の使い方 SpringFrameworkで @Async を使うとかんたんにメソッドを非同期で実行できます。 @Component class AsyncComponent { @Async void method() { // 時間のかかる処理 } } 使う側は単…
ぶっちゃけコーヒーの銘柄とか覚えてないけど、なんとなく好きだなーいまいちだなーとかはある。 あ、ブルーマウンテンだけはわかる気がする。あんま好きじゃない方に属するけど、飲む飲まないで言うと飲む感じ。 その程度の味覚だけど「毎日一人分のコーヒ…
ツイート したらそれなりに反応があったので、少し丁寧に書いておこうかなと。 水物な内容なので、自動でつく投稿日時以外にもタイトルに「2023年6月」を入れて強調しておきます。 しょーとあんさー よくわかんないならJava17にしておきましょう。 前提 ツイ…
(絶望してるときのツイート) 一見ロック画面に表示されるただのダイアログなんですが、どちらのボタンを押しても閉じてくれません。 経緯 ノイズキャンセリングヘッドセットはBoseのQC35IIを使ってます。 Bose QuietComfort 35 wireless headphones II ワ…
このエントリでの「API」はHTTP APIです。Javadocなどでドキュメント化できるAPIではないです。この件に関してはいつかブログとか書くかもだけど、いまは ツイートを参照してください。 SpringBoot 3.1.0 springdoc-openapi 2.1.0 springdoc-openapi-gradle-…
SonarQube 9.9.1-community Maven 3.9.1 これはなに SonarQubeよくわからん人向け。 「何できるもんなんだろ」とか「現場でSonarQube使ってるものの、設定とか影響範囲わからなくて怖い」とか、色々とあると思う。ローカルでいじくれるとイメージも湧きやす…
Mac miniが届いたのでセットアップのメモ が 2020-11-15 なので、 P2Y2M22D ぶり。2ならび。 前回は1週間で届いたけど、今回は3週間弱。発表直後だしね。M1出る直前にIntellのを買ってジリジリしてたのだけど、メモリとか使うソフト(主にDocker)の対応とか…
届いてた pic.twitter.com/StH3T8GYiW— いろふ (@irof) 2022年11月26日 改訂3版。定番なのかな?少し前にTwitterのTimeLineに流れてきたのをポチって忘れてたのが届きました。やはり物理本は良い……。 [改訂3版]内部構造から学ぶPostgreSQL―設計・運用計画…
https://spring.io/blog/2022/03/31/spring-framework-rce-early-announcement Spring Shell がかわいそうなのでSpring4Shellって呼び方はしてほしくないなーと。でもCVEの番号なんて覚えれないので、通称は欲しい。この名前で広まっちゃったから検索に使っ…
Gradle 7.3.2 Gradleを使っているプロダクトだと、基本的にGradleWrapperを使うと思います。 プロジェクト作成時に最新のGradleを使うかと思いますが、Gradleの更新でたまにビルド時間短縮とかもあるんで、新機能使わなくてもWrapperも更新していきたいとこ…
Log4j 2のバージョンアップのやりかた で "「Mavenリポジトリ」の指すもの" を軽く書きましたが、いい機会なのでもう少し書いておきます。 最新版は使える? https://twitter.com/irof/status/1469139048954724354 こういうツイートをしまして。 見てる順番…
Log4j 2のバージョンアップのやりかた からの派生。 特化した内容なので別エントリにします。 2021-12-13追記: 今気づいたけどSpring公式ブログの[Log4J2 Vulnerability and Spring Boot](https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-sprin…
「Log4j 2に脆弱性があるらしい、バージョンアップしたら治るらしい。」 本日話題のこのテーマで軽く書いておきます。 未完です。 未完公開の言い訳。更新した内容は最後に書いてます。大きな間違いは(今のとこ)ないので、よかった。 2021-12-20追記: 2.17…
irof.hateblo.jp の後続エントリ。 5.1.0でサイズは戻ったです。(少なくとも私が使う範囲は) 依存ツリーも4.1.2の頃とだいたい同じ見た目。 左が5.1.0で右が5.0.0(の前1/3くらい)です。これがまんまjarの数になる。 4.1.2 -> 5.1.0で見るとほとんど差は…
JUnit 5.8.1 Java 17.0.1 IntelliJ IDEA 2021.2.3 JUnit5での @MethodSource のおさらい JUnit5にはパラメタライズドテスト用の @ParameterizedTest があり、様々な方法でパラメーターを与えられます。 その中でもパラメーターにある程度柔軟性が欲しい場合…
公式ドキュメントだからと言って、考えなしにそのコードを切り貼りしてはいけないんです。 っていう私の失敗談。露悪趣味はありません。 Javaの公式ドキュメントとしてJSLのAPI仕様(Javadocと呼ばれたりする)があります。 コード例が載ってると「挙動理解…
システム開発の分野は技術の移り変わりが早く(これも他の分野と比べたことないので「早い気がする」と言うだけなのだけど)、なんらかの成功を収めた企業などの採用しているものがバズワードとなって一気に広まったりします。この時、その技術だけを追って…
システム開発ではよくコードや区分、フラグと呼ばれるものを扱います。 これらが混同していたり、曖昧になっていたりすることは多いので、その辺りを整理しておきます。 IDや名前なんかもこの文脈に登場するので、ついでに。 コード コードはエンコード/デ…
irof.hateblo.jp こちらで書いた「Local record classes」を使う時の注意。 触ってると案外使う機会が出てきそうな感触があったので、気をつけるところを書いておきます。 ローカルクラス そもそもローカルクラスってあまり使わないものなんで存在も認識され…
record Outer(int a) { record Nest(int b) { } } こんなことしたらどうなるんだろうと気になりまして。 record が単にクラスのシンタックスシュガーであれば、NestはインナークラスになるのでOuterのインスタンス変数、ここでは a にアクセスできるんですが…