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

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

Visual Studio CodeによるSpring Boot2 Webアプリ開発 SQLServer接続編

#はじめに
[こちら](https://qiita.com/t_skri/items/4e3c11050f93e4761dda)で作成したSQLServer接続WebアプリのSpring Boot版です。

#環境
OS:Windows 10 Pro 64bit
DB:SQL Server 2019(Cent OS 8 on Hyper-V)
Editor:Visual Studio Code 1.44.2
JDK:AdoptOpenJDK 11.0.6+10 x64

#ひな型作成
spring initializr[(https://start.spring.io/)](https://start.spring.io/)で、以下の設定で作成しました。

![2020-05-05 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/591423/6fc9fd3f-c0f8-d796-829c-9ac19fa0d896.png)

作成したひな型を「D:\JAVA\Project」に展開します。

#

元記事を表示

Ruby と Perl と Java と Python で解く AtCoder ABC 107 B 文字列操作

# はじめに
*[AtCoder Problems](https://kenkoooo.com/atcoder/#/)* の Recommendation を利用して、過去の問題を解いています。
AtCoder さん、AtCoder Problems さん、ありがとうございます。
# 今回のお題
*[AtCoder Beginner Contest 107 B – Grid Compression](https://atcoder.jp/contests/abc107/tasks/abc107_b)*
Difficulty: 434

今回のテーマ、文字列操作
# Ruby
“`ruby.rb
h, w = gets.split.map(&:to_i)
a = []
h.times do |i|
s = gets.chomp
a.push(s) if s.count(‘.’) != w
end
1.upto(w) do |i|
f = true
a.each do |x|
f = false if x[w

元記事を表示

UbuntuでJAVA_HOMEの設定

UbuntuでJAVA_HOMEの設定方法について記載する。

– javaは、alternativesを経由している前提。
– /usr/bin/java -> /etc/alternatives/java -> (実際のjavaのロケーション)
– PATHは、/usr/binに通っているので、特に対応しない。
– 複数のjavaを切り替える場合もsourceコマンドを実行することで対応できるようにしておく。
– 切り替え方は、こちらを参照。「 [Ubuntuで、複数のJavaをインストールして切替を行う](https://qiita.com/yochapan/items/af86a320035f8db7daf4)」

# やり方
### /etc/profle.d配下にjava_home.shを作成

– /etc/profile.d配下のshellは、ログイン時に実行される。

“`sh
sudo vi /etc/profile.d/java_home.sh
“`

### JAVA_HOMEのエクスポートを記載

– javaコマンドの絶対

元記事を表示

バージョン違いによるSpring Bootの機能について

[前回](https://qiita.com/wataru908/items/239404926f926743e65b) の続きです。
今回はSpring Boot2になったことで、使用できるメソッド等が変更されていることについてです。

#変更点
##1.findOne
教材には、findOneメソッドを使用しているが、これをそのまま使用すると、
findByIdメソッドへの変更を促されます。
また、戻り値もOptional型になっています。

“`java:教材(以前のバージョン)
public MeetingRoom findMeetingRoom(Integer roomId) {
return meetingRoomRepository.findOne(roomId);
}
“`

“`java:SpringBoot2変更点
public Optional findMeetingRoom(Integer roomId) {

return meetingRoomRepository.findById(roomId);
}
“`

Opt

元記事を表示

Resilience4j の RateLimiter を用いた Rate-Limitting

https://github.com/resilience4j/resilience4j

resilience4j は主に Java 向けの Circuit Breaker 実装として著名なものになる。Rate-Limitting 関連の機能も存在している。

https://github.com/resilience4j/resilience4j#ratelimiter

以下では以下のサンプルプログラムをベースに検証を行っている。

https://github.com/resilience4j/resilience4j-spring-boot2-demo

# Configuration
## build.gradle

Spring Boot と連携をする場合は `io.github.resilience4j:resilience4j-spring-boot2` を使用する。

“`
dependencies {
compile(‘org.springframework.boot:spring-boot-starter-webflux’)

元記事を表示

Ubuntuで、複数のJavaをインストールして切替を行う

– 複数のjavaをインストールして切替を行う方法について記載する。
– Ubuntu 16.04で実施。
– java8とjava9をインストールして切り替えてみる。

# やり方
## インストールするjavaの検索

“`sh
$ sudo apt search openjdk-.*-jdk$

openjdk-8-jdk/xenial-updates,xenial-security 8u252-b09-1~16.04 amd64
OpenJDK Development Kit (JDK)

openjdk-9-jdk/xenial 9~b114-0ubuntu1 amd64
OpenJDK Development Kit (JDK)
“`

## javaのインストール
### java8のインストール
“`sh
$ sudo apt install openjdk-8-jdk
“`
### java9のインストール
“`sh
$ sudo apt install openjdk-9-jdk
“`

## javaバージョンの確認
“`sh
$ java

元記事を表示

開発環境構築 for Mac (Java、Gradle、Groovyインストール)

#### ■brewインストール
1. 以下を実行してインストールする。

“`shell
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
“`

#### ■Javaインストール

1. 下記のサイトからJava SE Development Kit *u*** → Mac OS X → jdk-*u***-macosx-x64.dmg をダウンロードし、インストーラを実行する。

[Java8(Archive)](https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html)
[Java9(Archive)](https://www.oracle.com/java/technologies/javase/javase9-archive-downloads.html)

2. 環境変数の設定(バージョンに合わせて以下を実行)

“`

元記事を表示

javaとpythonの違い(メモ)

#はじめに
小生はこれまで書いてきたステップ数、時間ではJavaが圧倒的に多いです。
昨今、Pythonがかっこいいので勉強しています。
Javaとの違いをわかりしだいメモしていきたいです。

#インクリメント
pythonにはインクリメント演算子(++)が無い。

#オーバーロード
pythonはオーバーロードしたメソッド(同名だが引数の構成が異なる
メソッド)が作れない。

#for文

“`java:Java
for(int i=0;i<10;i++){ //処理 } ``` ```Python:Python for i in range(10): #処理 ``` #クラスメソッドの引数 pythonはクラスメソッドの第1引数は自分自身のオブジェクトであり、 慣習的にselfが使用される。 #インスタンス変数 pythonはインスタンス変数を使う時は、クラス内であっても明示的に クラスオブジェクトを示す変数名で修飾しないといけない。(インスタンスメソッドも同様) ```java:Java class Hoge{ int arg1; p

元記事を表示

micronautドキュメント目次メモ

# これは何?

micronaut の[ユーザーガイド](http://docs.micronaut.io/latest/guide/index.html)のどこをを読めばいいかのメモ。
対象は ver1.3.4 のドキュメント。

# 1 Introduction

いわゆる「説明」。背景の説明あり。

## 1.1 What’s New?

過去バージョンからの変更履歴。依存ライブラリの記述あり。

# 2 Quick Start

2章全体で、 Hello world アプリを作るまでの手順を解説。

## 2.1 Build/Install the CLI

さまざまなインストール方法の解説。

### 2.1.1 Install with Sdkman

中略。

### 2.1.2 Install with Homebrew

中略。

### 2.1.3 Install with MacPorts

中略。

### 2.1.4 Install through Binary on Windows

中略。

### 2.1.5 Building from Source

元記事を表示

List を任意の数に分割する

#結論

org.apache.commons.collections4.ListUtils#partition() を利用する。

##Javadoc
https://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/ListUtils.html#partition-java.util.List-int-

##Maven
https://mvnrepository.com/artifact/org.apache.commons/commons-collections4/4.4

“`xml


org.apache.commons
commons-collections4

元記事を表示

Java Springで検索フォームを作るシンプルな書き方 | クラスを理解する

シンプルな検索フォームを作る書き方です。クラスを理解するためのものです。

GitHubでコードは公開しているので気になる人はクローンしてみてください。
[GitHubリポジトリはこちら](https://github.com/megumi-622/responseDB)

## こちらの環境
– PC: macOS Catalina 10.15.4
– IDE: [Eclipse](https://mergedoc.osdn.jp/) 2020-03(4.15.0)
– SQL: [PostgreSQL](https://www.postgresql.jp/download) 12.2
– SQLツール: [DBeaver](https://dbeaver.io/) 7.0.3.202004191823

ツールは全て無料で使えます。
ターミナルでSQLを操作できるのであれば、SQLツールはなくても大丈夫です。

## データベース
GitHubにデータベース作成用と検索用データのsqlファイルを用意してあります。
環境に合わせて実行してください。

## HTML
HTMLタグに`

元記事を表示

Visual Studio CodeによるSpring Boot2 Webアプリ開発 HelloWorld作成編

#はじめに
Visual Studio CodeでSpring Boot2のWebアプリ開発をしていきます。
以前[こちら](https://qiita.com/t_skri/items/24d0d353771735b453f7)で作成したHelloWorldのSpring Boot版です。

#開発環境構築
[こちら](https://qiita.com/t_skri/items/b16cd5a8868398ca0fc2)を参考に開発環境を構築して下さい。
Maven、Tomcatは不要です。
拡張機能の「Spring Boot Extension Pack」を追加します。
![springex.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/591423/ecf34820-40e7-bcc0-0936-a7c22fb48878.jpeg)

#環境
OS:Windows 10 Pro 64bit
Editor:Visual Studio Code 1.44.2
JDK:AdoptOpenJDK 11.

元記事を表示

macのEclipseで補完機能を使う

今回はJavaの勉強を始めようとEclipseをMacに入れた時には補完機能が使えなかったため記録

Eclipseにデフォルトで設定されている補完機能は、contorol + スペース なのだがMacでは使えず、、、

調べた結果記事はいっぱいあったのですぐに解決。
一応やり方を載せとく

Eclipseの環境設定 → 一般 → キー → コンテンツ・アシストで検索 すると下記のように
スクリーンショット 2020-05-05 13.56.35.png

今回は、シフト + スペース で設定したかったため
バインディングと書かれているところに、シフト + スペース と記入。

これで補完機能使えるようになっている。
他にもやり方があると思うが参考に!!

元記事を表示

【Java】 String型の正しい比較

#String型比較を深堀してみる
String型の値の比較について、整理しました。

##等比較の方法
###1. ==
 ・プリミティブ型では値の比較を行う。
 ・オブジェクト型ではオブジェクトの参照値を比較し、オブジェクトが同一か判断する。

###2. equals()
 オブジェクト型でのみ使用可能で、オブジェクトの内容比較を行い、オブジェクトが同値か判断する。
 ※Objectクラスにequalsが定義されている。
  Stringクラスではoverrideしている。

つまり、Strng型は参照型のオブジェクトだから、equalsを使えばOKですね。

##検証(==だと本当に比較できないのか)

“`java:StringSample.java
String str1 = “A”;
String str2 = “A”;
String str3 = new String(“A”);
System.out.println(str1.hashCode());
System.out.println(str2.hashCode());

元記事を表示

競技プログラミング私的チートシート(Java)

メモ。順次加筆。

## 余りを切り上げる

“`java
public static int roundUp(int a, int b) {
return (a + b – 1) / b;
}
“`

## 最大公約数

ユークリッドの互除法を使って計算を行う。

参考:
[ユークリッドの互除法の証明と不定方程式 | 高校数学の美しい物語](https://mathtrain.jp/euclid)

“`java
private static long gcd(long a, long b) {
if (b == 0) return a;
return gcd(b, a % b);
}
“`

例えば、a=370 b=273とすると、

|Loop|a|b|
|:-:|:-:|:-:
|1|370|273
|2|273|370 % 273 = 117
|3|117|273 % 117 = 39
|4|39|117 % 39 = 0

b=0になったとき、`return a`によりaの値が返される。
その値が最大公約数である。

## 最小公倍数

最大

元記事を表示

String[] argsの使用方法

import java.util.*;

public class Main {

int ii[];

public static void main(String[] args) throws Exception {
// プリミティブ型変数の場合初期値にはNULLが入っている、NEWしてインスタンスを生成してあげないと
//lengthで数えてもNULLなのでエラーになる、argsは何も入ってないと[0]の配列を作るのでNULLではない
//lengthすれば0を返し、argsを指定すればヌルではないのでクラス名とハッシュコードを返す
main m=new main();
Main Mainm=new Main();

System.out.println(Mainm.ii);
System.out.println(m.i);
}
}

class main{
int i[];
}

元記事を表示

配列を順次取り出すfor命令の比較

GW中はどこにも行けないので、のんびり家でJavaを勉強しています。
rubyのeach文は優秀で、どこにでも使えるのがうれしいので多用してしまいます。ruby使っているともはやrubyでfor文ってどう書くんだっけ?って感じです。
たとえば、配列の中身を出力するとき、こんな書き方ができます。

~~~fruits.rb
fruits = [“りんご”, “みかん”, “バナナ”]
fruits.each do |v|
print “#{v}\n”
end
~~~

これがC#でfor文で書くならこんな感じです。

~~~fruits1.cs
var fruits = new string[] {“りんご”, “みかん”, “バナナ”};
for (int i = 0; i < fruits.Length; i++) { Console.WriteLine(fruits[i]); } ~~~ for文のカウンタで配列のインデックスを回して要素を取り出すオーソドックスな方法です。 そして、Rubyのeachみたいな記法でforeach文というのがあって、こんな感じ書けます。 ~

元記事を表示

【実践‼】JFrameの導入(画面作成まで解説)

## 1.事前知識
– [【最新】UbuntuでJavaの環境を構築する方法](https://qiita.com/ryome/items/37c53e9638a9c6ea146a)

– [【初心者でもできる‼】Windows10にJava環境を作る方法(JDK14.0.1)](https://qiita.com/ryome/items/30135570954e36196821)

– [【わかりやすく解説‼】Javaのインスタンスの使い方](https://qiita.com/ryome/items/62ba0d8395af6698053a)

– [【初心者でもできる‼】Windows10にEclipseをインストールする方法(Java環境構築)](https://qiita.com/ryome/items/b47c5acdaa52cffbec58)

事前知識として、上記リンクの内容が必要です。

## 2.JFrameとは

– `JFrame` とは、 `Swing` クラスのひとつで、「外枠を持つ、中心となる `ウィンドウ` 」を作成するためのクラスである。

## 3

元記事を表示

Spring Bootでトランザクション確認試験を行う

## はじめに

 所属しているチームでは、不具合があった場合、テストコードを書いて再現(レッドバーを確認)させてから修正するというルールにしています。
 先日、トランザクション制御が抜けていたという不具合があり、テストコードを書こうとしたのですが、ドハマリしたので整理して投稿します。
テストコードはGithub(https://github.com/shimi58/transactiontest) に挙げているので、参考にしてください。

## 開発環境

Eclipse上で構築した環境は以下の通り。Gradleプロジェクトを作成してパスを通しています。

| 環境 | バージョン |
| ———- | ————– |
| Java | 1.8 |
| SpringBoot | 2.2.6 |
| MyBatis | 2.1.0 |
| H2 | PostgresqlMode |
| Junit | 5(Jupiter)

元記事を表示

【Minecraft】Bukkit/Spigotプラグインで時間操作

*2020年5月5日:コード上に些細なミスが有りましたので修正しました。*

Bukkitのプラグイン作成の初めの方で、つまずいた点をメモ。

#したいこと
Minecraftのチャット欄に特定のワードを入れると、トリガーがひかれてゲーム内時間を設定する。ここでは例として「朝」と入力すれば時刻0(朝)に変更するようなプラグインを作成する。

#ダメな例
“`Java:main.java
//パッケージ文、インポート文は省略
public class main extends JavaPlugin{
@Override
public void onEnable() {
getServer().getPluginManager().registerEvents(new eventListener(this), this);
}
}
“`

“`Java:eventListener.java
//パッケージ文、インポート文は省略
public class eventListener implements Listener {
p

元記事を表示

OTHERカテゴリの最新記事