JAVA関連のことを調べてみた2023年04月07日

JAVA関連のことを調べてみた2023年04月07日

環境構築-Java編-

## 今回検証に使用する環境
* 今回構築方法を書くにあたって使用した環境は以下
“`
  OS Windows
  エディション Windows 10 Pro
  バージョン 22H2
“`

## 構築の流れ
– [jdkのインストール](https://qiita.com/zoo_ma1121/private/dfd9bccac235e0b62dfc#jdk%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)
– [Path設定](https://qiita.com/zoo_ma1121/private/dfd9bccac235e0b62dfc#path%E3%81%AE%E8%A8%AD%E5%AE%9A)
– [eclipseのインストール](https://qiita.com/zoo_ma1121/private/dfd9bccac235e0b62dfc#eclipse%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)
– [Eclip

元記事を表示

DBに接続する既存のSpring Bootプロジェクトを Github Codespaces で動かす

# Github Codespacesとは?
– Github が提供するクラウド開発環境
– https://github.co.jp/features/codespaces
– ローカルではなく、クラウド上で以下の様なことができる
– ソースコードのビルド、アプリケーション実行
– ポート転送によりブラウザからアクセス
– コミット前の修正ソースコードを保持
– ブラウザのみで、ソースコードの修正・実行ができる

# やりたいこと
– Codespace で立ち上げたアプリケーションをデータベースに接続させる

# 前提プロジェクト
– Spring Boot で PostgreSQL に接続しているアプリケーション
– データベースは別環境に接続していた

# 手順
## Codespace の作成
1. github のリポジトリのページから Codespace を作成する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/517184

元記事を表示

Spring Boot で h2database の Embedded モードを使うときはこんな感じ

# 前提

h2database には、3種類の起動モードがある

https://www.h2database.com/html/cheatSheet.html

* Embedded: データがファイルに保存される
* In-Memory: データがメモリに保存される(再起動すると消える)
* Server Mode

この記事は、Embedded を使うときの話。

# こんな感じ

“`properties:application.propeties
spring.datasource.driver-class-name=org.h2.Driver
spring.datasource.url=jdbc:h2:file:./data/todo
spring.datasource.username=sa
spring.datasource.password=
spring.sql.init.mode=always — h2database が embedded mode のときはこれを付ける
“`

“`sql:schema.sql
— 再起動時の対策でテーブルが存在する

元記事を表示

Leetcode 1254. Number of Closed Islands

# アプローチ
– BFS

# コード
“`java
class Solution {
class Point {
int x;
int y;

Point(int x, int y) {
this.x = x;
this.y = y;
}
}

public int closedIsland(int[][] grid) {
boolean[][] isVisited = new boolean[grid.length][grid[0].length];
int[] dx = {1, 0, -1, 0};
int[] dy = {0, 1, 0, -1};
int count = 0;

Queue queue = new LinkedList<>();

for (int i = 0; i < grid.length; i++) {

元記事を表示

mavenにプロキシを設定したが反応されない事

## 環境

– macos 13
– maven 3.9.1

## 症状

設定ファイルにプロキシを記述しましたが、ビルドする時、mavenはプロキシを経由しませんでした。

`/opt/homebrew/Cellar/maven/3.9.1/libexec/conf/settings.xml`に下記の内容を記述した上で、

“`xml v2ray
true http 127.0.0.1 3341 localhost|127.0.0.1
“`

`mvn clean package`をすると、`Downloading: https://github.com/xxx.exe`は行き詰まった。

## 原因

元記事を表示

Javaの環境構築と、基礎構文解説

## はじめに

Javaの環境構築、簡単な構文を書いてそちらの解説までしたいと思います!
Javaについてもっと詳しく知りたい方は
過去にJavaについて解説している記事を投稿していますので、
こちらをご覧くださいm(__)m
https://qiita.com/ooyama-tetu/items/ad7ecfb62bc4c0b5b21f

## Javaの環境構築
Javaの環境構築ですが、JDKをインストールする必要があります。
JDKとは、**Java Development Kitの略で、Javaのプログラムを実行するときに必要な機能がパッケージされたものです**

お使いのパソコンによってダウンロード方法が違うのですが、私はWindowsですのでこちらからダウンロードしました。
https://www.techfun.co.jp/services/magazine/java/windows-jdk-install.html

お次は、Javaの簡単なコードを解説していきます。

## Javaの構文の解説
まずはこちらのコードをご覧ください。

“`
class Gree

元記事を表示

Java Stream API メソッド紹介 (Stream インタフェース)

# Java Stream API とは

Java SE8 から追加されたイテレーションの拡張 API です。

基本的な操作の流れは

1. stream を生成
1. 「中間操作」を任意の回数実施してコレクションの中身を操作
1. 「終端操作」を実施してコレクションに操作を適用したり、中間操作で変更されたコレクションを取得

例) 整数のリストから偶数のみを大きい順に取り出す

“`java
List list = Arrays.asList(5, 2, 8, 9, 3, 4);
List evenList = list.stream()
.filter(e -> (e % 2) == 0) // (中間操作) 偶数だけの stream を取得
.sorted(reverseOrder()) // (中間操作) 降順にソート
.collect(Collectors.toList()); // (終端操作) リストとして取得
“`

stream を使い回すことは出来ないので注意。

“`ja

元記事を表示

Spring Security その4.1〜カスタム認証について

「Spring Security のカスタム認証」を作成していて、色々とハマってしまったので
SpringSecurityの認証について学んだことを備忘録として残します。
カスタム認証を使用した実装方法については別途記事を作成予定

:::note warn
自分がハマって調べたことだけなので、色々抜けている機能があることはご了承ください。
誤っている箇所や誤解を与えかねない表現があればご指摘いただけると助かります。
:::

## アーキテクチャ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/555551/bf9b11f5-e3bd-af2b-2904-a9d3922a2e54.png)

1. ブラウザからリクエストが送信されると「FilterChainProxy」がリクエストを受け取る
1. FIlterChainProxyはFilterChainを呼び出す
1. FilterChainには複数のFilterが登録されており、順番にFilterを実行し認証を行う。

## フォー

元記事を表示

WildFryについて

## はじめに
実務でWildFryを使用したので、簡単なメモ程度の記事にしていきます。

## WildFryとは
WildFryとはAPサーバーの一つで、Red Hatが開発するマルチプラットフォームで動作するJava EEコンテナです。
WildFlyは、オープンソースのJava EE実装アプリケーションサーバとしてRed Hatによって、今も開発が行われています。
つまり、Javaで記述されたサーバサイドアプリケーションを動作させるためのAPサーバーと覚えておけばOK。

## APサーバーとは
APサーバーとは、アプリケーションを動かすためのサーバーです。WebサーバーとDBサーバーの中間役みたいな役割で、以下の画像のようなイメージです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2613586/00d0646c-0be8-61cb-0f6f-3edd72bbb697.png)

## WildFryの特徴
WildFryの特徴は大きく5つあります。

・動作が軽く、安定

元記事を表示

jsf学習日記

JSF(Jakarta Server Faces) ← なにこれ?
JSPとか画面実装関連が楽にできるのか、なるほど。

この状態からスタートしてます。
この日記はリアルタイムで更新される

# DAY 1 (2023/04/04)
eclipseで動的プロジェクト作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/513458/cd44c983-60e5-5f58-188d-af9d6fae05da.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/513458/1031e932-3aff-a145-2f2a-79092a777f10.png)

とりあえずweb.xml デプロイメント記述しの生成しとくか

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/513458/91e6d27

元記事を表示

iOSエンジニアがAndroidに転身して1ヶ月目の感想

##### 今回はiOSエンジニアがAndroidに転身して感じた障壁などを紹介していきます!

まず大きな違いとして挙げられるのが
– プログラミング言語
– 開発ツール

の2つです。

### 言語の違い
言語はiOSではobjective-Cと2014年からswift、AndroidではjavaとC++と2017年からkotlinが使用されています。
自分はswift⇨kotlin,javaへの移行だったのですが、今のところ文法的にはほぼ同じと感じていて移行はしやすいと思います。

### 開発ツールの違い

開発ツールはiOSではXcode、AndroidではAndroid Studioでの開発となります。
ここでの大きな違いはviewの扱いです。
iOS側でのxibファイルとAndroid側でのxmlファイルの扱いの違いを意識できるまではだいぶ開発に苦戦しました。
iOS側xibファイルではドラック&ドロップなどでviewに直接buttonやtextを置くことができ、頭の中にあるデザインをそのままviewに反映するのが非常に楽でした(というかそれが普通だと思っていました

元記事を表示

STSでエラー: SunCertPathBuilderException: unable to find valid certification path to requested target

# 事象

– STSで新規Springスタータープロジェクトの作成を実行すると、証明書エラーが表示され、プロジェクトを作成できない

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620712/f219dd54-7a02-09c9-38f6-5172a2c8efd4.png)

# 環境

– Windows10
– Corretto8u362
– STS4.18

# 前提

– CorrettoにJAVA_HOMEとPATH設定済み
– STSインストール済み

# 手順

## 証明書のダウンロード

– ブラウザでhttps://start.spring.io/ にアクセス

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620712/2668d3ea-760e-8acc-99cd-ecb6ad274bc5.png)

– URL左のロックアイコンをクリック

![image.p

元記事を表示

OpenJDK を MacOS にインストールする方法。最終版。

Oracle JavaとOpenJDKのインストール方法がOS毎に違うので、いつも混乱します。
Mac OSへのOpenJDKへのインストール方法を備忘録としてまとめておきます。

因みに、Linuxへのインストール方法は、こちら。
→ https://qiita.com/naiveprince0507/items/544c978b6db33c8d3c33

この記事に書いてある通りです。
OpenJDK を MacOS にインストールする
http://nw.tsuda.ac.jp/lec/java/openjdk/install_mac/

<以下は、単にコピペです。>

ダウンロードしたバイナリを展開する。
ターミナル上で: tar.gzファイルを解凍・展開する
“`
$ tar zvxf openjdk-14.0.1_osx-x64_bin.tar.gz
“`

置くべきフォルダを確認する
ターミナル上で: フォルダを確認する
“`
$ ls -l /Library/Java
total 0
drwxr-xr-x 2 root wheel 64 7

元記事を表示

Gradle を Ubuntu にインストールして Hello World する

# Gradle を Ubuntu にインストールして Hello World する

こんにちは、[株式会社船井総研デジタル](https://www.fsdg.co.jp/)の @fsdg-adachi_h です。今回は、WSL の Ubuntu 22.04 に Gradle をインストールする手順と、Hello World を出力する方法を紹介します。
![java_on_ubuntu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/3c1ae0a2-b819-6519-f26f-f27448efa535.png)

## 目的

Windows 11 の Linux でクラウド開発します。

こちらから記事の一覧がご覧いただけます。

https://qiita.com/fsdg-adachi_h/items/6119ab05d8b13527efd8

## 実現すること

ローカル環境 (Ubuntu) に Java のプログラムをビルド、実行するツール [Gradle](htt

元記事を表示

jdkのインストール(fedora 37)

# openJDK 17

## インストール

“`
sudo dnf install java-17-openjdk
“`

eclipseをインストールしてからプロジェクト作成し、実行したときに下のようなエラーがでたので、上記コマンドを実行した。

Exception in thread java.lang.UnsatisfiedLinkError: Can’t load library: lib/libawt_xawt.so

元記事を表示

JAVA X2 type02 Season1 Chapter0 :一度Javaを嫌いになりました。

みなさんこんにちは。
毎度お騒がせしております、お調子者のおつうです。
ふざけたタイトルでいままでの恨みつらみに重ね、泥臭い独学について淡々と語ります。

#### この先の展開は、私の興味の赴くままに、自由に進めます。
そのため記事の未来とゴールは不明です。

今回は、「なぜ、Java?」となったかを書きなぐりたいと思います。大して役に立たないとお感じでしたら記事は読まないで大丈夫です。(心が弱いのでディスり不要です)

# Chapter0 一度Javaを嫌いになりました。

ソフトウェア開発はろくに知らぬまま迎えた40歳。
基本能天気なので、副業でホームページで月10万!を(かなり本気で)信じていました。
![webcm.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308477/ecffa721-b6e6-17ee-4788-f35786ee6c60.png)↑これ。こういうやつ。

さてここでみなさんご存じ、駆け出しぶっ潰し隊の登場です。
![スクリーンショット 2023-04-04 22

元記事を表示

ApachePOIを色々連携する話

こんにちは
======
先日ApachePOIを導入→出力するという内容を投稿したものですが
あれでは全然実用性がないジャナイカ
もっといろいろ連携したいジャナイカ
HTMLやJspの内容を出力したいジャマイカ

ということで
本日の議題はこちら

データベースから引っ張ってきた値を
jspでtableタグに放り込んで表を作り、
それをさらに出力できるように
あわよくばスタイル設定までしちゃおう!!

のコーナー

はい
急になんか複雑な感じに見えてきます
でも大丈夫です
プログラミングを初めて4か月目の僕でもできました
つまりはサルでもできるはおろか
犬でもできます
ワン。

ということで早速前提条件を揃えていきましょう
この記事を見ている方からしたら
データベースから値をとってきて、jspにsessionで送り
jspでEL式で表を作るなんてことは朝飯前はおろか
朝起きてうがいするより前にできることでしょう

この時のポイントとして、送りたい表を作っている部分を
formタグで囲いましょう
今回はボタンを押すとXlsx形式でDLできるようにしたいので

“`jsp:そういうやつ

元記事を表示

ApachePOIを導入する話

ApachePOIにかなり躓いたので備忘録的に
導入の手順を残しておくことにする

まず、ApachePOI通称ぽい
(海外の方がYoutubeで説明している動画を閲覧すると
「ぽぉぉい」と何度もいうのでだんだんじわじわ来る)

使用している開発環境に導入することで
Excelとの連携が取れ
【Xlsx】や【Xls】といったエクセルファイルの
操作が行えるというものである

今回の使用環境
===================================
Eclipse
ApachePOI5.0.0
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

まずは
ApachPOIをDL(https://poi.apache.org/)
よりdownloadのリンクをクリック
binaryとsourceの両方があるが
迷ったらsourceをDLしろというのは個人的鉄則

(開発者用などの機能がふんだんにある可能性もあるが
必要なファイルの漏れなどはなくなる可能性が高くなる)

その後解凍すると
poi-*.

元記事を表示

JAVA学習の記録⑨【拡張for文でリストを繰り返し処理】

前回までの学び[JAVA学習の記録⑧【コレクションフレームワーク】](https://qiita.com/rion0726ittoti/items/ff539e25f39efe075bbe)

# リストを拡張for文を使って処理する
リストと繰り返し処理を組み合わせて複数のデータを一括して処理することができる。
拡張for文の構文
“`java
for (型 変数名(取り出した要素を) : リストを入れた変数名) {
繰り返したい処理
}
“`
拡張for文は、通常のfor文と違って条件式がないため、Listなどのすべての要素に対して処理を行います。

“`java
import java.util.ArrayList;
import java.util.List;

public class ListLoopSample {
public static void main(String[] args) {
List animalsList = new ArrayList<>();

animalsList.add(“犬”);

元記事を表示

Amazon Corretto 11 を Ubuntu にインストールして Hello World する

# Amazon Corretto 11 を Ubuntu にインストールして Hello World する

こんにちは、[株式会社船井総研デジタル](https://www.fsdg.co.jp/)の @fsdg-adachi_h です。今回は、WSL の Ubuntu 22.04 に Amazon Corretto 11 をインストールする手順と、Hello World を出力する方法を紹介します。
![aws_on_ubuntu.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3206449/313fd3a8-b9de-a9ae-220a-ba510ed33058.png)

## 目的

Windows 11 に Linux の開発環境を構築します。

こちらから以前の関連記事がご覧いただけます。

https://qiita.com/fsdg-adachi_h/items/2aaa6579cb8e4fa1d874

## 実現すること

+ Windows 11 の WSL Ubuntu

元記事を表示

OTHERカテゴリの最新記事