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

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

オブジェクト指向を軽く勉強してみた

### 自己紹介
Javaを勉強したての社会人一年目です。
Javaのオブジェクト指向を理解するため、このような記事を書きました(メモする感じで笑笑)。
Javaに関するアドバイス等募集中です。

###オブジェクト指向とは
さっそく、本題に入っていきましょう。
そもそもオブジェクト指向ってなんやねんっ最初感じますよね!?(自分もそうやったので…)

オブジェクト指向は、プログラミングを行う上での数多くある考え方の一つみたいです笑笑
オブジェクト指向によって、以下の3つを実現しているそうです。
  1. プログラムの「**独立性**」
  2. プログラムの「**再利用性**」
  3. プログラムの「**拡張性**」

### 「独立性」を実現するには
オブジェクト指向で「独立性」を実現する考え方として、「**カプセル化**」というのがあるみたい。

**カプセル化**
調べたところ、データ(属性)とメソッド(手続き)を1つのオブジェクトにまとめて、その内容を隠蔽する考え方だそうです….
簡単に言っちゃうと(言っちゃていいのか分からないが笑笑)、外からプログラムの処理が見えな

元記事を表示

Java で Amazon SES SMTP を使用してメールを送信する

会員がログインパスワードを忘れたとき、登録してあるメールアドレスにメールを送信してその中のリンクを押すとパスワードがリセットされる、というのをやりたかったので、AWS 上のWebアプリにメール送信機能を実装。

メール送信機能は jar ファイルにして部品化。

プログラミングより AWS の設定が面倒臭い気がしました。

#1.環境
VS Code
Java Extension Pack
Spring Boot Extension Pack

#2.SMTP認証情報の習得

以下の URL の内容の通り、AWS のコンソールにログインして「Amazon SES コンソールを使用して Amazon SES SMTP 認証情報を取得する」の1~6を実施してSMTPユーザー名とSMTPパスワードを取得します。

取得するとメールサーバー名とポート番号も表示されます。

https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/smtp-credentials.html

#3.Gradle Project の作成

VS Cod

元記事を表示

[Java]MinecraftのModを作成しよう 1.14.4【番外編】

(この記事は一連の解説記事の一つになります)

