Os.detected.classifier を M1 Mac で使用する

はじめに Windows で開発された Spring Boot アプリケーションを起動しようとしても、Maven の pom ファイルでエラーが発生してしまい動かなかったので調査した。 環境 Name Version macOS Monterey(M1 Macbook Pro) 12.1 JetBrains Toolbox App 1.25 IntelliJ IDEA (Ultimate Edition) 2022.2 問題点 以下を M1 Mac で実行しようとすると os.detected.classifier が読み込めない 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <plugin> <groupId>org.xolstice.maven.plugins</groupId> <artifactId>protobuf-maven-plugin</artifactId> <version>0.6.1</version> <extensions>true</extensions> <executions> <execution> <goals> <goal>compile</goal> <goal>test-compile</goal> </goals> </execution> </executions> <configuration> <protocArtifact>com....

September 29, 2022 · 1 min · Sayaka Nakagawa

Lombok のアノテーション

はじめに 普段使っているアノテーションを整理するためにメモに残しとこうと思います。基本的にこちらを引用しています。 コンストラクタ生成タイプのアノテーション @NoArgsConstructor デフォルトコンストラクタを生成するもの(メンバー変数なし) 1 2 3 4 5 6 7 8 9 10 11 12 import lombok.NoArgsConstructor; @NoArgsConstructor public class Person1 { private long id; private String name; private int age; // 実際には以下が追加される public Person1() { } } @AllArgsConstructor すべてのメンバー変数の値をセットできるコンストラクタが自動で生成される 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 import lombok.AllArgsConstructor; @AllArgsConstructor public class Person2 { private long id; private String name; private int age; // 実際には以下が追加される public Person2(final long id, final String name, final int age) { this....

September 27, 2022 · 2 min · Sayaka Nakagawa

Azure Functions のローカル開発環境を M1 Mac で構築する

Azure Functions をローカルで実行したい時、Azure Functions Core Tools が動かなかったので対応を行った際のメモ。 install 1 2 3 4 brew tap azure/functions brew install azure-functions-core-tools@4 # if upgrading on a machine that has 2.x or 3.x installed: brew link --overwrite azure-functions-core-tools@4 実行時のエラー 1 2 Microsoft.Azure.WebJobs.Script: Architecture Arm64 is not supported for language python. Failed to initialize worker provider for: /opt/homebrew/Cellar/azure-functions-core-tools@4/4.0.4544/workers/python 対応 1 2 3 4 5 brew install python@3.9 brew uninstall azure-functions-core-tools@4 /opt/homebrew/bin/pip3 install grpcio npm i -g azure-functions-core-tools@4....

August 29, 2022 · 1 min · Sayaka Nakagawa

Annotation Processing とは

Annocation Processing とは Java 1.8 から導入されている Pluggable Annotation Processing API を指していて、コンパイル時にアノテーションを処理する仕組みのこと。 コンパイル後に処理されたデータは「.apt_generated」に格納される。 カスタムアノテーションを構成することもできるようで IntelliJ IDEA で行う場合はこちらを参照するとよさそう。 References https://www.baeldung.com/java-annotation-processing-builder こんなチュートリアルもあった

August 26, 2022 · 1 min · Sayaka Nakagawa

Event Hubs Capture でイベントデータをキャプチャする

以前の記事では Event Hubs のクイックスタートにて、Event Hubs と Spring Boot アプリケーションをつなげる方法について調べた。 Event Hubs と Kafka アプリケーションを繋げるにはこちらのクイックスタートを使用すればパラメータを設定するだけで簡単にできた。 ただし Event Hubs のレベルは kafka プロトコルに対応したい場合だと Basic では動かないため、Standard にする必要がある その際に、Event Hubs <-> Kafka アプリケーション間で発生するイベントをキャプチャすることができるようだったので設定してみた。(Azure Blob Storage で行った) なお、操作は IntelliJ 上で行っているが、アプリの実行はターミナルで実施した。 キャプチャが保存されたことを確認する 前提 当該リポジトリを clone 済みであり、適切なパラメータが設定済みであること リポジトリの README.md に記載のある条件をクリアしていること TestProducer を起動する producer のルートディレクトリで以下を実行する 1 2 mvn clean package mvn exec:java -Dexec.mainClass="TestProducer" 起動すると以下のようなログがターミナルに出力される。 デフォルトでは起動時に100メッセージが送られるような設定となっているため、送信が完了した場合は以下のようなログが出力される。 TestConsumer を起動する consumer のルートディレクトリで以下を実行する 1 2 mvn clean package mvn exec:java -Dexec....

August 18, 2022 · 1 min · Sayaka Nakagawa