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

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

javaのコンパイルと実行方法

# Javaのコンパイルと実行
これから、Javaのソースコードを作成~実行までの流れを紹介します。
(JDKインストール済みでコンソールでJavaが使えるようになっている
こと前提で話します。)

①ソースファイルの作成
・以下のソースコードをメモ帳(サクラエディタなどのテキストエディタ)を開いて、
 記述する。
~~~
public class Test {
public static void main (String[] args){
System.out.print(“Hello”);
}
}
~~~
②ファイルを保存する
・ソースコードが書けたら、ファイルを保存しますが、
 この時に拡張子は(.java)にすること!また、今回はわかりやすいように
 デスクトップに保存しよう。

:::note info
(保存する時、「ファイル名」と「ファイルの種類」を決められるので、
ここで「ファイル名」は「Test.java」として「ファイルの種類」は
「すべてのファイル」を選択して保存する。)
:::
③ソースコードをコンパイルする

元記事を表示

Job Interview Questions Java 3

How do you reverse a string in Java?

How do you swap two numbers without using a third variable in Java?

Write a Java program to check if a vowel is present in a string.

Write a Java program to check if the given number is a prime number.

Write a Java program to print a Fibonacci sequence using recursion.

How do you check if a list of integers contains only odd numbers in Java?

How do you check whether a string is a palindrome in Java?

How do you remove spaces from a string in Java?

Ho

元記事を表示

Job Interview Questions Java 2

1. What is the difference between JDK, JRE, and JVM?
2. What is the difference between an abstract class and an interface?
3. What are the different access modifiers in Java?
4. What is the difference between a checked and an unchecked exception?
5. What is the difference between a HashMap and a TreeMap?
6. What is the difference between a static and non-static method?
7. What is the difference between a stack and a queue?
8. What is the difference between overloading and overriding?
9. What is

元記事を表示

Job Interview Questions Java 1

How do you handle exceptions in Java?

What is the difference between an interface and an abstract class in Java?

How do you implement polymorphism in Java?

How do you implement a linked list in Java?

How do you implement a stack in Java using an array?

How do you implement a binary search tree in Java?

How do you implement a bubble sort algorithm in Java?

How do you implement a merge sort algorithm in Java?

What is the Java Virtual Machine (JVM)?

What is the difference between static a

元記事を表示

Spring Boot学習①~ログイン画面の入力値を受け取る~

以下の動画を参考に、ハンズオン形式でSpring BootでWebアプリを制作していきます。

今回はPart5、ログイン画面に入力された値(ユーザー名とパスワード)をコンソールに出力するところまでを実装します。

分からない部分はChatGPTに聞きながら進めていきます。
あくまで、躓いた部分等を個人的な備忘録として記録するための記事です。

# login.html
ログイン画面のhtml部分は以下です。
本記事に必要な部分だけを抜粋しています。

