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

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

Hello Worldから始める復習 ~Hello World編~

エンジニアになり約一年が過ぎようとしていて、話題の世界一のエンジニア思考という書籍を読んで思ったことが、「ちゃんと理解してねーなぁ。。」と。
今一度、基礎をきちんと理解するためにアウトプットをしよう。

**Hello World**

“`java:java
class First1{
public static void main (String[] ages) {
System.out.println(“Hello World”);
}
}
“`
まずは基本的なコーディングから。
キーワードを「class」、半角開けて「クラス名」。
今回は「First」とする。

ファイル作成時、ファイル名とクラス名は合わせるのがお作法。

“`java:java
class First1{→
中括弧のここをブロックという

←}
“`
ブロック内に処理文を記述する

“`java:java
class First1{
public static void main (String[] ages) {ここから→
処理文を記述
←ここまで}
}
“`

元記事を表示

java これだけは知っておきたいJava install.

### 最初に悪気は、無いと言っておこう。
javaをインストールしても、動かんとか、思った動きをしてくれな、と言う方におススメの記事としたい。
後からSDKを入れているはずなのに入ってなとか、SDK入れたら本体が消えたとか。
最初、俺も分からんかったのや、だから、恥じる事はない。
### 見つけたきっかけ
![スクリーンショット 2024-02-26 104300.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3625232/a830ed05-f891-60a1-ecad-9325c8e662c6.png)

トムキャットがエラーで動かんかったのや。これは、installされていなかった場合も、起きてた。つまり、有効ではない、問う事に思いあたった。
そこで、installされている、javaのプロパティを見てみると
C:\Program Filesにいるんだから当然、厳重な制限を受けてるよな。
### そこで、プロパティをいじる事に
![スクリーンショット 2024-02-26 113336.png]

元記事を表示

StripeのPython SDKとJava SDKに`StripeClient`クラスが追加されました

Python SDKバージョン8.0.0とJava SDKバージョン23.0.0から、`StripeClient`クラスが追加されました。
これにより、複数のAPIキーや設定を利用するシステムの構築や、ユニットテスト時のモック化などが行いやすくなります。

## これまでの利用方法

これまでのPython・Java SDKでは、グローバルな`stripe`モジュールを利用する形でした。

**Python**
“`python
import stripe

stripe.api_key = “sk_….”;

cus = stripe.Customer.create(name=”Jenny Rosen”);
“`

**Java**
“`java
Stripe.apiKey = “sk_…”;

AccountCreateParams params = …;
Account account = Account.create(params);
“`

この方式では、APIキーなどの設定がグローバルモジュールに設定されるため、複数のAPIキーを利用する大規模なアプリ

元記事を表示

多重継承

# 多重継承
複数のクラスを親として子クラスを定義する事を多重継承と呼びます。
しかし、Javaではクラスの多重継承は出来ません。

原因としては、複数のスーパークラスがインスタンス化をする際に、同じフィールドがあると不都合が生じるようです。

ただし、フィールドを持たないインターフェイス(interface)を用いる事で多重継承を実装出来ます。

# 参考文献
https://docs.oracle.com/javase/tutorial/java/IandI/multipleinheritance.html

元記事を表示

RestClientのDELETEリクエストでリクエストボディを使用する方法

# 概要
Spring FrameworkでREST APIの呼び出しでDELETEメソッドにリクエストボディを使用する方法です。

# Rest Clientのサンプル
[Rest Clientの公式ページ](https://spring.pleiades.io/spring-framework/reference/integration/rest-clients.html#_migrating_from_resttemplate_to_restclient)には以下のような3種類のサンプルがあります。
(RestTemplate から RestClient への移行)

“`java
restClient
.delete()
.uri(String, Object…​)
.retrieve()
.toBodilessEntity()
“`

“`java
restClient
.delete()
.uri(String, Map)
.retrieve()
.toBodilessEntity()
“`

“`

元記事を表示

[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-検索置換対象が全てのシートまたはシート指定)|
|2|[検索&置換対象が指定したシートの指定した範囲のみ](#2-検索置換対象が指定したシートの指定した範囲のみ)|

## 1. 検索&置換対象が全てのシート、またはシート指定
検索&置換の対象を全てのシートか、指定したシートのみにします。

検索オプションとして以下の指定が使えます。
  ・

元記事を表示

【Java初心者】Wekaによる機械学習 06-自然言語のCSVをStringToWordVectorにかけたarffにする

# 自分で収集したテキストを使って機械学習するために

スクレイピングしたり、エクセルから抽出した自然言語データを使って機械学習する手順としては

1. 形態素解析した「テキスト」と、「カテゴリー」(例えばspam,ham)の2つのフィールドを持つCSVを作る
2. wekaを使ってarffに変換。その際「テキスト」はsetStringAttributesを使ってstring指定する
3. StringToWordVectorフィルターを使って単語ベクトル化する
4. 上記の処理をすると「カテゴリー」のフィールドが最初(first)に来てしまうのでReorderを使って最も後ろ(last)にする

# サンプルとして使うテキストデータ

手作業で作ったので適当です。本当に学習させるならばデータの数を増やしたり、助詞などを削除するなどの工夫が必要です。

“`
テキスト,カテゴリー
“部下 を 成長 さ せ 、 結果 を 出す リーダー に なる 為 の ミーティングを 学ぶ 講座 の ご 案内 “,ham
“本 メール と 行き 違い に お 申込み を いただい て いる 場合

元記事を表示

[Java]MS932をUTF8にエンコードしなおす

## ユースケース
IDEでデフォルト・エンコードがMS932になってる際に、無理やりUTF8の文字列を用意したい。

## コード

MS932文字列をMS932方式でバイトに分解し、そのバイト文字列をUTF8方式で文字列に組み替える。

“`java
public String convertToUTF8(String ms932String){
String result = “”;

try {
String tempString = new String(ms932String.getBytes(“MS932”), “MS932”);
String encodedUtf8 = new String(tempString.getBytes(“UTF-8”), “UTF-8”);
result = encodedUtf8;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}

return result;
}
“`

なんか他にいい方法な

元記事を表示

javaで直角三角形を表示するプログラムを作る

# 問題
int型の変数nを作成し、一辺がn個の直角三角形を表示するプログラムを作成せよ
例) nが4の場合

