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

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

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システム)のことを指す

“`
1つ1つのクラス、役割を持ったモノ(object)として扱う = オブジェクト指向
“`

## 参考サイト
[【Java-オブジェクト指向】脱初心者編!(ハンズオン/絶対理解/プロ講師が丁寧解説/Java Silver試験対応)
](https://itplusjp.udemy.com/course/uz-java-obj/learn/lecture/21204868#overview)

元記事を表示

[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を使用するために

元記事を表示

StandardMIDIFileからピアノロールを表示する その2:ピアノロールの基本

StandardMIDIFileからピアノロールを表示する その2:ピアノロールの基本

加筆中

元記事を表示

[Gmail API] Javaで送信者エイリアスを作成・更新・削除する

Gmail API v1(Java)を使用して、
Gmailの送信者エイリアスを作成・更新・削除する方法
についてご紹介します。

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

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

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

元記事を表示

StandardMIDIFileからピアノロールを表示する その1:SMFの解析

StandardMIDIFileからピアノロールを表示する その1:SMFの解析

今日は、MIXRecipeで使われているピアノロールについて解説してみます。

MIXRecipeはこちらです

https://github.com/syntaro/javamidimixer/releases
https://github.com/syntaro/javamidimixer/tree/main/mixrecipe

![スクリーンショット 2024-03-24 10.16.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518713/7c47b8d8-feab-8963-152d-6201bacbf284.png)

Java標準の、
https://docs.oracle.com/javase/jp/11/docs/api/java.desktop/javax/sound/midi/Sequencer.html

ではピアノロールの表示ですこし不便でしたので、SMFファイルの解析からやっていま

元記事を表示

[Gmail API] Javaで送信元エイリアスのS/MIME構成を設定・削除する

Gmail API v1(Java)を使用して、
送信元エイリアスのS/MIME構成を設定・削除する方法
についてご紹介します。

**S/MIMEとは**
電子証明書を用いたメールのなりすましや改ざん、盗聴などを防ぐための仕組みです。
セキュリティを高めるために、メールの暗号化と電子署名を行います。

このAPIは、無料版のアカウントでは使用できず、利用するには
有料版の「Google Workplace」でのアカウントが必要になります。

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

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

|No||目次|
|—|—|—|
|1||[デフォルトのS/MIME構成を設定](#1

元記事を表示

SpringBootでEntityをつかってMySQL接続の基礎

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

https://qiita.com/waokitsune/items/f342f2f3b10df81d1679

# 概要

『テーブルのレコードの値をコンソールに表示する』のが本記事のゴールです。
**最小限のコード** かつ **超基本的な内容** となっています。

# MySQL側

『neko』という名前のスキーマ―に、『unko』という名前のテーブル。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/2e3c2e26-3bc3-af9b-ece7-b74a22155046.png)

カラムは2つのみ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/706116/13708f76-de88-302d-9f36-cd78f28557b3.png)

あらかじめレコードが入っています。
![image.png](https://qiita

元記事を表示

初めて出会った”Trait”の魔法:あなたのコードを変える革新的な考え方

突然ですが、Traitってどんなものかはみなさんご存知でしょうか?
私はこれまで長くソフトウェアエンジニアとして働いてきていますが、大変恥ずかしながらTraitという考え方にこれまで出会ったことがなく、全く知りませんでした💦
(たまたまこれまで使ってきた言語にtraitがなかったからという言い訳)

最近Kotlinを書き始める中で、実際にTraitを使う必要に迫られたので、自分なりにTraitについて説明をしてみたいと思います。

## Traitってなに?

端的に言うと、Abstractやクラスの継承は縦方向の共通化であるのに対し、Traitとは横方向に処理を共通化するための方法です。

複数のクラスで共通して使われる処理を記述する方法として、継承はJavaの初期からある考え方ですが、traitはその後追加された考え方で、2005年のphpへの実装から始まり、Ruby, Rust, Scala,Pythonなどに導入されていったそうです。

参考:[https://en.wikipedia.org/wiki/Trait_(computer_programming)](https:

元記事を表示

フォルダの容量をツリー表示したい(Java

フォルダの容量をツリー表示したい(Java

昔からの書式で恐縮ですがJava22で作ってみました。

![スクリーンショット 2024-03-24 07.37.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2518713/980e6d78-10c7-4a87-1ce4-090d604af051.png)

使用しているいくつかのライブラリは、以下から取得できますが、
フォルダブラウザなどですので、なくても動かせるようになるとは思います。

https://github.com/syntaro/javamidimixer

“`java:FolderSizeChecker.java
/*
* Copyright (C) 2024 Syntarou YOSHIDA
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General

元記事を表示

OTHERカテゴリの最新記事