いけむランド

はてダからやってきました

Java

CVE-2023-28709 についてざっくり調べた

とりあえず何も考えずにアップデートしておけば、いいっちゃいいんだけど、しれっとやっても影響はないのかを一応調べた。

build.gradle のクソデカ化と戦っている

Log4Shell みたいなことが起きた時に慌てるのは嫌だなということで、去年の年末以降は dependency-check や trivy のレポートとにらめっこしてる。 (実際には 0-day は防げないため、直接は関係しないが、芽を摘んでおくことは良いことであるはず。) github.…

Differences between Verification and Validation

コードレビューなどをしていて、たまに「これってメソッド名として verify より validate の方が適切じゃね?(または逆)」というパターンを見かけることがあったため、自分の中での解釈をメモしておく。 以下、主観も入っていると思われるため、参考にする場…

Java 11 and ForkJoinPool.commonPool() class loading issue を再現する

Java8 では動くけど Java11 では死ぬコードがあって、調査をしたら、原因がこれだったが、再現に手間取ったので結果をメモっておく。 github.com

Re: Gradle 6.7 で リリースされる Toolchain support for JVM projects を試してみる

この記事を参考に実際にやるとどんな感じなのかやってみたら、コンパイラ以外のツールは追従してなさそうだからちょっと困るのでは?という感じの結果になったため、メモっておきます。 progret.hatenadiary.com

引数に Optional を使うのは避けよう

結局のところ、Optional 自体の null 判定はあるため、二度手間になることが多い気がする。 void foo(Optional<Bar> bar) { if (bar != null) { bar.ifPresent(value -> {...}); } } stackoverflow.com</bar>

null 判定のためだけに Optional.ofNullable を使うのはやめよう

java.util.Optional を使いたい気持ちはわかるけど、なんでもかんでも Optional で書けば良いというものではない。(機械翻訳っぽい記事しか出てこない。) javaer101.com

AWS CDK (Java) から生成する cfn テンプレートに git の情報を埋め込む

AWS CDK を触っているのですが、cfn テンプレートがパッと見でいつ生成されたものかわからないため、Java ソースコード内で git の情報を埋め込めないかなと思って、調べてみました。

private についての疑問

private の挙動がちょっとひっかかったので、ここに記す。

String Switch について調べてみた

Java7 で言語仕様への追加を提案されている String Switch について書かれている記事があったので読んでみた。 http://blogs.sun.com/darcy/entry/project_coin_strings_in_switch

String#equals(Object) 問題

本当によく蒸し返される話だと思う。 String の空文字判定 - 宇宙行きたい

はじめての Sabotter

Eclipse をインストールするところからはじめましたけどね。

pure Java な readelf もどきをつくってみる

Eclipse *1 の主要なコンポーネントのひとつに CDT (C/C++ Development Tooling) というのがある。 *1:java-ja からきますた とか言いながら、実は Eclipse 等の IDE をほとんど使ったことがない...。

String.hashCode() の変遷

もう遠い昔の話だし、今さらどうでもいいことだけど、日本語資料が見当たらなかったので、まとめておく。

freeze について考えてみる (2)

コンパイラが特別扱いしたと仮定して考えてみる。

java-ja 第六回

java-ja 第六回 に参加してみた。

freeze について考えてみる

ちょっとtwitterで話題になったこと。 - 都元ダイスケ IT-PRESS を読んで、思ったことをまとめてみる。

配列クラスを継承できればいいんだけど

最近は C の差分やネタばっかりになっていたので、たまには Java を書けるところをアピールしておかないといけないと思ったので。

TaniQ.Java 第1回 勉強会・読書会

TaniQ.Java 第1回 勉強会・読書会 に参加した。

世界のナベアツ問題

FizzBuzz問題と世界のナベアツ - Bug Catharsis 日本野望の会−Yabooo.org » FizzBuzzはもう古い!世界のナベアツ問題。 「Fizz-Buzz問題を出されても安心」と油断している人にはこの問題を出してみよう。

最もタメになる「初心者用言語」

間に合うか?というか、最もタメになる「初心者用言語」まとめ の人に気付いてもらえるかの方が心配? 知ってたか?Java は最もタメになる「初心者用言語」なんだぜ。 このメソッドがヤバ過ぎるフィールドを程よく包んでくれる。(オブジェクト指向) いつだっ…

puts の挙動

実はputsは、背後で、引数の出力と改行の出力の2つに処理を分割して実行します。このため、この2つの処理の間に別のスレッドがスケジュールされ、別のスレッドの出力が挟まれしまう可能性があります。(プログラミングRuby 第2版 言語編 p.119) ちょっと気に…