- 1. Spring Boot: ビューの複数データをコントローラのListで受けた例
- 2. 配列
- 3. [1.20.4]Spigot PluginでCustom BiomeのNamespaceを取得する
- 4. Web開発の基本概念-3層アーキテクチャについて
- 5. 音声データをMIDIで完全再現する
- 6. [Cloud Storage API(V2)] Javaでバケットの変更通知(通知サブスクリプション)を取得する
- 7. Javaのお勉強(Gold資格対策第1章まとめ)
- 8. Spring Bootを使ってWebアプリケーションを作成する方法(実装編)
- 9. [Cloud Storage API(V2)] Javaでオブジェクトの情報を取得する
- 10. UbuntuにJavaをインストール
- 11. Javaで「mainメソッドとは」の動作を確認してみた
- 12. Web 開発再入門#8 ― Java プロジェクト作成
- 13. [Cloud Storage API(V2)] JavaでCloud Storageサービスアカウントのメールアドレスを取得する
- 14. 【個人開発】SpringBootでGoogleMapsAPIを利用したwebアプリケーションを作成しました(まだ未公開)
- 15. 🔰一か月でWebアプリを作成した
- 16. Java レコード・クラス
- 17. [Cloud Storage API(V2)] Javaでバケットのアクセス権限をテストする
- 18. データ型
- 19. [Cloud Storage API(V2)] Javaでバケットを取得する
- 20. Javaで「クラス、メソッド、フィールドとは」の動作を確認してみた
Spring Boot: ビューの複数データをコントローラのListで受けた例
# この記事で分かる事
SpringBootを使用したWebアプリケーション開発において、ビューから送信された(キーが同じ)複数のデータをコントローラのListクラスで受け取る際、どのような形で格納されるか、表にまとめています。
表を見る事で、コントローラのデータハンドリングを適切に指定できます。# リクエストとList内データのまとめ
・条件
リクエストはhoge=valueの形式で送ります。
コントローラのListクラスの型はList\hogeで宣言しています。
hoge
(デバッグで見た値)はEclipceのデバッグ機能で表示された値を記載しています。| リクエストの状態\List | hoge
(デバッグで見た値) | hoge.size()
(実行結果) | hoge.get(0)
(実行結果) |
| ———————————————————-
配列
## JavaSilverでメモしたところ備忘録として残しておこうと思います。
# 配列の宣言・初期化について
### 配列の宣言
“`java
//データ型[] 配列変数名
int[] num;//もしくは、データ型 配列変数名[]
int num[];
“`
### 配列の作成
“`java
//配列変数名 = new データ型[要素数]
num = new int[3];//初期化
int[] num = new int[3];
“`#### []の位置は変数名の後ろでもコンパイル可
“`java
int[] num; //もしくは
int num[];//二次元でも三次元でも同じ
int[][] num;
int num[][];int[][][] num;
int num[][][];
“`
#### []は分けて書いてもコンパイル可
“`java
int[] num[];
int[] num[][]
“`
#### 変数とインスタンスの次元は一致させる
“`java
int[] array = new int[2][2]; //
[1.20.4]Spigot PluginでCustom BiomeのNamespaceを取得する
# 結論
Java Code
“`java:java
public BiomeBase getBiomeBase(Location location) {
World bukkitWorld = location.getWorld();
if(bukkitWorld == null)
return null;int x = location.getBlockX();
int y = location.getBlockY();
int z = location.getBlockZ();
net.minecraft.world.level.World nmsWorld = ((CraftWorld) bukkitWorld).getHandle();
return nmsWorld.getNoiseBiome(x >> 2, y >> 2, z >> 2).a();
Web開発の基本概念-3層アーキテクチャについて
この記事はweb開発をするにあたっての3層アーキテクチャについて記述する.さらに例示としてPythonフレームワークであるDjangoとJavaのフレームワークであるSpring Frameworkと3層アーキテクチャの関係性についても記載する.
# 3層アーキテクチャとは
3層アーキテクチャとは,アプリケーションの構造を以下の層に分離することを指す.![スクリーンショット 2024-04-26 14.27.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3757442/9cc5c2f1-2354-e8d3-7d8a-2ed28836844f.png)
## クライアントサイド
ユーザーインターフェース(UI)を提供するサイド.ユーザーの入力を受け取り、プレゼンテーション層(WEBサーバ)にHTTPリクエストを送信する.また,プレゼンテーション層(WEBサーバ)からのHTTPレスポンスを受け取り,結果を表示する.## サーバーサイド
### プレゼンテーション層
クライアントからのH
音声データをMIDIで完全再現する
# 目次
1.はじめに
2.概要
3.詳細
4.結果
5.やってみての感想# はじめに
Youtubeで音の錯覚がバズっていたのを見かけたので、自分でも作ってみたいなと思い実行に至った。※音の錯覚とは、
MIDIだけで相当数の音を組み合わせることで、元の音声を再現するもの。# 概要
フーリエ変換をすることで、元の波形を周波数とその位相に変換することができます。その原理を利用して、MIDIで設定する楽器を正弦波にし、MIDIだけで人のボーカルも含めた曲を再生できるようにしました。(フーリエ逆変換相当の部分をMIDIで行う。)
原理としては、Mp3に近いと思います。# 詳細
MIDI バズっていた音の錯覚動画では、楽器はピアノ(初期設定?)や電子ピアノなどになっていたと思われます。これらの楽器は倍音成分が少ないので比較的高精度に再現できるのだと考えてますが、今回は完全再現していきたいので、より正弦波に近い楽器を設定していきたいと思います。
Windows標準搭載のMIDI音源であるMicrosoft GS Wavetable SW Sy
[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のお勉強(Gold資格対策第1章まとめ)
# はじめに..
全くの未経験の友達にプログラミング(Java)を教えることになり、復習ついでにJavaGoldを受講することにした。
本稿では、紫本を参考にまとめている。まずは、以下の章についてまとめる。
* 第1章 : Javaクラスの設計## 第1章まとめ
### switch文
多分岐処理を行う文として、**switch文**がある。
式を評価した結果と**case**で指定した定数を比較し、一致した場合にそのcase以降に記述した処理文を実行する。
一致しない場合は、次のcase文と比較する
下記コードはBが表示される
“`java:switch文例
int num = 2;switch(num){
case 1:
System.out.println(“A”);
break;
case 2:
System.out.println(“B”);
break;
case 3:
System.out.println(“C”);
}
“`
switch文の式の結果はデータ型として、**byte**, **char
Spring Bootを使ってWebアプリケーションを作成する方法(実装編)
# はじめに
### この記事でわかること
* Spring BootにおけるWebアプリケーションの具体的な実装方法### 開発環境
| | |
|:-:|:-:|
|Java |22 |
|ビルドツール | Maven |
|IDE | InteliJ IDEA 2022.1.3 |
|DB | MySQL Ver 8.3.0 |
### 今回のMVCの概要![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3774406/ca0b3c48-94cb-1e6c-96ae-759288a2ece2.png)
今回の各クラスの関係性は大雑把に書くと図のようになります。
ユーザーが入力した情報をJavaのコントローラークラスに引き渡して、CONTROLがDaoクラスにDBのアクセスとSQL送信を指示、DAOが取得したデータをCONTROLに返して、CONTROLがVIEWに表示を指示しての繰り返しです。
Spring Bootの大きな特徴はVIEWと
[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-レスポンスの内容)|
||4||[オブジェクト一覧のパラメータの指定例](#14-オブジェクト一覧のパラメータの指定例)|
|||1|[全てのオブジェクトを取得](#141-全てのオブジェクトを取得)|
|||2|[ルート階層配下のみを取得](#142-ルート階層
UbuntuにJavaをインストール
まず定番の
“`
apt update
“`
を行い最新状態にします。その後、
“`
apt-cache search openjdk
“`
でJDKのパッケージを探し、結果である下の図から、(私の場合)
“`
openjdk-11-dbg – Java runtime based on OpenJDK (debugging symbols)
openjdk-11-doc – OpenJDK Development Kit (JDK) documentation
openjdk-11-jdk – OpenJDK Development Kit (JDK)
openjdk-11-jdk-headless – OpenJDK Development Kit (JDK) (headless)
openjdk-11-jre – OpenJDK Java runtime, using Hotspot JIT
openjdk-11-jre-headless – OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-11-
Javaで「mainメソッドとは」の動作を確認してみた
# 概要
Javaで「mainメソッドとは」の動作を確認してみました。
以下のページを参考にしました。https://www.javadrive.jp/start/const/index3.html
# 実装
以下のファイルを作成しました。
“`Hello.java
class Hello{
public static void main(String[] args){
System.out.println(“Hello”);
}
}
“`以下のコマンドを実行しました。
“`
$ javac Hello.java
$ java Hello
Hello
“`# まとめ
何かの役に立てばと。
Web 開発再入門#8 ― Java プロジェクト作成
Web 開発再入門#8 ― Java プロジェクト作成
# はじめに
# フォルダー構成
D:\\
└ Developments\\
└ Workspace\\
└ fmockup\\
├ build\\
├ sql\\
├ src\\
 
[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サービスアカウントのメールアドレスを取得します。### 1.1. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
“`
StorageS
【個人開発】SpringBootでGoogleMapsAPIを利用したwebアプリケーションを作成しました(まだ未公開)
## はじめに
今回eclipseでwebアプリケーションを作成しました。
まだAWSなどについて勉強不足で公開できていないのですが、webアプリケーションの開発手順やEclipse、SpringBoot、GoogleMapsAPI、MySQLについて知りたいという方達の役に立ちたいと思ったので、開発のことについてお話ししようと思います。
[GitHub URL]
[https://github.com/HagisawaYuki/GachaMap.git](https://github.com/HagisawaYuki/GachaMap.git)## 開発したwebアプリについて
今回私が開発したwebアプリは『ガチャマップ』というものです。
![スクリーンショット 2024-04-25 14.25.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3758008/aa8d71b8-7370-d0eb-e45f-fbfcb5bbf4ac.png)
画像としてはこのようなものです。
この赤いピンはガ
🔰一か月でWebアプリを作成した
[作成したWEBアプリリンク](https://hello-4m00.onrender.com/)
*無料プランのため、初期サイト表示に時間がかかります。
## 目次
1. はじめに
1. 概要
1. ツール・技術・環境
4. 詳細
5. 開発の進め方
7. やってみての感想
8. さいご
8. 参考## 1. はじめに
一個くらいWEBアプリを作っておきたいよなという思いと、勉強になるかなという考えで実行に至った。意識したこととしては、別記事に書いたが 参考:[作成前に書いた記事](https://qiita.com/ssatoshi_117117/items/9677c4e248a387c57ef7)
「形にする、突き詰める、あきらめない」## 2. アプリ概要
大喜利投稿サイトを作成 //当初、投稿サイト(某X)みたいなのを考えたが、ありきたりと思い変えた
できることは以下
– ユーザ管理(登録、ログイン)
– お題の一覧表示、登録
– 回答の一覧表示、登録、投票
– 回答の集計## 3. ツール・技術・環境
### 使用ツール
– A5m2:DB表示
– VS
Java レコード・クラス
# はじめに
先日、[Java22](https://openjdk.org/projects/jdk/22/)がリリースされました。
新機能のサンプルの記事を書こうとしたら、原文のサンプルが読めない。。。改めて私の知識がアップデートされていないことに気づいてしまった。。。。「レコード・クラス」ってなんだ??
## レコード・クラス実装の動機[ここ](https://www.infoq.com/jp/news/2018/03/data-classes-for-java/) から抜粋
Javaクラスは今まで大量のボイラープレートコードを必要とした。クラスが単純か複雑かどうかにかかわらずだ。このことでJavaは”冗長すぎる”という評価であった。
オラクルのJava言語アーキテクトであるBrian Goetz氏はこう説明しています。
> ごく普通のデータキャリアクラスを責任を持って書くにあたり、価値の低い、退屈なコードを大量に書かなければならない。コンストラクタ、アクセサ、equals()、hashCode()、toString()などだ。そして開発者はこうした重要なメソッドを
[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. スコープ
このAPIを実行するには、以下のいずれかのスコープを指定してください。
データ型
## JavaSilverでメモしたところ備忘録として残しておこうと思います。
# 配列の宣言・初期化について
### 配列の宣言
“`java
//データ型[] 配列変数名
int[] num;//もしくは、データ型 配列変数名[]
int num[];
“`
### 配列の作成
“`java
//配列変数名 = new データ型[要素数]
num = new int[3];//初期化
int[] num = new int[3];
“`#### []の位置は変数名の後ろでもコンパイル可
“`java
int[] num; //もしくは
int num[];//二次元でも三次元でも同じ
int[][] num;
int num[][];int[][][] num;
int num[][][];
“`
#### []は分けて書いてもコンパイル可
“`java
int[] num[];
int[] num[][]
“`
#### 変数とインスタンスの次元は一致させる
“`java
int[] array = new int[2][2]; //
[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で「クラス、メソッド、フィールドとは」の動作を確認してみた
# 概要
Javaで「クラス、メソッド、フィールドとは」の動作を確認してみました。
以下のページを参考にしました。https://www.javadrive.jp/start/const/index2.html
# 実装
以下のファイルを作成しました。
“`Robot.java
class Robot{
int currentPosition = 0;public static void main(String[] args){
Robot robot = new Robot();
robot.report();
robot.moveForward();
robot.report();
}void report(){
System.out.println(“Current Position = ” + currentPosition);
}void moveForward(){
currentPosition = currentPosition + 1;
}
}
“`以下のコマンド