“`login.html


元記事を表示

PlantUMLを用いた簡単なシーケンス図の作成方法

## 概要
* VScodeにてPlantUMLをプラグインし、シーケンス図を作成する方法を記載。
* 使用環境(2023/12/25現時点):Windows 11 Pro、JDK21、VScode
* [JAVAのダウンロードはこちらから – ORACLE](https://www.oracle.com/jp/java/technologies/downloads/)

# 環境変数とJAVA_HOME
> JAVA_HOMEは、Javaの環境変数の1つです。
環境変数はOSが持つ情報を共有するための仕組みのことです。

[環境変数JAVA_HOMEの確認と設定方法を現役エンジニアが解説【初心者向け】 – TechAcademyマガジン](https://magazine.techacademy.jp/magazine/24230)

:::note
JAVA_HOMEが設定されていないとPlantUMLのプレビューが表示されないため、設定していない場合は先に設定する。JAVA_HOMEの設定はPlantUML以外の場合においても使用する。
:::

# UML
>UMLとはUnif

元記事を表示

Amazon BedrockをCloud9のJavaから呼び出してみた

# はじめに
みなさん、こんにちは。2023年9月末に「Amazon Bedrock」が一般提供されました。
多くの方が、PythonからAmazon BedrockのAPIを呼び出したりしていると思います。
今回は、JavaからAmazon BedrockのAPIを呼んでみましたので手順を紹介します。

なお、本記事ではCloud9やAWS SDK for Javaの詳細なセットアップの説明は割愛します。

# Cloud9を準備する
Javaの拡張機能を有効にするには、2 GiB以上のメモリが必要[^1]なため、インスタンスタイプは m5.large を選択しました。
プラットフォームはAmazon Linux2で作成しました。

[^1]: https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/enhanced-java.html

# AWS SDK for Javaを準備する
[Cloud9のユーザーガイド]に従って、Cloud9でAWS SDK for Javaを使用できるようにします。
今回は

元記事を表示

Spring Boot 3.x アップデート時の micrometer-registry-cloudwatch のハマりポイント

この記事では、Spring Boot 2.7.x 系で既に micrometer-regstry-cloudwatch を使ったことある人向けのアップデート注意点をまとめました。はじめて導入する方は公式などをご参照ください。この記事にまとめた通り、バージョンによって設定が大きく異なるため利用バージョンをよく確認してから利用すると良いでしょう

## micrometer-registry-cloudwatch とは
https://micrometer.io/
micrometer (JVM アプリケーションでメトリクスを収集するライブラリ) から、AWS CloudWatch にメトリクスを送信するライブラリです。

## はじめに結論
+ 依存ライブラリ、設定ファイルを以下のように置き換えましょう。gradle, application.yaml想定のため、maven, application.properties などを使っている方は適宜読み替えてください

“`diff_groovy:build.gradle
plugins {
id ‘java’

元記事を表示

オブジェクト指向から学ぶ、思春期の子供とのコミュニケーション「Tell, Don’t Ask」原則

# はじめに
:christmas_tree::christmas_tree::christmas_tree::santa_tone1:メリークリスマス:santa_tone1::christmas_tree::christmas_tree::christmas_tree:
皆さんは、この特別な日をどのように過ごす予定でしょうか?
私は家族と共にこの聖夜を楽しみながら:cake:、
日々のコミュニケーションについて考え:thought_balloon:を巡らせています。

思春期:boy_tone1::girl_tone1:の子供を持つ親御さんにとって、子供とのコミュニケーションは一筋縄ではいかないことが多いですよね。
子供の成長に伴い、親としての接し方も変化させなければならない瞬間があると思います。

そんな私たちにオブジェクト指向プログラミング(以下、OOP)の基本原則の一つである「“`Tell, Don’t Ask“`」で解決することが可能かもしれません。

世の中のお母さん、お父さん、特にお父さん方(私自身がお父さんなので)、この記事は必読です。
煙たがられる存在

元記事を表示

Keycloakを独自の外部ユーザストレージと連携してみた

# やること
Keycloakは標準機能としてLDAPやActive Directoryといった外部ユーザストレージとの連携を提供しています。
しかし、組織によっては独自の外部ユーザストレージと連携させたいという要件が発生することもあると思います。

そこで、本記事はKeycloak公式ドキュメントのServer DeveloperにあるUser Storage SPIの章に基づいて、User Storage SPIを利用して外部ストレージのユーザで認証する方法を解説します。

https://www.keycloak.org/docs/latest/server_development/index.html#_user-storage-spi

本記事ではKeycloak公式のクイックスタートのソースコードを使用しているため、動作確認したい方はこちらをご利用ください。

https://github.com/keycloak/keycloak-quickstarts

# 前提事項
今回使用した環境は以下の通りです。
– Keycloak 23.0.1
– OpenJDK 17

元記事を表示

【備忘録】SpringBoot + SpringSecurity + JUni5で単体テストを書いてみた

## はじめに
SpringBootとSpringSecurityを使ったアプリケーションを作ったので、その単体テストを作成するにあたって学んだこと備忘録的に書いていきます。
省略可能な部分は`…`などで省略しています。

## 開発環境
EclipseのSpringスターター・プロジェクトから作成しています。
– Windows10
– Eclipse IDE 2023-12 (4.30.0)
– JAVA SE-17
– JUnit5
– SpringBoot 3.2.0
– SpringSecurity 6.2.0
– SpringBootTest 3.2.0
– SpringSecurityTest 6.2.0
– gradle

## 事前準備
1. build.gradleに依存関係を追加
2. SecurityConfigを追加
3. 各階層の記述(省略します)
“`gradle:build.gradle

dependencies {
implementation ‘org.springframework.boot:spring-boot-starter

元記事を表示

【java】基本構文まとめ10選

# ◆背景

javaでのコーディングテストを受ける事になったので、
javaでのif文、for文、四則演算など、基本的な構文を復習しました。
本記事はこれらの構文についてまとめたものです。

# ◆対象の方

– javaの基本構文を知りたい方
– jabaの基本構文のサンプルコードを動かしてみたい方
– タイトルが気になった方

# ◆実行環境
– eclipse2023
– java version :20.0.1

# ①コンソール出力について
javaでは`System.out.println()`の標準出力でコンソールにログを出力します。

“`java
package sample;

public class JavaSampleClass {

public static void main(String[] args) {
System.out.println(“Hello, World!”);
}

}
“`

## 実行結果
以下の文言がコンソールに出力
“`console
Hello, World!
“`

# ②演算について
足し算、引き算、

元記事を表示

【Java】HelloWorldを表示させる方法

# はじめに
今回はJavaでHello Worldを表示させていこうと思う

まずは適当な場所に`HelloWorld.java`ファイルを作成していく
“`java:HelloWorld.java
public class Main{
public static void main(String[] args){
System.out.println(“Hello World”);
}
}
“`
コマンドプロンプトを開く
`HelloWorld.java`がある場所に移動して
`javac HelloWorld.java`を実行する
`java HelloWorld`を実行する

元記事を表示

【Spring Data JPA】Database操作③

↓の続き

https://qiita.com/NaN-jp/items/c1b7139c2f6f2a6c53d9

決まったキーワードを組み合わせることで目的を満たすクエリが自動で生成されます
まず初めに目的を設定します
上記はレコードの取得のために`findBy`というキーワードを使用しました
その他以下のキーワードがあります
|キーワード|メソッドサンプル|説明|
|:—:|:—:|:—:|
|`findBy`|`findByName(String name)`|条件に一致するレコードの取得|
|`existsBy`|`existsByName(String name)`|条件に一致するレコードが存在するか(T/F)|
|`countBy`|`countByName(String name)`|条件に一致するレコード数|
|`deleteBy`|`deleteByName(String name)`|条件に一致するレコードの削除|

次に条件を設定します
上記では、`findByName`とすることで「`name`と一致する」という条件を設定しています
等価条件以外は

元記事を表示

【Spring Data JPA】Database操作②

# カスタムクエリ
↓の基本クエリにない場合は自分でカスタムすることもできる

https://qiita.com/NaN-jp/items/cc8a219baff2dd7bad07

名前が`john`のユーザーのレコードを取得
“`java:Service.java
public List getUser(String name){
return userRepository.findByName(name);
}
“`
※`getUser`メソッドのメソッド名は何でもいいです
***
名前が`willian`で年齢が20歳のユーザーを取得
“`java:Service.java
public List getUser(String name, int age){
userRepository.findByNameAndAge(name, age);
}
“`
※`getUser`メソッドのメソッド名は何でもいいです
***
ユーザーがアプリ内トラッキングを許可しているかどうかを取得
“`java:Service.java
publ

元記事を表示

【Spring Data JPA】Database操作①

# 基本クエリ
**SpringBoot**でDatabase操作を行うときrepositoryに自動生成されるメソッドを使うのがよい
|メソッド|引数|戻り値|説明|
|:—:|:—:|:—:|:—:|
|findAll()||`List`|すべてのレコードを取得|
|findById()|キー|`Optional`|キーに該当するレコードを取得|
|getById()|キー|`T`|キーに該当するレコードを取得|
|count()||`long`|レコード数を取得|
|existsById()|キー|`boolean`|キーに該当するレコードが存在するかを取得|
|save()|`T`|`T`|キーが存在する場合は更新、存在しない場合は登録|
|saveAll()|`List`|`List`|`Entity`の数だけ`save()`を実行|
|deleteById()|キー||キーに該当するレコードを削除|
|deleteAllById()|`List<キー>`||キーの数だけ`deleteById()`を実行|

元記事を表示

作品:社員検索(Personnel_Search)

#概要

軽量検索アプリ。

Github: https://github.com/RistoLibera/Personnel_Search

![Capture.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/0a4c1907-52fb-7cc0-95be-b41f4f2687c1.png)

#使用技術

・Java
・Oracle Database

#機能一覧
##認証機能

![1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/11445415-ad3b-2e52-6d10-973277a697a5.png)

正しいアカウントしかログインできません。

![2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/613718/21234f20-3a07-91a2-74b8-e2ab1ede0cfe.pn

元記事を表示

【Java】switch式とswitchパターンマッチング

# はじめに

[Java Advent Calendar 24日目](https://qiita.com/advent-calendar/2023/java)の記事です。よろしくお願いします。

「instanceofのパターンマッチング」[(この記事)](https://qiita.com/arubaito/items/0d7bbb9984ece4fa268a)について調べている時に`switch`”**式**”があることを初めて知ったので、Javaのバージョンごとに`switch`をどう使えるかざっくりと調べてみました。

switchパターンマッチングが知りたい方は[Java 17](#java-17)まで飛んでください。

# Java 12
Preview版として`switch`式が導入される。

https://openjdk.org/jeps/325

そもそもは、`switch`文のフォールスルーが厄介だったっぽい。
“`java
switch (day) {
case MONDAY:
case FRIDAY:
case SUNDAY:

元記事を表示

Cloud Data Integrationのマッピングでサロゲートペア文字を含むCSVファイルを扱ってみる

この記事は インフォマティカ [Advent Calendar 2023](https://qiita.com/advent-calendar/2023/informatica) Day 24 として書いています。

最近ふと『これならサロゲートペア文字を扱えるんじゃないっ?!しかも簡単に!!』と思いついて試したらできちゃった話を紹介したいと思います。

### はじめに

CDI(Cloud Data Integration)ではCSVファイルを扱う場合、一般的にはFlatFile接続を利用しますが、FlatFile接続を利用するとサロゲートペア文字は文字化けの対象となります。マッピングはサロゲートペア文字をサポートしていないためです。

この記事では、次のコンポーネントを利用してマッピングでサロゲートペア文字を処理した場合にどのような動作になるかを紹介します。

– FlatFile接続
– JavaTX(トランスフォーメーション)
– ISD(インテリジェント構造検出)

さらに今回はサロゲートペア文字の文字化けを回避する方法としてJavaTXを利用する実装方法についても紹介しま

元記事を表示

Streamとは?古いJavaでも新しく書こう~

世の中は~~古い~~地味だと思われるJavaですが、今の現場の金融機関ではまだ比較的に新しい。そのJavaの***比較的に新しい***特性について少し書くことが今度のネタです。

# Javaのバージョン事情
Javaの誕生は1995年、最新の長期サポート(LTS)バージョンは2023年9月にリリースされた***Java SE 21***です。長い時を渡り、時代と共に進化し続いてきたJavaですが、2024年に迎える現在、一番人気のあるバージョンは、なんと2014年3月がリリースされた***Java SE 8***です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2950721/8da37a52-78cd-fc3f-0810-6e4cb0aa4b5f.png)
> https://www.jetbrains.com/ja-jp/lp/devecosystem-2023/java/

JetBrainsのアンケート結果は上記の通りですし、この記事執筆した最初に、Qiitaのタグ候補も

元記事を表示

OTHERカテゴリの最新記事