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

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

GaugeでIntellijから実行するとFailed to get configuration from Gauge properties fileというエラーが出る

# はじめに

転職して最初に利用することになったテストフレームワーク`Gauge`を導入するのにつまづいたところをまとめます
今後ずっと利用していく技術になりそうです

# 問題

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/810513/1596385e-ab9b-6d49-1d4d-e16ae7f42bc2.png)

Intellijで`Gauge`をUI上から実行すると以下のエラーが発生しました

“`
/usr/local/bin/gauge run –machine-readable –hide-suggestion –simple-console /home/watanabejin/workspace/gauge-e2e/specs/example.spec
Testing started at 11:20 …
2023/02/11 11:20:02 Failed to get configuration from Gauge properties file

元記事を表示

IntellijのKotlin実行で失敗するときにみたところ

# はじめに

この記事を書こうと事前にエラーをメモっておいたのですが、わかりやすいエラーの部分をコピーしておらず微妙なタイトルになりました
もし実行できなくて困った方はこの可能性があるかもしれないので、確認してみてください

# 問題

Intellijで実行をUIからすると以下のエラーがでました

“`
[INFO] ————————————————————————
[INFO] BUILD FAILURE
[INFO] ————————————————————————
[INFO] Total time: 33.558 s
[INFO] Finished at: 2023-02-11T10:29:35+09:00
[INFO] ————————————————————————
[ERROR]

元記事を表示

java.lang.IllegalStateException: Unable to load cache itemエラーが発生する

# はじめに

Javaのテストツールを導入しようとした際に発生したエラーです

# 問題

`mvn test`をしたところ以下のエラーが発生しました

“`
watanabejin@watanabejin-Latitude-3520:~/workspace/gauge-e2e$ mvn test
[ERROR] Error executing Maven.
[ERROR] java.lang.IllegalStateException: Unable to load cache item
[ERROR] Caused by: Unable to load cache item
[ERROR] Caused by: Could not initialize class com.google.inject.internal.cglib.core.$MethodWrapper
[ERROR] Caused by: Exception com.google.inject.internal.cglib.core.$CodeGenerationException: java.lang.ref

元記事を表示

コードレビュー時に使ったことがあるドキュメント集

個人的に忘れるのでストックする目的ですが色々参考になると思うので、記事化します。

※適宜更新
※2022年10月〜2022年12月にかけてPR(MR)をReviewするときに使用したもの(または指摘を受けて参照したもの)

随時加筆修正はするつもり。

https://qiita.com/shoheiyokoyama/items/d752834a6a2e208b90ca

https://qiita.com/rkonno/items/1b30daf83854fecbb814

https://www.techscore.com/tech/DesignPattern/Facade#:~:text=Facade%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%81%AF%E3%80%81%E6%97%A2%E5%AD%98%E3%81%AE,%E3%81%AE%E6%AD%A3%E9%9D%A2%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E6%84%8F%E5%91%B3%E3%81%A7%E3%81%99%E3%80%82

元記事を表示

JAVA C# Ts GoのC系言語 Mind DNCLの日本語系言語の制御構文を比較して自作言語Re:Mindの構文を定める(for..if文)

# はじめに
JAVA C# Ts Goの新旧C系言語、Mind DNCLの日本語系言語の制御構文を比較して自作言語Re:Mindの構文を定めます。今回は少し複雑なループ制御。

自作言語Re:Mindの詳しい利用シーンのイメージは[こちらへ](https://qiita.com/mylifewithviolin/items/9d58db8a101807c19bde)。すみません、企画段階です。

## この記事内容の作業目的
[日本語トランスコンパイラ言語 Re:Mind (自作言語)と他言語との構文比較(FOR文)](https://qiita.com/mylifewithviolin/items/b669e02ecc8595e72b8f)という記事で、もっともシンプルなfor文(カウンタ変数なし、打ち切り条件なしの無限ループ)について検討しましたので、今回は比較的複雑なカウンタ変数ありの構文に加えて、間にif文で打ち切り条件がカウンタ満了前に入っている状態をモチーフとします。

## この記事内容の保証
※この記事には実装的な情報が含まれます。各言語で書かれた引用ソースの妥当性は

元記事を表示

エラー対処:References to interface static methods are allowed only at source level 1.8 or above Java(1610613404)

エラー対処の備忘録です。

MavenプロジェクトでJavaのコードを書き始めた時に、次のようなエラーが出ました。

“`
References to interface static methods are allowed only at source level 1.8 or above Java(1610613404)
“`

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3123353/25f0f899-4c6c-bf31-54b1-d85a9673af93.png)

### 原因

原因は`maven-compiler-plugin`の設定でソースのjavaバージョンを指定していなかったためでした。(デフォルトでは1.7でした[^1])
[^1]:https://maven.apache.org/plugins/maven-compiler-plugin/

javaでインターフェースにstaticメソッドを定義できるようになったのはバージョン1.8からなので、そのメソッ

元記事を表示

Kubernetes 環境の Spring Boot WEBサービスのリバースプロキシ構成

# Kubernetes 環境の Spring Boot WEBサービスのリバースプロキシ構成

## 目的
[Kubernetes 環境で起動した Spring Boot WEBサービス](https://qiita.com/hiroxpepe/items/48cec2f3b87811411b61)にリバースプロキシを設定して理解を深めます。
※ Windows 11 Home 22H2 を使用しています。
※ [WSL](https://learn.microsoft.com/ja-jp/windows/wsl/about) の Ubuntu を操作していきますので macOS の方にも参考になると思います。

## 環境

WSL (Microsoft Store アプリ版)

“`sh
> wsl –version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47
“`

Ubuntu

“`sh
$ lsb_release -a
No LSB modules are

