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

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

【Eclipse】Version 1.8.0_261 of the JVM is not suitable for this product. Version: 11 or greater is required エラー

Pleiades All in One Javaをダウンロード
手順に従って、ファイルを解凍
pleiades/eclipse/eclipe.exeと進んだところ

Version 1.8.0_261 of the JVM is not suitable for this product. Version: 11 or greater is required

といったエラーが出て、eclipseを起動できませんでした

【解決策】

まずこちらの動画を参考にしました

eclipse.iniファイル(画像の下から3番目、名前はeclipseとしか書いてないのでわかりづらい)を編集
![スクリーンショット (6).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1003099/ff5ffc01-5052-4bd8-7a93-959f8275e8b9.png)

-vm
Javaのバージョンを指定

元記事を表示

【Android】 DB上に保存しているレコードをCSV形式(カンマ区切り)で保存する。

## ご挨拶
かなり久々の投稿になります。少し雑談から。急ぎの方は横の目次からジャンプしてください。
2020年は今まで生きてきた中である意味衝撃的でエキセントリックな1年でした。
皆さんも環境の変化やコロナへの不安などで、心が落ち着かない毎日を過ごされたかと思います。

自分も働く環境など、いろんなものが今までからガラッと180度変わった1年でした。
まさか、BTSにハマるなんて思いもしなかったし。(この投稿を書きながら今も聞いています。)

そんな中でもこの投稿を(ひいてはQiitaを)見に来られた方は、何かしらのシステム(アプリ)を自分の手で作り出すことに夢中になっている方かとお見受けします。

自分が嫌になることが多いこの職業ですが、「自分はできる!」と信じて頑張って欲しいです。

自分が投稿しているものは深い技術のものではなく、素人程度の技術をシンプルに応用しているものが
多いです。
まだまだ勉強中の身ですが、アプリ開発をされている方の少しでもお役に立てれば幸いです。

## 今回の目的
DB上に保存しているレコードをCSV形式(カンマ区切り)で保存して、そのデータを取り込

元記事を表示

Mockito使用時にUnfinishedStubbingExceptionが出た

# この記事は?
Mockito使用時にUnfinishedStubbingExceptionとなり、調査に時間がかかったためメモ

# 起きた事象
以下のエラーが発生したが、原因が分からなかった

“` shell
Unfinished stubbing detected here:
location
E.g. thenReturn() may be missing.
Examples of correct stubbing:
when(mock.isOk()).thenReturn(true);
when(mock.isOk()).thenThrow(exception);
doThrow(exception).when(mock).someVoidMethod();
Hints:
1. missing thenReturn()
2. you are trying to stub a final method, which is not supported
3: you are stubbing the behaviour of another mo

元記事を表示

【Spring】【Thymeleaf】CSRFトークンを入れる

###formやbuttonをカスタマイズしていると、送信先やCSRFトークンが入らなくて遷移できなかった
thymeleafを利用して

“`java

“`
のように`@{}`を使ってaction属性を書けば、自動的にCSRFトークンがhiddenで入る

つまり

“`java

“`

では、CSRFトークンは入らない。
なのでこの状態でsubmitしても遷移できなかった。

###button毎に送信先を変える手法だと、CSRFトークンが入らない

“`html

元記事を表示

Jenkinsを用いた自動テストの導入メモ

## やりたいこと

Jenkinsを利用して、Javaプロジェクトに自動テストを導入します。
・masterブランチにプッシュした時点、テストを自動に実施します。
・テスト結果として、カバレッジ率を表示されます。

## 環境
macOS Big Sur 11.1
Homebrew 2.7.1-56-gff931c2
Jenkins 2.273
Java 1.8
ngrok 2.3.35

この記事に利用するサンプルは、Githubに置いてあります。
https://github.com/koyi2016/JenkinsDemo

## Jenkinsのインストール
macのターミラルを開いて、コマンドを実行します。

“`
brew install jenkins
“`

すぐにインストールされるので、Jenkinsを起動します。

“`
java -jar /usr/local/opt/jenkins/libexec/jenkins.war
“`

正常に起動できたら、以下のようなメッセージが表示されます。

