#chiroito ’s blog

Java を中心とした趣味の技術について

QuarkusでOpentracingを利用する

QuarkusはデフォルトではOpentracingを利用していませんが、拡張機能(extention)を追加して設定を少しするだけでOpentracingを利用できるようになります。 Opentracingの追加 Opentracingの拡張機能を利用するにはmvn quarkus:add-extensionに-Dextensionsで…

Quarkusのデバッグポートを変更する

Quarkusのデバッグポートはデフォルトでは5005ですが、これを変えるには起動時(mvn compile quarkus:dev)に-Ddebugを指定します。 ポート番号を1234に変更する方法は以下の通りです。 mvn compile quarkus:dev -Ddebug=1234 以下のログが出れば変更成功です…

Quarkusで実装したAPIをSwagger-uiで見る

QuarkusでSwagger UIを見るには拡張機能としてSmallRye OpenAPIを追加します。 Swagger UIへのアクセスはホスト名にswagger-uiを追加するとアクセスできるようになります。 拡張機能を追加する方法は以下の3つあります。 https://code.quarkus.io/で作成時に…

Quarkusが公開するポート番号を変更する

src/main/resources/application.propertiesにquarkus.http.portを指定します。 ポート番号を80に変更する方法は以下の通りです。 quarkus.http.port=80

Jfokusについてまとめてみた

Jfokusとはスウェーデンのストックホルムで開催されるカンファレンスです。 www.jfokus.se 2018年にじゅくちょーが参加されたレポートはこちら。 www.sakatakoichi.com 日時 Jfokus 2020は2020年2月3日(月)から5日(水)に開催されます。 この前に2月1日(土)~…

CPUによるOpenJDKのビルド時間の推移

OpenJDK の開発環境を E3-1265 V2 から i9-9900K へ変えてみたのでビルド時間を計ってみました。 ※i5-9400H のCPUもゲットしたので表でだけ性能を追加しました。 それぞれの性能はこんな感じです。 プロセッサ名 物理コア数 ベース動作周波数 ターボブースト…

Windows Subsystem for Linux を使って OpenJDK をビルド

Windows 上で Windows Subsystem for Linux (WSL) を使用して OpenJDK 14 の Windows バイナリをビルドする方法をまとめます。 やりがちですが、Windows Subsystem for Linux (WSL)側のUbuntu 側で hg するのは必須ではありません。(やった) Windows側で好…

エンタープライズ向けのシステムを自動構築するツール

エンタープライズで使われるミドルウェアを使うためには、環境が使えるようになるまで構築に膨大な時間がかかるほか、開発用途などでちょっと使うだけで莫大なライセンス料がかかります。 クラウドが当たり前になって、ライセンス料が非常に安価になって触り…

OpenJDK を開発する流れ

自分が使うコマンドをうっかり忘れるときがあるのでその備忘録のために、開発の流れとそこで使ってる内容をメモ。 公式のガイドはこちらを参考にしてください。The OpenJDK Developers' Guide OpenJDK の開発は以下のような流れで行います。 バグを上げる 開…

Oracle Management Cloud エージェントをインストールしてみる

はじめに システムを運用するときは、ログやメトリックをモニタリングします。オンプレのシステムでは決まった台数を監視すれば良いことが多いです。また、ストレージが書き込める限り、あとからストレージからログやメトリックを収集できます。クラウドでは…

OSが起動したままマウントしてる XFS のサイズを増やしてみた

/ の領域が足りなくなってきてしまったけど、仮想マシンからデタッチして、他の仮想マシンにアタッチ・マウントしてからサイズ増やして、また戻してからマウントするの面倒臭いなと2ヶ月ぐらい思っていたら、growpartというツールでマウントしたままパーティ…

Terraform を使って Cloud上に OpenJDK の開発環境を整えてみた

OpenJDK のビルドやテストは時間が非常に掛かるので、クラウド上で大量の CPU リソースを使って短時間化できないかを試してみました。 今回作った環境に自分で書いたパッチを置いて Terraform を実行すると、あとはクラウド上で大量のリソースを使ってビルド…

OpenJDK のテストをデバッグ実行するためいろいろ試みてみた

Java のコードをデバッグ実行するには-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=127.0.0.1:12345みたいな感じのを付けます。これを使って OpenJDK の Java 部分のデバッグができるだろうなと思って試してみました。 jtreg で実行する…

JShell 自体をデバッグしてみた

Java Bug System を見ていたら JShell 自体のデバッグを見つけたので、パッチを書こうと思いJShellについて調べてみた。 使い方や 2 つの JVM が動くぐらいは知っていたけど、具体的には知らないので調べてみました。 試しにjshellコマンドを実行してからjmc…

Yumによるパッケージの自動更新を無効にしてみた

VirtualBox 上で動かしている Linux が yum のキャッシュのせいで時折ディスクフルになっていた。これまでは毎回yum clean allでキャッシュを消してたけど、根本原因を探ってみた。 yum-cronなるものがあると定期的にyumを実行するようだ。 # rpm -qa | grep…

Terraform で Oracle Cloud Infrastructure を構築する

