- 1. コマンドラインでJavaのコンパイルや実行
- 2. スコープの使い方(JSP&サーブレット)
- 3. Eclipseで使える便利なショートカットキー
- 4. Spring Boot + Spring Data JPA複数のテーブル結合について
- 5. 【Spring Boot】環境構築(macOS)
- 6. Java開発環境構築 OpenJDK 11をインストールして実行までの流れ
- 7. Javaの例外処理について
- 8. AndroidのオープンソースファイルダウンロードマネージャーFetch使ってみた
- 9. VSCodeでHello World!
- 10. 【Java入門】変数と型について(変数の宣言、初期化、データ型)
- 11. Orcacla Java Bronze SE 7/8 資格勉強
- 12. 【Java】配列の中身を一部変更・変える方法【アウトプット】
- 13. EclipseでJava EEのプロジェクトをGit管理する方法
- 14. ios.androidアプリを作りたい
- 15. Axon Frameworkを使ってみる
- 16. Spring Boot Actuator の logback_events_total メトリクス値
- 17. 2016年にJava8+JavaFXで作ったGUIツールをリファクタリングした
- 18. Android Remote Debug (adb)
- 19. Java 変数のスコープ
- 20. 【Java】JUnitでnullかどうかをテストする方法
コマンドラインでJavaのコンパイルや実行
はじめに
この記事はこれからJavaを勉強する方に向けた私自身の理解している内容の記録です。Javaの機能や記載方法についてを、下記のリストに分けて記載していきます。
・変数と型、型変換 [Javaの変数宣言や初期化、型について](https://qiita.com/pitan109/items/2538b234a2c6e20c037f)
・変数のスコープ [Java 変数のスコープ(変数を見れる範囲)](https://qiita.com/pitan109/items/b30589bc4c2e8169734c)
・文字列の操作(準備中)
・配列の操作(準備中)
・演算子(準備中)
・条件分岐(準備中)
・繰り返し処理(準備中)
・例外処理 [Javaの例外処理について](https://qiita.com/pitan109/items/c9910edddc007126df41)
・クラスについて(準備中)
・抽象クラス(準備中)
・インターフェース(準備中)
・カプセル化(準備中)
・モジュールについて(準備中)ただこの記事ではリストとは別で、記事の中でも行なっていたコマン
スコープの使い方(JSP&サーブレット)
サーブレットクラスで生成したインスタンスをJSPファイルで利用するにはスコープというインスタンスを保存できる領域を利用します。
利用するスコープには「リクエストスコープ」「セッションスコープ」「アプリケーションスコープ」の3種類があり、それぞれのスコープによってインスタンスを保存した際の有効期限などが異なります。以下、それぞれのスコープの基本構文です。
##リクエストスコープ
リクエスト間でデータを共有したい場合に使用する。“`java:
//requestスコープに保存
request.setAttribute(“属性名”,インスタンス);
//requestスコープから取得
インスタンスの型 変数名 = (インスタンスの型) request.getAttribute(“属性名”);
“`##セッションスコープ
HTTPセッション間でデータを共有したい場合に使用する“`java:
//Sessionスコープの取得(保存領域を確保)
HttpSession session = request.getSession(true);
//sessio
Eclipseで使える便利なショートカットキー
今回は私がEclipseでよく使うショートカットキーをまとめてみました。(Ctrl + Cなどの基本的なものも含めています。)
##コード編集
– **[Ctrl] + [Alt] + [↑/↓]:**選択した行を上/下に複製
– **[Alt] + [↑/↓]:**選択した行を上/下に移動
– **[Ctrl] + [D]:**選択した行を消去
– **[Ctrl] + [/]:**選択した行をコメントにする/解除
– **[Ctrl] + [Shift] + [/]:**選択範囲をブロックコメントに
– **[Ctrl] + [Shift] + [\\]:**選択範囲のブロックコメントを解除
– **[Shift] + [Alt] + [R]:**リネーム(メソッド名や変数名にカーソルを合わせていれば、ソースコード内の名前をまとめて変更できる)
– **[Ctrl] + [Back space/Deleat]:**選択カーソルの前/後ろの単語を消去
– **[Ctrl] + [Space]:**入力候補の表示/補完(sysoutを入力後に使うとSystem.out.pr
Spring Boot + Spring Data JPA複数のテーブル結合について
Springを使用してのINNER JOINやLEFT JOINなどで参考書を読んでも苦戦したので、備忘録として記載します。
#今回実現したいこと
部屋名と備品名を画面に出力する。##Roomテーブル
| | カラム名 | データ型 |
|:—————–|—————–:|:—————–:|
| 部屋番号 | room_id | INT |
| 部屋名 | room_name | VARCHAR|##Equipmentテーブル
| | カラム名 | データ型 |
|:—————–|———–:|:—————–:|
| 備品番号 |equipmentId_id | INT |
| 備品名
【Spring Boot】環境構築(macOS)
Eclipse、Java、Spring Boot全てにおいて初心者です。
なんとか環境構築を終えましたが、間違いがあればご教授お願いいたします。## 開発環境
– macOS
– Eclipse 4.8 Photon
– Spring Tools 4## Eclipseのダウンロード
##### ❶ [公式サイト](https://mergedoc.osdn.jp/)にアクセスし、`Eclipse 4.8 Photon` を選択
![スクリーンショット 2020-05-12 17.04.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/506701/de63f808-63d7-ca22-7239-15b21a03f5ef.png)##### ❷ `Mac 64bit` 、 `Full Edition` 、 `Java` を選択
![スクリーンショット 2020-05-12 17.05.28.png](https://qiita-image-store.s3.ap-northeast-1
Java開発環境構築 OpenJDK 11をインストールして実行までの流れ
#最初に
Javaの学習に伴い、環境構築をすることになったため、一連の流れをまとめました。– Java始めたいけど、環境構築どうすればいいんだろう?
– 公式オラクルでJDKのインストールしようとしたらプロファイルの作成を求められるから別の方法ないかな?
– JDKインストールしたはいいけど、そっからどうすればいいの?という方の参考になればと思います。
OS: macOS Catalina バージョン10.15.4
テキストエディタ:Visual Studio Code- Insiders(VSCode)#Javaってどんな特徴があるのよ
インストールの前にさらりとJavaの特徴を書いておきます。
知ってるよという方は、さらりと流してください。##”Write once , run anywhere”
Javaのスローガンでこういう言葉があります。
「一度コードを書けば、どこでも実行できるよ」ということで、
Javaの開発はWindows,Mac,Linuxどれでも行うことができ、
汎用的でOSに依存しません。##主にどんなことができるの?
参考サイト:ht
Javaの例外処理について
##はじめに
この記事はこれからJavaを勉強する方に向けた私自身の理解している内容の記録です。
Javaの機能や記載方法についてを、下記のリストに分けて記載していきます。今回は例外処理です。
・変数と型、型変換 [Javaの変数宣言や初期化、型について](https://qiita.com/pitan109/items/2538b234a2c6e20c037f)
・変数のスコープ [Java 変数のスコープ(変数を見れる範囲)](https://qiita.com/pitan109/items/b30589bc4c2e8169734c)
・文字列の操作(準備中)
・配列の操作(準備中)
・演算子(準備中)
・条件分岐(準備中)
・繰り返し処理(準備中)
・例外処理 現在ページ
・クラスについて(準備中)
・抽象クラス(準備中)
・インターフェース(準備中)
・カプセル化(準備中)
・モジュールについて(準備中)##例外処理とは
例外処理の考え方としては、コードの中で想定外な動作が行われ、例外が発生した時のためにあらかじめ対応を記載しておくことです。##例外はそもそも何か
AndroidのオープンソースファイルダウンロードマネージャーFetch使ってみた
#今回の記事について
今回は、自分の開発しているアプリに実装します!
DownloadManagerを使おうかなーと思って調べていたところ、発見しよさそうだなと思ったので、使いたいと思います!
調べてみたら、日本語の情報が少なく、情報を共有出来たらと思い、書きます!
私も初めて使うので、間違えがあったら教えてください!
[GitHubのページはこちら](https://github.com/tonyofrancis/Fetch)#今回の環境
今回の場合は、ファイルはFirebase CLoudStrageに保存されており、DownloadURLを取得し、そのURLを使用してダウンロードすることにします。
なお、FirebaseCloudStrageの使い方は、省略します。#準備
まずは、applicationフォルダ内のbuild.gradleに依存関係を追加します。
今回は、AndroidXで使用するので、“`
implementation “androidx.tonyodev.fetch2:xfetch2:3.1.4”
“`を追加します。
追加したら、syncし
VSCodeでHello World!
この記事は[Javaとは何か と 開発環境](https://qiita.com/u-devi/items/80f004689ffae67d187d) で構築したVSCodeで
プログラムを実際に動かすものです。
先ほど作成したpractice.javaに以下のように記載してください。“`practice.java
class Main {
public static void main(String[] args) {
String msg = “Hello World!”;
System.out.println(msg);
}
}
“`
その状態で「実行とデバック」をクリックします。
【Java入門】変数と型について(変数の宣言、初期化、データ型)
#目的
Java言語を含めたプログラミングの学習を始めたばかりの方、既学習者の方は復習用に、
変数の宣言、初期化、データ型を学ぶ為に書いています。[【Java入門目次】](https://qiita.com/morioheisei/items/6c7fc063c26e63d890ac)
今回は**変数と型について**です。・変数と型 ←今ここ
・型変換(準備中)
・変数のスコープ(準備中)
・文字列の操作(準備中)
・配列の操作(準備中)
・演算子(準備中)
・条件分岐(準備中)
・繰り返し処理(準備中)
・クラスについて(準備中)
・抽象クラス(準備中)
・インターフェース(準備中)
・カプセル化(準備中)
・モジュールについて(準備中)#変数の宣言と初期化
変数とは、
`プログラム内で使用するデータを保持するための入れ物。`他の変数と区別する為に、
Java言語においては、変数を宣言する際に以下を注意しなければいけません。
・数値や文字列など、どんな値が格納されるのか
・どんな名前にするのか
・最初に格納する値は何なのか##変数の宣言
`デ
Orcacla Java Bronze SE 7/8 資格勉強
筆者の経歴
—————————————
都内大学を文系で卒業後、総合職として新卒で就職、営業を経験後20代前半でIT業界未経験で転職。
入社前まではコーディングはおろか、ITの知識はほぼ皆無。
2ヵ月の研修後、現在は客先常駐という形で実務に励んでいる。
現在の現場は7ヵ月になるが内コーディングの期間は1ヶ月のみで設計、テストが業務内容のほとんどを占めている。
資格勉強をするに至った経緯
—————————————
周囲の優秀な同期や先輩方はJava Silverから受験することが多い傾向だが、私は~~自信ない~~一つ一つ着実にクリアしていきたい、完全なる未経験で勉強を始めた自分の実力を試したいため、まずは初歩のBronzeから受験をする決意をした。
勉強期間
—————————————
2ヵ月….だが、ネットでいろいろ調べて行くと未経験者でも1ヵ月きち
【Java】配列の中身を一部変更・変える方法【アウトプット】
## はじめに
Javaのアウトプット記録です。## コード
“`java:Main.java
public class Main{public static void main(String[] args){
String[] array = {“apple”,”banana”,”lemon”};for(String x : array){
System.out.println(x);
}}
}
“`## 問題と解決
上記コードの配列の中身にある「banana」を「orange」に変えたい場合
“`java:Main.java
public class Main{public static void main(String[] args){
String[] array = {“apple”,”banana”,”lemon”};// 下記を記述する
array[1] = “orange”;
// ここまで
EclipseでJava EEのプロジェクトをGit管理する方法
## この記事は以下の環境で実施しています。
– Open JDK 8
– eclipse Photon Build## 以下を前提としています。
– すでに動的WEBプロジェクトを作成している
– クローンするリポジトリがない
## EclipseでJava EEのプロジェクトをGit管理する方法### ウィンドウ→パースペクティブ→パースペクティブを開く→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