“`
Running from: /usr/local/

元記事を表示

【Java ~ 今迄の復習をしながら自己紹介プログラムの作成) ~ 】勉強メモ(7)

Java学習中。
今迄の勉強した事の総復習。
ほぼ自分の勉強メモです。
過度な期待はしないでください。

過去投稿記事

[【Java~変数の定義、型変換について~】勉強メモ](https://qiita.com/k-yasuhiro/items/43ef789c8be7b669046a)
[【Java ~真偽値~】勉強メモ(2)](https://qiita.com/k-yasuhiro/items/5a75e6130552abd03934)
[【Java ~条件分岐・繰り返し処理~】勉強メモ(3)](https://qiita.com/k-yasuhiro/items/cc7ceb00bc795d1ea33c)
[【Java ~配列~】勉強メモ(4)](https://qiita.com/k-yasuhiro/items/97da0fe073ce5f8ce8d4)
[【Java ~メソッド~】勉強メモ(5)](https://qiita.com/k-yasuhiro/items/5b56fbae04fece175b88)
[【Java ~ クラス ~ 】勉強メモ(6)]

元記事を表示

javaでgzipの実装

java で gzip の実装

“`java:server.java
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.zip.GZIPOutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.spring

元記事を表示

多分これがオブジェクト指向

## はじめに
この記事は、[オブジェクト指向でなぜつくるのか](https://www.amazon.co.jp/%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%A7%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%8F%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E5%B9%B3%E6%BE%A4-%E7%AB%A0/dp/4822284654)という著書と、[黒本著者が教える やさしくない!? Java](https://www.youtube.com/channel/UC42DlV-0RDb6fJ8A3IbAang/videos)のYoutubeチャンネルを見たもの、私の経験に基づく理解を整理したいと思って執筆しました。
上記はとてもわかりやすかったので、是非ご覧になってください。

あと、以下の説明で出てくるサンプルコードはすべてJavaです。
なるべくJava特有の書き方は避けますが、ご了承くださ

元記事を表示

CouchbaseにおけるHA/DR対応 (Java SDK注解)

# はじめに

本記事では、CouchbaseにおけるHA/DR対応(の一側面)について記します。

ここでは、HA/DR用に待機クラスターがホットスタンバイされているケースについて解説します。

Couchbaseは、分散システム/クラスターとして、ノード/サーバ障害レベルのHAに対応していますが、ここでは、(いわば、さらに進んだHA要件への対応として)上記のケースを対象とした機能について解説します。

# クロスデータセンターレプリケーション (XDCR)

Couchbaseのクロスデータセンターレプリケーション (XDCR)は、データのレプリケーション(複製)のための機能ですが、名称に則してみれば、そのターゲットは、異なるデータセンター間で、ということを示しているものの、ソフトウェアの実際の機能としては、複数クラスター間でのデータの複製を行うものになります。同一データセンター内の複数クラスター間であっても当然利用できますが、一般に異なるトポロジー間で複製を実現する方がハードルが高いことから、この様な名称が(価値訴求のために)採用されていると考えることができるかと思います。

X

元記事を表示

AndroidアプリでUSBシリアル通信(usb-serial-for-android)

## やったこと
市販のAndroidタブレットとシリアルインタフェースを持ったデバイス間の通信をしてみました。
通信プロトコルは、素のシリアル通信と、modbusどちらでも成功しました。

## 構成イメージ
[リンク先](https://www.ratoc-e2estore.com/blog/2012/08/usb60mi-01)の構成図とほとんど同じような構成です。
今回、シリアル通信の知識はゼロからスタートしたので、このサイトを死ぬほど見て勉強しました。
とてもわかりやすく纏まっていて助かりました。このサイトがなかったら多分実現できてません。

## ライブラリ情報
usb-serial-for-android v2.2.2(https://github.com/mik3y/usb-serial-for-android/releases)
2020/4月ぐらいの話なので、バージョン古くてごめんなさい。

## 説明したいこと
当時はライブラリの使用方法について、ReadMeに書いてある内容があまり充実していなかったので、記事を書きたいと思っていました。
今は多少充実しているので

元記事を表示

JavaとSpring Bootを使用したポートフォリオアプリを制作

#はじめに

2020年8月から4ヶ月間RaiseTechというエンジニアリングスクールに通い、主にJavaとSpring Bootを使用したWebアプリケーション制作について学習しておりました。
その中で学んだことからポートフォリオとしてシンプルな機能のアプリを制作したので、そのアプリケーションについての機能、制作手順、課題をまとめています。

まだ実装できていない機能や使い勝手含め機能としては不完全ではありますが、

・2020年内での制作、公開を期限として制作したこと
・とにかく一旦リリースすること

を最重要視したため現状で一旦公開しております。
※今後も機能は順次追加予定です

#制作期間

制作期間は 11/22~12/15
AWSの学習、デプロイ完了まで 12/16~12/30

全体として公開までおよそ5週間です。

#成果物

インディーズバンドとライブハウス間の「チケット共有管理システム」

TicketManagerTool

GitHub https://github.com/KeitaUenishi/TicketManegerTool2.git

#制作の

元記事を表示

【Java】フォルダの権限を取得する方法

#プログラミング勉強日記
2020年1月4日
ファイルにアクセスしたらファイルの権限がなく、プログラムが実装できないことがある。フォルダも同様に権限を取得する必要があるので、その方法を簡単にまとめる。

#java.ioでフォルダの権限を取得する方法
 java.ioは古いAPIである。
 フォルダの権限はjava.io.FileクラスのcanWtriteメソッドやisHiddenメソッドで取得する。

“`java
import java.io.File;

public class Sample {
public static void main(String[] args) {
File file = new File(“c:\\test”);

if (file.canWrite()) {
System.out.println(“書き込みできます”);
} else {
System.out.println(“読み取り専用です”);
}

元記事を表示

できるパイソニアはpass文をうまく使う +Javaの昔話

pass文がかなり便利そうなのでメモを残しておきます。
恐らく、ある程度経験があれば、コレが結構強力だと分かる・・・はず。

#pass文とは
「何もしない」ことを定義します

こんな感じ

“`hoge.py
class hoge:
def foo(self):
pass
“`

コレで何が出来るの、と思うでしょうが、コレかなり強力な文です。

一言で言うと、Javaの**インターフェース**に似ていますね。

ですが、実際にはコレの強力さが分かりづらいと思いますんで、
具体例を作っていきます。

#空のコンストラクタを指定する

例えばこんな感じに空のコンストラクタを書くのが有効です。

“`hoge.py
class someEntity:
def __init__(self):
pass
“`

何が有効かというと**仕様変更に強い**のです!

例えば、このクラスの仕様が変わって「引数が増えたよ~」と注文が来たとしましょう
その時には passを書き換えてこう書けます

“`hoge.py
class s

元記事を表示

JavaでRedis Streamを使う

https://paluch.biz/blog/174-a-first-look-at-redis-streams-and-how-to-use-them-with-java.html

Redis Streams have made it into Redis’ unstable branch since the beginning of this year, and the first clients start with the adoption of Redis Streams APIs. That makes it an excellent time to take a look what Redis Streams provide and how you can use them from a client perspective.

Disclaimer: Redis Streams are available as a first draft and are not part of a stable release yet. APIs are subject to ch

元記事を表示

【Java】string.formatの使い方

# string.format とは?

引数に指定した書式を元に文字列を整形して返すというメソッドです。

#書き方
第一引数は決められた書式に従って書く必要があります。第二引数以降は第一引数で決めた書式に割り当てるための変数を渡します。

“`java
public static String format(String format,Object… args)
“`

# 実装例

指定された書式の文字列と引数を使って、書式付き文字列を返します。
**書式は(%〜)と書いて指定**します。
**整数(10進整数)を整形する場合は`d`、文字列を整形する場合は`s`**を使います。

“`java
int year = 2021;
String str = String.format(“今年は%d年です。”, year);
System.out.println(str); //今年は2021年です。

// はじめに0を追加
System.out.println(String.format(“%05d”,

元記事を表示

【Java】フォルダの作成方法

#プログラミング勉強日記
2020年1月3日
フォルダの作成方法について簡単にまとめる。Java7から機能を改善した`java.nio(NEW I/O 2)`でのフォルダ作成についてまとめる。

#フォルダを作成する方法
 作成するフォルダのパスの指定にはjava.niofile.Pathsクラスのgetメソッドで行う。フォルダを1つだけ作成する場合は、java.nio.FilesクラスのcreateDirectoryメソッドを使う。親フォルダを含めたすべてのフォルダ階層をまとめて作成する場合にはcreateDirectoriesメソッドを使う。

#サンプルコード
 ファイルがすでに存在する場合は、FileAlreadyExistsExceptionの例外が発生する。

“`java
try {
// 絶対パスで作成
Path path1 = Paths.get(“c:\\Test1”);
Files.createDirectory(path1);

// 親フォルダを含めて作成
Path pat

Java + SpringBoot + Gradle + thymeleaf で 簡易DRUDアプリ作成 ( 1 )

## はじめに
エンジニアに転職してから1年半が経とうとしているのでそろそろ、JavaとSpringBootで基本的なアプリ開発ができるようにならないといけないと思い始めました。現在使用している参考書は[Spring Boot 2 プログラミング入門](https://www.amazon.co.jp/Spring-Boot-2-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-%E6%8E%8C%E7%94%B0%E6%B4%A5%E8%80%B6%E4%B9%83/dp/4798053473/ref=tmm_hrd_swatch_0?_encoding=UTF8&qid=&sr=)です。まだ全て手を動かしながら実践できていませんが簡易的なアプリを作成するまではできたので纏めておきます。ところどころ自分オリジナルのコードも入れながら作成したので良い勉強になりました。何回かに分けて復習がてら書いていきたいと思います。

github: https://github.com/

元記事を表示

JavaでのスレッドとCallableの基本【初心者】

## JavaでのThreadの基本
マルチスレッドを使えば複数処理を並列に走らせたりできる。
こういう処理の一つ一つをスレッドと呼ぶ。
Javaにおいてスレッド処理をするには継承(`extends`)を使う方法とインターフェイスを実装(`implements`)して使う方法がある。
前者の場合は`Thread`クラスを継承して`start()`メソッドを呼び出す。
後者の場合は`Runnable`インターフェイスを実装して`run()`メソッドを呼び出す。
Javaでは多重継承ができないため、`Thread`を使う方法だと他のクラスを継承できないが、インターフェイスを使った方法であれば可能。
後者の場合は`Callable`インターフェイスを実装して`call()`メソッドを呼び出す方法もある。

## RunnableとCallableの違い

`Runnable`の場合は返り値の指定ができず、例外も飛ばせない。

“`Java:Runnable_interface
public interface Runnable {
public abstract void run(

元記事を表示

Groovy の delegate 機能を利用した Gradle の内部処理について考える

Gradle の build.gradle が、読めない、書けない、わからないの3拍子整った状態のまま、闇雲にサンプルソースをコピペする危機的生活を脱する試みの一環。

build.gradle の読み書きに必要な Groovy の基本機能については、Qiita の既存記事に大変すばらしい説明があります。その辺りの説明については、それらの記事にお任せします。

私の場合、 Groovy に関する理解があまりに貧弱で、 delegate まわりのところがどうしても消化不良でした。以下、それを解消するための、追加調査のメモ書きです。

# 前提(読むにあたって)

* Groovy の基本文法について、ある程度知っていること
* Gradle のビルドスクリプト build.gradle は Groovy 準拠であることを知っていること
* とはいえ、 build.gradle の “入れ子の { } ” のコードを Groovy でどう解釈すれば読めるのかわからない
* Groovy の delegate 機能が、いまいちピンとこない

# build.gradle にスクリプトを書く意

元記事を表示

破損している画像ファイルを一括でまとめて探してくれるソフトの紹介~もうサムネイルを全て確認しなくていい~

#はじめに
画像をスクレイピングしていると、たまに通信エラーで途中までしかダウンロードされず、変な画像になっていることがある。

こんなのや
![KQI1j.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/993303/6162969c-2240-e19c-0ccd-ea5a98d2efd3.jpeg)

こういうの
![U7Q3A.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/993303/f1cbfcc7-3b88-26c2-84c7-2fb54780925e.jpeg)

破損した画像ファイルを修復するソフトはたくさん出てきたが、
破損しているかどうかを見つけるソフトがぱっと出てこなかったので
BadPeggyというソフトを紹介する

#環境
windows10
Ryzen 3700x
[WD Blue™ SN550 NVMe™ SSD(1TB)](https://shop.westerndigital.com/j

元記事を表示

OTHERカテゴリの最新記事