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

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

一時保管

https://snownotes.org/how-to-build-web-application-using-java/

元記事を表示

最小構成 Maven の導入と Hello World!

# 最小構成 Maven の導入と Hello World!

## 目的

Maven で Java プログラムをビルド・実行する最小限の環境を構築します。
※ 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: 22.04
“`

Java JDK

元記事を表示

Eclipse jarファイルのエクスポート

## jarファイルの作成
①Eclipseのパッケージエクスプローラの対象プロジェクト名上で右クリックし、「エクスポート」を選択
②「エクスポート」ウィンドウが表示されるので、「Java > 実行可能JARファイル」を選択し、「次へ」ボタンを押下
③「実行可能JARファイル エクスポート」ウィンドウで「起動構成」にmain()メソッドのクラスを指定する
④同ウィンドウで、「エクスポート先」を指定する

## jarファイルの実行方法
「java -jar FILE_NAME.jar」
「start FILE_NAME.jar」

参考: https://java.keicode.com/lang/how-to-compile-jar-with-eclipse.php

元記事を表示

二次元配列・多次元配列 

# 二次元配列や多次元配列について。
javaで個人的にややこしかった部分を整理しておきます。

一次元の配列を宣言するとこのような形になります
“`java
public static void main(String[] args) {
int[] array = new int[3];
}
“`
宣言時は以下のように三つの格納スペースを持った配列の参照先が変数arrayに格納されます。**⚠︎arrayの中に配列が格納されるわけではありません、参照型なので参照値が入ります**
![スクリーンショット 2023-02-09 0.47.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3087483/7409f114-5a3d-3b1e-5f9d-bd3ae743c505.png)
“`java
public static void main(String[] args) {
int[] array = new int[3];
boolean[] array2 = new bo

元記事を表示

日本語トランスコンパイラ言語 Re:Mind (自作言語)と他言語との構文比較(FOR文)

# はじめに
[前回のIF文の比較](https://qiita.com/mylifewithviolin/items/579e6c9b77dcd2adda0f)で、自作の日本語トランスコンパイラ言語では、条件分岐構文のはじまりとおしまいに全角記号の◇を使うことを開示しました。今回は繰り返し構文のFOR文です。ということは、まさかのまさか!?

日本語トランスコンパイラ言語の詳しい利用シーンのイメージは[こちらへ](https://qiita.com/mylifewithviolin/items/9d58db8a101807c19bde)

## この記事内容の作業目的
[日本語トランスコンパイラ言語 Re:Mind という自作言語](https://qiita.com/mylifewithviolin/items/9d58db8a101807c19bde)の制御構文をターゲット言語のそれと比較して検討する。
if文につづいてfor文。しかもbreak条件はなしとして、あとで考えます。つまり、無限ループの書き方です。

## この記事内容の保証
※この記事には実装的な情報が含まれます。

元記事を表示

Leetcode 45. Jump Game II

https://leetcode.com/problems/jump-game-ii/description/

## アプローチ
### Brute force

“`java
class Solution {
public int jump(int[] nums) {
int n = nums.length;
int jumps = 0;
int curEnd = 0;
int curFarthest = 0;

for (int i = 0; i < n - 1; i++) { curFarthest = Math.max(curFarthest, i + nums[i]); if (i == curEnd) { jumps++; curEnd = curFarthest; } } return jumps; } }

元記事を表示

最小構成 Java JDK の導入と Hello World!

# 最小構成 Java JDK の導入と Hello World!

## 目的

Java のプログラムをビルド・実行する最小限の環境を構築します。
※ 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: 22.04
“`

※ この先、基本的に U

元記事を表示

【自作アプリ 収支アプリ】その2 〜画面レイアウト DB周り〜

## 収支アプリ 途中経過

### 画面レイアウト
この1ヶ月強で作成した画面をまとめてみます。レイアウトしか載せることが出来ませんが、DB周りかなり苦戦したのでそれなりに時間がかかってしまいました。

(株式投資のアプリケーションなのに途中からおまけで作ろうとしていた固定費計算ページに力を入れてしまった。ただSELECT INESRT UPDATE DELETE の基本的な枠組みを作成することが出来たので株式投資計算ページも同じ容量で作成することが出来るので無駄な時間では無かったと確信。)
#### トップ画面
![トップ画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918178/74e5d374-290d-0cab-a8a8-b27533cb0c9a.png)

#### ログイン画面
![ログイン画面.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918178/9027e643-adec-7f4f-

元記事を表示

gaugeのプラグインがIntellijで動かない(Specから定義ファイルに移動できない)

# はじめに

転職して社内で一番利用している技術として「gauge」があります。
このツール最高なのですが、人の環境でしか触ったことがなく、自分の環境で作成したところうまく動かなかったので記事にしました

社内でも多くのイシューがあったのでつまづきやすいようです

# 問題

“`spec:display.spec
# 記事を表示する

## 適当なHTMLが表示される
* 記事ページを開く
* 記事ページにタイトル”タイトル”が表示されていること
“`

このようなspecを書いたときに、Intellijのプラグインが適応されている場合に、`Ctrl+クリック`でテストの定義ファイルに移動できるはずなのですが、なぜか移動ができませんでした

“`
移動先となる宣言が見つかりません
“`

# 解決方法

`mavenプロジェクト`として取り込むことで解決しました

`pom.xml`を右クリックして`+Mavenとして追加`からプロジェクト追加すると、動くようになりました

# おわりに

近々使用のPCに同じような環境を作るのでそこであらためて、記事にします

# 参考

元記事を表示

derbyへのprocedure registration

procedureを用意する。netbeansでsave and buildし、class fileを作成する
“`java
public class ProcedureExample {
public static void method(String pname) {
try {
Connection con = DriverManager.getConnection(“jdbc:default:connection”);
String sql = “update firsttable set name = ? where id = 10”;
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1,pname);
ps.executeUpdate();
} catch (SQLException ex) {
ex.printS

元記事を表示

CallableStatement

derbyにprocedure登録。https://qiita.com/Natukasi/items/23476095cc798d41fa58
“`java
public class ProcedureExample {
public static void method(String pname) {
try {
Connection con = DriverManager.getConnection(“jdbc:default:connection”);
String sql = “update firsttable set name = ? where id = 10”;
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1,pname);
ps.executeUpdate();
} catch (SQLException ex) {

元記事を表示

Statement#exeuteBatch

addBatchでregisterしたsqlをまとめてexecuteBatchする
“`java
public class Outer {
public static void main(String[] args) {
try {
Connection con = DriverManager.getConnection(“jdbc:derby://localhost:1527/data/Sample”);
try(con) {
shokai(con);
String sql = “insert into firsttable values (?, ?)”;
PreparedStatement ps = con.prepareStatement(sql);
ps.setInt(1,200);
ps.setString(2,”one hundred”);

元記事を表示

Androidアプリを作りたい【開発環境編】

## 概要
 自分が利用してみてよかったサイトのまとめになっています。開発環境の作成から、簡単なアプリの作成までのまとめです。よかったら参考にしていってください。
## 導入
 ここ最近はJavaの勉強を行っているのですが、その勉強の一環としてwebアプリを作成しました。ざっくりいうと2人専用の割り勘アプリなのですが、人数を増やそうとしたところ難易度が飛躍的に跳ね上がったため、ひとまずの完成ということで、新しいものに手を出そうと思います。
 今回は、母があると便利かもということを以前言っていた「__カメラで認識して、楽に家計簿を作成できるアプリ__ 」を目指していこうと思います。
## Androidアプリの開発環境を準備する

https://www.sejuku.net/blog/8462

:::note warn
エミュレータ―を起動しただけでは、仮想端末は起動されていないため、作成したアプリを実行しようとするとエラーが出る。
:::
:::note
解決方法
・仮想端末の電源を入れる。
 →左上に電源ボタンのマークがあるので、押す。
:::

 ここから各種OSに合わせた環境

元記事を表示

macOSのJDK17インストール方法

# はじめに
macOSにおけるJDK17のインストール方法について記載いたします。JDK17は2023年現在において最新のJava SEのLTS版となってます。Homebrewからインストールする方法もあるようですが、設定手順が多そうだったのでOracle公式のダウンロードページからインストーラーをダウンロードしてインストールする方法を採用しました。あらかじめご了承ください。

# 環境
|項目|情報|
| —- | —- |
|OS|macOS Ventura 13.1|
|プロセッサ|1.6 GHz デュアルコアIntel Core i5|

# JDK17のインストール方法
## Oracle公式ページへアクセス
[Oracle公式のJDKダウンロードページ](https://www.oracle.com/java/technologies/downloads/#jdk17-mac)

## JDK17のタブをクリック
![oracle_jdk_downloadpage.png](https://qiita-image-store.s3.ap-northeast-1.a

元記事を表示

macOSのJDKアンインストール方法

# はじめに
[Java公式のサイト](https://www.java.com/ja/download/help/mac_uninstall_java_ja.html)を参考にJDKのアンイストールを試みましたが古いJava用のアンインストール方法だったようで、私のjdk17.0.5はアンインストールできませんでした。[Oracle公式のサイト](https://docs.oracle.com/javase/jp/17/install/installation-jdk-macos.html#GUID-F9183C70-2E96-40F4-9104-F3814A5A331F)の方を参考にしたらできましたので忘れないように残しておきます。
# 環境
|項目|情報|
| —- | —- |
|OS|macOS Ventura 13.1|
|プロセッサ|1.6 GHz デュアルコアIntel Core i5|
|JDK|jdk17.0.5|

# アンインストール方法
## jdkのバージョンを確認
“`
$ /usr/libexec/java_home -V
Matching J

元記事を表示

Stream API を自前に実装するときにおさえておきたいこと

# Stream API をちゃんと使えてますか?

Java 開発者のみなさん、Stream API を使っていますか?Stream API の使い方、ちゃんとおさえていますか?

Stream API をうまく使うと表現力の豊かなソースコードを書けるから、Java 開発者なら、使い方をおさえておいて損はないと思います。

この記事は自作のコレクションで、Stream API 対応のために機能を実装する際に、おさえておきたいポイントを、サンプルコードを交えて説明したいと思います。

なお、この記事は 2023/01 現在最新の LTS である Java 17 をベースに説明し、実際使用する JDK ディストリビューションは Temurin 17.0.6 となります。

また、この記事では、Java クラスのみ指す場合に `Class` のような表記を使っていますが、一般的な用語として捉えても問題ない箇所は平文のまま(日本語または英語)で記載します。

## Stream API おさらいのお供

以前[この Advent Calendar の記事](https://qiita.com

元記事を表示

[Java] マップの初期化と同時にキーを初期化する

何度も調べてしまうので、自分用メモ。
“`
var m = new HashMap() {
{
put(“key1”, 100);
put(“key2”, 200);
}
};
“`

元記事を表示

GWTのファイル構造

GWTでは、プロジェクトをそのまま生成すると次のようになります。

パッケージ事に、役割が明確に分かれているので、
わりとすぐ理解できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/132663/cbceb882-78c1-4231-abec-72ddde798eb3.png)

元記事を表示

Java_3層アーキテクチャについて

ソースを管理する方法として3層アーキテクチャがある。
Webアプリケーションを3つの関心事に分類して実装する。

【プレゼンテーション層】
画面からの入力
画面への出力
@Controller

【ビジネスロジック層】アプリケーションの一番重要
業務ロジック
業務ルール
@Service

【データアクセス層】
データの保存
データの取得
@Repository

参考:https://www.udemy.com/course/intellij-spring-boot/

元記事を表示

メモ MacBook Air (M1)でFlutterインストール時のJavaのエラー

# Macについて

MacBook Air M1, 2020
チップ Apple M1
OS Ventura 13.2

# 状況

下記を参照し、Macをインストール

https://docs.flutter.dev/get-started/install/macos

Javaは別途homebrewでインストール済み

“`
% flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.7.1, on macOS 13.2 22D49 darwin-arm64, locale ja-JP)
[✓] Android toolchain – develop for Android devices (Android SDK version 33.0.1)
[✓] Xcode – develop for iOS and macOS (Xcode 14.2)
[✓] Chrome – develop for the web
[!]

元記事を表示

OTHERカテゴリの最新記事