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

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

EclipseでJava EEのプロジェクトをGit管理する方法

## この記事では手順だけを紹介しています。

***この記事は以下の環境で実施しています。***

– Open JDK 8
– eclipse Photon Build

***以下を前提としています。***

– すでに動的WEBプロジェクトを作成している
– クローンするリポジトリがない

### ウィンドウ→パースペクティブ→パースペクティブを開く→Java EEを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280363/6e0211f2-3437-b514-3412-395e613738c7.png)

### プロジェクトを右クリック、チーム→プロジェクトの共用を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280363/897068c2-8401-f081-7d2d-f87f2e15f56a.png)

### Gitリポジトリ―の構成ウィンドウで作成ボタンを

元記事を表示

ios.androidアプリを作りたい

  人生ゲームのようなアプリを作ってみたいんですが

何の言語を学べばいいか分かりません。

マルチプラットフォームである、flutterだけでアプリ開発できるのでしょうか

元記事を表示

Axon Frameworkを使ってみる

たまたま社内の業務フローを実装する機会を得ました。申請→関係者が承認→最終責任者が承認するみたいなやつです。

普通にSpringのMVCでCRUDアーキテクチャでも開発できるのですが、せっかくなので前々から気になっていたCQRS+Event Sourcingなアーキテクチャにしたく、それを実現するAxon Frameworkを評価してみようと思います。

## Axon Framework
* CQRSフレームワーク。
* Event Sourcing機能も提供。
* Event Sourcingは必須ではない。
* Spring Bootとの連携機能も提供。
* でもspring-boot-devtoolsは相性が悪くて使えず、ちょっと開発効率が悪い。
* この記事を書いている時点の最新バージョンは4.3。
* Apache License v2.0

なお、バージョン4からAxon ServerというMicroservices環境向けのサーバが追加され、Axon ServerとAxon Frameworkで連携動作することが推奨されているようですが、今回はAxon

元記事を表示

Spring Boot Actuator の logback_events_total メトリクス値

## 概要

– Spring Boot Actuator の prometheus エンドポイントが出力する logback_events_total についてまとめる
– Spring Boot Actuator と Micrometer Registry Prometheus で logback_events_total を出力する

## logback_events_total とは

– Spring Boot Actuator が出力するメトリクス値
– 該当するログレベルのログ出力回数を表す
– Prometheus の Counter タイプ

Counter タイプは単調増加する値を表す累積メトリクス値で、増加はするが減少はせず、再起動時にゼロにリセットされる。

