はじめに 昨日の記事で、Androidアプリのポリシー違反に対処する話をしました。久しぶりの開発だったので、まずはAndroid Studioのバージョンアップをすることにしました。しかし、結果的にこれが間違いでした。 バージョンアップが終わり、Android 14(API レベル 34)のエミュレータを作成して起動しようとしたところ、アプリのビルドが通らなくなってしまいました…。現在もまだ対応が終わっていませんが、おそらく、Android Studioのバージョンを上げたことでバンドルされているOpenJDKのバージョンも上がり、その影響でGradle(ビルドツール)の設定に問題が生じたのだ…
Red Hat のソリューションアーキテクトの瀬戸です。 概要 以前jpackageを使ったクライアントアプリケーションのパッケージングの方法についてまとめました。 rheb.hatenablog.com その時にmsi形式でパッケージングをしましたが、このmsiという拡張子のついたファイルは何なのでしょうか? msiはWindows上で実行できるファイルの中で、ソフトウェアのインストールに使えるファイルにつけられる拡張子です。Microsoft Windows Installerの略となっています。 特別な拡張子が割り当てられているだけではなく、中に含まれるファイルの実行時のオプションや内容…
Red Hat のソリューションアーキテクトの瀬戸です。 この記事はRed Hat Developerのブログ記事、What's new for developers in JDK 21 | Red Hat Developer を、許可をうけて翻訳したものです。 Java開発者にとってエキサイティングな情報として、今年 9 月 19 日に JDK 21 がリリースされました。 このリリースには、仮想スレッド(Virtual Thread)、レコードパターン(Record Patterns)、順序付コレクション(Sequenced Collections)など、Javaのエコシステムに利益をもた…
2021 Nov. 23. 2021 May 05. JDKのインストール # pacman -Syu # pacman -S jdk-openjdk JAVA_HOME、PATHをシステムワイドに設定 /etc/profile.d/my-profile.shに書き込む(ファイル名my-profileは任意) JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") export JAVA_HOME ## exportしなければ設定できなかった PATH="${JAVA_HOME}/bin:${PATH}" export PA…
ダウンロード 関連記事 関連サイト(Azure Spring Cloud) ダウンロード 今回提供された Microsoft Build の OpenJDK はオープンソースで、無料で利用できるロングタームサポート(LTS)付きの新しいディストリビューションです。 OpenJDK 11.0.10+9 をベースに、MacOS、Linux、Windows の x64 サーバーおよびデスクトップ版が用意されているほか、最新の OpenJDK 16+36 をベースにした Windows AArch64/ARM64版Java16 のアーリー・アクセスバイナリも公開されています。 下記のリンクでダウンロー…
『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版』では、OWASP ZAPというアプリを使って学習を進めていきます。 インストールしたあと、ZAP.exeをダブルクリックしても起動しないことがありました。 原因と対処方法をまとめておきます。
Homebrewのインストール・環境設定のやり方については以前の記事を参考に Java について バージョン対応表 brewを使って、OpenJDK 12 をMacにインストールする方法 AdoptOpenJDK/openjdk の formula を追加する OpenJDK (コマンドでは小文字) を検索しておく そこで、Homebrew-caskがインストールされてないなら、まずは入れる OpenJDK 12 のインストール実行 Java と Javac のバージョンを確認しておく まとめ 参考文献 Homebrewのインストール・環境設定のやり方については以前の記事を参考に skume.…
追記:対象としているJavaエンジニアの範囲を大袈裟にしすぎたかなと感じましたので、その辺を修正しました。 なぜ書いたのか タイトルの件ですが、有識者の方々が様々な媒体や場所で発信をされているおかげで、以前に比べて少なくなったと感じてはいるものの、まだ時々誤解を持たれている「Javaが有償化する」と呟かれているエンジニアの方もたまに見かけます。 Oracle JDK 8およびOpenJDK 11、それぞれ最後の無償アップデートがリリースされ、これから有償または無償のLTSでアップデートを受け続けるか、OpenJDK 12に移行するのかといった選択を決めていく状況になる時にまだこのような誤解を持…
この記事は FOLIO Advent Calendar 2024 - Adventar の21日目です。 先日 HashedWheelTimer が話題に上がったのですが、意外にも日本語で解説している記事が見当たりませんでした。(言及している記事はある。検索の仕方が悪いかもしれない。) HashedWheelTimer は Web フレームワークなどの裏側でタイムアウトを扱ったり、スケジューリング周りで重要なデータ構造/アルゴリズムです。 理解しておくとトラブル時に役立つ(かも)ということで自分の勉強も兼ねてまとめておきます。 HashedWheelTimer とは 何 millisec 後に…
本日はUnityの小ネタ枠です。 Unityで過去のAndroidSDKをインストールする方法です。 過去のAndroidSDKをインストールできない場合 特定のUnityバージョンでは古いAndroidSDKを自動インストールできず、以下のようなエラーメッセージで手動インストールを要求される場合があります。 Android SDK does not include your Target SDK of (SDKバージョン). Please use the ANdroid SDK Manager to install your target SDK version.今回のケースでは[Targe…
やりたいこと Javaアプリケーションにて利用されるキーストアであるjksファイルの、中に格納されている証明書の情報をコマンドから確認する。 環境情報 Red Hat Enterprise Linux 9.3 java-17-openjdk-17.0.11 やり方 Javaをインストールする際に同梱されるkeytoolコマンドを利用して $ which keytool /usr/lib/jvm/java-17-openjdk-17.x.el9.x86_64/bin/keytool 以下のようにファイルの場所及びパスワードを指定したlistオプションを利用する。 $ keytool -list …
これは、なにをしたくて書いたもの? JDK Flight Recorder(JFR)とJDK Mission Control(JMC)について見てみようと思いつつ、ずっとそのままにしていたのでそろそろ ちゃんと見ておこうかなということで。 なお、今回はざっくりコマンドの使い方の雰囲気だけを見ることにしておきます。 JEP 328:Flight Recorder(JFR) JEP 328:Flight Recorder、JDK Flight Recorder(JFR)のページはこちら。 JEP 328: Flight Recorder JFRはJavaアプリケーションとHotSpot JVMのト…
はじめに Keycloak(RedHat Build of Keycloak)ではQuarkusの設定でJDBCの接続プールの値を調整でき、その中にデータベース接続の検証を担う箇所があります。本記事では同設定を入れた状態と入れていない状態を用意し、Keycloakの管理コンソールを操作した際の挙動がどのように変化するのかを確認しました。尚、今回は接続を取得する前の検証(フォアグラウンド検証)を有効にします。 quarkus.datasource.jdbc.background-validation-interval=0s quarkus.datasource.jdbc.foreground-v…
久しぶりに WSL2 でいろいろとしたいなと思っていたら、ちょうど WSL2 の Ubuntu の 24.04 が出ていたのに気がつきました。ということで、あれこれやり始める前に、バージョンを上げたので、その作業をメモっておきます。 参考にしたサイト WSLのUbuntu 22.04 LTSを24.04にアップグレードする 準備 まずは、現状確認 mor@DESKTOP-DE7IL4F:~$ cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.5 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.5…
はじめに こんにちは、新卒2年目の岡崎です。エキサイトHDアドベントカレンダー2024の5日目を担当します。 今までの記事はこちらをご覧ください。 qiita.com さて。今回は、SpringBoot + Thymeleafで、JavaScriptに変数を埋め込む方法を紹介します。 環境 Java 試しに23を使っていますが、21でも問題ないです。 openjdk version "23.0.1" 2024-10-15 OpenJDK Runtime Environment Corretto-23.0.1.8.1 (build 23.0.1+8-FR) OpenJDK 64-Bit Serv…
これは、なにをしたくて書いたもの? 前に、MicroProfile JWT AuthをWildFly 33とKeycloak 25で試してみました。 WildFly 33 × Keycloak 25でMicroProfile JWT Authを試す - CLOVER🍀 この時に思ったのですが、Jakarta SecurityでOpenID Connectを扱っており、先にこちらをやった方がよかったのではないかなと思っていまして。 今回試してみることにしました。 Jakarta Security Jakarta Securityのページはこちら。 Jakarta Security | Jakar…
これは、なにをしたくて書いたもの? Jakarta Contexts and Dependency Injection(CDI)のコンテナ起動・終了時になにか処理をしたいと思った場合に、どうしたらいいのか よく知らなかったので見ておくことにしました。 ちなみにJakarta Servletの場合はこちらですね。 Jakarta ServletのServletContainerInitializerを試す - CLOVER🍀 @Initialized/@BeforeDestroyed/@DestroyedかStartup/Shutdownか 調べてみると、やり方としては2つありそうです。 ひとつ…
前編だけでは終われない理由 前編の記事では、JavaのWebフレームワークのうちリクエスト処理について紹介しました。 ▼前編はこちらをチェック 2010年ごろであればそれでフレームワークの紹介を終わりとしてもよさそうなのですが、現在ではリクエスト処理の書き方だけではなく、どのようにデプロイしてどのように動くかというのも大事になって、フレームワークというとそこまで含めたフルスタックで考える必要があります。 そこで今回はフルスタックフレームワークがどのように必要になったのかという流れを説明し、Java EEなどJava標準がどのように変わってきているかなど、フレームワークのとりまく状況を整理してい…
前回までの記事: Alfresco Community構築1:概要 Alfresco Community構築2:環境整備 Alfresco Community構築3:Communityインストール Alfresco Community構築4:検索とレンダリングサービス設定 前回までですべてのインストール作業は終了した。デフォルトのままではいくらか不便があるため、カスタマイズしてからAlfrescoサービスの起動・停止設定をする。 キャッシュサイズ変更 デフォルトは1024KB(10MB)。小さすぎるので大きくしておく。なおいつものように、"<"と">"は全角で表示しているので注意。 $ vi …
Ubuntu 22.04のPleromaのバージョンを2.6.3から2.7.1に更新した。 それに伴い、Erlang/ElixirをUbuntu標準のリポジトリから導入したものから、asdfで導入したものに変更した。 環境 共通 さくらのVPS 1GB OS: Ubuntu 22.04 LTS Pleromaのインストール方法: ソースからインストール 更新前 Erlang: 24.2.1(Ubuntu 22.04公式のリポジトリからインストールしたもの) Elixir: 1.12.2(Ubuntu 22.04公式のリポジトリからインストールしたもの) Pleroma: 2.6.3 更新後 E…
これは、なにをしたくて書いたもの? メタアノテーションのひとつに、@Inheritedがあります。 Inherited (Java SE 21 & JDK 21) アノテーションが継承されるというのですが、これがどういう意味なのか確認したことがなかったので見てみることにしました。 @Inheritedアノテーション @InheritedアノテーションのJavadocの説明を見てみます。 Inherited (Java SE 21 & JDK 21) アノテーションが継承されるようです。 注釈インタフェースが自動的に継承されることを示します。 @Inheritedアノテーションが付与されたとある…
関連tweet多過ぎるから全部貼らないんですが、まぁそれそうだな、と思って実験してみた結果。 tryは例外発生しなかったらコスト消える可能性があって、OptionやEitherやその他はtryと比較したらheapに乗る余計なオブジェクト出来るからほんの少しコストかかる可能性増える。から例外発生しない正常系パターンだけを考えたらむしろ値で異常系を表現して返す方が原理上遅く可能性がある、— Kenji Yoshida (@xuwei_k) November 29, 2024
前回までの記事: Alfresco Community構築1:概要 Alfrescoを正常に動作させるためには、Alfrescoのバージョンに合わせて環境を整えておく必要がある。今回は7.1.0.1版を使うので、Alfrescoの7.1版ドキュメントの、"Supported Platforms"タブで、7.1向けの製品と版数を確認しておく。なお、たとえばOSには、RHEL、CentOS、Ubuntu、Windows、Amazon Linuxなど候補が複数あるので、自分好みのものを選択する。ここでは、OSはRHEL、DBはPostgreSQLである。バージョンはRHEL8.4、PostgreSQ…