2021-01-01から1年間の記事一覧

Java のラムダ式を使った際に、invokedynamic により生成されるクラスファイルを調べてみた!

Java のラムダ式が、どのようにコンパイルされ実行されているか気になりますよね。 そこで、クラスファイルを分析して、その中身を調べてみました。 なお、今回は OpenJDK 17.0.1 を使って調べています。 バージョンによって挙動が異なる場合があるので、ご…

JJUG CCC 2021 Fall ( #jjug_ccc ) - セッション資料の一覧

JJUG CCC 2021 Fall に参加しました! JJUG CCC オンラインも3回目ということで、JJUG運営の方も参加者の方もお互い慣れてきた感じがします。 自分も、今回は夕方から用事があったので、時間差でセッションを見ながら電車で移動ということをやりました。ラジ…

Outlook のメールファイル(.msg ファイル)をテキストに展開するツールを用意しました

たまに、Outlook のメールファイル(.msg ファイル)が添付で送られてくるのですが、手元に Windows 版の Outlook がなくて1内容を確認できなくて困ることが多々…。 そこで、.msg ファイルをテキストファイルに展開するツールを用意しました。 (添付ファイ…

いつから touch コマンドでファイルを作れるようになったのか

答え: 最初から 最初の touch コマンド FreeBSD の touch のマニュアル曰く、touch コマンドは Version 7 の AT&T UNIX で登場したそうです。 HISTORY A touch utility appeared in Version 7 AT&T UNIX. touch(1) - FreeBSD Manual Pages このときの man …

JJUG CCC 2021 Spring ( #jjug_ccc ) - セッション資料の一覧

JJUG CCC 2021 Spring に参加しました! 前回に引き続き、今回もオンライン開催となりました。 オンラインだと移動が楽というメリットがあって、これはどっちのセッション見ようかなーというときに、途中でさっとほかの動画に移れるのは便利でした。 あとは…

「正しい番号が入力されていること」という難しさ

バリデーションの難しさについて、少し考えてみましょう。 (結論だけ読みたい人は、こちら) 例えば、通販サイトの基本設計書で「入力フォームの電話番号の項目に、正しい電話番号が入力されていない場合はエラーとすること」と書かれていたとします。 では…

Javaのバージョン別、テキストファイルを一括で読み込む方法まとめ

前回の記事(Javaのバージョン別、1行ずつファイルを読む方法まとめ)への感想で、このような話がありました。 丸々読み込む方法のまとめもお願いします!— ユースケ (山本裕介) (@yusuke) May 3, 2021 というわけで、今回はテキストファイルを一括で読み込…

Javaのバージョン別、1行ずつファイルを読む方法まとめ

Java でファイルを読み込む処理は、バージョンが上がるごとにどんどん簡単に書けるようになっていきました。 今回は、どれだけ簡単になっていったかを Java のバージョンごとにまとめて説明します。 なお、ここでは以下の処理を行うコードをもとにしています…

JDK 1.0 (Java 1.0.2) を入手したので、GitHub に置いておきました。

JDK 1.0 (Java 1.0.2) を入手したので、GitHub に置いておきました。 https://github.com/YujiSoftware/JDK1.0 なんと、Windows 10 上でも動きます。 あと、src.zip も展開して置いた ので、GitHub 上で読めます。 Java 考古学者のみなさま、ぜひご活用くだ…

jq の入っていない環境で、JSON をフォーマットする方法

JSON をフォーマットしたいけど、jq が入っていない!ということがよくあります。 そういう時は、Ruby や PHP を使いましょう! Ruby の場合 ruby -rjson -e 'puts JSON.pretty_generate(JSON.parse(STDIN.read))' ↓ こんな風に表示されます! [qiita@exampl…

M5StickC と MH-Z19B を使って、二酸化炭素濃度計を作りました

ネットの情報をもとに、M5StickC とMH-Z19B (CO2センサー)を使って二酸化炭素濃度計を作りました。 作ったといっても、M5StickC と MH-Z19B をつないで、さくっとプログラミングしただけ。簡単でした。 一年ぐらい運用していますが、なかなか便利です。 グ…