JAVA関連のことを調べてみた

JAVA関連のことを調べてみた

Maven が取得するライブラリの確認環境を作る

# 1. はじめに

Maven プロジェクトを新規に作成する際や、既存の Maven プロジェクトのライブラリをバージョンアップする際に、「取得されるライブラリのファイル(JAR ファイル)を事前に確認したい」ということはないでしょうか(私はあります)。
pom.xml の依存関係定義(dependency)のバージョン値や並び順を変更しただけで予想外の JAR ファイルも更新されてしまうことは珍しくないですが、その調査や対処を実際の開発プロジェクトの中で行うのはなかなか骨が折れる作業です(ビルドに時間がかかるとか、余計な確認対象が多すぎるとか、面倒なことが多いです)。

そこで私の場合は、Maven が取得するライブラリのファイルを確認するためだけのシンプルな Maven プロジェクトを使っています。そして、その環境で確認がとれた依存関係定義を開発プロジェクトに反映しています [^1]。

# 2. 環境

Windows 10 Home
Java 17.0.7
Maven 3.8.8

# 3. プロジェクト構成

![mvntest-app-tree3.png](https:/

元記事を表示

[Google Forms API(V1)] GoogleフォームとFormクラス

Googleフォームを生成したり、情報を取得する際に使用する
com.google.api.services.forms.v1.model.Formクラス
と実際のGoogleフォームのUIを関連づけました。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Forms API(V1)] JavaでForms APIを使う](https://qiita.com/doran/items/6a25c15309f442c4d679)
を参照ください。
:::

|No||目次|
|—|—|—|
|1||[フォーム](#1-フォーム)|
||1|[フォームのタイトルと説明](#11-フォームのタイトルと説明)|
|2||[質問](#2-質問)|
||1|[質問を追加、質問をインポート](#21-質問を追加質問をインポート)|
||2|[ユーザーへ複数の質問](#22-ユーザーへ複数の質問)|
||3|[タイトルと説明を追加](#23-タイトルと説明を追加)|
||4|[画像を追加](#24-画像を追加)|
||5|[

元記事を表示

[Google Forms API(V1)] JavaでForms APIを使う

Googleが提供しているGoogle Forms API(V1)をJavaで使ってみました。

***Google Forms APIとは***
Googleが提供しているAPIで、Googleフォームに関する操作ができます。

Google Forms APIの利用料金は無料です。
ただし、1日あたりの利用制限はありませんが、分単位での利用制限があります。

|リクエスト||プロジェクト単位|ユーザー、プロジェクト単位|
|—|—|—|—|
|読込み系|回答一覧の取得以外|975回/分|390回/分|
||回答一覧の取得|450回/分|180回/分|
|書込み系||375回/分|150回/分|

詳細はGoogleの公式ドキュメントをご覧ください。
[⧉使用量上限](https://developers.g

元記事を表示

JavaのStreamインスタンスを作成する

Java8で導入されたStreamAPIの具体的な使い方を使い方を説明していきます。
まずそのStreamインスタンスの作成方法から見ていきましょう。
## ListやSetからStreamを作成する場合
Collection インターフェース(List や Set など)の stream() メソッドを使用して、ストリームを作成します。

“` java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

public class StreamExample {
public static void main(String[] args) {
List list = Arrays.asList(“Apple”, “Banana”, “Cherry”);
Stream stream = list.stream();
stream.forEach(System.out::println);

元記事を表示

#9【勉強メモ】エヴァンス本からざっくり理解するDDD

## 目標
・ふわっとした理解のDDDについて[エヴァンス本](https://www.amazon.co.jp/%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%82%A8%E3%83%B4%E3%82%A1%E3%83%B3%E3%82%B9%E3%81%AE%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88-Architects%E2%80%99Archive-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%81%AE%E5%AE%9F%E8%B7%B5-%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%82%A8%E3%83%B4%E3%82%A1%E3%83%B3%E3%82%B9/dp/4798121967/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%B

元記事を表示

[Gmail API] Javaで送信者エイリアス宛に確認メールを送る

Gmail API v1(Java)を使用して、
Gmailの送信者エイリアス宛に確認メールを送る方法
についてご紹介します。

**送信者エイリアスとは**
メールを送信する時、送信者エイリアスからメールを送信しているように見せることができる機能です。
最初に、メール転送を設定してアクティブにしておきます。
Gmailでは、「設定」 -> 「アカウントとインポート」 -> 名前:「他のメールアドレスを追加」
から設定できます。

このAPIは、ドメイン全体の権限を委任されたサービスアカウントを
使用しての発行のみ利用可能です。OAuth 2.0では利用できません。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Gmail API] JavaでGmail APIを使う]

元記事を表示

【Java】Mac で Java を利用するときに注意すべきエラーと対処法

※間違って「Q&A」に投稿してしまったので、「記事」に再掲します🙇‍♂️

## 概要
macOS で、PC ゲームの「Minecraft(マイクラ)」の Java版に Mod を導入しようと思って、使用 PC で初めて Java を利用した際に発生したエラーに対する対処法の備忘録。

### 前提
OS: macOS 13.3.1 (Ventura)
CPU: 3.2GHz 8コア Intel Xeon W

## 発生した事象
Mod を導入するための前提 Mod **「Minecraft Forge」** を導入するため、そのインストーラ(**forge-1.20.2-48.0.37-installer.jar**)をダウンロードしてダブルクリックで実行したら、以下のエラーメッセージが発生。

:::note info
「Mod」とは、一般には、ゲームを拡張・変更する非公式のプログラムやソフトウェアのこと。
:::

“`
操作を完了できませんでした。
Unable to locate a Java Runtime.
Please visit http://www.java.c

元記事を表示

ChatGPTでJava+XML-RPCでのWordpressへの投稿方法を調べた話

## はじめに

こんにちは。いりくら@アノードです。
完全自動運用のニュースメディア「[BizAIdea](https://bizaidea.com/ “BizAIdea Home”)」 を開発/運用しているのですが、Wordpressへの記事投稿の自動化に JavaからXML-RPC を利用した際、ChatGPTに大いに助けてもらったので、その流れをご紹介します。

## なぜ WordPressの投稿にXML-RPC を使ったか?
本来、Wordpressへのプログラムによる投稿は標準のAPIを利用するのが本筋かと思いますが、Wordpressを立てているレンタルサーバーのConohaWingではAPIの利用制限されているようで、利用できませんでした。
(私の調べ方が不足していたらすみません。)

API以外でもXML-RPCを利用することでプログラムからの記事投稿ができるようだったので、今回はXML-RPCを利用することとしました。

ちなみにJavaを利用したのは、クローラー等の関連するプログラムがJavaだった都合によるもので、もちろんPythonやPHPなどでも同様のこと

元記事を表示

[Gmail API] Javaでメールボックスのプッシュ通知を開始・更新・停止する

Gmail API v1(Java)を使用して、
Gmailメールボックスのプッシュ通知を開始・更新・停止する方法
についてご紹介します。

Gmailのプッシュ通知はPub/SubというGCPのサービスを利用します。

:::note info
Pub/Sub、Cloud Functionsの準備や設定に関してましては、
[⧉[Pub/Sub – Cloud Functions] Google Cloud APIからの通知を受け取る](https://qiita.com/doran/items/343dac28c46143d61917)
を参照ください。
:::
:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Gmail API] JavaでGmail APIを使う](https://qiita.com/doran/items/a078e966bfd93c4b19c2)
を参照ください。
:::

本文中の引数にある「メールアドレス」の指定は、
OAuth 2.0使用の場合は「me」(自身)と指定してください。
「me」は認証され

元記事を表示

Javaを基本からまとめてみた【オブジェクト指向】

## オブジェクト指向

(1)システムとは?

– 個々の様相が相互に影響し合いながら、全体として機能するまとまりや仕組みのこと。
– ITの分野では、個々の電子部品や機器で構成され、全体として何らかの情報処理機能を持つ装置のことやハードウェアやソフトウェア、ネットワークなどの要素を組み合わせ、全体として何らかの機能を発揮するひとまとまりの仕組み(情報システム、ITシステム)のことを指す

(2)オブジェクト指向とは?

“`
1つ1つのクラス、役割を持ったモノ(object)として扱う = オブジェクト指向
“`
– 『ある役割を持ったモノ』事にクラス分割し、モノとモノとの関係性を定義していくことでシステムを作り上げようとするシステム構成の考え方

- モノを表現するためには2つの情報『属性(どのようなものか)』『機能(何ができるか)』が必要

(3)インスタンスの活用

インスタンスとは?

クラスをもとに生成された個々のオブジェクトのことを指す

## 参考サイト
[【Java-オブジェクト指向】脱初心者編!(ハンズオン/絶対理解/プロ講師が丁寧解説/Java S

元記事を表示

[Pub/Sub – Cloud Functions] Google Cloud APIからの通知を受け取る

Googleのサービス、Pub/SubとCloud Functionsを使用して
Google Cloud APIからの通知を受け取る方法をご紹介します。

|No||目次|
|—|—|—|
|1||[Pub/Sub でトピックを作成](#1-pubsub-でトピックを作成)|
||1|[Pub/Subの検索](#11-pubsubの検索)|
||2|[トピックを作成](#12-トピックを作成)|
||3|[権限の設定](#13-権限の設定)|
|2||[Cloud Functions でファンクションを作成](#2-cloud-functions-でファンクションを作成)|
||1|[Cloud Functions 検索](#21-cloud-functions-検索)|
||2|[ファンクションを作成](#22-ファンクションを作成)|
||3|[ファンクションURLの取得](#23-ファンクションurlの取得)|
|3||[Pub/Sub でサブスクリプションを作成](#3-pubsub-でサブスクリプションを作成)|
||1|[サブスクリプションを作成](#31-サ

元記事を表示

重複するファイルを検出する

重複するファイルを検出する
SDKをあちらこちらにインストールして、管理下に置けてない場合、管理下におくための、検出ツールとして使えます。
YouTubeの動画編集をされてるかたにも有用かもしれませんね。素材がちらばってしまっているとか。

共用PCでWEBコンテンツを作成されているかたにも便利に使っていただけると思います。

![pict.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518713/d167a206-7704-89c0-1185-793f0ebe33e5.png)

ソースコードはGithub上にあります。

https://github.com/syntaro/javamidimixer/blob/main/mixrecipe/src/example/SameFileChecker.java

変更履歴
・フォルダを選択できるようになりました。
・拡張子で絞り込めるようになりました。
・カスタム拡張子を入力できるようになりました。
・ソースはGithubへのリンクに変更しました。

元記事を表示

SpringBootでEntityを使ってMySQLにレコードインサート(1件、複数件)

# この記事はこれの続きです

https://qiita.com/waokitsune/items/0d4702b97d1ef99c03c1

# Repositoryクラス

変更無しです。

# Serviceクラス

Repositoryクラスの “`save()“` で1レコード分、 “`saveAll()“` で複数レコード分。

“`java:UnkoService
package com.example.demo;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@Transactional
public class UnkoService {

@Autowired
UnkoR

元記事を表示

Javaでアプリケーションを作成してみた【E-Commerce Shopping Cart Project】

## 1.プロジェクトを作成する

Project name : shopping_cart

Language: Java
SpringBoot: 3.1.1
jar17

Group: com.example
Artifact: springboot_frontend
Name : springboot_frontend
Description: Demo projects for Spring Boot frontend
Package name: com.example.springboot_frontend
Dependencies

Spring Boot Web
Spring Boot DevTools

## 参考サイト
[2. E-Commerce Shopping Cart Project Setup in Eclipse IDE](https://www.youtube.com/watch?v=cavlVEW87iY&list=PLF7Fmglq6SPD9jVwDt-mbYiaewF-pPYZS&index=2)

元記事を表示

SpringBootでEntityで取得したMySQLのレコード値をThymeleafで表示

# この記事はこれの続きです

https://qiita.com/waokitsune/items/177ebd498976595d0567

Entityクラス、Repositoryクラス、Serviceクラスは作成済の想定です。

# Controllerクラス

Modelクラスを使って “`addAttribute()“` でThymeleafで参照する変数にセットするのがポイント。

“`java:DemoController
package com.example.demo;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class DemoControl

元記事を表示

[Gmail API] Javaで転送アドレスを作成・削除する

Gmail API v1(Java)を使用して、
Gmailのメールボックス内の転送アドレスを作成・削除する方法
についてご紹介します。

**転送アドレスとは**
受信したメールを設定したメールアドレスへそのまま送る機能です。
Gmailでは、「設定」 -> 「メール転送とPOP/IMAP」 -> 「転送先アドレスを追加」
から設定できます。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Gmail API] JavaでGmail APIを使う](https://qiita.com/doran/items/a078e966bfd93c4b19c2)
を参照ください。
:::

本文中の引数にある「メールアドレス」の指定は、
OAuth 2.0使用の場合は「me」(自身

元記事を表示

#8【勉強メモ】エヴァンス本からざっくり理解するDDD

## 目標
・ふわっとした理解のDDDについて[エヴァンス本](https://www.amazon.co.jp/%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%82%A8%E3%83%B4%E3%82%A1%E3%83%B3%E3%82%B9%E3%81%AE%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E9%A7%86%E5%8B%95%E8%A8%AD%E8%A8%88-Architects%E2%80%99Archive-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%81%AE%E5%AE%9F%E8%B7%B5-%E3%82%A8%E3%83%AA%E3%83%83%E3%82%AF%E3%83%BB%E3%82%A8%E3%83%B4%E3%82%A1%E3%83%B3%E3%82%B9/dp/4798121967/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%B

元記事を表示

JavaFX アプリの実行可能ファイル化 (Windows, Eclipse)

# はじめに
本資料では Java がインストールされていない環境で、Eclipse で開発した自作プログラムを .exe ファイルとして実行できるようにする方法を紹介しています。

## 参考資料
参考資料として紹介している記事を読んでいただくのが一番早いかと思います。もう少し丁寧に、ということでまとめ直させていただきました。

* [Qiita – JavaFX & 自己完結型パッケージでのツール作成(配布編)](https://qiita.com/ketman55/items/a954dfc2b748559f0920)

## 実施環境
* Windows 11 Pro
* Eclipse 2023-12
* e(fx)clipse 3.9.0
* Oracle OpenJDK 21
* JavaFX 21
* Launch4j 3.50

“`: Java バージョン
> java –version

java 21.0.2 2024-01-16 LTS
Java(TM) SE Runtime Environment (build 21.0.2+13-LTS-58)
Jav

元記事を表示

継承とインターフェース

# 継承

・クラスの階層を作ることができる
・ベースクラスのメソッドやフィールドを派生クラスで再利用できる
・派生クラスはベースクラスの機能を追加したり変更したりできる

# インターフェース

・一連のメソッドの定義のみを含む抽象的なプロトコル(メソッドの実装はない)
・クラスは複数のインターフェースを実装できる
・異なるクラス間で共通のメソッドを定義できる
・異なるクラスの関連性を示すために使用される(具体的な昨日の実装に関与しない)

## オーバーライド

子クラスが親クラスのメソッドを上書きする

親クラスのabstractは絶対にオーバーライド

元記事を表示

SpringBootでH2DBへの接続方法について簡単にまとめてみる

## はじめに
自己学習でH2DBを実際に使用してみたので、SpringBootでH2データベースに接続した方法について簡単にまとめています。

## 動作環境等
macOS:13.0
Java:17
SpringBoot:3.2.4
IDE:IntelliJ(2023.3.4)
ビルドツール:Gradle
データベース:H2

## 手順
1. build.gradleに設定を記述する
2. application.propertiesにH2DBの設定を記述する
3. SpringBoot起動時に作成するテーブルを準備する
4. H2コンソールでテーブルを確認する

### 1.Build.gradleに設定を記述する
“`build.gradle
dependencies {
runtimeOnly ‘com.h2database:h2’ // #1
implementation ‘org.springframework.boot:spring-boot-starter-data-jdbc’ // #2
}
“`
:::note
#1: H2DBを使用するために

元記事を表示

OTHERカテゴリの最新記事