## 概要
* 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
Java
uml
PlantUML
環境変数
シーケンス図
# はじめに
みなさん、こんにちは。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を使用できるようにします。
今回は
Java
AWS
cloud9
bedrock
claude
この記事では、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’
–
Java
CloudWatch
SpringBoot
# はじめに
: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“`」で解決することが可能かもしれません。
世の中のお母さん、お父さん、特にお父さん方(私自身がお父さんなので)、この記事は必読です。
煙たがられる存在
Java
オブジェクト指向
プログラミング
ドメイン駆動設計
コミュニケーション
# やること
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を使ったアプリケーションを作ったので、その単体テストを作成するにあたって学んだこと備忘録的に書いていきます。
省略可能な部分は`…`などで省略しています。
## 開発環境
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
spring-security
SpringBoot
junit5
# ◆背景
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で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`を実行する
↓の続き
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`と一致する」という条件を設定しています
等価条件以外は
Java
spring
Database
SpringBoot
crud
# カスタムクエリ
↓の基本クエリにない場合は自分でカスタムすることもできる
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
Java
spring
Database
SpringBoot
crud
# 基本クエリ
**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()`を実行|
Java
spring
Database
SpringBoot
crud
#概要
軽量検索アプリ。
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
ポートフォリオ
OracleDatabase
# はじめに
[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:
この記事は インフォマティカ [Advent Calendar 2023](https://qiita.com/advent-calendar/2023/informatica) Day 24 として書いています。
最近ふと『これならサロゲートペア文字を扱えるんじゃないっ?!しかも簡単に!!』と思いついて試したらできちゃった話を紹介したいと思います。
### はじめに
CDI(Cloud Data Integration)ではCSVファイルを扱う場合、一般的にはFlatFile接続を利用しますが、FlatFile接続を利用するとサロゲートペア文字は文字化けの対象となります。マッピングはサロゲートペア文字をサポートしていないためです。
この記事では、次のコンポーネントを利用してマッピングでサロゲートペア文字を処理した場合にどのような動作になるかを紹介します。
– FlatFile接続
– JavaTX(トランスフォーメーション)
– ISD(インテリジェント構造検出)
さらに今回はサロゲートペア文字の文字化けを回避する方法としてJavaTXを利用する実装方法についても紹介しま
Java
CDI
サロゲートペア
Informatica
IICS
世の中は~~古い~~地味だと思われる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のタグ候補も