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

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

[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 がその単語の並びを認識しやすくなります。
フレーズを提供することで、個々の単語を含むフレーズの一部を認識する確率も高まります。|
|[クラストークン](#クラストークン)を使用して認識精度を向上させる|通貨単位やカレンダー日付など、自然言語で発生する一般的なコンセプトを表します。
クラスにより、共通のコンセプトに対応

元記事を表示

その単体テストは 振る舞い を検証できていますか?

# はじめに

本記事は単体テストにおける偽陰性に焦点をあてています。偽陽性は別記事にします。

# 目次

– [振る舞いを検証できていない場合ただの負債になりかねない](#振る舞いを検証できていない場合ただの負債になりかねない)
– [そもそも単体テストの目的って?](#そもそも単体テストの目的って)
– [単体テストで検証したいものって?](#単体テストで検証したいものって)
– [振る舞い と 内部実装(実装の詳細)](#振る舞い-と-内部実装実装の詳細)
– [観察可能な振る舞い とは](#観察可能な振る舞い-とは)
– [内部実装(実装の詳細) とは](#内部実装実装の詳細-とは)
– [注意:振る舞いと内部実装は視点によって変化する](#注意振る舞いと内部実装は視点によって変化する)
– [検証したいものは外部から観察可能な1単位の振る舞い](#検証したいものは外部から観察可能な1単位の振る舞い)
– [現実世界で 振る舞い と 内部実装 を考える](#現実世界で-振る舞い-と-内部実装-を考える)
– [テストケースに内部実装が漏れ出ている例](#テスト

元記事を表示

(java silver)演算子

## JavaSilverでメモしたところ備忘録として残しておこうと思います。
# 三項演算子
“`java
条件式?式1:式2
“`
* 条件式がtrueの場合は式1を評価した値を返す、falseの場合は式2を評価した値を返す
“`java
//(num = 6,num = 6, result = 6)

String str = num == count? num < result?"ARG":"Bol":"CHL";//"BOL"が出力される ``` ::::note ()をつけるとわかりやすい :::: ```java //(num = 6,num = 6, result = 6) String str = num == count? (num < result?"ARG":"Bol"):"CHL";//"BOL"が出力される //numがtrueならnum < result?"ARG":"Bol"が評価 //numがfalseなら"CHL" ``` # ビット演算子 * 整数値の値に対してビット単位で処理を行うために用意されているもの | 1 | 2 | 3

元記事を表示

Javaで「Javaにおける変数とは」の動作を確認してみた

# 概要

Javaで「Javaにおける変数とは」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

以下のファイルを作成しました。
“`JSample1_1.java
class JSample1_1{
public static void main(String[] args){
int sum = 58 + 72 + 90;
System.out.println(“合計 ” + sum);
System.out.println(“平均 ” + sum / 3);
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample1_1.java
$ java JSample1_1
合計 220
平均 73
“`

# まとめ

何かの役に立てばと。

元記事を表示

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

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

***Cloud Speech-to-Text APIとは***
Googleが提供する機械学習を活用して音声をテキストに変換するAPIです。

機械学習の深い知識がなくとも変換を可能にしてくれますが、
下記の基本的な機能(リソース)を利用することで変換の精度を向上させることができます。
|用語|内容|
|—|—|
|認識ツール|再利用可能な認識構成です。
頻繁にテキスト変換を使用する場合、構成ツールを利用することでリクエストを簡素し、料金の削減にも寄与できます。|
|フレーズセット(PhraseSet)|モデル適応機能を実現させるためのリソースの1つです。
単語とフレーズの認識精度を向上させることができます。|
|カスタムクラス(CustomClass)|モデル適応機能を実現させるためのリソースの1つです。
固有名称(店名や商品名など)の認識させることができます。|

料金は、サー

元記事を表示

ApplicationContextの適切な閉じ方

ApplicationContextはAutoCloseableを実装していないため、try-with-resources文で直接使用することができません。そのため、try-with-resources文でApplicationContextを使用すると、警告が表示されます。

代わりに、try-with-resources文で使用するリソースは、AutoCloseableを実装している必要があります。しかし、SpringのApplicationContextはAutoCloseableを実装していないため、この方法は適切ではありません。

代替案として、ApplicationContextを使用した後に、finallyブロック内で明示的に閉じることが推奨されます。以下はその例です。

“`java
ApplicationContext context = new ClassPathXmlApplicationContext(“applicationContext.xml”);
try {
// ApplicationContextを使用するコード
} finally {

元記事を表示

Java・okhttp3ライブラリで簡単WebAPIアクセス・レスポンスデータはJavaオブジェクトに変換してみる

開発現場において外部サービスが展開するAPIにアクセスし、何らかの情報を取得するというケースはよくあることだと思う。
okhttp3というライブラリを使用すると簡単にアクセスできるが、細かい記述方法を忘れてしまうため備忘録としてまとめておく。
なお、今回はLINEが公開しているWebAPIにアクセスする形式を例として紹介する。

## okhttp3ライブラリを準備する
まずはアプリケーション上にライブラリをインストールする。
build.gradleファイル内部のdependencies内に以下の記述を追加しよう。

“`build.gradle
dependencies {


implementation ‘com.squareup.okhttp3:okhttp:4.9.2’
}
“`
 使用しているIDEがintelliJの場合はファイル右上に象さんの更新アイコンが表示されるはず。
クリックしてしばらくするとライブラリのインストールが完了するはず。

## WebAPIアクセス時に必要な情報を確認する
WebAPIにアクセスする際

元記事を表示

javaのクラスを使ってプログラムを書いてみた。

# はじめに
今回はクラスについて自分で勉強したことを活かして作成したプログラムを解説してみようと思います。
解釈が違っている点やアドバイスがあればご教授頂けると幸いです。

# プログラム概要
乗り物を表す親クラス`Vehicle`、バスを表す`Bus`クラス、電車を表す`Train`クラス、タクシーを表す`Taxi`クラスを定義する。`Bus`クラス、`Train`クラス、`Taxi`クラスは`Vehicle`クラスを継承している。また、停車を表す`Stoppable`インターフェースを定義し、`Bus`と`Taxi`にのみ実装する。そして`test.java`ファイルで全クラスの挙動を確かめる。
全クラス、のコードは以下に示す。

# 全プログラムのコード

## Vehicle
“`java
public class Vehicle {
protected int passenger_num;

public void setPassenger_num(int passenger_num){
this.passenger_num = passe

元記事を表示

[BigQuery API(V2)] JavaでBigQueryテーブルの行レベルのアクセス許可をテストする

BigQuery API V2(Java)を使用して、
BigQueryテーブルの行ベルのアクセス許可をテストする方法についてご紹介します。

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

|No|||目次|
|—|—|—|—|
|1|||[アクセス許可をテスト](#1-アクセス許可をテスト)|
||1||[スコープ](#11-スコープ)|
||2||[実行](#12-実行)|
||3||[レスポンスの内容](#13-レスポンスの内容)|
||4||[IAM権限](#14-iam権限)|
|||1|[BigQueryの権限](#141-bigqueryの権限)|
|||2|[BigQueryMLタスクの権限](#142-bigquerymlタスクの権限)|

## 1. アクセス許可をテスト
指定したテーブルの行レベ

元記事を表示

[BigQuery API(V2)] Javaでデータセットのルーティンを生成・更新・削除する

BigQuery API V2(Java)を使用して、
BigQueryデータセットのルーティンを生成・更新・削除する方法
についてご紹介します。

**ルーティンとは**
処理を事前に定義しておいて、後から呼び出せるようにしておくためのコンポーネントです。
BigQueryでは、以下のリソースをルーティンと定義付けています。
|リソース|概要|
|—|—|
|リモート関数を含むユーザー定義関数(UDF)|SQL または JavaScript で記述するステートメント群|
|ストアドプロシージャ|SQLで記述するステートメント群|
|テーブル関数(TFV)|戻り値にテーブルを返すユーザー定義関数|

データセットのルーティンを生成・更新・削除するには、
データセットに対し適切なIAM権限が付与されている必要があります。

権限付与に関しては
[⧉[BigQuery API(V2)] JavaでBigQueryを使う(2.権限付与)](https://qiita.com/doran/items/8b7ba29672527426e88d#2-権限付与)
を参照ください。

:::n

元記事を表示

Javaで「論理値リテラル」の動作を確認してみた

# 概要

Javaで「論理値リテラル」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

以下のファイルを作成しました。
“`JSample10_1.java
class JSample10_1{
public static void main(String[] args){
System.out.println(10 > 7);
System.out.println(5 == 4);
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample10_1.java
$ java JSample10_1
true
false
“`

# まとめ

何かの役に立てばと。

元記事を表示

DI(Dependency Injection)について粗々に理解していく

## はじめに
自社開発のエンジニアをやっているものです。
普段バックエンドではspringbootを使っているのですが、初めはDIの仕組みやメリットに対する理解が定着しなく、DIに関する実装は通例的な感覚で書いていました。
それから1年間経験した結果、ある程度理解できたと思うのでアウトプットしてより理解度を高めていきたいと考えました。
## DIとは
DIはあるクラスからみて依存するであろうクラスの切り替えを容易にする機能を持っていると考えています。
上記で表現した「依存」について説明します。
### プログラムにおける依存とは
以下のクラスがあるとします。(細かい設計云々の不備は許容してください><) - UserService(ユーザの情報に関するビジネスロジックを実施してくれる) ``` java public class UserService{ UserRepository userRepository = new UserRepository(); // UserRepositoryUnitTest userRepository = new Use

元記事を表示

[初心者向け]レビューアーから見る「こんなコードは書かないで!」(その1)

# 2024年のGWも終わりましたが。。。
みなさん、お元気ですか?
大丈夫?遊びすぎて体調崩したりしてない?
休みすぎてやる気無くなったりしてない?
4月に教えてもらったこと全部忘れるとかいう、とんでもないボケをかましてない?

社会人だったら、、、そうだね、 __【自己責任】__ だね(エビバディパッション

# そんなこんなで、いよいよネタが。。。
いろんなプロジェクトを同時並行とかでやらせてもらえてれば、きっとそれぞれのプロジェクトでネタになるような出来事(炎上ネタ)がたくさんあるはずなのに、縛りプレイな諸事情でメインのプロジェクトしかやらせてもらえてないので、もうネタが無くて辛い。。。
ネタになりそうな開発のお仕事ください(要約:実装したいし給料も上げて欲しい

# お前は本当にそのコードでレビューに出すんだな?
偉く(色々と一人で出来るように)なる、と言うか他に見る人がいなかったりすると、巡り巡ってくるレビューと言う、他人が書いたコードを __【読んで、ダメ出しをする】__ お仕事が回ってくるわけで。。。

そんな

【Java初心者】複数のWordファイルの表をまとめる

# オフィスではコピペによるデータのまとめが多すぎる

ビジネスの現場では、上司への説明用にワードファイルの「個表」を作ることが多い。

そして、それを後でまとめるために、複数の「個表」のワードから特定のセルの文字を抽出し、エクセルにまとめたりする。

オープンデータとして公開されているCSVやJSONばかりいじっていたので、「まずはデータを作り、差し込み印刷で個表にしたらいいのに」と思うが、ビジネスの現場では、資料は上司に提出したり、会議用の資料としてまとめたりするのに使われる。つまり、多くのWordファイルは、データの再利用は全く想定していない。

ただ、それをあとになって「エクセルで一覧を作って下さい」となると、一枚ずつWordで開いてデータをコピペせざるをえない。そういう要求は多いし、多くのビジネスマンがその作業に時間を使っていると思われる。

# 参考にしたサイト

マクロでやればいいのかもしれないけど、詳しくないので、Javaでできるか試してみる。

「word 表 セルから文字抽出 java」として検索すると、

[Word文書で表を作成または読み取る方法【Java】](

はじめてのWebサーバでデータベースを利用②(さくらのVPS, CentOS Stream 9, MySQL, Java 11, Tomcat 9, サーブレット&JSP)

# はじめてのWebサーバでデータベースを利用②

## 1. 前提条件
– 既に導入が済んでいるもの
– さくらのVPS[サーバ申込]
– CentOS Stream 9[さくらのVPS上にインストール済]
– Tera Term 5 [インストール済]
– ドメイン導入[お名前.com利用しました]
– JavaEE 11
– tomcat 9.0.88
これらの設定については、[はじめてのWebサーバ構築(centOS Stream 9, Java 11, tomcat 9, サーブレット)](https://qiita.com/modgoodluck/items/fb1f481c616824aa1bbc)で記事にしましたので、良かったら参考にしてください。
– MySQL 8.0.36
MySQLのインストールについては、[はじめてのWebサーバでデータベースを利用①(さくらのVPS, CentOS Stream 9, MySQL, Java 11, Tomcat 9, サーブレット&JSP)](https://qiita.com/modgoodluck/items/f8b1d

[BigQuery API(V2)] JavaでBigQueryテーブルの行レベルのアクセス制御ポリシーのリストを取得する

BigQuery API V2(Java)を使用して、
BigQueryテーブルの行レベルのアクセス制御ポリシーのリストを取得する方法
についてご紹介します。

**行レベルのアクセス制御ポリシー**
行レベルのセキュリティを使用すると、データをフィルタリングし、ユーザーの資格条件に基づいて
テーブル内の特定の行へのアクセスを許可できます。
詳細は、[⧉BigQuery の行レベルのセキュリティの概要(公式)](https://cloud.google.com/bigquery/docs/row-level-security-intro?hl=ja)を参照ください。

アクセス制御ポリシーを取得するには、
適切なIAM権限が付与されている必要があります。

権限付与に関しては
[⧉[BigQuery API(V2)] JavaでBigQueryを使う(2.権限付与)](https://qiita.com/doran/items/8b7ba29672527426e88d#2-権限付与)
を参照ください。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行

🔰何か作ろう! ~次に何をやったらいいか分からない人へ~

## 私の作ったもの(宣伝)
[作成したアプリの概要をまとめた記事](https://qiita.com/ssatoshi_117117/items/ec18bcdd039461afae43) ←結構反響を受けた
[作成した大喜利アプリリンク](https://hello-4m00.onrender.com/)
「ユーザ:test,パス:test」でログインできます
ゲストログインもできます!

## 目次
1. はじめに
1. 結論 ← 長いのでここだけでも見て!
1. お勧めポイント
1. おススメな進め方
1. 私の場合にどうやって進めたかを具体的に
1. さいごに

## はじめに
この記事は、progate等でプログラミングの基礎的なことはやったけど、次に何やればいいかわからない人への提案をする内容になっている。
やる気がある内に、勉強になって、意味のあることをしてほしい!という思いで書いている。

## 結論
手を動かして、動くものを作ろう!ハンズオン動画がおススメ!
最初は動画を真似て作成して、次に自分でテーマを決めて作ってみよう!
ぜひ、作成したWEBアプリは公開してみ

[BigQuery API(V2)] JavaでBigQuery ML モデルの情報を更新・削除する

BigQuery API V2(Java)を使用して、
BigQuery ML モデルの情報を更新・削除する方法
についてご紹介します。

MLモデルの更新・削除する場合は、
データセットに対しIAM権限が付与されている必要があります。

権限付与に関しては
[⧉[BigQuery API(V2)] JavaでBigQueryを使う(2.権限付与)](https://qiita.com/doran/items/8b7ba29672527426e88d#2-権限付与)
を参照ください。

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

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

[BigQuery API(V2)] JavaでBigQueryのジョブを取得する

BigQuery API V2(Java)を使用して、
BigQueryのジョブを取得する方法
についてご紹介します。

**ジョブとは**
データの読み込み、データのエクスポート、データのクエリ、データのコピーなど、
BigQueryがユーザーに代わって実行するアクションを指します。

ジョブの取得には適切なIAM権限が付与されている必要があります。

権限付与に関しては
[⧉[BigQuery API(V2)] JavaでBigQueryを使う(2.権限付与)](https://qiita.com/doran/items/8b7ba29672527426e88d#2-権限付与)
を参照ください。

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

|No||目次|
|—|—|—|
|1||[ジョブ一覧を取得](#1-ジョ

Javaで「数値リテラルに桁区切り文字を記述する」の動作を確認してみた

# 概要

Javaで「数値リテラルに桁区切り文字を記述する」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

以下のファイルを作成しました。
“`JSample9_1.java
class JSample9_1{
public static void main(String[] args){
System.out.println(1_234_567);
System.out.println(0b10_11_01_10);
}
}
“`

以下のコマンドを実行しました。
“`
$ javac -encoding UTF-8 JSample9_1.java
$ java JSample9_1
1234567
182
“`

# まとめ

何かの役に立てばと。