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

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

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

##

元記事を表示

json文字列をMapに変換する方法

“` 変換.json
{
“name”: “John”,
“age”: 30,
“address”: {
“street”: “1234 Elm St”,
“city”: “Somewhere”,
“zip”: “12345”
},
“phoneNumbers”: [
{“type”: “home”, “number”: “123-456-7890”},
{“type”: “work”, “number”: “098-765-4321”}
]
}
“`

“` Main.java
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.Map;

public class Main {
public static void main(String[] args) {
// JSON文字列の定義(ネストされた構造を含む)
String json

元記事を表示

Javaで「final変数を定数として利用する」の動作を確認してみた

# 概要

Javaで「final変数を定数として利用する」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

以下のファイルを作成しました。
“`JSample10_1.java
class JSample10_1{
public static void main(String[] args){
final float TAX = 0.1F;

float price = 800 * (1 + TAX);
System.out.println(“料金は” + price + “です”);
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample10_1.java
$ java JSample10_1
料金は880.0です
“`

# まとめ

何かの役に立てばと。

元記事を表示

[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使い
自分がこの業界入った時はJava 1.5ぐらいでstruts 1.3でWebシステム作るのがモダンだった古き悪しき時代を乗り越えてきた、え~すけさんですよ。
そんなわけで、自分は転職組なので前の会社の話ですが、もれなく入社してから最初のプログラム研修はJavaを使って生のServlet/JSPや、strutsを使ってWEBシステムを作らされた記憶があり、大学でJavaのアプレットでなんか作るみたいなことはやってましたが、Webという覚えることだらけの魔境に四苦八苦してました。
ほら、WebってJavaだけじゃなくて、HTML/JavaScript/CSSが漏れなくついてくるから、覚えること増えるじゃん?

そんなこんなで、この業界に入ってから割とずっとJavaのプロジェクトをやってきており、実務ではJava 1.4/1.5/6/8/11ぐらいまでの記憶しかなかったですが、久々にAndroidStudioのバージョンアップしたら17以降を使えやコラみたいな警告が出てしまったので、今っていくつまで出てるのか調べたのと、Java8ぐらいが全盛期の人がどれだけうらしま

元記事を表示

【Android】キーボード表示

# はじめに
キーボードを表示する方法が調べたところ二つ出てきたので、どちらも調べ直さなくいていいようにメモがわりに記事にしておきます。

# 表示(Java)

“`
binding.edtMessage.requestFocus();
InputMethodManager keyboardManager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
keyboard.showSoftInput(binding.edtMessage, 0);
“`
または、
“`
binding.edtMessage.requestFocus();
InputMethodManager keyboardManager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
keyboardManager.toggleSoftInput(1, InputMetho

元記事を表示

MyBatis Dynamic SQLの導入で、Java開発を楽にしたい!

# 資料の目的
MyBatis Dynamic SQLの導入により、SQL周りのJava開発を楽にしたい!

# MyBatis Dayamic SQLとは?
– SQL文をJavaの関数で書けるようにするMyBatisの機能です

– Java上でMyBatisのアノテーション+SQLベタ書きで書かなくなります

– 通常のMyBatis同様、MavenやGradleでインストールできます

# 結論

**メリット**
– Javaの関数で、WHERE、ORDER BY、IN、LIKE、JOIN、AS、DISTINCT、MAXはもちろん、INSERT文、UPDATE文、DELETE文も書けます。if else文、CASE文、サブクエリ文、LIMIT OFFSET文も対応しています。SQL文はJavaの関数で表現できるため、Eclipse等のIDEによる文法チェック機能や一括修正機能の恩恵を受けられ、保守性に優れています
– MyBatis Generatorに対応しており、テーブルやカラムのマッピングは自動生成が可能です
– xmlファイルを作らずに済みます。作って並行して利用する

元記事を表示

【Jackson】Json文字列変換時のJsonParseException: Unexpected character (‘X’ (code XX))

## 現象

“`java:java
String jsonString
= “{\n”
+ ” \”data\”: [\n”
+ ” {\n”
+ ” \”id\”: 1,\n”
+ ” \”name\”: \”山田太郎\”,\n”
+ ” },\n”
+ ” {\n”
+ ” \”id\”: 2,\n”
+ ” \”name\”: \”山田次郎\”,\n”
+ ” },\n”
+ ” ],\n”
+ ” \”success\”:

元記事を表示

[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|||目次|
|—|-