実行結果
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3717834/a2830098-1203-19bb-80da-7da2b6ae7165.png)

## 解答
“`java
public class java01 {

public static void main(String[] args) {

int n = 4;

for (int i = 0; i < n; i++) { dispCircle(i, n); System.out.println(); } } static void dispCircle(int i, int n) { for (int j = 0; j < n; j++) { if (i > j) {
System.out.print(” “);
} else {
Syst

元記事を表示

spring bootで掲示板アプリを作成してみました。

# 掲示板アプリを作成してみた。
企業研修が終わり、現在待機中。
spring bootを学習したけれども「はにゃ?」という感じだったので、復習を兼ねて簡単な掲示板アプリを実装しました。
もちろんしょぼいので、温かい目で見ていただけると感謝です。

URL↓

https://bulletinboard-5ado.onrender.com/login

ユーザー名、パスワードともにtestでログインできます。

git↓

https://github.com/izumida-rina/bullentinboard

## 開発環境
バックエンド:java17
フロントエンド:HTML/CSS, bootstrap
フレームワーク:spring boot
DB:H2
サーバー:Render(Docker)

## 目的
・CRUD操作の実装に慣れる
・HTML/CSSの使い方に慣れる。
・spring security の実装をやってみる。
・待機中の研修でデプロイを経験したので、もう一度デプロイをしてみる。

## よかった点
・フロントからどのように値が流れるのかだんだんわかって

元記事を表示

final修飾子

# 始めに
final修飾子は主に変数、クラス、メソッドで使用される修飾子であり、宣言後の変更を禁止する事が可能です。

# 変数
finalを変数宣言で使用すると、宣言後の代入を禁止する事が出来ます。
これによって変数を定数として扱う事が出来ます。

# クラス
クラス宣言でfinalを使用すると、継承を禁止する事が出来ます。

# メソッド
また、メソッドの宣言でfinalを使用すると子クラスでのオーバーライドを禁止する事が出来ます。
finalはアクセス修飾子(public等)やstatic修飾子の後、戻り値型またはvoidの前に表記します。

# 参考にした記事
https://www.sejuku.net/blog/24926#index_id4

元記事を表示

三項演算子の使い方

三項演算子の便利さに気づいたのでシェアします。

# 三項演算子とは
そもそも三項演算子とはなにかを説明すると
条件に続いて疑問符 (?)、そして条件が真値であった場合に実行する式、コロン (:) が続き、条件が偽値であった場合に実行する式が最後に来る。といった感じのものです。
正直、if文と似ているので使いどころが難しい部分もありますが有効に使える書き方があるのでご紹介します。

例として波の高さによってサーフィンが可能かどうかを判定するプログラムを作成します。

## if文で書いた場合
“`java
public class java01 {

public static void main(String[] args) {
String isSurfable = “”;
int waveheight = 500;

if(waveheight < 1000) { isSurfable = "OK"; } else { isSurfable = "NG"; } System.out.println(isSurfable); }

元記事を表示

CodeCraftersで「Build your own HTTP server」を(無料の範囲で)やってみよう

[CodeCrafters](https://codecrafters.io/)で「HTTPサーバー」を作ってみたくなったのでやっていきます。

### CodeCraftersの各webページ

CodeCraftersの主要ページは以下のような構成になっているようです。

– 製品紹介
– https://codecrafters.io/
– サービス本体
– https://app.codecrafters.io/catalog
– ドキュメント
– https://docs.codecrafters.io/introduction
– サービス稼働状況
– https://status.codecrafters.io/
– リポジトリ
– https://github.com/codecrafters-io

### GitHubアカウントと連携

CodeCraftersを利用するにはGitHubアカウントでログインする必要があるので、その対応を行っていきます。

まずは、[製品紹介ページ](https://code

元記事を表示

[Google Sheets API] セル内の空白をまとめて削除する

Google Sheets API v4(Java)を使用して、
スプレットシートのセル値の前後の空白(スペース、改行、タブ等)を削除する方法
についてご紹介します。

メニュー:「データ」 ⇨ 「データ クリーンアップ」 ⇨ 「空白文字を削除」
で実行できる内容と同じです。
指定した範囲のセルをトリミング(trim)します。

コードを実行する際は、
[⧉[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-範囲を指定しない場合)|

## 1. セルのトリミング
トリ

元記事を表示

【初心者向け】Javaの変数~参照型~

## :pushpin:前回の記事はこちら
https://qiita.com/nukoxo/items/5d9d72f3e451a9afb781

## :ledger:参照型とは
基本データ型は変数に直接データが代入されますが、参照型は異なります。

変数に代入されるのは`データが置かれているメモリ上の場所(アドレス)`となります。

コードサンプルを見てください
~~~java:基本データ型
int sum = 12;
~~~
こちらのコードには`sum`という変数に`12`という数字データが
直接代入されています。

~~~java:参照型(文字列)
String name =”あいう”;
~~~
私たちには「あいう」と見えていますが
実際には「あいう」という文字列が代入されているのではなく
「あいう」という`データが格納されている場所(メモリ)の参照値`が入っています。

代入された値自体はメモリの別の場所に保存されています。

## :ledger:変数のまとめ

データ型変数や参照型変数を紹介してきました。

プログラム内で文字や数値などのデータを扱うには変数が必要です。

元記事を表示

再帰とは

# 再帰とは
あるメソッド内で自身のメソッドを呼び出すことを再帰という。
## 例:1から10までを足した値を再帰を使って出力する処理
“`java
public class java01 {

public static void main(String[] args) {
System.out.println(func(10));

}

static int func(int n) {
if (n == 0) {
return 0;
}
else {
return n + func(n – 1);
}
}
}
“`
## 処理の流れ
1.メインメソッドでfuncメソッドを呼び出す
2.メインメソッドから受け取った値をifで条件分岐
3.受け取った値は10なのでelseに入り、funcメソッドを10回呼び出す

“`java
10 + func(10-1), 9 + func(9-1), 8 + func(8-1), 7 + func(7-1), 6 + func(6-1),
5 + func(5-1), 4 + func(4-1

元記事を表示

標準提供クラス

標準提供クラスはJava言語が提供しているクラスです。
importをせずとも変数の宣言など様々な機能を使用できるのは標準提供クラスがあらかじめ実装されている為です。
ただし、java.langパッケージもimport無しで利用する事が出来ます。

# 参考文献

【Java入門】1分で理解する標準クラスとは?

元記事を表示

JavaでOptionalを使用してみる

# 1. はじめに
* JavaでOptionalの使い方を理解したい

# 2. 開発環境
* Java 21

# 3. Optionalの生成
* 3つのファクトリメソッドのいずれかから生成する

| メソッド | 備考 |
| :— | :—: |
| of(T value) | Optionalを生成。値がnullの場合はNullPointException。 |
| ofNullable(T value)) | Optionalを生成。値がnullの場合は空のOptional。 |
| empty() | 常に空のOptional。 |

* NullPointExceptionにならないからといって何も考えずにofNullable()を利用してはいけない
* 本来NULLになっては行けない場合にof()を使っておけばnullチェックになる
* 自然にNULLが考えられる場合はofNullable()を使用する

# 4. Optionalのメソッド
* Optionalで値を取り出すときは、次の4つのメソッドを使用する
* 値が存在しなかった場合の振る舞いが違うの

元記事を表示

【Java】プログラム作成練習問題 4

# 問題
int型の変数nが0まで1ずつ増減するプログラムを作成せよ。
nが正の場合は減り、負の場合は増えていくこと
## 解答
“`java
public class java01 {

public static void main(String[] args) {
int n = -5;

if (n > 0) {
for(int i = n; i >= 0; i–) {
System.out.println(n);
n -= 1;
}
} else {
for (int i = n; i < 0; i++) { n += 1; System.out.println(n); } } } } ``` ## 模範解答 ```java public class Exercise_004 { public static void main(String[] args) { int n = -5; if (n > 0) {
for (in

元記事を表示

[androidアプリ]AWSのAPIgateway + Cognito (Userpool + Idpool)を使用してみる

## はじめに
Cognito認証を使用した各種サービスへのアクセスに非常に困惑したので備忘録として情報を記載する.
特にAWSMobileClientの仕様が理解できておらず困惑したので書き留めておく.

## 何をするか
android環境で,APIgatewayに3つの状況でリクエストを送信する.
– 1.認証・認可なしの場合
– [こちらの記事](https://qiita.com/sanjolin_chun/items/832fb1c6edfb3ea10ed5)
– 2.AWS cognito userpoolを使用する
– [こちらの記事](https://qiita.com/sanjolin_chun/items/7d95184a355b9141c9cb)
– 3.AWS cognito userpool + idpoolを使用する
– いまここ

本記事では,2のCognito UserpoolとIdpoolをセットアップして,IDフェデレーションする場合について解説する.
Amplifyは使用しない.また,前提条件として,[前回記事](http

元記事を表示

OTHERカテゴリの最新記事