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

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

Mavenでライフサイクル構成でカバーされていないプラグインの実行を解決する

Eclipseで Maven で tomee-webapp-archtype でMavenプロジェクトを作成すると、以下のようなエラーが出力された。
“`
ライフサイクル構成でカバーされていないプラグインの実行: org.apache.openjpa:openjpa-maven-plugin:3.2.2:enhance (実行: enhancer, phase: process-classes)`
“`

調べると、同じような事象が発生しており、“`pom.xml“`の “`plugins“`タグを“`pluginManagement“`タグで囲うことで解決できたとのことで、試したところ解決した。

“`xml:pom.xml
←このタグを追加 ….

元記事を表示

自前PCでjava・HTML・SQLの環境構築

# java・HTML・SQLの環境構築

## 1.各種パッケージのインストール
・Eclipseのインストール
 ※コードエディタ java・HTML開発で使用
 [統合開発環境 Eclipse 日本語化プロジェクト](https://willbrains.jp/ “統合開発環境 Eclipse 日本語化プロジェクト”)
 
 【インストール手順】
 引用:[No.2【Eclipseのインストール】プログラミングは一部の方だけのものではない!はじめてのプログラミング入門講座(アルゴリズムとJava基礎)動画付き](https://qiita.com/kunchan2/items/a4af8544b0064a1c7fa8 “【Eclipseのインストール】”)

・xamppのインストール
 ※SQL環境を構築するためにインストール
 [XAMPP Installers and Downloads for Apache Friends](https://sourceforge.net/projects/xampp/ “XAMPP Installers and Downloads fo

元記事を表示

オーバーロード

## JavaSilverでメモしたところ備忘録として残しておこうと思います。

# オーバーロード
* 一つのクラス内に同じメソッド名で引数の型や数が違うメソッドを複数定義することができる。シグニチャ(メソッド名・引数の型・引数の数)の組み合わせで決められている
* 呼び出す側でメソッド名と引数の組み合わせで合うものがなければコンパイルエラー

:::note info
戻り値の型は違っていても呼び出せる
:::

:::note info
変数名だけが異なっている場合、戻り値だけが異なっている場合はコンパイルエラー
:::

## オーバーロードの際の型変換
* オーバーロードされた複数のメソッドと一致しない型の引数を渡した場合、そのメソッドを呼び出しているコードがコンパイラにより型変換され対応するメソッドを呼び出すように最適化される
* 配列はObjectクラスのサブクラスであるため配列をObject型で受け取るオーバーロードにより処理することは可能。Object型(参照)の集合を扱う配列とプリミティブ型(値)の集合を扱う配列は扱っている集合の種類に互換性がない

# オーバーロ

元記事を表示

[Cloud Storage API(V2)] Javaでバケットのアクセス制御リスト(ACL)エントリを取得する

Cloud Storage API V2(Java)を使用して、
Cloud Storageのバケットのアクセス制御リスト(ACL)エントリを取得する方法
についてご紹介します。

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

|No|||目次|
|—|—|—|—|
|1|||[ACLリストを取得](#1-aclリストを取得)|
||1||[スコープ](#11-スコープ)|
||2||[実行](#12-実行)|
||3||[レスポンスの内容](#13-レスポンスの内容)|
|2|||[ACLを取得](#2-aclを取得)|
||1||[スコープ](#21-スコープ)|
||2||[実行](#22-実行)|
||3||[レスポンスの内容](#13-レスポンスの内容)|

## 1. ACLリストを取

元記事を表示

[Cloud Storage API(V2)] JavaでCloud Storage上のオフジェクトを結合する

Cloud Storage API V2(Java)を使用して、
Cloud Storage上のオブジェクトを結合する方法
についてご紹介します。

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

|No|||目次|
|—|—|—|—|
|1|||[オブジェクトを結合](#1-オブジェクトを結合)|
||1||[スコープ](#11-スコープ)|
||2||[実行](#12-実行)|
||3||[レスポンスの内容](#13-レスポンスの内容)|

## 1. オブジェクトを結合
Cloud Storage上のオブジェクトを結合します。

一度に結合できるオブジェクトの数は最大32個までです。
結合できるオブジェクトは同じバケット内のオブジェクトのみです。

### 1.1. スコープ
このAPIを実行

元記事を表示

Javaで「デフォルトエンコーディングを確認する」の動作を確認してみた

# 概要

Javaで「デフォルトエンコーディングを確認する」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

以下のファイルを作成しました。
“`JSample1_1.java
class JSample1_1{
public static void main(String[] args){
System.out.println(System.getProperty(“file.encoding”));
}
}
“`
“`JSample1_2.java
class JSample1_2{
public static void main(String[] args){
System.out.println(“こんにちは”);
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample1_1.java
$ java JSample1_1
UTF-8
“`
“`
$ javac JSam

元記事を表示

Spring Security バージョン6でのデータベース認証

## 概要

SpringSecurityを使用してログイン認証を実装する際、spring-boot-starter-securityを使用していますが、近年のアップデート(たぶんバージョン6から)で、色々と変更があったようです。
特に[WebSecurityConfigurerAdapterが廃止](https://spring.io/blog/2022/02/21/spring-security-without-the-websecurityconfigureradapter)されたことで、Configの書き方が結構変わっています。そんなわけで、データベース認証の実装をやってみました。

### 開発環境
|項目|バージョン|
|:—:|:—:|
|Pleiades all in One|2023-12|
|MySQL Community Server |8.3|
|Spring Boot|3.2.5|

## ユーザーテーブルの準備

利用しているデータベースはMySQL Community Server 8.3です。
最初に、ユーザーアカウント用のデータベースとテーブル

元記事を表示

Vtuberボタンの作り方

# Vtuberボタンについて
## 0.イントロダクション
Vtuberにはボタン文化があるようで「Vtuber ボタン」とかでググると大手の方たちのボタンはちょくちょく出てくるんですよね。自分はボタンについて某動画で偶然知ったんですけど推しのボタン作りたくない?とか思って作っちゃいました。~~全人類[かぼくしゅか](https://www.youtube.com/@syukapen)をすこれ~~

https://kaboku-button.azurewebsites.net/

(無料サーバーなので立ち上がりに10秒くらいかかります)

少しごちゃごちゃしてますが以前自分が作ったページです。こんな感じのページを作ろうということで以下解説していきます。
技術的に難しいことは特になくてスクショ貼りまくってるので誰でも大丈夫なはず…

-本ページの対象者
 コード作成は行わないのでプログラム未経験OK

-費用
 0円

:::note warn
責任の免除について
この記事で紹介しているコードや手順を使用する際には、利用者自身の責任において行ってください。万が一コードや手順の使用によ

元記事を表示

[Cloud Storage API(V2)] Javaで管理フォルダ(マネージドフォルダ)のアクセス許可をテストする

Cloud Storage API V2(Java)を使用して、
Cloud Storageの管理フォルダ(マネージドフォルダ)のアクセス許可をテストする方法
についてご紹介します。

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

|No|||目次|
|—|—|—|—|
|1|||[アクセス権限をテスト](#1-アクセス権限をテスト)|
||1||[スコープ](#11-スコープ)|
||2||[実行](#12-実行)|
||3||[レスポンスの内容](#13-レスポンスの内容)|

## 1. アクセス権限をテスト
指定したバケットの管理フォルダ(マネージドフォルダ)のアクセス権限をテストします。

指定したIAMアクセス権限がない場合は、例外が発生します。

### 1.1. スコープ
このAP

元記事を表示

オーバーライド

## JavaSilverでメモしたところ備忘録として残しておこうと思います。

# オーバーライド

* クラスを継承する際にスパークラスのメソッドをサブクラスで定義しなおすこと
* オーバーライドする際はシグニチャ(メソッド名・メソッドの引数の数・引数の順番)は同じにする必要がある

### 使用するメリット
* スーパークラスのメソッドを再利用することができ、記述量が減ること。変更がある際にも変更点が少なくなる

## オーバーライドとの違い
* オーバーロードは同じメソッド名で、引数の数・引数の順番が違うメソッドを定義すること

## super句

* super句を使うことでスパークラスのメソッドを使うことも可能

“`java
// スーパークラス
class SuperClass {
int num1;
int num2;

public SuperClass(int num1, int num2){
this.num1 = num1;
this.num2 = num2;
}

public

元記事を表示

Java コンストラクタ

### フィールドの初期値
|型名|フィールドの初期値|
|:—:|:—-:|
|int型, short型, log型などの数値の型|0| 
|char型(文字)|¥u00000|
|boolean型|false|
|int[]などの配列型|null|
|String型などのクラス型|null|

¥は半角です(全角にしかならなかったです:cry:)

## コンストラクタ
クラスからオブジェクトを作成した際に、自動的に実行されるメソッド
“`Hero.java
public class Hero{
String name;
int hp;
public void attack(){
}
public Hero() {
this.hp = 100; // hpフィールドを100で初期化
}
}
“`
“`Main.java
public class Main {
public static void main(String[] args) {
Hero h = new Hero(); // インスタンス生成と同時にコンストラクタによってHPに100

元記事を表示

[Cloud Storage API(V2)] JavaでCloud StorageのHMACキー情報を作成・更新・削除する

Cloud Storage API V2(Java)を使用して、
Cloud StorageのHMACキー情報を作成・更新・削除する方法
についてご紹介します。

**HMACキーとは**
アカウントに関連付けられた認証情報の一種です。
HMACキーを使用して署名を作成すると、その署名がCloudStorageに対するリクエストに組み込まれます。

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

|No|||目次|
|—|—|—|—|
|1|||[HMACキーリストを作成](#1-hmacキーリストを作成)|
||1||[スコープ](#11-スコープ)|
||2||[実行](#12-実行)|
||3||[レスポンスの内容](#13-レスポンスの内容)|
|2|||[HMACキーを更新](#2-hm

元記事を表示

MockMvcではerror/404.htmlやerror.htmlをテスト不可能。その理由と代替策

# 環境
– Java 21
– Spring Boot 3.2
– Thymeleaf 3.1

# やりたいこと(でも出来なかった)
MockMvcを利用したコントローラーの単体テストで、以下のテストを試みました。

– コントローラーメソッド内で想定外の例外(=ExceptionHandlerを作っていない例外)がスローされたら、error.htmlの内容がレスポンスされる
– 存在しないURLを指定したら、error/404.htmlの内容がレスポンスされる

具体的なテストコードはこちらです。

“`java:MockMvcを使ったテストコード
@SpringBootTest // webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT を指定しても結果は同じ
@AutoConfigureMockMvc
public class SampleControllerTest {
@MockBean
SampleService sampleService;

@Autowired
Mo

元記事を表示

クラス型 フィールド メソッド引数 戻り値

## has-aの関係
フィールドにクラス型の変数を宣言する
あるクラスが別のクラスをフィールドとして利用している関係
“`Sword.java
public class Sword
String name; // 剣の名前
int damage; //
“`
“`Hero.java
public class Hero {
String name;
int hp;
Sword sword; // 勇者が装備している剣の情報
public void attack() {
System.out.println(this.name + “は攻撃した!”);
System.out.println(“敵に5ポイントのダメージをあたえた!”);
}
}
“`
Heroクラスに新しく追加されたフィールド「Sword」は、int型やStirng型ではなくSword型
フィールドにクラス型の変数を宣言ができる
Hero has-a Sword(勇者は剣を持っている)

“`Main.java
public class Main {
public stati

元記事を表示

Eclipseのデバック入門

# デバックのやり方

Eclipseのデバックについてまとめた。
OSはwindows。

## ブレークポイント
+ プログラムの実行を一時停止するポイント
### 設定方法
+ 設定したいソースコードの行番号の左側をダブルクリック

![スクリーンショット 2024-04-29 180504.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3767613/d475f3d2-e6ea-79c5-6335-94f0d95bbd01.png)

### 解除方法
+ もう一度ダブルクリック

## 動作
|コマンド|説明|備考|
|:-:|:-:|:-:|
|F11|デバック実行|Ctrl + F11で普通の実行|
|F5|次の1行を実行|メソッド内部まで見たい場合|
|F6|次の1行を実行|そのまま下の行に移動|
|F7|メソッドを最後まで実行し呼び出し元へ戻る|
|F8|次のブレークポイントまで実行|ブレークポイントがない場合は最後まで実行|
|Ctrl + R|カーソルがある行まで実行|
|Ctrl

元記事を表示

Javaアプリケーションサーバ一覧

Javaアプリケーションサーバーを一覧にしてみた。
|組   織|種  別|製 品 名|製品ページ|
|:-|:-|:-|:-|
|IBM|商用|WebSphere AS ND/Base|https://www.ibm.com/jp-ja/products/websphere-application-server|
|IBM|商用|WebSphere AS Liberty Core|https://www.ibm.com/jp-ja/products/cloud-pak-for-applications/liberty|
|IBM|OSS|Open Liverty|https://openliberty.io/|
|RHEL|商用|JBoss EAP|https://www.redhat.com/en/technologies/jboss-middleware/application-platform/|
|RHEL|OSS|WildFly|https://www.wildfly.org/|
|RHEL|OSS|Quarkus|https://quarkus.io/|
|Oracle|

元記事を表示

[Cloud Storage API(V2)] Javaでオブジェクトをダウンロードする

Cloud Storage API V2(Java)を使用して、
Cloud Storageのオブジェクトをダウンロードする方法
についてご紹介します。

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

|No|||目次|
|—|—|—|—|
|1|||[オブジェクトをダウンロード](#1-オブジェクトをダウンロード)|
||1||[スコープ](#11-スコープ)|
||2||[実行](#12-実行)|
||3||[レスポンスの内容](#13-レスポンスの内容)|
|2|||[メタデータをダウンロード](#2-メタデータをダウンロード)|
||1||[スコープ](#21-スコープ)|
||2||[実行](#22-実行)|
||3||[レスポンスの内容](#13-レスポンスの内容)|

## 1. オ

元記事を表示

Javaで「import文の使い方」の動作を確認してみた

# 概要

Javaで「import文の使い方」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

以下のファイルを作成しました。
“`JSample9_1.java
import java.time.LocalDate;

class JSample9_1{
public static void main(String[] args){
LocalDate ld = LocalDate.now();
System.out.println(ld);
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample9_1.java
$ java JSample9_1
2024-05-01
“`

# まとめ

何かの役に立てばと。

元記事を表示

Data Structure

## Data Structure
### Topics
– List
– Set
– Map
– Stack
– Queue
## Why do we learn Data structure?
– to store data and process data efficiently.

![Screenshot 2024-04-27 at 14.52.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3779552/6ca9d80b-3a1e-7b90-a204-5aa664a1850f.png)

![Screenshot 2024-04-27 at 14.50.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3779552/75d530dd-7706-1e9e-4f9e-95054675d308.png)

## List
Can store single data type of many objec

元記事を表示

[Cloud Storage API(V2)] JavaでCloud StorageのHMACキー情報を取得する

Cloud Storage API V2(Java)を使用して、
Cloud StorageのHMACキー情報を取得する方法
についてご紹介します。

**HMACキーとは**
アカウントに関連付けられた認証情報の一種です。
HMACキーを使用して署名を作成すると、その署名がCloudStorageに対するリクエストに組み込まれます。

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

|No|||目次|
|—|—|—|—|
|1|||[HMACキーリストを取得](#1-hmacキーリストを取得)|
||1||[スコープ](#11-スコープ)|
||2||[実行](#12-実行)|
||3||[レスポンスの内容](#13-レスポンスの内容)|
|2|||[HMACキーを取得](#2-hmacキーを取

元記事を表示

OTHERカテゴリの最新記事