- 1. [Cloud Storage API(V2)] Javaでバケットの保持ポリシーをロックする
- 2. [Cloud Storage API(V2)] Javaでバケットを生成・更新・削除する
- 3. Javaで「ソースファイルのエンコーディングを指定してコンパイルする」の動作を確認してみた
- 4. 🔰一ヶ月で作成したWEBアプリのバージョンUP!! Ver2
- 5. [Cloud Storage API(V2)] Javaでオブジェクトのコピー・置換する
- 6. Mavenでライフサイクル構成でカバーされていないプラグインの実行を解決する
- 7. 自前PCでjava・HTML・SQLの環境構築
- 8. オーバーロード
- 9. [Cloud Storage API(V2)] Javaでバケットのアクセス制御リスト(ACL)エントリを取得する
- 10. [Cloud Storage API(V2)] JavaでCloud Storage上のオフジェクトを結合する
- 11. Javaで「デフォルトエンコーディングを確認する」の動作を確認してみた
- 12. Spring Security バージョン6でのデータベース認証
- 13. Vtuberボタンの作り方
- 14. [Cloud Storage API(V2)] Javaで管理フォルダ(マネージドフォルダ)のアクセス許可をテストする
- 15. オーバーライド
- 16. Java コンストラクタ
- 17. [Cloud Storage API(V2)] JavaでCloud StorageのHMACキー情報を作成・更新・削除する
- 18. MockMvcではerror/404.htmlやerror.htmlをテスト不可能。その理由と代替策
- 19. クラス型 フィールド メソッド引数 戻り値
- 20. Eclipseのデバック入門
[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)
を参照くださ
[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|[レスポンスの内容](#23-レスポンスの内容)|
|3||[バケットを更新](#3-バケットを更新)|
||1|[スコープ](#31
Javaで「ソースファイルのエンコーディングを指定してコンパイルする」の動作を確認してみた
# 概要
Javaで「ソースファイルのエンコーディングを指定してコンパイルする」の動作を確認してみました。
以下のページを参考にしました。https://www.javadrive.jp/start/encoding/index2.html
# 実装
以下のファイルを作成しました。
“`JSample2_1.java
class JSample2_1{
public static void main(String[] args){
System.out.println(“こんにちは”);
}
}
“`以下のコマンドを実行しました。
“`
$ javac -encoding UTF8 JSample2_1.java
$ java JSample2_1
こんにちは
“`# まとめ
何かの役に立てばと。
🔰一ヶ月で作成したWEBアプリのバージョンUP!! Ver2
[作成したWEBアプリリンク](https://hello-4m00.onrender.com/)
ユーザ作成が面倒な人は、「ユーザ:test,パス:test」でログインできます
それすら面倒な人は、ゲストログインできます
*無料プランのため、初期サイト表示に時間がかかります。## 目次
1. はじめに
1. 改修・追加
1. 今後## はじめに
WEBアプリを作成し、Qiitaで公開したところ、多くの人に見ていただいた。そして、アプリを触っていただいた。
その結果、できたらいいなや、直したいなと重い今回のバージョンアップを考えた。[最初に公開した記事](https://qiita.com/ssatoshi_117117/items/ec18bcdd039461afae43)
## 改修・追加
1. ゲストログイン
最初にWEBアプリを公開したとき、皆さんが好き勝手に触っていただいた。そこで感じたのが「大喜利の回答をしたい」ということだった。
しかし、設定上、同じユーザーでは回答は一回のみだったのでできなかった人もいたのではないかと思った。そこで、ゲストユーザの思想に至っ
[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||[実行](#12-実行)|
||3||[レスポンスの内容](#23-レスポンスの内容)|## 1. オブジェクトをコピー
指定
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