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

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

JavaでAESWrapアルゴリズムを試してみる

今更ながらJavaでAESWrapアルゴリズムを試してみた
“` java
// Java Version
System.out.println(“Java Version: ” + System.getProperty(“java.version”));

// キーを初期化(例として16バイトの0で初期化)
byte[] keyBytes = new byte[16];
SecretKey key = new SecretKeySpec(keyBytes, “AES”);

// Cipherインスタンスを初期化
Cipher cipher = Cipher.getInstance(“AESWrap”);

// アルゴリズムの確認
System.out.println(“Algorithm: ” + cipher.getAlgorithm());

// 両方のCipherインスタンスで同じキーを使用して暗号化し、結果を比較
cipher.init(Cipher.WRAP_MODE, key);

// テスト用のデー

元記事を表示

日時を扱うクラス

# Dateクラス
* 現在日時の取得。
* クラスのなのでDateクラスのオブジェクトを生成する

`import java.util.Date;`が必要。
(コレクション作成時も`java.util.ArrayList;`した)
“`java
package text.section_21;

import java.util.Date;

public class DateTime_Test1 {

public static void main(String[] args) {
// 現在日時の取得
Date date = new Date();

// 出力
System.out.println(date);

}

}
“`
実行結果
“`Java
Fri Feb 16 09:32:23 JST 2024
“`
曜日、月、日、時間:分:秒 日本時間 年 
上記の順で出力される。

# Calenderクラス
* 任意の日時を設定、取得できる。
* クラスのなのでDateクラスのオブジェクトを生成する
* Calendarクラ

元記事を表示

[Google Sheets API] セルに書式を設定する

Google Sheets API v4(Java)を使用して、
スプレットシートのセルに書式を設定する場合、設定可能な内容
についてご紹介します。

セルの書式はCellFormatクラスで指定できますが、
ここでは指定可能な内容のみを記事にしています。

実際に使用したい場合は下記の記事と合わせてご覧ください。
[⧉[Google Sheets API] セルの内容(値、メモ、リッチテキスト、表示形式(書式)、ピボットテーブル、入力規則)を設定する](https://qiita.com/doran/items/d4e048fc41b4132a4b44)

|No|目次|
|—|—|
|0|[設定できる内容](#0-設定できる内容)|
|1|[塗りつぶしの色](#1-塗りつぶしの色)|
|2|[枠線](#2-枠線)|
|3|[表示形式 数字](#3-表示形式–数字)|
|4|[表示形式 テキスト](#4-表示形式–テキスト)|
|5|[表示形式 水平方向配置](#5-表示形式–水平方向配置)|
|6|[表示形式 垂直方向配置](#6-表示形式–垂直方向配置)|

元記事を表示

[Google Sheets API] セルにピボットテーブルを設定する

Google Sheets API v4(Java)を使用して、
スプレットシートのセルにピボットテーブルを設定する方法
についてご紹介します。

**ピボットテーブルとは**
セル内のデータを見たい項目を軸に分析・集計できる表を作成する機能です。

ピボットテーブルはPivotTableクラスで指定できますが、
ここでは指定可能な内容のみを記事にしています。

実際に使用したい場合は下記の記事と合わせてご覧ください。
[⧉[Google Sheets API] セルの内容(値、メモ、リッチテキスト、表示形式(書式)、ピボットテーブル、入力規則)を設定する](https://qiita.com/doran/items/d4e048fc41b4132a4b44)

|No|||目次|
|—|—|—|—|
|1|||[リストの方向の設定](#1-リストの方向の設定)|
|2|||[範囲の設定](#2-範囲の設定)|
|3|||[行、列の設定](#3-行列の設定)|
||1||[グループルールの設定](#31-グループルールの設定)|
||1|1|[DateTimeルール](

元記事を表示

[Google Sheets API] セルに入力規則を設定する

Google Sheets API v4(Java)を使用して、
スプレットシートのセルに入力規則を設定する場合、設定可能な内容
についてご紹介します。

**セルの入力規則とは**
セルに入力するデータを制限したり、設定したルールとは違う入力をしたときに
警告を表示したりできる機能です。

セルの入力規制はDataValidationRuleクラスで指定できますが、
ここでは指定可能な内容のみを記事にしています。

実際に使用したい場合は下記の記事と合わせてご覧ください。
[⧉[Google Sheets API] セルの内容(値、メモ、リッチテキスト、表示形式(書式)、ピボットテーブル、入力規則)を設定する](https://qiita.com/doran/items/d4e048fc41b4132a4b44)

|No|目次|
|—|—|
|1|[選択したセルのヘルプオプションを表示](#1-選択したセルのヘルプオプションを表示)|
|2|[データが無効の場合の挙動](#2-データが無効の場合の挙動)|
|3|[表示スタイル(プルダウンのみ)](#3-表示スタイルプルダウ

元記事を表示

[Google Sheets API] セルの内容(値、メモ、リッチテキスト、表示形式(書式)、ピボットテーブル、入力規則)を設定する

Google Sheets API v4(Java)を使用して、
スプレットシートのセルに内容を設定する方法
についてご紹介します。

セルに内容を設定します。設定できる内容は下記になります。
・値
・メモ
・リッチテキスト
・表示形式(書式)
・ピボットテーブル
・入力規則

コードを実行する際は、
[⧉[Google Sheets API] Google Sheets API v4をJavaで操作する](https://qiita.com/doran/items/3d43f776188b2281044c)
を参照ください。
“`
例:requests.add(moveDimension(sheetId)); //実行したいリクエストのMethodを指定
“`
|No||目次|
|—|—|—|
|1||[指定したセルに設定](#1-指定したセルに設定)|
||1|[値 を設定する場合](#11-値-を設定する場合)|
||2|[メモ を設定する場合](#12-メモ-を設定する場合)|
||3|[リッチテキスト を設定する場合](#13-リッチテキスト-を設定する場合)

元記事を表示

[Google Sheets API] スプレットシートのシートを別のスプレットシートにコピーする

Google Sheets API v4(Java)を使用して、
スプレットシートのシートを別のスプレットシートにコピーする方法
についてご紹介します。

コードを実行する準備は、
[⧉[Google Sheets API] Google Sheets API v4をJavaで操作する](https://qiita.com/doran/items/3d43f776188b2281044c)
を参照ください。

**サンプル コード**
コピー元のスプレットシートIDとシートIDを指定して、
コピー先のスプレットシートにコピーします。

**実行**
“`
public static void main(String[] args) throws Exception {
String fileId = “”; //コピー元のスプレットシートID
Integer sheetId = 0; //コピー元のシートID”;
String destFileId = “”; //コピー先のスプレットシートID

//コピー先のスプレットシートIDを設定

元記事を表示

[Google Sheets API] Google Sheets API v4をJavaで操作する

Google Sheets API V4を使用してJavaでスプレットシートを操作する方法を
ご紹介します。
APIの呼び出しは、Googleのサービスアカウントを作成して実行します。

***Google Sheets APIとは***
Googleが提供しているAPIで、スプレットシートを操作することを目的としています。
無料で使用できます。
1分単位の制限をクリアしていれば1日の使用量の制限もありません。

読み取り・書き込みリクエスト制限
 ・プロジェクトごと、300回/分
 ・プロジェクトごと、ユーザーごと、60回/分

|No||目次|
|—|—|—|
|1||[Google Sheets APIを使用するための準備](#1-google-sheets-apiを使用するための準備)|
||1|[プロジェクトの作成](#11-プロジェクトの作成)|
||2|[Google Sheets APIの設定](#12-google-sheets-apiの設定)|
||3|[Googleサービスアカウントの作成](#13-googleサービスアカウントの作成)|
||4|[

元記事を表示

ガベージコレクションとは

Javaにはガベージコレクションがあります。

ブロックの終了と共に変数は消滅しますが、newなどで確保されたデータはブロックが終了してもメモリに残る場合があります。

ガベージコレクションはそのような参照されないのにメモリに残っているデータを自動的に削除してくれます。

元記事を表示

GWT+Eclipseでサンプルプロジェクトを動かす

# GWTはEclipseプラグインがありプロジェクト作成時にサンプルが提供されます
・メチャ簡単
・サーバ不要
・デプロイしなくても動かして確認できる
![GIF 2024-02-16 5-59-33.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132663/25744016-7a66-63bf-dd9c-c87066fbba8e.gif)

元記事を表示

androidでwebviewを使う

# はじめに
業務でWebViewを用いたアプリ開発に携わっており、ネイティブ側の仕組みを理解したかったので実際に触ってみました。

## WebViewとは
スマホアプリを開発する際に、「ネイティブ開発」と「WebView開発」の2つを耳にしたことがあると思います。
ネイティブ開発であれば、Android OS向けのJavaやKotlin、iOS向けのSwiftなどの言語を用いて開発を行います。
対してwbviewは、HTMLやJavaScriptなどWeb開発用の言語を用いて開発を行います。

### メリット

WebViewを使用するメリットとしては、以下を上げることができます。

* 開発/運用コストを減らす
* リリースサイクルを短縮化できる

AndroidとiOSの両方に対応するアプリを全てネイティブ開発する場合、中身は同じアプリでも複数の言語を用いて開発を行う必要がでてきます。
もちろん保守する際も、2倍の労力がことになります。

その点、WebViewを用いることで、各OSに依存しない開発を行うことができます。

また、ネイティブ側のアプリリリースを行う際、「Go

元記事を表示

【はじめてのJava Silver】試験概要や申込方法について解説

はじめに
Softbankのテックブログで記事を書いたので紹介します!

![JavaSilverサムネイル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2980561/33684a88-ca9e-7e64-55f5-3a93abb199fd.png)

本記事では私が2023年5月に取得したJava Silver(Oracle Certified Java Programmer, Silver SE 11 )の試験概要と申込方法について紹介しました!
特にJava Silverは申込方法が複雑で、資格の認定機関であるOracle・資格情報を管理するCertview・試験を主催しているピアソンVUEといった3つのサイトを経由して申し込むというわかりにくい構図になっているので、丁寧に解説しました!!

### この記事について
– この記事では、Java Silverの試験概要と申込方法を中心に解説しています!
– 申込方法が複雑で困っている方には特におすすめの記事です!

ぜひ読んでみてください!

元記事を表示

Mathクラスのメソッド まとめ

# Mathクラス
数値を操作する。(対して、文字列はString)

## abs()
引数の絶対値を返す。
“`java
package text.section_20;

public class Math_Test {

public static void main(String[] args) {

int A = -100;

// 絶対値を返す abs()
System.out.println(“絶対値は” + Math.abs(A));

}
}
“`
実行結果
“`Java
絶対値は100
“`
absの前に`Math.`がいるんだな。Math.abs(引数)としないといけない。

## max()とmin()
max:引数で渡した値を比較して大きい方の値を返す
min:引数で渡した値を比較して小さい方の値を返す
“`java
package text.section_20;

public class Math_Test {

public static void main(String[] args) {

元記事を表示

クラスとは?

Javaでは、クラスを定義しそこからオブジェクトを生成する事が出来ます。

手間が増えるだけのようにも見えますが、クラスを用いると同じ定義の別の関数や変数を使用する際に、複製や一部を利用する事が出来るので便利です。

元記事を表示

GWTはなぜ最新のフロントを作れるのか?

# GWTはJavaをjavascriptに変換します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132663/b99ebc21-399a-f2ee-4068-b388f324a075.png)
その為、最新の状態でプログラムを更新する事が可能です。

# GWTのJava→javascript変換は、割と凄い
・最適化(サイズ縮小)
・難読化(セキュリティー向上)
・互換性(各ブラウザ別変換)

元記事を表示

Spring Bootで非同期でデータを取得する

## Controllerにメソッドを用意する

GETでも良いが、以下のようにPOSTを使ってFormで受け取ることができる

“`Java
@Controller
@RequestMapping(“/test”)
public class TestController {

@Autowired
private TestService testService;

@ResponseBody
@RequestMapping(“/getdata”)
public String getData(TestForm form) {
return testService.getData(form.getCd(), form.getName());
}
}
“`

## サーバで取得した値をHTMLに返す

“`JavaScript
$.ajax({
url: $(location).attr(“host”) + “/test/getdata”,
data: $(“#TestForm”).serialize(),
ty

元記事を表示

インデントは半角スペースの方がオススメ

# ソースコードのインデントは、タブよりも半角スペースの方がオススメ

# 理由
環境依存で見え方が変わってくるため。
(1タブをスペースいくつで表示するかによって、見え方が変わってしまう)

例:eclipseとかで「半角スペース何文字をタブに変換」とかの設定があり、各々の環境によって差異が生まれてしまう

以上より、タブは使わない方がいい。

**大体は半角スペース4文字を使うハズ!!**

(ただし、**既存のソースコードに合わせる** のが一般的なため、既存のコードを **要確認** だけど……)

# 参考サイト
https://s8a.jp/tab-space-or-space

元記事を表示

ABC340A~Fの解答[Java]

## はじめに
今回はコンテスト中にEまで、コンテスト後にFを解いたのでそれらを載せようと思います。

なお、僕のライブラリは[提出結果](https://atcoder.jp/contests/abc340/submissions?f.Task=&f.LanguageName=Java&f.Status=AC&f.User=viral)よりご確認下さい。
では、見ていきましょう。

## A – Arithmetic Progression
問題文は[こちら](https://atcoder.jp/contests/abc340/tasks/abc340_a)

$A$が$B$になるまでループを回しながら$D$だけ加算していけば目的の数列を構築できます。
“`A.java
final class Main{
private static final boolean autoFlush = false;
private static final SimpleScanner sc = new SimpleScanner(System.in);
private static fin

元記事を表示

レーベンシュタイン距離(編集距離)の解説と実装

レーベンシュタイン距離(編集距離)とは、2つの文字列がどの程度異なっているかを示す数値です。

例えば「ちからうどん」を「からげんき」に編集するには以下の4手順が必要なため、編集距離は4となります。
※ 編集、削除、置換をそれぞれコスト1とした場合

1. 「ち」を削除 : 「からうどん」
1. 「う」を削除 : 「からどん」
1. 「ど」を「げ」に置換 : 「からげん」
1. 「き」を挿入 : 「からげんき」

# ■ 解説

「ちから」を「くらげ」に編集するための距離を求めてみましょう。
※編集、削除、置換をそれぞれコスト1とします。

### 1. 二次元配列を用意する

x を `編集文字列(ちから)の文字数 + 1` 、 y を `目標文字列(くらげ)の文字数 + 1` とする二次元配列を用意します。

| | (x = 0) | ち (x = 1) | か (x = 2) | ら (x = 3) |
| — | — | — | — | — |
| (y=0) | | | | |
| く (y=1) | | | | |
| ら (y=

元記事を表示

文字列のメソッド まとめ

# Stringクラス
文字列に対するメソッドのまとめ

## equals()
2つのインスタンスの内容が同じかを比較する。同じであれば**true**、差異があれば**false**を返す単純にString型の文字列を比較する時はequals()メソッドを使用する。

“`java
//moji1とmoji2を比較して結果を表示させる
System.out.println(moji1.equals(moji2));
“`

## compareTo()
文字列と比較する文字列が等しい場合、**0を戻り値として返す**
比較元の文字列が比較先の文字列より大きい値の場合、**正の値**を返す
比較元の文字列が比較先の文字列より小さい値の場合、**負の値**を返す
“`java
System.out.println(比較元.compareTo(比較先));
“`
文字列を比較した場合、比較元が比較先より50音順が早ければ負の値。
比較元が比較先より50音順が遅ければ正の値。
文字列が同じなら0。
(比較元アイウエオは比較先カキクケコより50音順が遅れているからマイナ

元記事を表示

OTHERカテゴリの最新記事