Terraform を使って以下のような構成の Oracle Cloud Infrastructure を構築してみました。 Terraform で作成する環境 設定を以下の 4 つに分けて紹介します。 パラメータ OCI プロバイダの設定 インフラの設定 インスタンスの設定 パラメータは terraform.a…

Oracle Cloud Infrastructure で Terraform へ入門してみた

Oracle Cloud Infrastructure (OCI) で Terraform へ入門するため準備とその確認を以下の手順でしていきます。 Terraform のダウンロード OCI を使った Terraform ファイルを作成 Terraform の初期化 OCI プロバイダの実行 Oracle Cloud Infrastructure の T…

電車情報を使ったIoTリアルタイムストリーム処理

この記事はOracle Cloud Advent Calendar 2018 - Adventar」の12月22日の記事として書かれています。 今回やること これまで仕事で散々 IoT やストリーム処理をしてきたので簡単に作ってみたいと思います。 作ってみたシステムは下図のように東京メトロさん…

Oracle Cloud Infrastructure でインターネットからの通信を許可する

この記事は「Oracle Cloud その2 Advent Calendar 2018」の12月10日の記事として書かれています。 セキュリティ・リストで入力方向の通信を設定をします。 変更することは滅多に無いものの、設定画面までの遷移が非常に長いのでいざ変更しようと思うと大変で…

Oracle Digital Assistant のチャットボットのフロントエンドを Facebook Messanger にしてみた

チャットボットを使ったシステムでは、フロントエンドのインターフェースとしてユーザが使い慣れた Facebook Messanger や LINE をインターフェースとして使うことが多いです。 Oracle Degital Assistant は様々なメッセージアプリをフロントエンドとして使…

Oracle Object Storage へマルチパート・アップロードしてみた

この記事はOracle Cloud Advent Calendar 2018 - Adventarの12月8日の記事として書かれています。 大きなファイルのアップロードにはマルチパートアップロードが有効です。今回はOracle Cloudのオブジェクトストレージにファイルをマルチパートアップロード…

Oracle Digital Assistantのチャットボットをエクスポートしてみた

この記事は「Oracle Cloud その2 Advent Calendar 2018」の12月7日の記事として書かれています。 Oracle Degital Assistant で作ったチャットボットをExportしてみましょう。 チャットボットの一覧画面でエクスポートしたいチャットボットのメニューを選択し…

Oracle Digital Assistantのチャットボット入出力をGoogle翻訳で翻訳してみた

この記事は「Oracle Cloud その2 Advent Calendar 2018」の12月6日の記事として書かれています。 Oracle Digital Assistant は外部の翻訳サービスを使って翻訳できます。 本例では、Google翻訳を使用して翻訳します。事前に Google Cloud Platform で Google…

Oracle Digital Assistant でチャットボットを作ってみた

この記事は「Oracle Cloud その2 Advent Calendar 2018」の12月5日の記事として書かれています。 Oracle Cloud の Digital Assistant を使ってチャットボットを作ってみます。 Oracle Digital Assistant の画面で左上のメニューから Development - Bots と遷…

Oracle Cloud Infrastructure CLIを設定してみた

この記事は「Oracle Cloud その2 Advent Calendar 2018」の12月3日の記事として書かれています。 Oracle Cloud Infrastructure (OCI) CLIを使うには、インストールしたあとに以下のようなちょっとした設定が必要です。 インストールがまだな場合はこちらの手…

Oracle Cloud Infrastructure CLIをインストールしてみた

この記事は「Oracle Cloud Advent Calendar 2018」の12月2日の記事として書かれています。 ほとんどの人は Oracle Cloud を初めて聞くと思いますが、Oracle はストレージのIOやネットワークのIOに強いIaaS、長年培われてきたミドルウェアをクラウドに対応し…

Data Miner のAssociation結果をそれっぽく見せる

select antecedent_items, p2.attribute_subname as consequent_item, p0.support, confidence, lift, p3.number_of_items from dm$p0assoc_ap_1_1 p0 left outer join ( select ip4.itemset_id, listagg(ip2.attribute_subname, ',') within group (order b…

Try Project Loom -Project Loomを試す-

JVM Language Summit に先立ち、Fri, 27 Jul 2018 15:33:05 +0100 に Project Loom がついにコミットされたので試してみたいと思います。 現段階ではまだまだ開発途中であるためクラスやメソッドが変更される可能性があるのでご注意ください。

Managed Cloud Service で Kafka アプリケーションを作成する

Spring-Cloud-Stream と Spring-Binder-Kafka を使用して Kafka のアプリケーションを作成してみます。 今回作成するアプリケーションは、Producer と Consumer を1つずつ作成します。Producer は一定時間ごとにメッセージを Kafka の Topic へ送り、Consum…

WebLogicコンテナを開発モードかつDebugモードで起動する

Oracle WebLogic Server をコンテナとして起動すると、本番モードで起動するため、開発に使うにはちょっと不便です。 設定を簡単に変えられるように開発モードで起動し、リモート・デバッグできるようにDebugモードで起動しましょう。