JAVA関連のことを調べてみた2020年03月22日

JAVA関連のことを調べてみた2020年03月22日

Java 14 (OpenJDK: AdoptOpenJDK) を Homebrew で macOS にインストールする

## 今回の環境

– macOS Catalina 10.15.3

## AdoptOpenJDK 14 をインストールする

公式資料を参考にしてインストールする。
[GitHub \- AdoptOpenJDK/homebrew\-openjdk: AdoptOpenJDK HomeBrew Tap](https://github.com/AdoptOpenJDK/homebrew-openjdk)

“`
$ brew tap AdoptOpenJDK/openjdk
$ brew cask install adoptopenjdk14
“`

## java_home コマンドでインストールされたディレクトリの場所を確認する

“`
$ /usr/libexec/java_home -v 14
/Library/Java/JavaVirtualMachines/adoptopenjdk-14.jdk/Contents/Home
“`

## 環境変数 JAVA_HOME と PATH を設定する

必要に応じて ~/.bashrc や ~/.zshrc などに記述す

元記事を表示

SpringBoot + IntelliJで簡単なHelloWorldを表示

# 概要

SpringBootを使用すると、Javaを使用したWebアプリを比較的簡単に作成することができます。

今回、Spring BootとIntelliJを使用した、簡単なHelloWorldを表示するプログラムを作成して行きたいと思います。

また、以下のリポジトリに今回作成した内容を掲載しております。

https://github.com/kymx1983/first_springboot

# 1.使用する環境

今回使用する環境は以下の通りです。

## 1.1 Java

Javaのバージョンは特に指定しません。サンプルの例ではJava11を使用しています。

Javaは以下からダウンロードできます。

https://www.oracle.com/java/technologies/javase-downloads.html

まず、インストールしたいバージョンの`JDK Download`をクリックします。

[![Image from Gyazo](https://i.gyazo.com/e09c33095284819e362fc577e5be4d13.pn

元記事を表示

GWT 2.8.2 と Maven で Hello World する

[Liberica JDK 11 の JavaFX 11 (OpenJFX) で Hello World する](https://qiita.com/takuya0301/items/39b5de96cd671bc3bb76)を書いて、[JavaFX で作ったミニゲームを GWT で Web ブラウザに移植してみる](https://qiita.com/old_horizon/items/5616ba2eaa22b0d7e996)を読んで、[GWT](http://www.gwtproject.org/) ってあったなぁと懐しく思い、[Getting Started](http://www.gwtproject.org/gettingstarted.html) をやってみたのでメモっとく。

最近の Web アプリケーションで、REST という概念との整合性に疲れてきているので、クライアント開発をする上で GWT って素晴らしいんじゃないかなと思ったりしている。[サーバーとブラウザークライアント間の RSocket 通信を Spring Boot と rsocket-js で実装する]

元記事を表示

Liberica JDK 11 の JavaFX 11 (OpenJFX) で Hello World する

『みんなの Java OpenJDK から始まる大変革期!』を読んでいて、何となく Liberica JDK 11 の JavaFX 11 で [Getting Started with JavaFX](https://openjfx.io/openjfx-docs/) をやってみたのでメモっとく。

ほとんどの OpenJDK ディストリビューションには JavaFX (OpenJFX) は含まれていない。なので、Getting Started with JavaFX の手順を素直にやるとちょっと手間がかかる。でも、Liberica JDK 11 を SDKMAN! などでインストールすれば簡単に JavaFX 11 で遊べる。

# SDKMAN! で Liberica JDK 11 をインストールする

[SDKMAN!](https://sdkman.io/) で Liberica JDK 11 をインストールする。JavaFX が含まれないバージョンもあるので注意する。インストールできる Java バージョンの一覧は `sdk list java` コマンドで確認できる。

元記事を表示

Eclipseのショートカットキー(Windows,Mac)

自宅ではmac、現場ではwindowsを使用しています!
エンジニア経験がまだ浅い為、開発効率を上げるという事で辞書がわりにここにショートカットを記しておこうと思いました!

絶対覚えておいたほうが良い!
———————-

| | windows | mac |
|:——————|————:|———:|
|インデント|Ctrl+shift+F|command+⇧+F|
|コメントアウト(解除)|Ctrl+/または
Ctrl+Shift+C|command+/または
command+⇧+C|
|宣言を開く|F3|F3|
|javadockコメント|Alt+Shift+J|option+command+J|
|ステップイン|F5|F5|
|ステップオーバー|F6|F6|
|ステップリターン|F7|F7|
|再開|F8|F8|

**補足**

javadockコメント

Pleiades Eclipse 2020-03 リリース 〜 Java 14 新機能を試そう!

Pleiades All in One Eclipse 2020-03 をリリースしました。現在の Java 11 LTS から 2021 年の Java 17 LTS の移行に向けて、新機能を試しておきましょう。Pleiades All in One の Java Full Edition は解凍するだけで、Java のインストールや環境変数の設定が不要で Eclipse の各種設定も自動で行われるため、すぐに日本語化された Eclipse で Java 14 を利用できます。

**Pleiades All in One ダウンロード**
http://mergedoc.osdn.jp/
![splash.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/45147/1ac4c1cc-3e6f-adc6-a867-79a233dfca48.png)

# Java 14 プロジェクトの作成

デフォルトで設定済みの Java 6, 7, 8, 11, 14 から 14 を選択するだけです。
Java の

JavaでAzure Blob Storageを操作する(SASトークン、ファイル操作)

# この記事について

この記事では、[Azure Blob Storage](https://azure.microsoft.com/ja-jp/services/storage/blobs/)をJavaライブラリを使用して操作する際に必要なことを調べたのでメモしていきます。

使用しているライブラリなどは以下のバージョンです。

* Java version: OpenJDK Client VM AdoptOpenJDK (build 11.0.6+10, mixed mode)
* [Azure Storage Blob](https://mvnrepository.com/artifact/com.azure/azure-storage-blob): 12.5.0

## 準備するもの

### Azureのアカウント

当然のごとく必須です。

### Azure Storage Account

Azure Portalから、ダッシュボード > ストレージアカウント > ストレージ アカウントの作成 を選択し、
ストレージアカウント名などを入力し、アカウントの種類で「Blo

EclipseでJUnit5がjava.lang.NoClassDefFoundError: org/junit/platform/engine/EngineDiscoveryListenerになる

eclipseでJUnit5を実行しようとしたら、以下のようなエラーが発生する場合がある。

“`java
java.lang.NoClassDefFoundError: org/junit/platform/engine/EngineDiscoveryListener
at java.base/java.lang.ClassLoader.defineClass1(Native Method)
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:801)
at java.base/jdk.internal.loader.BuiltinClassLo

Java sample code 04

##[SAMPLE GALLERY](http://blueplace.sakura.ne.jp/index.html)に掲載されたソースを疎通してimport文も付けました。
#4.java poi Excel
– Excelファイルを作成
– シート名の設定
– シートの色を指定
– セルに値を入力
– 文字の大きさを指定
– フォントを指定
– 文字を太字にする
– 文字をイタリックにする
– 文字に下線を引く
– 文字に取消線を引く
– セルの背景色を指定
– 値の整列(水平方向)
– 値の整列(垂直方向)
– セルの文字の色を指定
– セルの枠線を指定
– セルの枠線の色を指定
– セルの折り返しを指定
– セルにハイパーリンクを設定
– セルの結合

##4.java poi Excel
####4-1.Excelファイルを作成

“`java
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import java.io.FileOutputStream;
import java.io.IOException;
im

Java sample code 03

##[SAMPLE GALLERY](http://blueplace.sakura.ne.jp/index.html)に掲載されたソースを疎通してimport文も付けました。
#3.java poi Word
##poiのjarファイルをダウンロード必要
– install(https://poi.apache.org/)
– Wordファイルの作成
– Wordファイルに文字を書く
– 文字を太字にする
– 文字をイタリックにする
– 文字に下線を引く
– 文字の色を設定
– タブを付ける
– 取消線を付ける
– 二重取消線を付ける
– フォントサイズを指定する
– フォントを指定する
– 改行を入れる

##3.java poi Word
####3-0.download&install
下記のサイトからダウンロードしたbinファイルから、「*.jar」ファイルをProjectにコピーする
https://poi.apache.org/
https://xmlbeans.apache.org/download/
– サブコンポーネント
– POIFS (Poor

Iteratorパターン実装してみた

どーも、ふぎとです。

今回は結城浩『Java言語で学ぶデザインパターン入門』
(SB Creative)を参考にしながら、デザインパターン
のひとつである「Iteratorパターン」を実装していき
ます。

##Iteratorパターンとは

>Iteratorパターンとは、何かがたくさん集まっている
ときに、それを順番に指示していき、全体をスキャン
していく処理を行うためのものです。(P.2)

例えていえば、「袋に入ったモノの正体をひとつずつ
調べる」というプログラム、という感じかな。

本書ではサンプルプログラムとして、「本棚の中に入
れた本を調べ、その本の名前を順番に表示する」もの
が紹介されています。今回はそこにアレンジを加えて
「**ソングリストに入った曲をひとつずつ表示させる**」
プログラムをIteratorパターンで書いていこうと思いま
す。

##Aggregate(集合体)インターフェース
>Aggregateインターフェースは、数え上げを
行うものの「集合体」を表します。(P.3)

ここでは「曲の集合体」を表す「SongAggregate」
というインタ

JavaでBasic認証作ってみた

# 参考サイト様
let’s プログラミング
https://www.javadrive.jp/servlet/auth/

# 環境
eclipse2019-9
tomcat9

# 書いた動機
学んだことを忘れないためのメモ書きです。
ほぼ上記参考サイト様の通りで動きましたが、自分の環境に合わせてちょこちょこ変更したので、変更部分を書いておきます。

# Basic認証とは
簡易的な認証方法。
Webサイトを開くとポップアップが表示され、ログインIDとパスワードを要求されます。
IDもパスワードも暗号化されずに送信されるため、セキュリティ的にはだいぶ弱いらしい。
一度ログインするとブラウザを閉じるまでログイン状態が保持されます。

# 用意するファイル
+ servlet
+ web.xml
+ auth.xml
+ tomcat-users.xml

## servletの作成
まずはservletを作っていきます。

“`Java:AuthTest1.java
package auth;
import java.io.IOException;
import java.io.P

Oracle認定Java_silver対策メモ1

##はじめに
エンジニアとして働き始めはやくも5ヶ月目、そろそろ資格をとろうかと。。。ということで!「Oracle認定JavaSE Silver」の対策として、黒本をもとに各章ごとの重要そうなポイントをピックアップしまとめてみました。

##1章 簡単なJavaプログラムの作成

* エントリーポイント:プリグラムを実行する上で実行を開始する場所(mainメソッドがある場所の認識でOK)

* Javaコマンドの呼び出し方法は

“`
java クラス名 コマンド引数1 コマンド引数2…
“`
* Java11からコンパイルせずにJavaの実行が可能になった

“`
java ファイル名.java
“`
* Javaコマンド実行次の注意点
* 起動パラメータの区切りは半角スペースで判断される。
* エスケープ「¥」を用いることで「”」が文字として扱われる。

“`sample
java sample x “y y”z ¥” c¥”   // x , y yz , “ , c” 
“`

##2章 Javaの基本データ型と文字列操作
* 整数リテラルの表記

GradleでJDKをダウンロードしてJREを作る

Javaのスタンドアロンアプリケーション配布をする場合、JREを同梱しておくと環境設定が要らなくなるのですが、そのためには各プラットフォーム向けのJREをアプリケーションに同梱する必要があります。
フルサイズのJREを同梱してもいいのですが、Java9以降はモジュールがサポートされているので、せっかくなら必要な分だけを入れたJREを作る方が望ましいわけですが、その場合には各プラットフォーム向けのJDKに入っているjmods以下のファイルが必要になります。

セットアップのために手動でJDKをダウンロードするのは意外と手間なので、build.gradleに以下のようなスクリプトを追加してみました。

“`groovy
plugins {
id “de.undercouch.download” version “4.0.4”
}

task prepareJDK{
downloadAndExtractJDK(“jdk/win”,’http://download.bell-sw.com/java/11.0.6+10/bellsoft-jdk11.0.6+10-windows-amd

JAVA学习

hello world

IBM Cloud Object Storage(ICOS)に付属しているAsperaにSDK(Java版)を用いてファイルアップロードする

IBM Cloud Object Storage(ICOS)にファイルをアップロードする方法です。
今回はICOSに付属しているAsperaに対して、Java版のSDKを用いて操作を行います。

# 使用した環境
* macOS Mojave 10.14.6
* IntelliJ IDEA Ultimate 2019.03
* Java8

“`
$ java -version
java version “1.8.0_211”
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
“`

# Java版SDKのセットアップ
こちらを参考にセットアップ下さい。
[GitHub:IBM/ibm-cos-sdk-java](https://github.com/IBM/ibm-cos-sdk-java)

基本的には `pom.xml` にSDKのエントリを追加するだけです。

# ICOSの情報確認
IB

Java sample code 02

##[SAMPLE GALLERY](http://blueplace.sakura.ne.jp/index.html)に掲載されたソースを疎通してimport文も付けました。
#2.FileIO
– テキストファイルに書き込み
– テキストファイルに改行を入れる
– テキストファイルの読み込み
– ウェブページの内容の読み込み
– ファイルを別のファイルにコピー
– 文字コードを指定しテキストファイルを読み込む(文字化け対策)
– テキストファイルに文字列を書き込む
– テキストファイルの文字列を読み込む

####2-1.テキストファイルに書き込み
“`java
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class SampleOutputStream {

public static void main(String[] args) throw

Java sample code 01

#1.Java サンプルプログラム
##[SAMPLE GALLERY](http://blueplace.sakura.ne.jp/index.html)に掲載されたソースを疎通してimport文も付けました。
– Java 基本
– Hello World(文字をコンソールに出力)
– for文(ループ)
– if文(条件分岐)
– switch文(条件分岐)
– 簡単な四則演算
– メソッドの呼び出し
– メソッドの呼び出し(引数有り)
– 配列
– 多次元配列
– コンソールに入力
– 文字数の取得
– Listクラス
– Mapクラス
– Setクラス
– Java Stringクラス(文字列)
– 二つの文字列が同じかどうか判定:equals
– 大文字小文字区別なく2つの文字列が同じかどうか判定:equalsIgnoreCase
– 辞書の順序で文字列の大小を比較:compareTo
– 大文字小文字区別なく辞書の順序で文字列の大小を比較:compareToIgnoreCase
– 文字列の結合:

Java 14でTable Driven Testを実装する

## はじめに
Java 14がついにリリースされたので、
以前書いた[JavaでTable Driven Testを実装する](https://qiita.com/nodataka/items/06ac753036d671371554)で紹介したソースコードを、
Java 14でPreviewとして追加された[Records](https://openjdk.java.net/jeps/359)を使って書き直してみました。

## Java 14以前のTable Driven Test
以前のソースコードでは、
テストケースをTestCaseという内部クラスで保持していました。
コンストラクタやgetterはLombokを使って定義していました。

“`java
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.experimental.Accessors;
import org.junit.jupiter.api.*;

import java.util.stream.Stream;

im

結城浩『Java言語で学ぶデザインパターン入門』(SB Creative)読んでみた

こんにちは、ふぎとです。

今回は結城浩さんの本で、デザインパターンを学んでみ
ました。

##「デザインパターン」とは

この本を手に取ったきっかけは、情報系の友人からの薦
めがあったからでした。「実務で絶対に役に立つから」
という太鼓判を鵜呑みに、おっかなびっくり手にとった
次第です。

まず浮かんだのは、「デザインパターンってなに?」と
いうこと。これは本書冒頭に説明がありました。

“プログラミングを行っていると、以前と同じことを繰
 り返しているなあ、と気づくときがあります。経験が
 増すにつれ、そのような「パターン」(….)を次の開発
 に当てはめていくことができるようになります。 
 Erich Gamma, Richard Helm, Ralph Johnson, John
 Vlissidesの4人が、そのような開発者の「経験」や
 「内的な蓄積」としてのパターンを
 
 「デザインパターン」

 という形に整理しました。”(「はじめに」より)

要するに、デザインパターンとは「先人の知恵」のよう
なもの。また、開発者同士の「共通言語」のようなもの、
だということ