先頭記事:[入門編](https://qiita.com/koteko/items/7afadf8261eac49bacad)

# 参考になるサイト
[・Minecraft Forge Forums](https://forums.minecraftforge.net/)
ユーザーフォーラム。後述。
[・Forge Documentation](https://mcforge.readthedocs.io/en/1.14.x/)
公式のドキュメンテーションなので一応乗せたけど、実装という点では正直あんまり参考にならない。もちろん正しいことが書いてあるし、概念の理解には役に立つ。
[・Minecraft Forge Modding 目次](https://qiita.com/Hiroya_W/items/2af8fcacab5feaf880b6)
Qiita記事。日本語。この記事を書くにあたって大部分をこの記事から参考にした。まずはこれらをコピペするだけでも動くので、”何ができるのか”を確認するために一通りやるのもよい。
[・初心者mod

元記事を表示

[Java]MinecraftのModを作成しよう 1.14.4【3. クリエイティブタブの追加】

(この記事は一連の解説記事の一つになります)

先頭記事:[入門編](https://qiita.com/koteko/items/7afadf8261eac49bacad)
前の記事:[2. ブロックの追加](https://qiita.com/koteko/items/c904b3bfdd90f0b9a98a)
次の記事:4. ツールの追加

# クリエイティブタブの追加
ここまでアイテムとブロックを追加してきましたが、クリエイティブにおいてバニラ[^1] のアイテムとおなじタブに表示されるのは少し変な気がします。 それに、追加アイテムは独自のタブにまとまっていた方が何かと便利です。ここでは自分のMod用のクリエイティブタブを追加します。

“`
\src\main\java\jp\koteko\example_mod\
├ ExampleItemGroup.java
├ ExampleMod.java
└ lists
“`

“`java:ExampleItemGroup.java
package jp.koteko.example_mod;

impor

元記事を表示

[Java]MinecraftのModを作成しよう 1.14.4【2. ブロックの追加】

(この記事は一連の解説記事の一つになります)

先頭記事:[入門編](https://qiita.com/koteko/items/7afadf8261eac49bacad)
前の記事:[1. アイテムの追加](https://qiita.com/koteko/items/76910dbf9eb126bdfdf9)
次の記事:[3. クリエイティブタブの追加](https://qiita.com/koteko/items/1d7a7fb2ff98bebce939)

# ブロックの追加
ブロックの追加を行います。ブロックの追加はアイテムの追加と近い作業なので**簡単**です!
アイテムのとき同様にブロックを管理するクラスを作る方法をとります。

“`
\src\main\java\jp\koteko\example_mod\
├ ExampleMod.java
└ lists
├ BlockList.java
└ ItemList.java
“`

“`java:BlockList.java
package jp.koteko.example_

元記事を表示

[Java]MinecraftのModを作成しよう 1.14.4【1. アイテムの追加】

(この記事は一連の解説記事の一つになります)

先頭記事:[入門編](https://qiita.com/koteko/items/7afadf8261eac49bacad)
前の記事:[0. 基本ファイル](https://qiita.com/koteko/items/0022f3819302aaa46b7d)
次の記事:[2. ブロックの追加](https://qiita.com/koteko/items/c904b3bfdd90f0b9a98a)

# アイテムの追加
まずはマイクラのModdingにおける「Hello, World!」である、無機能アイテムの追加をしてみましょう。
メインのファイルに書いても勿論いいのですが、増えていくと後々ごちゃごちゃするので、アイテムを管理するクラスを作ってそちらに書いていきます。

“`
\src\main\java\jp\koteko\example_mod\
├ ExampleMod.java
└ lists
└ ItemList.java
“`

“`java:ItemList.java
package

元記事を表示

[Java]MinecraftのModを作成しよう 1.14.4【0. 基本ファイル】

(この記事は一連の解説記事の一つになります)

先頭記事:[入門編](https://qiita.com/koteko/items/7afadf8261eac49bacad)
前の記事:[入門編](https://qiita.com/koteko/items/7afadf8261eac49bacad)
次の記事:[1. アイテムの追加](https://qiita.com/koteko/items/76910dbf9eb126bdfdf9)

# 基本ファイル
開発環境が整い、ようやくスタートラインに立てました。これからあなたがModdingを進めていくための下準備をしましょう。この辺りは**今は深く考えず真似すればいい**と思います。

# GroupIdとArtifactId
まずはGroupIdおよびArtifactIdを設定します。これはMinecraftどうこうではなく、Javaの方の要求っぽいですが詳しくないので省略します。
>パッケージの名前の付け方には一般的な決め方があります。
>
> – GroupId: 組織名のこと。一般的にはドメインを逆から書く形式
> – Ar

元記事を表示

[Java]MinecraftのModを作成しよう 1.14.4【入門編】

# TL;DR
・何か「**うごいている**」感のあるものを作りたい
・じゃああの人気ゲーム**MinecraftのMOD作成**をしてみよう!
・**意外と簡単**にグラフィカルなものが出来上がるので最適!
・チュートリアルを実際に作ってみよう
・もっと界隈が盛り上がってほしい(**切実**)

(この記事は一連の解説記事の導入になります)
# はじめに
皆様こんにちは!楽しくコード書いてますか?
楽しく書けている方はおめでとうございます!すばらしい!
あんまり…な方はようこそいらっしゃいました!ぜひ記事を読んで新しいワクワクを見つけていってくださいね。

これから一連の記事で言わずと知れた超人気ゲームであるMinecraftのMOD作成についてご紹介しようと思います。

言わずと知れてない人

立方体のブロックで構成された世界でサバイバルしたり、建物を建てたり、自由に暮らすゲーム。Mojang社開発。([公式](https://www.minecraft.net/ja-jp/about-minecraft))

元記事を表示

【Java】IteratorでList/Mapの要素を取得する

#目次
– 初めに
– Iterator(イテレータ)って何
– List系のIterator
– Map系のIterator
– ジェネリクス表現から拡張for文へ
– まとめ
– おわりに

##初めに
JavaでMap/Listを触ってると、

– **Listの要素すべてに対してなんかしたい!**
– **Mapの要素すべてに対して反復的に処理したい!**

っていう瞬間が少なからずあると思います。そんなときに便利なのが今回の**Iterator(イテレータ)**です。

実際のコードと一緒ににまとめたので参考にしてください。

※本文中のコード内におけるクラス名/変数名等は適宜読み替えてください。
※一部メインメソッド表記を省略している部分もあります。
※修正/改善点等あればおしえていただければと思います。

##Iterator(イテレータ)って何
####定義
>イテレータ(英語: iterator)とは、プログラミング言語において配列やそれに類似する集合的データ構造(コレクションあるいはコンテナ)の各要素に対する繰り返し処理の抽象化である。実際のプログラミング言語では、

元記事を表示

【Java】組み合わせを実装してみた。

# 数学の組み合わせを Java で実装してみた

異なるn個の中から異なるr個とる組み合わせを Java で実装してみました。
r個の数だけループする実装は見たことがありますが、
r個が変わっても大丈夫なようにしたくていろいろ考えました。

# ソースコード

下記コードは 5個 の中から 3個 とるようになっています。

“`Java
import java.util.ArrayList;
import java.util.List;

public class Trial {

public static void main(String[] args) {
Trial me = new Trial();
me.exec(args);
}

public void exec(String[] args) {
// 文字列の配列
String[] strArray = new String[] { “a”, “b”, “c”, “d”, “e” };
// 組み合わせを取得

元記事を表示

spring + gradle でhelloworldを表示してみる【初心者がTODOアプリを作るまで#4】

[Javaの環境構築をしてhelloworldを出力する](https://qiita.com/kty000/items/5c6519d46a9a72b33dd2)ではまずは書いてみるということでhelloworldをコンソールに出力しました。
今回はもう少し先に進んでspringのプロジェクトでHTMLを表示させてみます。

springなんてまだいれてないよ~というかたは前回までの記事を参考にしていただければと思います。
[Eclipseにspring bootとgradleを追加する](https://qiita.com/kty000/items/f2f8cf3e48e01fcc3956)
[Eclipseにプラグインをインストールする](https://qiita.com/kty000/items/634f642a49fcb8ede40f)

#springのプロジェクトをつくってみる
まずはspringプロジェクトを作ってみましょう。
1.[file] => [new] => [Other] => [Spring Starter Project] を選択
2.プロジェクト

元記事を表示

JavaはWord文書にハイパーリンクを追加します

通常、Word文書を編集するときに、特定のテキストまたは画像にハイパーリンクを挿入すると、ユーザーが他のターゲットの場所やWebページにすばやくジャンプできるようになります。今日の記事では、Free Spire.Doc for Javaを使用して、Word文書にテキストハイパーリンクと画像ハイパーリンクを追加する方法を紹介します。

**JARパッケージのインポート**
**方法1:**[Free Spire.Doc for Java](https://www.e-iceblue.com/Download/doc-for-java-free.html)をダウンロードして解凍し、libフォルダーのSpire.Doc.jarパッケージを依存関係としてJavaアプリケーションにインポートします。
**方法2:**Mavenリポジトリーを介してJARパッケージをインストールし、pom.xmlファイルを以下のように構成します

“`java


com.e-iceblue

元記事を表示

Eclipseにプラグインをインストールする【初心者がTODOアプリを作るまで#3】

前回の記事はこちらです。
[eclipseにGradleとSpringを追加する](https://qiita.com/kty000/items/f2f8cf3e48e01fcc3956)

今回はプラグインを追加しましょう。
なにかありましたらご指摘いただけますと嬉しいです。

#プラグインってなに?
当たり前にプラグインという言葉を見ますが超初心者からすれば「いやプラグインインストールってなんやねん」ってなりますよね(私がそうです)
プラグインとはもっといろんなことができるような拡張機能のソフトウェアのことです。
タイトルはEclipseをもっと使いやすくいろいろできるようにする機能機能を追加しましょうという意味ですね。

#インストールする
実際にプラグインをインストールしましょう。今回は

・Eclipse Java EE Developer Tools
・Eclipse Java Web Developer Tools
・Eclipse Web Developer Tools
・JST Server Adapters
・JST Server Adapters Exten

元記事を表示

【アルゴリズム】桁の足し算

# 問題説明
自然数Nを受け取って、Nの各桁の足し算を行いreturnするsolutionメソッドを作成してください。
**例)N=123の場合、1 + 2 + 3 = 6をreturn。**

# 条件
– Nの範囲:100,000,000以下の自然数

# 入出力の例
| N | answer |
|:—————–|——————:|
| 123| 6|
| 987| 24|

# 解説
※解説は私が作成したコードなので、もっといいアルゴリズム等々ありましたら、共有してください!

“`java

public class Solution {
public int solution(int n) {
// 合計を保存用
int sum = 0;
while(n > 0) {
sum += n % 10; // 10で割り算して余りを足していく。
n /= 10;

元記事を表示

Spring+Vue.js でAPIの連携をする

## はじめに
今回SpringフレームワークでRestAPIを作成し、
Vue.jsでデータを表示させることをゴールに記載していきます。
(Javaのインストール等の初期設定となる環境構築は省きます。)

## プロジェクト作成
#### ◇Vue.js
VueCliを用いて作成していきます。

①VueCliをnpmよりインストールする

“`console:コンソール
npm install -g @vue-cli
“`
②プロジェクト作成

“`console:コンソール
vue create practice
“`
実行すると、アプリケーション作成に必要な設定ファイルやサンプルソースが自動で作成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/567766/6c9486ce-a337-9e31-033f-d8ff25425027.png)
③サンプル画面確認
作成したプロジェクト配下にて以下実行

“`console:コンソール
npm run serve
`

元記事を表示

Java, Springでショッピングサイトの管理者機能・画面をつくってみた

#はじめに

わたしは、2~3年ほど前からJavaを中心に勉強している者です。
最近になって(遅ればせながら)、Springについて勉強しはじめました。
早速ですが、ショッピングサイトの管理者向け機能・画面を作ってみました。
まだまだ拙いですが、よければ参考にしてみてください。

STSのバージョン : 4.7.0.RELEASE
MySQLのバージョン : 8.0.15
mysql-connector-javaのバージョン : 8.0.16

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

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.

元記事を表示

javaでアルゴリズム入門 – しゃくとり法

# 記事の概要
自分の勉強兼メモでまとめている記事シリーズです。第六弾。
今までの記事はこちら。

|#|記事|
|:—————–:|:—————–|
|5|[javaでアルゴリズム入門 – 累積和](https://qiita.com/aja_min/items/3a334fb03749d8f42a25)|
|4|[javaでアルゴリズム入門 – 探索編(bit全探索)](https://qiita.com/aja_min/items/2a94758cf58fc1ea6f65)|
|3|[javaでアルゴリズム入門 – 探索編(幅優先探索)](https://qiita.com/aja_min/items/5f25e73086b2f3c720bb)|
|2|[javaでアルゴリズム入門 – 探索編(深さ優先探索)](https://qiita.com/aja_min/items/fed640d6835eb343eedf)|
|1|[javaでアルゴリズム入門 – 探索編(全探索、二分探索)](https://qiita.com/aja_mi

元記事を表示

IntelliJ IDEAを使ってSpring Bootのアプリケーションを作成する

IntelliJ IDEAを使ってSpring Bootのアプリケーションを作成し、実行するところまでの手順です。実行はIntelliJ IDEAでのデバック実行と、JARファイルにビルドして実行できることを確認します。

## 開発環境
– macOS Caralina 10.15.4
– OpenJDK 14.0.2
– maven 14.0.1
– IntelliJ IDEA

## 事前準備
Spring Bootの開発を行うために次のものを準備してください。

– OpenJDKのダウンロードとインストール https://openjdk.java.net/
– Mavenのダウンロードとインストール https://maven.apache.org/download.cgi
– IntelliJ IDEAのダウンロードとインストール https://www.jetbrains.com/ja-jp/idea/
– パスの確認
– `java -version`
– `mvn -v`

## IntelliJ IDEAでSpring Bootの開発

Spring B

元記事を表示

Android入門!

#はじめに
こんにちは、今週いっぱいで学校が終わり、来週から中身のない夏休みを過ごす僕です。
今回は[前回の記事](https://qiita.com/takurinton/items/2f737519dbddb78a000b)で作ったDjangoのAPIに実際にAndroidアプリを使用してHTTP通信をしてみたいと思います。

ちなみにこれあたふたしながらも1日で実装したものなのであまりクオリティは高くないです。(とは言っても16時間くらいかかってますが)

#基本のき!

僕が一番苦労したのはここです。実行構成が全くわからなかったこと、全体像が全く見えなかったこと、フロントエンドはどうやって実装するの?などなど。
まずは全体像が把握できないと何から始めていいのかわかりません。そのため、まずはどのような構成で作られているのか、何ができるのかを理解する必要があります。

また、Androidアプリを開発するにあたって最近はKotlinやReactNativeなどありますが、今回は[オワコンレガシー言語](https://www.youtube.com/watch?v=Xlf7TN3H

元記事を表示

JavaでTODOアプリを制作しよう5 TODOの表示を切り替える

こんにちは、今回はボタンを押すとTODOの完了⇄未完了がスイッチする機能を実装していきたいと思います。

## TODOアプリ作成リンク集
[1: MVCの簡単な説明](https://qiita.com/nomad_kartman/items/bce2f4831b7b769f84f2)
[2: Spring Initializrで雛形を作ってHello worldしたい](https://qiita.com/nomad_kartman/items/e173ea95b3ead96a412a)
[3: MySQLに仮のデータを保存 -> 全取得 -> topに表示する](https://qiita.com/nomad_kartman/items/f5f13037f048eeecf492)
[4: 投稿機能の実装] (https://qiita.com/nomad_kartman/items/113cdfc3c5cd1f5c0cef)
5: TODOの表示を切り替える (今ここ)

## 特定のTODOをidから検索する
まず今回の処理の流れは
・idからTODOを検索し取得する
・TOD

元記事を表示

OTHERカテゴリの最新記事