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

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

[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-レスポンスの内容)|
|3|||[ACLを更新

元記事を表示

[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-レスポンスの内容)|
|3|||[オブジェ

元記事を表示

Javaで「System.out.printlnとは」の動作を確認してみた

# 概要

Javaで「System.out.printlnとは」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

以下のファイルを作成しました。
“`Test.java
class Test {
public static void main(String[] arg){
int sum;
sum = 10 + 5 + 8;
System.out.println(“合計=” + sum);
}
}
“`

以下のコマンドを実行しました。
“`
$ javac Test.java
$ java Test
合計=23
“`

# まとめ

何かの役に立てばと。

元記事を表示

[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. AC

元記事を表示

[Java]List、Queue、Setのクラスメモ

Javaでコーディングを行う際に必ずと言ってもよいほど使用するコレクションについて、今まで使用したことがないものも含めて改めて学習したので備忘録としてまとめてみます。

# Listインターフェース

コレクションでよく使用するやつ。学習した3つの実現クラスについてまとめます。

## Arraylist
内部に配列を持っていて、あらかじめ要素数を決めておかなければならない配列とはことなり、要素数を必要に応じて増やすことが可能です。

要素数が増える場合、最初に内部で持っていた配列より大きな要素数を扱うことができる配列を新たに作成しそこに元の要素をコピーします。そのため、扱う要素数が増えていくにつれて処理が遅くなります。
具体的に言うと値の読み書きは高速ですが、要素の追加、削除は遅いです。

## LinkedList
要素それぞれが前要素の情報と後要素の情報を持っており、繋がっているリスト。各要素にアクセスする際には先頭から順に辿っていくことで要素にアクセスする。
そのためArrayListと比べて要素にアクセスする処理が遅くなります。一方、要素を追加する際にArrayLis

元記事を表示

SpringBootでデータベースによるログイン認証とパスワードハッシュ化(暗号化)

# この記事はこれの続きです

https://qiita.com/waokitsune/items/bcb5ce85a912bc506bac

# 概要

前回まではユーザー台帳はハードコーディングしていました。

そこから…

* ユーザー台帳はデータベースに持たせる。
* データベースで保持するパスワードはハッシュ化(暗号化)。

と変更します。

# データベース側

MySQLを使います。

『neko』というスキーマーに『neko_user』というテーブルがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/bcfc940f-4b8e-56c0-3ac9-a6311a2f3ce6.png)

あらかじめユーザー情報はインサートされています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/d442cd35-abc4-2cf9-1a1e-a4ba3

元記事を表示

[Cloud Storage API(V2)] Javaで管理フォルダ(マネージドフォルダ)のIAMポリシーを更新する

Cloud Storage API V2(Java)を使用して、
Cloud Storageの管理フォルダ(マネージドフォルダ)のIAMポリシーを更新する方法
についてご紹介します。

**IAM**
Identity and Access Managementの略で
リソースへのアクセス制御を管理する機能のことです。
リソースに対し、どのユーザーがどうアクセスするか等の
ルールのことをIAMポリシーと呼びます。

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

|No|||目次|
|—|—|—|—|
|1|||[IAMポリシーを更新](#1-iamポリシーを更新)|
||1||[スコープ](#11-スコープ)|
||2||[実行](#12-実行)|
||3||[レスポンスの内容](#13-レスポン

元記事を表示

SpringBootのThymeleafでEntityのForEach例外起きた時の対応

:::note warn
根本の原因調査までしてないです。
参考情報として見て下さい。
:::

# 現象

Entityは下記のようにlombokのDataを使ってgetterとsetterをコーディング不要にしていました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/0b19d028-a1a4-6723-1702-3fc1144641d4.png)

そのEntityをリストに詰めて、ThymeleafでForEachした時に例外になりました。
『idというフィールドは存在しませんよ』的な例外の文言でした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/3e41d0cc-01cd-1584-75f1-01a9f0e75f34.png)

# 対応

おそらくSTS4にlombokがインストールされていなかったのが原因のようでした。
コーディング中、『Ent

元記事を表示

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

## 1. 管理フォル

元記事を表示

JEP454 FFM APIの基本的な使い方

本記事では、[JEP 454: Foreign Function & Memory API](https://openjdk.org/jeps/454)をJNIと比較しながら、Linux、Windowsでの基本的な使い方を紹介します。

# 概要

Foreign Function & Memory APIは頭文字をとってFFM APIと略されます。

FFM APIはJDK19から3度のプレビューを経てJDK22で正式導入されました。

FFM APIとしてJEPになったのはJDK17の[JEP 412: Foreign Function & Memory API (Incubator)](https://openjdk.org/jeps/412)からですが、それ以前は2つのIncubatorとして開発されていました。

– [JEP 370: Foreign-Memory Access API (Incubator)](https://openjdk.org/jeps/370)
Javaヒープ外へアクセスでき、java.nio.ByteBufferやsun.misc.Unsafeの

元記事を表示

Javaで「Javaの予約語」の動作を確認してみた

# 概要

Javaで「Javaの予約語」の動作を確認してみました。
以下のページを参考にしました。

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

# 実装

以下のファイルを作成しました。
“`JSample7_1.java
class JSample7_1{
public static void main(String[] args){
int switch;
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample7_1.java
JSample7_1.java:3: エラー: 文ではありません
int switch;
^
JSample7_1.java:3: エラー: ‘;’がありません
int switch;
^
JSample7_1.java:3: エラー: ‘(‘がありません
int switch;
^
JSample7_1.java:5: エラー: 構文解析中にファイルの終わりに移りました

元記事を表示

Visual Studio Codeでカバレッジ付きでJUnitが実行できるようになった!!

ついに・・・Visual Studio Codeでカバレッジ付きでJUnitが実行できるようになりました 😀 😀 😀

> **NOTE:**
>
> これまではMavenなどでJacocoのカバレッジレポートを出力し、出力したレポートをVSCodeのUI上に反映することはできましたが、これで直感的にカバレッジを確認することができるようになります!!
>
> https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters

* https://github.com/microsoft/vscode-java-test/releases/tag/0.41.0
* https://github.com/microsoft/vscode-java-test/issues/387

こんな感じ。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/117313/1

元記事を表示

[Cloud Storage API(V2)] Javaで管理フォルダ(マネージドフォルダ)のIAMポリシーを取得する

Cloud Storage API V2(Java)を使用して、
Cloud Storageの管理フォルダ(マネージドフォルダ)のIAMポリシーを取得する方法
についてご紹介します。

**IAM**
Identity and Access Managementの略で
リソースへのアクセス制御を管理する機能のことです。
リソースに対し、どのユーザーがどうアクセスするか等の
ルールのことをIAMポリシーと呼びます。

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

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

元記事を表示

OracleデータベースにOracle Clientなしでリモート接続する方法3つ

先日[Windowsローカル環境でOracleデータベースに入門](https://qiita.com/YouKnow/items/1d5b695629af75465dcd)したばかりの赤ん坊です。

Oracleデータベースにリモート接続するには「クライアントマシンにOracle Clientをインストールする必要がある」という説明が多かったので、Oracle Clientをインストールしなくても済む方法が無いか簡単に調べた。

# まとめ
**OracleデータベースにOracle Clientなしで接続する方法3つ**

– JavaアプリケーションからはODBC Thinを使う
– .NETアプリケーションではDLL形式のODP.NETを使う
– A5:SQL Mk-2 では直接接続方式を使う

結構普通にあった。

# Oracle Clientをインストールすると
クライアントマシン向けのOracle Clientというソフトウェアをインストール・設定することで、別マシンのOracleデータベースにリモート接続できるようになる。

Oracle Clientをインスト

元記事を表示

Web 開発再入門#23 ― Windows サービス化

# Web 開発再入門#23 ― Windows サービス化

## はじめに
ビルドして作成した “fmockup-0.0.1.jar” を Windows サービス化します。
Windows サービスとは、Windows の OS のバッグラウンドで実行するプログラムです。

OS:Operating System

## ファイル・ディレクトリ構成

D:\\
├ Developments\\
│ └ Workspace\\
│     └ fmockup\\
│         └ build\\
│             └ libs\\
│             &n

元記事を表示

Web 開発再入門#19 ― セキュリティ対策(Not Found Page 処理)

# Web 開発再入門#19 ― セキュリティ設定(Not Found Page 処理)

fmockup

## ★ 本ページは工事中 ★

## はじめに

SpringBoot のデフォルトでは、誤った URL をアクセスすると、いろいろな情報を返却してしまいます。ハッカーは、これらの情報を見て、Web アプリケーションの作りを想像して、攻撃を仕掛けてきます。
よって、最低限の情報しか返却しないように修正します。

## フォルダー・ファイル構成

D:\\
└ Developments\\
    └ Workspace\\
         └ fmockup\\
             ├ build\\
         &n

元記事を表示

Web 開発再入門#18 ― セキュリティ対策(レスポンス・ヘッダー処理)

# Web 開発再入門#18 ― セキュリティ設定(レスポンス・ヘッダー処理)

fmockup

## ★ 本ページは工事中 ★

## はじめに

Web アプリケーションのサーバー・サイドを開発します。

レスポンス・ヘッダーに著名なパラメーターを設定しておきます。SpringBoot Security で設定するものを参考にしました。
これらにより、ハッカーがブラウザーの挙動を悪用するのを防止します。

また、今回の Web アプリケーションは、SPA として HTML を返却しますので、ブラウザーのキャッシュを無効にしておきます。これにより、ブラウザーは、キャッシュを使用せずに、毎回、Web サーバーから最新の HTML を取得するようになるため、開発段階で頻繫に Vue の HTML を更新する状況において便利です。

SPA:Single Page Application
HTML:Hypr Text Markup Language

## レスポンスヘッダーに設定するもの

1. 今回、Tomcat にて設定するもの。
“`:レスポンス・ヘッダー
Ca

元記事を表示

Web 開発再入門#16 ― セッション処理

# Web 開発再入門#16 ― セッション処理

fmockup

## はじめに

Web アプリケーションのサーバー・サイドを開発します。

業務アプリケーションですので、一定時間が経過したら使用不可とする仕様としました。
Tomcat の Session を使用します。

## フォルダー・ファイル構成

D:\\
└ Developments\\
    └ Workspace\\
         └ fmockup\\
             ├ build\\
             ├ sql\\
       

元記事を表示

Web 開発再入門#15 ― ログ出力処理

# Web 開発再入門#15 ― ログ出力処理

fmockup

## はじめに

Web アプリケーションのサーバー・サイドを開発します。

アクセス・ログとアプリケーション・ログをファイルに書き出すようにします。

**アクセス・ログ:**
アカウントに関する操作(ログイン、ログアウト、アカウント追加・変更・削除)のログを出力します。
セキュリティを脅かす攻撃を受けているか否かの分析で使用します。

**アプリケーション・ログ:**
各処理の開始と終了のログを出力します。
アプリケーションの動作に問題があった時の初期切り分けに使用します。

## フォルダー・ファイル構成

D:\\
└ Developments\\
    └ Workspace\\
         └ fmockup\\
             ├

元記事を表示

Web 開発再入門#14 ― マルチロケール処理

# Web 開発再入門#14 ― マルチロケール処理

fmockup

## はじめに

サーバーサイドにおけるマルチロケールの処理を実現します。
英日中(en、ja、zh_CN)に対応します。

## フォルダー・ファイル構成

D:\\
└ Developments\\
    └ Workspace\\
         └ fmockup\\
             ├ build\\
             ├ sql\\
             ├ src

元記事を表示

OTHERカテゴリの最新記事