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

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

作品:社員検索(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のタグ候補も

元記事を表示

VSCode環境でREST APIを作成してみる

## はじめに
学習用として一つApi環境を作成しておけば何かと便利と思ったので、
SpringでAPIの作成をしていきます。

## 環境
– エディタ:VSCode
– OS:Windows11
– 言語:Java
– フレームワーク:Spring

参照:https://spring.pleiades.io/guides/gs/rest-service/
一応ここに全部書いてるよ!

本記事はバックエンド側での作成となります。
画面からのAPI連携についてはまた今度・・・。

## 手順
### 1. Springプロジェクトを作成する

1-1. Shift + ctrl + pを押下し、”Spring initializr: Create a Gradle Porject”を選択
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3194659/5c51560d-beb1-b349-27a7-6857d3aa1d60.png)

2-2. 下記を選択していきます![Untit

元記事を表示

XMLを複製する際にWRONG_DOCUMENT_ERRが発生する

# 発生した問題

employees.xmlには従業員の従業員番号・職種・名前が記載されています。

“`employees.xml


中原一郎
高津二郎
宮前三郎
多摩四郎
麻生五郎

“`

employees.xmlから職種が営業の従業員を抜き出し、新しいXML(sales.xml)を作りたいとします。これを実現するため、以下のようなプログラムを作成しました。

“`java
DocumentBuilder documentBuilder = Documen

元記事を表示

Eclipse中毒者がEclipseでよく使うショートカット一覧

私の記事に興味を持っていただきありがとうございます。

突然ですが、あなたはEclipseを触っていてこんなことを思ったことはないでしょうか?

・調べるまではいかないけどわざわざマウスポインタを移動させるの面倒だな…
・いざショートカットを調べてみたけど全部記載されていて使うのを選ぶのが大変だーー

そのようなお悩み、あと1分で解決できます!

というわけで今回は約2年間Eclipseばかり触ってきた
Eclipse中毒者の端くれである私が
普段の業務で使い倒しているショートカットをご紹介いたします。

それではどうぞ!

# Eclipseでよく使うショートカット一覧
| ショートカット | 操作結果 |
|:———–|————:|
| Ctrl+メソッド名にマウスポインタを合わせる+クリック |そのメソッドの実装へ飛ぶ |
| Ctrl+メソッド名にマウスポインタを合わせる+「実装を開く」をクリック | 抽象メソッドの実装を選択して飛ぶ |
| メソッドを選択して右クリックし、「呼び出し階層を開く」をクリック | 選

元記事を表示

bashでJava実行ワンライナー

# はじめに
こんにちは、絶賛Java修行中の@fsd-shoyaです。
.javaファイルをすべてコンパイルして実行する。というコマンドを毎度叩くのに嫌気が差したので、再利用可能なワンライナーを書いてみました。

# 実行環境

“`bash
$ echo $SHELL
/bin/bash
$ java –version
openjdk 21.0.1 2023-10-17
OpenJDK Runtime Environment (build 21.0.1+12-Ubuntu-222.04)
OpenJDK 64-Bit Server VM (build 21.0.1+12-Ubuntu-222.04, mixed mode, sharing)
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION=”Ubuntu 22.04.3 LTS”
“`
:::note info
WSL2を使用しています
:::

# 今回使用するコ

元記事を表示

【Minecraft】降る雪が一部メルティーキッスになるMod

## はじめに
この記事は[Life is Tech ! Advent Calendar 2023](https://qiita.com/advent-calendar/2023/life-is-tech) シリーズ1 23日目の記事です。

みなさんごきげんよう。うめちゃんと言います。本業は大学生ですが、Life is Tech!のMinecraftプログラミングコースでメンターもしております。
今日はMinecraftで冬っぽいModを作っていきたいと思います。

※本記事は株式会社明治とは一切関係ありません。

## 降る雪がぜんぶメルティーキッスなら

Playwrightを軽く触った後にキャプチャ取得ツール作ってみた

# はじめに
この記事では個人的に前々から気になっていたブラウザ自動操作ツールのPlaywrightを触って、簡単なツールを作成してみたという内容です。
調べながら作成したので、ところどころ非推奨な書き方などあるかもしれませんが、甘い目で見てください、、

# Playwrightとは
PlaywrightとはWebブラウザの操作を自動化することができるライブラリです。E2Eフレームワークと言ってテストの自動化で使用されるみたいです。(私は実務では使用したことがありません。)

ボタンの押下やフォームへの入力、画面キャプチャの生成など様々なことを自動で行えます。
Webブラウザの操作自動化といえばSeleniumが思いつきますが、他にもあるんですね。勉強不足。

JavaScriptやPythonなど様々な言語に対応しており、調べるとJavaScriptで書いている記事が多かったのですが、一応自分がJavaをメインで使用しているので今回はJavaで書いてみました。

# 早速触ってみる

公式ドキュメントなどを参考にしながらとりあえずコードを書いてみました。
とりあえずグーグルの検索画

元記事を表示

Sentry Legacy SDK(1.7系)を6.x系まで一気にバージョンアップした話

## はじめに
– この記事は ZOZO Advent Calendar 2023 #1 23日目の記事になります

## 何をしたか
– Java Sentry Legacy SDK(1.7系) – spring を6.x系まで一気にバージョンアップしました
– 使い方が色々変わっていたが、migration guideがあまり参考にならなかったので対応内容を備忘録としてまとめます

## なぜしたか
– 2023/11/24のSpring Boot 2.7.x End of Supportに伴い、ZOZOで稼働中のマイクロサービスの一部のSpring Bootのバージョンを3.1.x系に上げました
– 前提条件としてJava11->17の移行も同時に行ったがそこは本記事では割愛します
– ZOZOではエラー検知の仕組みの一つしてSnetryを運用しています。今回Spring BootバージョンアップしたマイクロサービスではSentry Legacy SDK(1.7系)を利用していましたが、Spring Boot 3系のバージョンアップ時にjavax->jakartaのパッケージ

元記事を表示

java入門その2 forとかifとか

この記事は、[【完走したい】楽しくいろいろやる Advent Calendar 2023](https://qiita.com/advent-calendar/2023/notbeginner)の19日目です。
javaの使い方や書き方について学んだので、ifで条件分岐とか繰り返しとか基本的な部分を学習しようとおみます。
# if
javaの条件式は、kotlinと同じように()の中に条件を入れ、その後の{}の中に行いたい処理を書くようです。
kotlinと同じく、countに10代入⇒もし10ならOKを出力、違っていたらNGを出力
“`
public class Adokare {
public static void main(String[] args){
int count=10;
if(count==10){
System.out.println(“OK”);
}
else{
System.out.println(“NG”);
}

元記事を表示

【Spring Data JPA】導入方法

# Spring Data JPA
`Spring Data JPA`の導入方法
**Gradle**の場合は
“`gradle:build.gradle
dependencies {
implementation ‘org.springframework.boot:spring-boot-starter-data-jpa’
}
“`
**Maven**の場合は
“`xml:pom.xml

org.springframework.boot
spring-boot-starter-data-jpa

“`
と記述する

元記事を表示

Springで作るWebアプリ作成の流れ(0)前提知識

## 目的
 この記事シリーズではSpringで簡単なTODOアプリを作ってWeb作成の流れを整理と復習していくものです。本記事では、Springなど具体的な話に入る前に必要なWebでのデータのやりとりの仕方がどのようになっているかなどを書いていきます。

## サイトにつながるまで
![Spitz.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2850098/418d49ab-3290-004c-c268-1d044af71c60.gif)
 私たちが普段使っているWebサイトはブラウザを介して接続しています。
 私たちが何か調べたいとき、ワードで検索してそれに合ったサイトをクリックしてページを表示させます。(写真はスピッツを検索したとき)

#### この時に何が起こっているのか
 この時、リンクをクリックしてからサイトが表示されるまでにどのような処理がされているのでしょうか。

 結論としてはURL(リンク)をサーバーに送り、そのURLに合わせた返しをプログラムによって決めています。

元記事を表示

java入門 その1 

この記事は[【完走したい】楽しくいろいろやる Advent Calendar 2023](https://qiita.com/advent-calendar/2023/notbeginner)の18日目の記事です。
AndroidStudioを使いたいので、ちょっと学びます。
できるようになったらなんか作ります。
# java
androidのアプリ開発に使われる言語のようです。
kotlinがjavaといい感じの関係らしいです。
# 書き方

まずはここから!Javaの「Hello World」の書き方

このサイトを参考に、文法を学びます。
“`
public class HelloWorld{
public static void main(String[] args){
System.out.println(“Hello World!!”);
}
}
“`

### public class 名前
publicなclassで、動かすものの塊です。public classの横の名前を入力することでプログラムを実行できます。
実行するプ

元記事を表示

Azure OpenAI機能と実装

# Azure OpenAIについて

## 目次
1. 概要
2. 機能/詳細
3. サンプルコード
4. まとめ

## 1. 概要
Azure OpenAIは、Microsoft Azureの一部として提供されるサービスであり、人工知能を活用した様々な機能を提供します。OpenAIは、機械学習や自然言語処理を含むAI関連のテクノロジーを提供しています。

## 2. 機能/詳細
Azure OpenAIは以下のような機能を提供しています。

– **GPT-3**: GPT-3(Generative Pre-trained Transformer 3)は、大規模なトランスフォーマーモデルを用いた自然言語処理のAIモデルです。GPT-3は他のAIモデルに比べて非常に高い性能を持ち、文章生成、翻訳、文章の要約などの様々なタスクに利用されます。

– **DALL-E**: DALL-Eは、画像生成に特化したAIモデルです。このモデルはテキストの説明に基づいて画像を生成することができ、独創的でクリエイティブな画像生成が可能です。DALL-Eは例えば、ある語句に基づいてそのイメージを生成

元記事を表示

Podmanを動かして学ぶ!rootlessコンテナ入門

## 目次
* はじめに
* 想定読者
* 環境
* コンテナエンジン(Docker,Podman)の違いについて
* Dockerとは何か
* では、Podmanとは何か
* rootlessコンテナについて
* rootコンテナのセキュリティリスク
* rootlessコンテナについて
* rootlessコンテナの設定方法
* ハンズオン手順
* ディレクトリ構造
* 工夫した点
* まとめ
* 参考文献

## はじめに
* 仮想化技術として、コンテナが主流となり、これまでコンテナに触れてこなかったアプリケーション開発者がコンテナを開発する機会も増えてきているのではないでしょうか。
* 今回はセキュアなコンテナの設計として重要な、rootlessコンテナの考え方を以下に整理しました!
* コンテナエンジンとしてのrootless
* コンテナイメージの実行ユーザーとしてのrootless
* 前者については、Dockerコマンドに類似するコマンドを、『デーモンレス

元記事を表示

【Spring Boot】Beanクラスの使い分けを理解して実装する

Java歴がもうすぐ2年になるため、普段曖昧にしていたBeanクラスの違い(DTO、From、Entity、Modelなど)を、正しく理解して実装してみようと思い、調べて実装してみました。

理解できると色々とスッキリするので、まだ違いがわからない方はしっかり理解しておくと良いと思います。

参考になりましたら幸いです。

間違っている箇所などがございましたら、ご指摘よろしくお願い致します。

https://taikis-blog.vercel.app/blog/Java

元記事を表示

Keycloakのカスタマイズ(Quarkus版)

# 記事の目的
* カスタマイズSPIの開発・デプロイ方法を把握できる
* 大体どういうカスタイマイズポイントがあり、OpenStandiaでのカスタマイズ事例を紹介してどういうことができるか把握できる(具体的な開発やサンプルの作成は別記事に任せる)

# 気をつけるポイント
* Quarkus版になって変わることを意識する過去記事から変わらない部分は流用する

# はじめに
Keycloakはアドオンで様々なカスタマイズを行うことができます。

2017年にKeycloakのカスタマイズ方法やカスタマイズポイントを紹介しましたが
KeycloakはJBossではなくQuarkusで動くようになり、OpenStandiaでは様々なカスタマイズ開発を行ってきました。

https://qiita.com/yoonis/items/298d580f7e93e56ddf6a#%E4%BB%8A%E6%97%A5%E3%82%84%E3%82%8B%E3%81%93%E3%81%A8

本記事は、最新情報を元に過去と同様のコンセプトでQuarkus版Keycloakのカスタマイズ方法とカスタマ

元記事を表示

OTHERカテゴリの最新記事