[Metric types \| Prometheus](https://prometheus.io/docs/concepts/metric_types/)

> A counter is a cumulative metric that represents a single monotonicall

元記事を表示

2016年にJava8+JavaFXで作ったGUIツールをリファクタリングした

# 内容

* 2020/5/4から4年前、当時学生のころに趣味で作ったGUIツールのリファクタリングの話を書く
* リファクタリングしたリポジトリはこちら
* https://github.com/jiro4989/TKoolFacetileMaker2

# 背景

* [2016年の7月にRPGツクールの非公式フォーラムにTKoolFacetileMaker2というツールを公開した](https://tm.lucky-duet.com/viewtopic.php?f=55&t=1615)
* https://github.com/jiro4989/TKoolFacetileMaker2
* これを作成した当時はJava8がまだまだ新しかった時代だった記憶
* ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/69665/6fe19993-4cf9-fa9a-c9c6-d2254ab98736.png)
* 4年も経った今はJavaも14になった
* 仕事でJav

元記事を表示

Android Remote Debug (adb)

# アプリの動作確認を無線で行う方法
皆さん,Android AppのDebugをするとき,USBが煩わしくなりませんか?
今回はソレを解決するDebugを無線で行う方法についてです.
意外と使っている人が少なかったので書きました.

## 前提条件
adb (Android Debug Bridge)が利用可能
(adb導入については[以下の記事](https://qiita.com/hikaru__m/items/15baae425b6fad25da05)を参照)

## 環境
macOS Catalina10.15.4
Android Studio 3.6.3
Flutter, Kotlin, Javaでの開発
PCと端末が同じWifi環境下であること
端末がdebug modeであること

## 接続方法
Android端末とPCをUSBケーブルで接続して以下のコマンドを実行
ここでは端末の5555番Portを指定

“`shell:sh
$ adb tcpip 5555
“`

端末の[設定]>[端末情報]>[端末の状態]からIPアドレス(IPv4)を取得
(IPアドレス

元記事を表示

Java 変数のスコープ

###変数のスコープ
変数のスコープとは、定義した変数の有効な範囲のことです。
####ローカル変数
変数は基本的には宣言された場所の外からはアクセスできません。メソッド内で宣言された変数はそのメソッド内でのみ有効になります。これをローカル変数と言います。

“`test.java
public class Main {
public static void main(String[] args) {

int one = 1;

{
int two = 2;
}
System.out.println(one + two);
}
}
“`
上記のプログラムはエラーになります。innerのスコープ外でinnerを呼び出しているためです。
下記のようにするとプログラムは動作します。

“`test.java
public class Main {
public static void main(String[] args) {

int one = 1

元記事を表示

【Java】JUnitでnullかどうかをテストする方法

## 背景
既存のソースコードに対して単体テストを記載するにあたって、タイトルのとおりnullかどうかを検証するテストをする必要がありました。
その過程で学んだことを簡単にですが、まとめました。

なお、使用しているのツールとバージョンはJUnit4(.12)でHamcrestは1.3です。

今回は↓のPrefixAdderにテストを書く想定で記載します。

“`java:PrefixAdder.java
public class PrefixAdder {
public static String execute(String target, String prefix) {
if (Objects.isNull(target)) {
return null;
}
return prefix + target;
}
}
“`

## 失敗例
最初は普段の感覚で直感的に下記のように書いてみましたが、この書き方ではIDEに警告が出るレベルのコンパイルエラーとなります。

“`java:PrefixAdderTest.java
publi

元記事を表示

Java入門シリーズ(型変換)

## はじめに

こんにちは。
この記事は「これからJavaを始める方」や「久々にJavaにやる方」向けに型変換についてのまとめ記事です。

変数とは何かといったプログラミング自体についての説明は行わないので、プログラミング初心者の方には向いてない記事かもしれません。

Javaの変数の宣言方法や型についての説明は[前章](https://qiita.com/aoyaman/items/3922c25589dc6084451a)を参照ください。

Java入門シリーズとして下記の記事を準備中です。

– [変数と型](https://qiita.com/aoyaman/items/3922c25589dc6084451a)
– 型変換 ←いまここ
– 変数のスコープ(準備中)
– 文字列の操作(準備中)
– 配列の操作(準備中)
– 演算子(準備中)
– 条件分岐(準備中)
– 繰り返し処理(準備中)
– クラスについて(準備中)
– 抽象クラス(準備中)
– インターフェース(準備中)
– カプセル化(準備中)
– モジュールについて(準備中)

## 型変換とは

変数を宣言する際

元記事を表示

Local Variable Typeとは

##はじめに
この記事は、Javaで1つの変数で色々な型を使いたい方に向けた私の理解の備忘録です。

##Local Variable Type
JDK10から実装された型指定の方式です。Javaでは明確な型指定をしていないとエラーになるというのは有名ですが、宣言についてが簡略化されています。

“`java
class Main{
public static void main(String args[]){
var i = 100;

System.out.println(i);

var s = “文字”;

System.out.println(s);
}
}
“`

本来ならiはint、sはStringで型指定するところをvarに置き換えています。こちらで実行すると

“`
100
文字
“`

どちらも表示できます。実装の時にどの型で作るのかの記載が省けています。ちなみに型がどうなっているのかを確認すると、

“`java
class Main{
public static v

元記事を表示

【Java入門目次】Javaを他言語と比較してみた(インタプリタ型、コンパイラ型、動的型付け、静的型付け)

#目的

Javaの学習を始めたばかりで、他言語との違いを理解したい。

**[概要と環境構築に関する記事はこちら](https://qiita.com/morioheisei/items/ef8eb5d75c07b4d280f4)**

Javaで学んだ事を何記事かに分けてアウトプットしていきたいと思っています。

・変数と型(準備中)
・型変換(準備中)
・変数のスコープ(準備中)
・文字列の操作(準備中)
・配列の操作(準備中)
・演算子(準備中)
・条件分岐(準備中)
・繰り返し処理(準備中)
・クラスについて(準備中)
・抽象クラス(準備中)
・インターフェース(準備中)
・カプセル化(準備中)
・モジュールについて(準備中)

次回は変数と型(準備中)を確認していきます。
今回はJavaと他言語との違いをざっくり2点確認していきます。

#①プログラムを実行する方法

コンピューターは0と1で書かれた機械語しか実行、理解できない。
プログラミング言語で書かれたソースコードも機械語に変換(翻訳)しなければならない。

##Javascript、PHP、Rubyなど
`インタ

元記事を表示

変数のスコープ(変数を見れる範囲)

##はじめに
この記事はJava初めたての方に向けた、私の理解の備忘録です。

## 変数のスコープ
https://qiita.com/pitan109/items/2538b234a2c6e20c037f
上記リンクは以前あげた私の記事ですが、宣言する時や、変数内を参照する時に気をつけなければならないことが他にもあります。それは変数を見れる範囲です。

“`java
class Main{
public static void main(String args[]){
int i = 30;

System.out.println(i);
}
}
“`

mainメソッド内で int iを宣言しています。なのでmainの処理が終わるまで、mainの中で使えます。実行すると

“`java
30
“`

が表示されているので、iの中身を表示できています。ただ宣言する場所を限定してしまうと、その変数を見つけられない場合があります。

“`java
class Main{
public static voi

元記事を表示

Javaの変数の使い方

# 注意事項

この記事は私がJavaの勉強のために、Javaの変数について調べたことをまとめたものです。

## 変数とは
変数とは、データを格納しておく領域のことです。
もっと大雑把に言うと、値を入れられる箱のようなものです。

## 変数の種類
変数の種類は複数ありますが、その中でもよく使うものを記載します。

int:整数型。-2147483648~2147483647を入れられる。

float:単精度浮動小数点数型。
±3.40282347E+38~±1.40239846E-45を入れられる。

double:倍精度浮動小数点数型。
±1.79769313486231570E+308~±4.94065645841246544E-324を入れられる。

char:文字型。¥u0000~¥uFFFFを入れられる。

String:文字列型。

boolean:ブーリアン型。true(真)かfalse(偽)を入れられる。

他にもありますが、ここではこれだけとします。

## 変数の宣言
変数は変数名とデータ型名が必要です。
書き方は ”データ型名(半角スペース)変数名;” です

元記事を表示

Eclipseでコンストラクタを自動生成する方法

# はじめに
久方ぶりにJavaとEclipseを触りました。昔Eclipseを使っていた時なんか使いづらいと感じ食わず嫌いのような感じになっていましたが、ショートカットや機能を憶えるとなかなか使いやすいんじゃないかと思いました。とりあえず今回はコンストラクタの自動生成のやり方について書きます。
# フィールドからコンストラクタを自動生成
例えばこんなクラスがあるとします。

“`Java
public class Dog {
String name;

void bark() {
System.out.println(name + “:「Bowwow.」”);
}
}
“`

ここでコンストラクタをいちいち手入力するのはめんどくさいのでメニューバーのSource →Generate Constructor using Fields…を選択して、設定したいフィールドを選びgenerateをクリックすると、コンストラクタを自動生成してくれます。
![con1.png](https://qiita-image-store.s3.ap-northeast-1.amazona

元記事を表示

Javaの変数宣言や初期化、型について

##はじめに
この記事はJavaを始めて見た方に向けた、自分の理解の備忘録です。また、この記事を記載する上で、以下の記事を参考にしています。

【一目でわかるJava】変数の宣言と使い方

## 変数を宣言する
Javaで変数を宣言する時は、どのデータ型の変数かを記載する必要があります。

記入例

“`java
int suuzi; // 数値型
boolean dotti; // boolean型 trueかfalseか
String mozi; // 文字型

System.out.println(mozi); //moziの中をみようとする
“`

ただこの記載は宣言であり、初期化はできていません。Javaでは初期化できていない変数があるとエラーになります。

エラー文

“`
エラー: 変数moziは初期化されていない可能性があります
“`

##初期化

“`java
int suuzi; // 数値型
boolean dotti; // boolean型 trueかfalseか
String mozi; // 文字型

suuzi = 1

元記事を表示

Javaの変数宣言・初期化・データ型

###対象読者
Java勉強し始めの人。

###変数定義
Javaで変数を定義するには、以下の2ステップが必要になります。
1.変数に入れる値のデータ型を指定する
2.変数名を決める

  例:
   1. int(数値)型
    `int number;`
    intが数値を表すデータ型で、numberが変数名です。
    上記の例ではint型の変数numberが定義されています。
   2. string(文字)型
    `String text;`
    Stringが文字列を表すデータ型で、頭文字を大文字にします。textが変数名です。
    上記の例ではString型の変数textが定義されています。

   1、2同様に、文末にはセミコロンをつけます。

###変数の初期化
下記の例のように、変数定義と同時に値を代入することを変数の初期化と呼びます。
   例:
   1. int(整数)型
    `int number = 3;`
    上記の例ではint型の変数numberが定義され、数値の3が代入されています。
   2. String(文字列

元記事を表示

Java入門シリーズ(変数と型)

## はじめに

こんにちは。
この記事は「これからJavaを始める方」や「久々にJavaにやる方」向けに変数と型についてのまとめ記事です。

変数とは何かといったプログラミング自体についての説明は行わないので、プログラミング初心者の方には向いてない記事かもしれません。

Java入門シリーズとして下記の記事を準備中です。

– 変数と型 ←いまここ
– [型変換](https://qiita.com/aoyaman/items/cbefb07c6fffcbadf2ef)
– 変数のスコープ(準備中)
– 文字列の操作(準備中)
– 配列の操作(準備中)
– 演算子(準備中)
– 条件分岐(準備中)
– 繰り返し処理(準備中)
– クラスについて(準備中)
– 抽象クラス(準備中)
– インターフェース(準備中)
– カプセル化(準備中)
– モジュールについて(準備中)

# 型について

JDK10から型推論の概念が導入されてますが
Javaの基本は静的型付言語だと思いますので
型について説明します。

型は大きく分けて、
基本型(プリミティブ型)と参照型(クラス型)の2種類ありま

元記事を表示

Javaの特徴

この記事は、プログラムに触れることが初めてで、Javaでプログラムを組んでみたいと言う人に向けて書いた記事です。
今回はJavaはどう言ったプログラミング言語なのかという、特徴について記載しています。

#注意事項

この記事はWikiの内容をもとに書かれています。
wikiのリンク
https://ja.wikipedia.org/wiki/Java

## Javaの特徴
現在Java開発を行っているOlacleによると、Javaには6つの特徴があります。

### 1.オブジェクト指向
Javaの主要プログラミングパラダイム(プログラマにプログラムの見方を与えるもの)は、クラスベースのオブジェクト指向であるとされています。
※オブジェクト指向とは、作業単位でプログラムを分割することで、修正などを簡単にするという考え方です。

### 2.プラットフォーム非依存
プラットフォームとは、
>ソフトウェアを動作させるのに必要な、基盤となる装置やソフトウェア、サービス、あるいはそれらの組み合わせ(動作環境)

のことを指します。(http://e-words.jp/w/プラットフォーム.

元記事を表示

Javaの開発環境

#はじめに
この記事は、Javaを始めてみようと思っているけど、何からすればいいのかがわからない人のために、自分の理解を記載した備忘録です。

#開発環境構築
https://www.oracle.com/java/technologies/javase-downloads.html#JDK14

上記はオラクルのページです。まずはこちらからダウンロードして見ましょう。今回は新しいJavaSE14を入れていきます。

スクリーンショット 2020-05-11 10.52.33.png

画像のJDKDownloadと記載されている箇所をクリックすると、下記の画面が出てきます。

スクリーンショット 2020-05-11 10.55.42.pngJavaの機能について

##はじめに
この記事はこれからJavaを勉強する方に向けた私自身の理解している内容の記録です。

これからJavaの機能や記載方法についてを、下記のリストに分けて記載していきます。

・変数と型、型変換 https://qiita.com/pitan109/items/2538b234a2c6e20c037f
・変数のスコープ https://qiita.com/pitan109/items/b30589bc4c2e8169734c
・文字列の操作(準備中)
・配列の操作(準備中)
・演算子(準備中)
・条件分岐(準備中)
・繰り返し処理(準備中)
・例外処理(準備中)
・クラスについて(準備中)
・抽象クラス(準備中)
・インターフェース(準備中)
・カプセル化(準備中)
・モジュールについて(準備中)

今回はJavaを使う上で覚えておきたいことの概要と、私自身がRubyを使用していたので、Rubyとの比較を列挙していきます。

5/11 更新 共通箇所、各方式のメリットデメリットを追記
5/12 更新 目次を追加

##コンパイラ方式
コンパイラ(コンパイル)とは、シンプルにい

元記事を表示

OTHERカテゴリの最新記事