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

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

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

元記事を表示

JavaSilver合格→次のステップ

2024/5/13
JavaSilver11の試験が終わりました。

結果は68%。

余裕ではないものの、無事に一発合格。

学習期間は約2ヶ月(あくまで期間)

正直、気分が乗らない、頭に入らない、PCに向かったけど全然違うことをする等の自分の集中力に腹が立つときもあった。

実務経験は約半年。

まったく何もわからない時に比べたら成長したと思う。

学習に使用した教材は黒本と紫本を用意。

先に黒本を購入したので、黒本をメインに学習しました。
紫本は半周くらいやって、解説を軽く読む程度で、それ以降触りませんでした。

あとはYouTubeで「黒本著者のやさしくない!?Java」を一通り観て、理解が浅い箇所は何回か観て理解を深めました。
(メンバーになると、知識がより深まるのかもしれないが、わたしは傍観者でいました。)

模擬試験3周目の末章終了後、模擬試験前にあえて数日あけました。
試験2日前に最後の模擬を行い、結果75%となんとも言えないけっかだったので、間違った箇所を軽く復習して終えました。
(脳がパンクしかけていました。)

試験日は前祝しているかのような雨、、

受付で

元記事を表示

Javaで「基本のデータ型」の動作を確認してみた

# 概要

Javaで「基本のデータ型」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

以下のファイルを作成しました。
“`JSample4_1.java
class JSample4_1{
public static void main(String[] args){
int n = 100;
long l = 12345678910L;
double d = 3.14;
float f = 3.14F;
char c = ‘花’;
boolean b = true;

System.out.println(“n=” + n);
System.out.println(“l=” + l);
System.out.println(“d=” + d);
System.out.println(“f=” + f);
System.out.println(“c=” + c);

元記事を表示

Java の標準 URI ライブラリが RFC 3986 に対応していないので、自作ライブラリで対応する羽目になった話

# はじめに

Java 開発者にとっては周知の事実かもしれませんが、Java の標準 URI ライブラリ (`java.net.URI` クラス) は未だに古い仕様である [RFC 2396](https://datatracker.ietf.org/doc/rfc2396/) をベースに実装されており、今日のデファクトスタンダードである [RFC 3986](https://datatracker.ietf.org/doc/rfc3986/) に完全準拠していません。[RFC 6749 (The OAuth 2.0 Authorization Framework)](https://datatracker.ietf.org/doc/rfc6749/) や他の規格・仕様によって RFC 3986 が参照されているにも関わらず標準ライブラリがそれに対応していないとなると、開発者としては不足部分を何らかの手段で補完せざるを得なくなります。かく言う私も自社製品の開発おいて他ライブラリで不足部分をカバーしていましたが、利用していたライブラリに不具合があること、それにも関わらずそのアップデート

元記事を表示

java:クラスを使って買い物システムを作ってみた

# はじめに
この度はこの記事をご覧いただきありがとうございます。今回はクラスについて学んだことを活かして商品の在庫管理と買い物のシステムを作成いたしました。アドバイス等あればご教授ください!

# システム概要
まず、商品を表す`Product`クラス、商品棚を表す`ProductShelf`、商品を入れるカートを表す`Cart`クラスを定義。その後これらのクラスを使って`App.java`で商品棚に商品を追加、削除し、追加された商品を実際にカートに入れて購入するシステムを作成した。
また、`Product`、`ProductShelf`、`Cart`は`Package`というパッケージ内に入っている。

# クラスの概要
今回使用したクラスのファイルを以下に記述する。
## Product
“`java
package Package;
public class Product {
//商品名
private String name;
//商品の値段
private int price;
//商品の在庫数
private int s

元記事を表示

[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-レスポンスの内容)|

## 1. オペレー

元記事を表示

javaのプロトタイプ(Prototype)パターン

## はじめに

プロトタイプパターンは、既存のオブジェクトを複製することで新しいオブジェクトを生成するデザインパターンです。複雑なオブジェクトを一から作成するのではなく、既存のオブジェクトをコピーすることで効率的にオブジェクトを生成できます。

## プロトタイプパターンの概要

プロトタイプパターンは以下の要素で構成されます。

– Prototype (原型): 複製可能なオブジェクトを宣言するインターフェースまたは抽象クラス。
– ConcretePrototype (具体的な原型): Prototypeインターフェースを実装し、複製機能を提供する具体的なクラス。
– Client (利用者): 新しいオブジェクトを生成するために、Prototypeに複製を要求します。

## プロトタイプパターンの利点

– 複雑なオブジェクトを一から生成する必要がなくなり、コードがシンプルになります。
– 実行時に動的にオブジェクトを生成できます。
– サブクラス化を減らすことができます。

## サンプルコード (Java)

“`java
// Prototype インターフェース

元記事を表示

1時間でなんとなくわかった気になる Open Liberty でアプリケーション開発 & コンテナビルド & OpenShift へデプロイ

# はじめに
タイトルどおりのハンズオンです。
古すぎない Mac or Windows PC とインターネット接続、やり遂げる意志以外の前提条件はありません。
作成したコンテナのデプロイまで試したい場合は、OpenShift クラスター環境が必要です。

以下の記事は M1 Mac で検証 & 執筆しておりますので、Windows 組の方はよしなに読み替えて下さい。

# 準備
ハンズオン実施中はインターネットに接続している必要があります。

まずは Java がないと始まりません。
“`
% java -version
“`
として、Java 17 または 21 が見つかれば OK です。
なかった場合は Semeru Runtimes をインストールしましょう。
https://developer.ibm.com/languages/java/semeru-runtimes/downloads/
このハンズオンの作成は M1 Mac で Semeru Runtimes の 21 を使用しています。

Mac で複数の JDK インストールを切り替える方法は、”Mac Java

元記事を表示

OTHERカテゴリの最新記事