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

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

GoogleマップをWebページに表示する(Spring Boot + Thymeleaf)

#概要
Spring Bootの学習をしていて、Google MapをWebページに表示したいなという事でMaps JavaScript APIを使用してみました。
今回はThymeleafのフラグメントを使用して、ホーム画面にGoogle Map表示します。
htmlファイルにjavascript、cssも埋め込んでしまえば公式のサンプルソースで一瞬だったのですが、
それぞれ別ファイルで読込しつつ、フラグメントも使用するとどこで読込すれば良いのかが分からずつまずきました。(というかjavascriptは結局html埋込にしました。。)
※GCPの設定方法は省略しています。

#環境
– macOS Catalina
– Version: 10.15.7
– Eclipse IDE for Enterprise Java Developers.
– Version: 2020-03 (4.15.0)
– STSプラグイン
– Spring Boot 2.2.6
– Java8
– Maven

#参考サイト
– [Google Cloud Platform公式サ

元記事を表示

Visual Studio CodeでPlantUMLを利用する方法(2020/10/30作成)

2020年10月30日まででVisualStudioCodeでPlantUMLを利用する方法をメモとして挙げておきます。
この方の記事をもとに作成しました。(https://qiita.com/couzie/items/9dedb834c5aff09ea7b2)

手順は以下の通りです。
環境導入
1.Visual Studio Code のインストール
2.Javaのインストール
3.Graphvisのインストール
4.PlantUMLのインストール

動作確認
1.ファイル作成とプレビュー表示
2.画像ファイル出力

各エラーの対処法

参考情報

#環境導入
### 1. Visual Studio Codeのインストール

 ※すでにVisual Studio Codeをインストールしている場合この作業は必要ありません。

 1.Visual Studio Code (https://code.visualstudio.com/) を開く
 2.[Download for Windows] を押してインストーラーをダウンロードする
 3.インストローラーを実行する

###2

元記事を表示

JavaFXを使ってGUIを作ろうとした際の備忘録

##記事を書いた目的
プログラム初心者の自分が JavaでGUIを作ろうと思い立ったはいいものの
環境構築からまっさらなウインドウを表示させるまでに5、6時間かかってしまったので
今後他のOS、PCで設定するときに困らないようにメモとして残しておきたいためです。

##環境
macOS Mojave(10.14.6)
JavaSE-11
Eclipse 2020

##環境構築スタート

###1.Eclipseのインストール
基本的に下記のサイト様を参考にインストール、設定を行いました。

EclipseでJava開発環境を作る(Mac編)


ワークスペースのディレクトリについては、よく分からなかったのでデフォルトのまま作成。

###2.e(fx)clipse、Scene Builderのインストール、設定
これに関しては下記のサイト様を参考にしました。

【Java入門】GUIの開発フレームワークまとめ(Swing、JavaFx、AWT)


(Scene Builderの起動時に特に文字化けは起こらなかった。)

SceneBuilder 実行可能ファイルについてはmacのため
/A

元記事を表示

Apache POI の使い方

今日はPOIの使い方について簡単に説明していこうと思います

詳細は下記の公式サイトを参照ください
[Apache POI ](https://poi.apache.org/)

#ワークブックを作成する
まずは作業対象となるワークブックを作成します
一つ注意点があるのですが、既存のファイルを読み込む場合は先にFileInputStreamを生成しておく必要があります
書き込みの場合は書き込みたい時にFileOutputStreamを生成すれば大丈夫です

“`java
//書き込みの場合
Workbook workbook = new XSSFWorkbook();//xlsx、xlsmファイルの場合

//いろいろな処理

//出力先の生成
String filePath = “エクセルファイル.xlsx”
tyr(FileOutputStream output = new FileOutputStream(filePash)){
//書き込み
workbook.write(output);
}

元記事を表示

【Java】Mathクラスの使い方

#プログラミング勉強日記
2020年10月31日
数値を扱うMathクラスの主なメソッドとそれぞれの使い方を簡単にまとめる。

#Mathクラスとは
 平方根や指数関数、対数関数などを使用できる数値処理を実行するためのメソッドがまとめられたクラス。Mathクラスはjava.langパッケージにあるので、インポートをする必要がない。
 下記でMathクラスの主要関数の使い方をまとめる。

#absメソッド
 absメソッドは絶対値を求めるメソッド。

“`:基本的な書き方
絶対値 = Math.abs(対象の数値);
“`
 ここで引数はint型、double型、float型、long型の数値を1つ入れることができる。(戻り値は同じ引数の型)

#maxメソッドとminメソッド
 値の大小を求めるためのメソッドで、数値を比較してより大きい値を求めるときにはmaxメソッドを、より小さい値を求めるときにはminメソッドを使用する。

“`:基本的な書き方
大きい値 = Math.max(比較する値, 比較する別の値);
小さい値 = Math.min(比較する値, 比較する別の値);

元記事を表示

【初心者】Javaの基礎的な”配列”の記述

#javaの配列の書き方

Java初心者です。学んだことを記述していきます。

###1.配列  
一個ずつ丁寧に配列を作ったやり方

“`

String[] memo = new String[5];    //5個分の配列をmemo変数に代入

memo[0] = “だいこん” ;    
memo[1] = “にんじん” ;
memo[2] = “さば” ;
memo[3] = “レモン” ;
memo[4] = “からし” ;

String fruits = memo[3] ;    //memo[3]の配列をfruitsに代入  
System.out.println( fruits );

(コンソール実行結果)

レモン
“`
#####上記の省略した書き方
“`
String[] memo = {“だいこん”,”にんじん”,”さば”,”レモン”,”からし”};

String fruits = memo[0] ;   
System.out.println( fruits )
“`

###2.二次元配

元記事を表示

【Java】標準ライブラリ② – 正規表現

# 一覧
| パターン | マッチ文字列 |
|:-:|:-:|
|XYZ|XYZという文字列|
|[XYZ]|XYZいずれか一文字|
|[^XYZ]|XYZ以外の一文字|
|[X-Z]|X~Yの範囲で一文字|
|[a-zA-Z]|aからz、またはA~Zの範囲|
|(X|Y|Z)|XYZのいずれか
[ABC|]|
|X*|Xが0回以上発生
(“do*n”の場合”dn”,”don”,”dooon”など)|
|X+|Xが1回以上発生
(“do+n”の場合”don”,”dooon”など)|
|X?|Xが0または1回発生
(“do?n”の場合”dn”か”don”)|
|X{n}|Xがn回発生
(“do{2}n”の場合”doon”)|
|X{n,}|Xがn回以上発生
(“do{2,}n”の場合”doon”,”doooon”など)|
|X{n,m}|Xがn~m回発生
(“do{2,3}n”の場合”doon”か”dooon”)|
|.|任意の文字|
|\w|大文字/小文字の英数字、アンダースコア
[a-zA-Z_0-9]|

元記事を表示

SQL SELECT文を覚えよう 初心者向け

データベースからデータを取得する際にSELECT文を覚えていないと、
思ったように取得出来ずに時間が経過した経験の持ち主です。

SELECT文では、
・特定のレコードを取得
・〇〇円以上の商品データのみ取得
・あるテキストデータ(例:Tシャツ)が含まれているデータのみ取得
等々覚える必要があることがわかります。

それではSELECT文を学習した内容をアウトプットしていきます。

前提

テーブル box

カラム id name message price time

で登録されていることを前提例で進めていきます。

テーブルから特定のカラムを取得

※テーブルboxからnameのみ取得する場合

“`php:sql

SELECT name FROM box;


②どのカラムを取得したいの?(SELECT name) ①どのテーブルの?(FROM box;)

“`

データベースには複数のテーブルがありますので、
テーブル(box)を指定してあげた上でカラム(name)を指定する必要があります。

例えば、

“`php:sq

元記事を表示

replace()メソッドの使い方(Javaシルバー)

# replaceメソッド

**文字列を置換する**

replaceメソッドは対象の文字列から第1引数で指定した文字列を検索し、マッチした文字列を第2引数で指定した文字列で置換する。そして、置換後の文字列を戻り値として返す。文字列の置換は先頭から始まり、文字列の最後まで行われる。

簡単に言うと**第一引数で指定した文字列を第二引数で指定した文字列に置換**する。

Stringクラスのメソッド
java.lang.String.replace()

## 使い方

“`java
対象の文字列.replace(置換される文字列, 置換文字列)
“`

“`java
public static void main(String[] args) {

// 対象の文字列
String strBefore = “Hello world!”;

// 置換される文字列”Hello” を 置換文字列”Goodbye”に置換
String strAfter = strBefore.replace(“Hello”, “Goodbye”);

元記事を表示

SpringBootで作成したアプリケーションをHerokuへデプロイ(公開)②

SpringBootで作成したアプリケーションをHerokuへデプロイ(公開)①の続きです。

④Heroku上にアプリを作成

下記のコマンドでHeroku上にアプリを作ります。

“`
$ heroku create <アプリの名前>
“`

アプリの名前を付けずに実行すると、自動的に命名されます。
アプリ名を「myapp」にしたい場合は「heroku create myapp」ですね。

コマンドを使わずに、Herokuのサイト上でも作成できます。

・サイト右上の「new」から「Create new app」を選択
![スクリーンショット 2020-10-29 16.46.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/639462/00637aaa-2529-f7cd-b429-28a86f985ea1.png)

・アプリ名を入力し、「Create app」を押す
regionは現在アメリカか、ヨーロッパのどちらかしか選択できません。

![スクリーンショット 2020-

元記事を表示

SpringBootで作成したアプリケーションをHerokuへデプロイ(公開)①

はじめに

SpringBootにて作成したアプリケーションがローカル環境において想定通りに動作し、あとは本番環境にアップして公開だけだなぁと一息ついていたのですが、想像の倍ハマりました・・・・

最終的に公開できたので、Herokuに公開にあたって何を行ったのかを紹介します。

私以外でHerokuでのデプロイにおいて悩んでいらっしゃる方にとって参考になる記事になれば幸いです。

環境

OS: macOS Catalina 10.15.6
JDK:14.0.1
Spring Boot 2.3.3
jquery 3.3.1-1
bootstrap 4.2.1
maven
eclipse

作成したアプリケーションについて

筆者は「【後悔しないための入門書】Spring解体新書」を参考に、Spring MVCでCRUDアプリケーションを作成しました。
アプリケーションに実装している主な機能は下記の通りです。 

・ログイン/ログアウト
・新規会員登録/退会
・登録情報更新
・コンテンツ検索
.テンプレートエンジンにはthymeleaf、CSSフレームワークには

元記事を表示

【Java】標準ライブラリ① – 文字列操作

標準ライブラリ(標準で使えるクラス)についてのまとめです

#ラッパークラス
* 基本型(値)のデータを包んでオブジェクトとしての機能を付与するクラス
* Boolean,Byte,Character,Double,Float,Integerなど
* **オートボクシング**
* **ボクシング**:基本型からラッパーオブジェクトへの変換を暗黙的に行う


 `Integer int_obj = 108;`


//明示的に変換する場合
`Long value = Long.valueOf(10);`
* **アンボクシング**:ラッパーオブジェクトから基本型への変換を暗黙的に行う

`int i = int_obj;`


//明示的に変換する場合
`long num = value.longValue();`
* 内部的にはオブジェクトの生成・破棄が発生するので、ループの中で安易に使わないようにしたい。まずは基本型を優先。

“`Java
public static void main(String[] args) {
//正しくはlo

元記事を表示

Tomcatのメモリ利用状況を調査・分析するための参考情報

# 概要

現代においても、まだまだTomcatを利用したWebアプリケーションが多数存在しています。
(別に批判ではなく、多くのサービスで利用され、バージョンアップも継続され、情報も多い製品なので優秀なアプリケーションサーバーだと思っています。)

開発会社が環境構築し、Javaで構築したシステムをそのサーバーに配置してしばらく運用していると、どうしても性能面などで問題が出てくることがあります。

例えば、ログを出力しているのはいいが、ローテーションやファイルの破棄サイクルを考慮していないため、ストレージを圧迫していきなりストンとサーバーが落ちたり、徐々にヒープメモリの利用状況が右肩上がりとなり、OutOfMemoryErrorなどでTomcatが死んだり、死なないまでもシステムのレスポンスが悪化し、トラブルが発生したりと、いろんなことが発生します。

ストレージを圧迫していることが判明した場合は、不要だと判断したファイルを削除して**暫定対応**し、**恒久対応はまた今度**となることがよくあります。

なんかシステムのレスポンスが悪く、軽く調べたところメモリが原因と思われるとき、

元記事を表示

ゼロから始めるSpring Boot その1

####目標
複数回に分けて実施予定です。

1. SpringBootとは何かをざっくり知る ←今回やります
1. 環境構築&Hello World!を表示させる ←今回やります
1. パラメータやオブジェクトの受け渡しをする
1. 他の機能にも触れてみる

####参考文献
* [SystemLinkIT塾 SpringBoot入門講座](https://www.sys-link.jp/technical/SpringBoot/SpringBoot_menu.html)
自分自身が初めてSpringBootを学習した際参考になりました。
* [Thymeleaf公式ドキュメント](https://www.thymeleaf.org/documentation.html)
公式ドキュメントだけあって非常に充実した内容です。

#SpringBootとは
Javaのフレームワークの一種である`spring`をより簡単に書けるようにしたものです。アノテーション(`@Ove

元記事を表示

Note Book : OpenCV v4.5.0 with Alphamat Install On Windows10 But it need Eigen

OpencvでAlphamatを使うのに必要。

environment
・windows 10
・cpu ryzen 3700x
・gpu ncvidia-rtx3900

software
・anaconda
・ninja
・cmake
・git
・opencv-4.5.0
・ant 1.8.2
・open-jdk-15
・cuda 11
・cudnn 8.4
・visual studio 2019

“`text:cmd

mkdir eigen
cd eigen
git clone https://gitlab.com/libeigen/eigen.git

cd eigen
mkdir build
cd build

cmake -G “Visual Studio 16 2019” -T host=x64 -DCMAKE_INSTALL_PREFIX=/tools/opt/eigen -DEIGEN_INCLUDE_PATH=/tools/opt/eigen build64 -DEIGEN_TEST_CUDA=ON -DBLAS_DIR=/tools/opt/openbl

元記事を表示

【Java】制御構文のまとめ

#構造化プログラミングの要素
* 順次(順接)
* 選択
* 反復

これらを実装する制御構文についてまとめ

#if命令
* boolean変数を==で比較しない
* NG例 `if (flag == true )` など
* `if (flag)` `if (!flag)` を使う
* 否定を乱用しない
* →肯定文に空文を使い、elseのみ使うなど読みやすくしよう

“`java
import java.util.*;

public class Main {
public static void main(String[] args) throws Exception {
var i = 10;
if (i == 10) {
System.out.println(“変数iは10です。”);
} else {
System.out.println(“変数iは10ではありません。”);
//以下と同じ
//System.out.println((i==10)?”変数は10です”:”10で

元記事を表示

Note Book : OpenCV with CUDA Install On Windows10

Opencvのインストール。CUDA有効化と設定値。

environment
・windows 10
・cpu ryzen 3700x
・gpu ncvidia-rtx3900

software
・anaconda
・ninja
・cmake
・git
・opencv-4.5.0
・ant 1.8.2
・open-jdk-15
・cuda 11
・cudnn 8.4
・visual studio 2019

instalacion

“`text:cmd.exe
cmake -G “Visual Studio 16 2019” -A x64 -S . -B “build64”
cmake -DCMAKE_INSTALL_PREFIX=/tools/opt/opencv build64 -DWITH_CUDA=ON -DOPENCV_DNN_CUDA=ON -DOPENCV_EXTRA_MODULES_PATH=C:/tools/opencv/opencv-4.5.0-bin-win.work/opencv_contrib/modules -DDVTK_DIR=C:/tools/

元記事を表示

Note Book : VTK Install On Windows10

OpencvでCUDAを有効にする場合に必要になる。

environment
・windows 10
・cpu ryzen 3700x
・gpu ncvidia-rtx3900

software
・anaconda
・ninja
・cmake
・git
・opencv-4.5.0
・ant 1.8.2
・open-jdk-15
・cuda 11
・visual studio 2019

“`text:cmd.exe
mkdir vtk
git clone –recursive https://github.com/Kitware/VTK
cd VTK
mkdir build
cd build
cmake -G “Visual Studio 16 2019″ -T host=x64 -DCMAKE_INSTALL_PREFIX=”/tools/opt/tools/vtk” ..
cmake –build . –config RELEASE –target install
“`

#####capture
![image.png](https://qiita-image

元記事を表示

Note Book : LAPACK Install On Windows10

OpencvでCUDAを有効にする場合に必要になる。

It isn’t work anaconda ninja and fortran.exe, clang-cl.exe.
This lapack is ver 3.9.

looks like this setting.
cmake .. ^
-G “Ninja” ^
-DCMAKE_C_COMPILER=C:/Users/admin/anaconda3/Library/bin/clang.exe ^
-DCMAKE_Fortran_COMPILER=C:/Users/admin/anaconda3/Library/bin/flang.exe ^

If use msys64 is OK.
cmake .. -G “MSYS Makefiles” -DCMAKE_C_COMPILER=gcc -DCMAKE_Fortran_COMPILER=gfortran

environment
・windows 10
・cpu ryzen 3700x
・gpu ncvidia-rtx3900

software
・msys64
・cmak

元記事を表示

Note Book : OpenBLAS Install On Windows10

OpencvでCUDAを有効にする場合に必要になる。

reference
https://github.com/xianyi/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio

environment
・windows 10
・cpu ryzen 3700x
・gpu ncvidia-rtx3900

software
・anaconda
・ninja
・cmake
・git
・opencv-4.5.0
・ant 1.8.2
・open-jdk-15
・cuda 11
・visual studio 2019

“`text:cmd.exe
conda config –add channels conda-forge
conda install -y -c isuruf kitware-ninja
conda install -y cmake flang clangdev perl libflang
“C:\Program Files (x86)\Microsoft Visual Studio\2019\Com

元記事を表示

OTHERカテゴリの最新記事