JAVA関連のことを調べてみた

JAVA関連のことを調べてみた
目次

[Google Cloud Speech-to-Text API(V2)] Javaで長時間実行オペレーションをキャンセル・削除する

Cloud Speech-to-Text API V2(Java)を使用して、
長時間実行オペレーションをキャンセル・削除する方法についてご紹介します。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Cloud Speech-to-Text API(V2)] JavaでSpeech-to-Text APIを使ってみる](https://qiita.com/doran/items/8e4ef896588229c4fed3)
を参照ください。
:::

|No||目次|
|—|—|—|
|1||[オペレーションをキャンセル](#1-オペレーションをキャンセル)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|
|2||[オペレーションを削除](#2-オペレーションを削除)|
||1|[スコープ](#21-スコープ)|
||2|[実行](#22-実行)|
||3|[レスポンスの内容](#23-レスポンスの内容)|

##

元記事を表示

Eclipse + Java + Gradle の環境で Doma を動かす

## はじめに

この記事では、データベースアクセスフレームワークである [Doma](https://github.com/domaframework/doma) を利用する際の開発環境構築についてノウハウを紹介します。
簡単なサンプルアプリケーションを作りながら解説します。

## 前提

### バージョンなど

開発マシンは macOS を想定しますが、Windows と異なるところはないと思います。

IDE、ツール、ライブラリ等のバージョンは以下のとおりです。

– Eclipse IDE for Java Developers 2024-03 (4.31.0)
– Java 17.0.10(Eclipse のデフォルト)
– Gradle 8.1.1(Eclipse で Gradle Project 作成時に利用されるバージョン)
– Doma 2.58.0

### Eclipse の仕組みを踏まえた戦略

Eclipse は以下のようなさまざまな設定ファイルを参照して動きます。

– .classpath : どのライブラリのどのバージョンを使うのかといったクラ

元記事を表示

SpringAOPによるメソッドの開始・終了ロギング

# はじめに
メソッドの開始と終了のログ情報は、そこまで処理が到達しているのか、そのメソッドでどの位時間が掛かっているのか、など調査する上で非常に重要なポイントとなる。
コーディングルールとしてメソッドの開始・終了時にログを仕込むように決めていたとしても、仕込んでいないメソッドが必ず現れてくる。
そこでSpringAOPを利用して自動的にロギングする仕組みを構築する。

:::note warn
SpringFrameworkが介在するメソッドの呼び出しには適用されるが、privateメソッドなど独自に呼び出すメソッドには適用されないことに注意してほしい。
:::

## 大まかな手順
1. pom.xmlにAOPを追加する
1. ロギング用のアスペクトオブジェクトを作成する
1. アプリケーションオブジェクトに`@EnableAspectJAutoProxy`アノテーションを追加する

## 1. pom.xmlにAOPを追加する
他の依存関係に含まれている場合は追加しなくても動作するが、明示的に記載しておいた方が何を使っているか分かるため良いと思う。
“`xml:pom.xml

元記事を表示

[Google Cloud Text-to-Speech API(V1)] Javaでテキストを音声に変換する

Cloud Text-to-Speech API V1(Java)を使用して、
テキストを音声に変換する方法についてご紹介します。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Cloud Text-to-Speech API(V1)] JavaでText-to-Speech APIを使ってみる](https://qiita.com/doran/items/9edbd7d4ed11c5c4ec5f)
を参照ください。
:::

|No||目次|
|—|—|—|
|1||[テキストを変換(同期)](#1-テキストを変換同期)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|
|2||[長いテキストを変換(非同期)](#2-長いテキストを変換非同期)|
||1|[スコープ](#21-スコープ)|
||2|[実行](#22-実行)|
||3|[レスポンスの内容](#23-レスポンスの内容)|

## 1. テキストを変換

元記事を表示

Javaで「変数宣言で型推論を利用する」の動作を確認してみた

# 概要

Javaで「変数宣言で型推論を利用する」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/var/index9.html

# 実装

以下のファイルを作成しました。
“`JSample9_1.java
class JSample9_1{
public static void main(String[] args){
var old = 24;
var name = “Yamada”;

System.out.println(“年齢:” + old);
System.out.println(“氏名:” + name);
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample9_1.java
$ java JSample9_1
年齢:24
氏名:Yamada
“`

# まとめ

何かの役に立てばと。

元記事を表示

ExcelとDB+JAVAの比較

ExcelとDB+JAVAの比較
https://researchmap.jp/blogs/blog_entries/view/78772/4c0640533877f2fb3c680e23f51af343?frame_id=416173

  Spring FrameworkとSpring BootのEOLとCompatibilityについての備忘録

Spring FrameworkとSpring BootのEOLとCompatibilityについて備忘録も兼ねてまとめています。

# Spring Framework
|Branch|Initial Release|End of Support|End Commercial Support|JDK|Java/Jakarta EE|
|:-|:-|:-|:-|:-|:-|
|6.2.x|2024-11-14|2025-11-14|2027-03-14|17-25(expected)|Jakarta EE 9-11|
|6.1.x|2023-11-16|2025-08-31|2026-12-31|17-23|Jakarta EE 9-10|
|6.0.x|2022-11-16|2024-08-31|2025-12-31|17-21|Jakarta EE 9-10|
|5.3.x(LTS)|2020-10-27|2024-08-31|2026-12-31|8-21(as of 5.3.26)|Java EE 7-8|

https://spring.io/projects/spring-

Eclipseで「サーバーの起動に失敗しました」と出てくるときによくあるコーディングミス

この記事は、windowsにインストールしたEclipse2022を使用しています。

Eclipseで開発していると、たびたびエラーが出てきてしまいますが、中でもこのメッセージが出てきたときは困惑しました。

![スクリーンショット (98).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3790891/f052c0c7-374a-8763-d5d4-273ecd01334c.png)

Tomcatを使用していますので、
‘開始中 Tomcat10_Java17’に問題が発生しました。
サーバーTomcat10_Java17は起動に失敗しました。

と出現しましたが、このメッセージだけだと何も原因がわからず、
知らないうちにサーバを壊してしまったのではないかと不安な気持ちになりました。

原因追及のためにコードを見直した結果、だいたいこのパターンでこのメッセージが出るな。と
予測がつくようになったので共有します。

Delete_event.javaというファイルの中を覗いてみます。

![スクリー

[Google Cloud Speech-to-Text API(V2)] Javaで認識精度を向上させるカスタムクラスの削除を取り消す

Cloud Speech-to-Text API V2(Java)を使用して、
認識精度を向上させるカスタムクラスの削除を取り消す方法についてご紹介します。

**カスタムクラス(CustomClass)とは**
カスタムクラス(CustomClass)はモデル適応機能を実現させるためのリソースの1つです。

モデル適応機能を使用すると提案される可能性がある他の候補よりも、
Speech-to-Textが特定の単語やフレーズをより高い頻度で認識するように設定できます。

カスタムクラス(CustomClass)リソースでは下記が設定できます。
|できること|概要|
|—|—|
|固有名称(店名や商品名など)の認識|カスタムクラスを使用すると、音声に出現した際に固有名称を正しく認識するように認識モデルにバイアスをかけることができます。|

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Cloud Speech-to-Text API(V2)] JavaでSpeech-to-Text APIを使ってみる](http

【小ネタ】リフレクションを使って Apache Commons CSV で BeanToCSV 的なことをする

### やりたいこと
JavaでCSVファイル出力を実装しようと思った際に、いくつかのライブラリが選択肢にあがるかと思います。

たとえば以下のようにフィールド名に対応してヘッダー・値をシンプルに出力したいとします。

“`UserDto.java
public class UserDto {

private Integer userId;

private String userName;

private Integer age;

private String gender;
}
“`

“`Sample.java
UserDto dto1 = new UserDto(1, “田中”, 15, “女性”);
UserDto dto2 = new UserDto(2, “鈴木”, 21,”男性”);
UserDto dto3 = new UserDto(3, “吉田”, 18,”女性”);
UserDto dto4 = new UserDto(4, “佐藤”, 19,”女性”);
UserDto dto5 = new UserDto(5, “山田”, 28,”男性

リストの縦結合:SQL文のGroup By Order ByをJavaでやる方法

## 開発環境
– Java:8
– IDE:Intellij
– build:gradle

## java機能

先ずリストを格納するクラスを用意する
“`java
public class Member {
public int groupID;
public int memberID;
public int seatID;
public String name;

public Member(int groupID, int memberID, int seatID, String name) {
this.groupID = groupID;
this.memberID = memberID;
this.seatID = seatID;
this.name = name;
}

@Override
public String toString() {
return “Member{” +
“group

[Google Cloud Text-to-Speech API(V1)] JavaでText-to-Speech APIを使ってみる

Google Cloud Text-to-Speech API(V1)をJavaで使ってみました。
今回の記事はAPIを利用するにあたり準備する必要があるものを記事にしました。

***Cloud Text-to-Speech APIとは***
テキストまたは音声合成マークアップ言語(SSML)の入力を
音声データ(MP3やLINEAR16)に変換するAPIです。

APIの料金は1ヶ月単位の無料枠を超えると料金が発生します。

|種類|1ヶ月単位の無料枠|無料の使用量上限に到達した場合の料金|
|—|—|—|
|プレミアムな音声|0〜1,000,000byte|0.000016米ドル/byte|
|スタジオ音声|0~1,000,000byte|0.00016米ドル/byte|
|標準音声|0〜1,000,000文字|0.000004米ドル/文字|

料金の詳細は[⧉ Text-to-Speechの料金(公式)](https://cloud.google.com/text-to-speech/pricing?hl=ja)を参照ください。

|No|||目次|
|—|-

Javaで「変数の値を取り出す」の動作を確認してみた

# 概要

Javaで「変数の値を取り出す」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/var/index8.html

# 実装

以下のファイルを作成しました。
“`JSample8_1.java
class JSample8_1{
public static void main(String[] args){
int sum;
sum = 80 + 76 + 94;
System.out.println(“合計:” + sum);

int average;
average = sum / 3;
System.out.println(“平均:” + average);
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample8_1.java
$ java JSample8_1
合計:250
平均:83
“`

# まとめ

何かの役に立てばと。

[Google Cloud Speech-to-Text API(V2)] Javaでコンフィグレーションを更新する

Cloud Speech-to-Text API V2(Java)を使用して、
Speech-to-Textのコンフィグレーションを更新する方法についてご紹介します。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Cloud Speech-to-Text API(V2)] JavaでSpeech-to-Text APIを使ってみる](https://qiita.com/doran/items/8e4ef896588229c4fed3)
を参照ください。
:::

|No||目次|
|—|—|—|
|1||[コンフィグを更新](#1-コンフィグを更新)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|

## 1. コンフィグを更新
Speech-to-Textのコンフィグレーションを更新します。

### 1.1. スコープ
OAuth2.0でこのAPIを実行するには、以下のスコープを指定してください。
サービスア

これからの業務外での学習計画を立ててみた

私は普段、Javaで開発を行っています。いつも業務外で勉強するときは計画を立てず、その時々で気になったことを勉強していました。しかし、この方法では何をどれくらい学んだのか、自分がどれくらい成長しているのかが見えづらいと感じたため、1週間の学習計画を作成してみることにしました。

## 学習計画
学習計画を以下で作成してみました。
| 曜日 | 朝 | 夜 |
|———-|————-|————-|
| 月曜日 | 個人開発 | 個人開発 |
| 火曜日 | Python学習 | Python学習 |
| 水曜日 | 休 | 個人開発 |
| 木曜日 | Python学習 | Python学習 |
| 金曜日 | JAVA基礎復習 | 特別テーマ学習 |
| 土曜日 | Python学習 | 個人開発 |
| 日曜日 | Qiita執筆 | 個人開発 |

## 計画作成時のポイント
計画作成時のポイントは以下の通

[Google Cloud Speech-to-Text API(V2)] Javaで認識精度を向上させるフレーズセットの削除を取り消す

Cloud Speech-to-Text API V2(Java)を使用して、
認識精度を向上させるフレーズセットの削除を取り消す方法についてご紹介します。

**フレーズセット(PhraseSet)とは**
フレーズセット(PhraseSet)はモデル適応機能を実現させるためのリソースの1つです。

モデル適応機能を使用すると提案される可能性がある他の候補よりも、
Speech-to-Textが特定の単語やフレーズをより高い頻度で認識するように設定できます。

フレーズセット(PhraseSet)リソースでは下記が設定できます。
|できること|概要|
|—|—|
|単語とフレーズの認識精度を向上させる|フレーズを指定することで、Speech-to-Text がその単語の並びを認識しやすくなります。
フレーズを提供することで、個々の単語を含むフレーズの一部を認識する確率も高まります。|
|[クラストークン](#クラストークン)を使用して認識精度を向上させる|通貨単位やカレンダー日付など、自然言語で発生する一般的なコンセプトを表します。
クラスにより、共通のコンセプト

Firebase Admin SDK (Java) を使って FCM Push を Proxy 越え送信する場合の注意

# 概要

Firebase Admin SDK (Java) を使って FCM Push を Proxy サーバ越えで送信するときにドハマリしたので、注意点を記載します。

なお、Proxy 設定を行う手順は Firebase Admin SDK ドキュメントには一切記載がありません
(そのくらい書いといてよね >Google)

# FCM Push の送信手順(Proxyなし)

Proxyなしの場合の送信手順は [送信リクエストを許可する](https://firebase.google.com/docs/cloud-messaging/auth-server?lang=ja&hl=ja) に記載されています。

このうち重要なのは初期化部分で、以下のようなコードになります。

“`java
// GoogleCredentials を生成
GoogleCredentials googleCredentials = GoogleCredentials
.fromStream(new FileInputStream(“service-account.json”))

ECS Scheduled TasksをTerraformとSpring Bootで作る

ECS Scheduled Tasksは公式ドキュメントの内容が少ない上に、マネジメントコンソールでの手順しか書いていなかったので苦戦しました。なんとか動かせたので共有します。

# 環境
– macOS 14.5 (Intel版)
– Terraform 1.7.5
– Terraform AWS Provider 5.49.0
– Spring Boot 3.2.5
– JDK 21
– OrbStack 1.5.1

# アプリ
## ソースコード
“`java:BatchApplication.java
@SpringBootApplication
public class EcsTestBatchApplication {

private static final Logger logger = LoggerFactory.getLogger(EcsTestBatchApplication.class);

public static void main(String[] args) {
String param1 = System.get

[Google Cloud Speech-to-Text API(V2)] Javaで認識ツールの削除を取り消す

Cloud Speech-to-Text API V2(Java)を使用して、
認識ツールの削除を取り消す方法についてご紹介します。

**認識ツールとは**
認識ツールは構成可能で再利用可能な認識構成です。

頻繁に使用される認識構成を使用して認識ツールを作成すると、
認識リクエストを簡素化し、リクエストのサイズを削減できます。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Cloud Speech-to-Text API(V2)] JavaでSpeech-to-Text APIを使ってみる](https://qiita.com/doran/items/8e4ef896588229c4fed3)
を参照ください。
:::

|No||目次|
|—|—|—|
|1||[削除を取り消す](#1-削除を取り消す)|
||1|[スコープ](#11-スコープ)|
||2|[実行](#12-実行)|
||3|[レスポンスの内容](#13-レスポンスの内容)|

## 1. 削除を取り消す
認識ツールの削除を取り消し

Javaで「変数の初期化と変数への値の代入」の動作を確認してみた

# 概要

Javaで「変数の初期化と変数への値の代入」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/var/index6.html

# 実装
“`JSample6_1.java
class JSample6_1{
public static void main(String[] args){
int old;
String name;

old = 24;
name = “Tarou Yamada”;

System.out.println(old);
System.out.println(name);
}
}
“`
“`JSample6_2.java
class JSample6_2{
public static void main(String[] args){
int old = 24;
String name = “Tarou Yamada”;

System.out.println(old);
Sy