元記事を表示

Spring Boot WEBサービスを Kubernetes 環境で起動する

# Spring Boot WEBサービスを Kubernetes 環境で起動する

## 目的
[Spring Boot WEBサービス](https://qiita.com/hiroxpepe/items/4a0f5e077155ce41e7ac)を Kubernetes 環境で起動して理解を深めます。
※ Windows 11 Home 22H2 を使用しています。
※ [WSL](https://learn.microsoft.com/ja-jp/windows/wsl/about) の Ubuntu を操作していきますので macOS の方にも参考になると思います。

## 環境

WSL (Microsoft Store アプリ版)

“`sh
> wsl –version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47
“`

Ubuntu

“`sh
$ lsb_release -a
No LSB modules are available.
Distrib

元記事を表示

Map.Entry interface

Entry interface is innner interface of Map interface
Entry is key + value .
“`java
public class Outer {
public static void main(String args[]) {
Map mp = new LinkedHashMap<>();
Entry e = entry(“sato-a”,100);
Entry e1 = entry(“sato-b”,101);
Entry e2 = entry(“sato-c”,102);
mp = Map.ofEntries(e,e1,e2);
Set> s = mp.entrySet();
mp.entrySet().forEach((Entry

元記事を表示

eclipseのインストール(覚書)

eclipse(pleiades)及び、STSのインストール覚書です。

難しい内容ではないけど、ドがつく初心者なので「どうして私ここまで辿り着けたんだっけ?」と分からなくなること多しなので、記録として覚書しておこうと思います!

Macです。

Eclipseは英語版のみなので(私は英語が得意ではないので)、日本語化するために「Pleiades」というものを使います。

-Eclipseのインストール-

1.googleで「Pleiades」と検索
2.Versionは2019を選択
3.Mac 64bit/FullEdition/Javaを選択
4.ダウンロード完了したら、ファイルをダブルクリック

5.開発のためのWorkspaceフォルダーを作成しておく

6.Eclipseを開くと、どの場所で開発する?と聞かれるので、作成したWorkspaceを選択
(Eclipse開けない→アプリケーションフォルダで、Ctrl押しながらEclipseクリック、開く選択、警告は無視して開く)
これでEclipseは完了。

次に、フレームワーク使いたいのでSpringBootをインストール

元記事を表示

HashSet , TreeSet class

Setは重複値を許容しない
HashSetは並び替えなし。以下の例では並び変わっているように見えるが、偶然
TreeSetは並び替えあり
“`java
public class Outer {
public static void main(String args[]) {
Set hs = new HashSet<>();
hs.add(“Z”);
hs.add(“C”);
hs.add(“V”);
hs.add(“B”);
hs.add(“A”);
hs.forEach(System.out::println);
Supplier s = () -> {System.out.println(“—–“);return null;};
s.get();
Set ts = new TreeSet<>();
ts.add(“Z”);
ts.add(“D”

元記事を表示

Docker 環境の Spring Boot WEBサービスのリバースプロキシ構成

# Docker 環境の Spring Boot WEBサービスのリバースプロキシ構成

## 目的
[Docker 環境で起動した Spring Boot WEBサービス](https://qiita.com/hiroxpepe/items/41dd8b4e18213aab1775)にリバースプロキシを設定して理解を深めます。
※ Windows 11 Home 22H2 を使用しています。
※ [WSL](https://learn.microsoft.com/ja-jp/windows/wsl/about) の Ubuntu を操作していきますので macOS の方にも参考になると思います。

## 環境

WSL (Microsoft Store アプリ版)

“`sh
> wsl –version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47
“`

Ubuntu

“`sh
$ lsb_release -a
No LSB modules are availab

元記事を表示

Queue , Deque class

Queue performs FIFO(First In First Out) Queue
Deque is Double ended Queue. we can use addFirst or addLast to DeQueue.

“`java
public class Outer {
public static void main(String args[]) {
Queue q = new ArrayDeque<>();
q.add(1);
q.add(2);
q.add(3);
q.forEach(System.out::println);
}
}
“`
“`
1
2
3
“`
“`java
public class Outer {
public static void main(String args[]) {
Deque q = new ArrayDeque<>();
q.add(1);

元記事を表示

ArrayList, LinkedList, Vector

ArrayListは動的配列拡張
LinkedListは数珠繋ぎ
Vectorはthread safe

“`java
public class Outer {
public static void main(String args[]) {
List l = new ArrayList<>();
l.add(“A”);
l.add(“B”);
l.add(“C”);
l.forEach(System.out::println);
Consumer con = x -> System.out.println(“——–“);
con.accept(null);
l.parallelStream().forEach(System.out::println);
con.accept(null);
List l2 = new LinkedList<>();
l2.add

元記事を表示

Spring Boot WEBサービスを Docker 環境で起動する

# Spring Boot WEBサービスを Docker 環境で起動する

## 目的
[Spring Boot WEBサービス](https://qiita.com/hiroxpepe/items/4a0f5e077155ce41e7ac)を Docker 環境で起動して理解を深めます。
※ Windows 11 Home 22H2 を使用しています。
※ [WSL](https://learn.microsoft.com/ja-jp/windows/wsl/about) の Ubuntu を操作していきますので macOS の方にも参考になると思います。

## 環境

WSL (Microsoft Store アプリ版)

“`sh
> wsl –version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47
“`

Ubuntu

“`sh
$ lsb_release -a
No LSB modules are available.
Distributor ID:

元記事を表示

最小構成 Spring Boot WEBサービスの Hello World!

# 最小構成 Spring Boot WEBサービスの Hello World!

## 目的
Spring Boot で最小構成のWEBサービスを作成して理解を深めます。
※ Windows 11 Home 22H2 を使用しています。
※ [WSL](https://learn.microsoft.com/ja-jp/windows/wsl/about) の Ubuntu を操作していきますので macOS の方にも参考になると思います。

## 環境

WSL (Microsoft Store アプリ版)

“`sh
> wsl –version
WSL バージョン: 1.0.3.0
カーネル バージョン: 5.15.79.1
WSLg バージョン: 1.0.47
“`

Ubuntu

“`sh
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.1 LTS
Release: 2

元記事を表示

①フロントとサーバの通信方法(RPC) テキスト 定義

動作環境 windows10 Java6 GWTSDK2.7 Eclipse4.4 (基本他の条件でも動作すると思います)

GWTでは、フロントとサーバで通信ができます。
もちろん、みんなが大好きなJavaだけで・・
定義する箇所は4つのみ
なれないうちは、戸惑うかもしれませんが、基本的に定義なので、1度書いてしまえば終わりです。
また、今回はテキストのみですが、Javaの得意分野の独自オブジェクトも送受信が可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132663/ca63c5f4-f533-a46c-ce4f-ec36a309d148.png)

A 名前は任意(サーバ処理用インターフェース
“`
package kut.hp_rc.client;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelat

元記事を表示

Javaで分数が使えるクラス

はじめに

 今回ふと思い立ち、javaで分数が使えるようにするクラスを作ってみました。実用性があるかは分かりませんが、劣化しない小数として使うくらいなら問題ないかと思います。

 本来javaでは変数名やクラス名は省略せずに明記するのがjavaの記法らしいのですが、今回は見やすさを重視して所々省略してますので、コメントを見ていただけると仕様が分かるかと思います。

コード

自作クラスがちょくちょくあるので、
こちらで解説してます。

~~~java:Frac.java
package com.algorithm.math.frac;

import com.algorithm.lang.Judge;
import com.algorithm.lang.error.IllegalFractionValueException;
import co

元記事を表示

Fracクラスで使ってるクラスについて

分数を扱うクラスで使用してるクラスを解説する予定です。

元記事を表示

【メモ】WebSocket使ってみた

## はじめに
Websocket使って双方向通信ができるように実装してみました。
フロントは素のjavascriptでバックはjavaです。

### javascript

“`javascript:test.js
var connection = new WebSocket(‘ws://localhost:8080/test’);

connection.onopen = function(e) {
connection.send(‘test’);
};

connection.onerror = function(error) { };

connection.onmessage = function(e) {
console.log(‘メッセージを受け取った’);
console.log(e.data);

};

connection.onclose = function() { };
“`

### java

“`java:WebSocketConfig.java
package com.example.demo.web

元記事を表示

OTHERカテゴリの最新記事