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

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

spring bootのプロパティファイルの設定値をawsのparameter storeから取得する

## 概要
spring bootのプロパティファイルの設定値の一部をawsのparameter storeに移管する

## 環境
・spring boot(2.4.9)
・Java 8

## ライブラリの追加

##### 使用するライブラリ
– [spring-cloud-starter-bootstrap](https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-bootstrap) (spring 2.4以降の場合のみ)
– [spring-cloud-starter-aws-parameter-store-config](https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-aws-parameter-store-config) (spring boot 2.5系は未対応)

##### build.gradleの修正
dependenciesに下記を追加

元記事を表示

【Java】StringBuilderのメソッドもともとの文字列が変わらないときもあるのね

#初めに
Stringはイミュータブルで、
StringBuilderはそうじゃないと覚えていたらハマってしまいました。
自分に刻むためのメモです。
(JavaSilverで出るかもしれないし、出ないかもしれない)

##append()
“`java:append()
public class StringBuilderTest {
public static void main(String[] args) {
// 生成
StringBuilder sb = new StringBuilder(“ABC”);
// メソッド実行
System.out.println(sb.append(“DEF”));
// 変わったか
System.out.println(sb);
}
“`
“`java:結果
ABCDEF
ABCDEF
“`
変わる
メモ:append()の引数はboolean、数字なども入れられる(らしい)

##delete()
“`java:delete()
public class StringBu

元記事を表示

【Java】繰り返し処理でつまづきそうだったから復習する

#目的

* Javaで学習したことを振り返って理解できるようにする

###1.繰り返し処理

* while文、for文、break文、continue文の4つ
* ここはRubyと差ほど変わらない(?)
* 以下、スクールのカリキュラムの問題を噛み砕いていく

####1. while文

* 1以上5未満の数の2乗を出力

““java
public class practice1 {
public static void main(String[] args) {
// 変数numberを定義する
int number = 1;
// 「1以上5未満」なので5より小さくなるように数字を条件式に入れる
while (number < 4){ // 「二乗」を表すために変数同士をかける ex 2の二乗= 2*2 System.out.println(number * number); // numberが1つずつインクリメント(増加)し、3乗、4乗と増えていく

元記事を表示

[Kotlin] 「偽コンストラクタ」の作り方 その1

[Android Dagashi #189](https://androiddagashi.github.io/issue/189-2021-09-12/)で紹介されていた “[Underused Kotlin features](https://mobileit7.medium.com/underused-kotlin-features-2d17eb36bfe7)” (使われなさすぎなKotlinの機能)という記事に書かれていた “Pseudoconstructors” がなかなか面白かったので、筆者なりの視点で記事にしてみました。

本稿を書いていて感じたのが、これはKotlinからプログラミングを始めた人にとっては特に目につくテクニックではないのかもしれない、ということ。現状はJavaからKotlinに移った人がまだまだ主流でしょう(特にAndroidプログラマー)から、そういう方々に、こんなコーディングのやり方もあるんだ、と思っていただくことを念頭に置いています。

「偽コンストラクタ」、すなわちコンストラクタに見える別物です。そんなめんどくさそうな「使われなさすぎ」機能を使う

元記事を表示

(JAVA勉強用メモ)9. API

## java.lang.Math
“`java
System.out.println(Math.pow(4, 2)); // 16.0(累乗)
System.out.println(Math.sqrt(3)); // 1.7320508075688772(平方根)
“`

## java.util.Comparator, java.lang.Comparable
– 並べ替え対象のクラスがjava.lang.Comparable.compareTo()を実装する。
– java.util.Comparator.compareを実装するクラスを定義する。
– 第一引数を前にするときは`-1`を、第二引数を前にするときは`1`を、変えないときは0を返す。

## java.time.LocalDate
– immutableなオブジェクト
– 『月』が0からではなく1から始まる
– 日付操作の便利なメソッドが追加された

## ジェネリクス
– AtrrayListで扱う型を制限するための機能
– 型推論が使用できる

“`java
List a

元記事を表示

OpenJDKって何だっけ?OracleJDKとの違いは?無料?有償?

OpenJDK、OracleJDKの違いについてまとめてみました。
※ここは違うよ!みたいのあれば是非コメント下さい。

## OpenJDK

狭義のOpenJDKは、**バイナリ(JDKの開発者ではなく、利用者であればバイナリを利用するのが通常)を提供していません。**
あくまで、プログラムソースを実装しているOSSのプロジェクトです。
URLは以下。
http://openjdk.java.net/
プログラムソースは以下で管理されている。
https://github.com/openjdk/jdk

じゃあ誰がバイナリを提供をしているのかというと、以下の会社さん等です。
・oracle(oracle open jdk、oracle jdk)
・red hat(red hat open jdk)
・amazon(amazon corretto)
・Microsoft (microsoft open jdk)

で、oracleさんに関しては色々な情報が錯綜している状態かと思いますので、
情報をまとめていきます。

## Orac

元記事を表示

動画で学ぶJHipster (7) 閲覧権限を修正

# 参考動画

# お互いの投稿が見えてしまうことを修正。

admin はadminの投稿だけ、userはuserの投稿だけ見えてほしいが、現状では、お互いが、お互いの投稿が見えてしまう状態である。それを修正する。

* Adminでログインした場合 (修正前)
![2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/0941caa1-f480-6512-796d-63486e447c61.png)
![1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1284134/23fb1874-3e85-a9a5-28d6-63ac8d5b3e9a.png)
* Userでログインした場合 (修正前)
![3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.

元記事を表示

【intra-mart】JavaのクラスファイルなどがImportできなくなった時の対処法

#はじめに
本日は、intra-martでJavaのクラスファイルなどがImportできなくなった時の対処法を記載します。
JavaEE開発を行っている際に自分も同じ状況になりました。備忘のために記事としています。

【前提条件】
・intra-mart e Builder for Accel Platform をインストール済みであること。
・intra-mart Accel Platform をインストールし、初期設定までが完了していること。
・開発環境のresinサーバーが作成されていること。
・e-Builder上にプロジェクトが作成できていて、開発を始めていること。

※プロジェクトの作成方法に関しては以下を参照してください。

https://document.intra-mart.jp/library/iap/public/setup/iap_setup_guide/texts/create_war/create_project.html

#状況確認
JavaのクラスファイルなどがImportできなくなった時とは以下のような状況のことを言います。
![image.png

元記事を表示

abscract classを使ったプログラム

abctract classを使った糸魚川市のプログラムです。

“`Java
package itoigawa;
import java.util.Scanner;

abstract class ItoigawaCity{
void ItoigawaCity() {}
}

class ItoigawaRikyu extends ItoigawaCity {
private String city = “糸魚川市”;
void ItoigawaCity() {
System.out.println(city);
}
void ItoigawaRikyu() {
String shop_name=”糸魚川利休”;
System.out.println(shop_name);
}
void SetItoigawa(String s) {
if (s.equals(city)== true) {
this.city = s;
} else {
this.city = city;
}

}
String GetItoigawa(

元記事を表示

Windows10にEclipseを入れてJavaアプレットを動かすまで

Windows10[^win10](64ビット版)が入っているパソコンに日本語化されたEclipse[^eclipse]をインストールしてJavaアプレット[^applet]を動かします。

## 1. 要点

– Java開発キット(Java Development Kit;JDK)と日本語化された統合開発環境[Eclipse](https://www.eclipse.org/)(自動初期設定機能付き)を1つにまとめたものが「[Pleiades All in One Eclipse](https://mergedoc.osdn.jp/)」という名前で配布されています。

– Pleiades All in One Eclipseは圧縮ファイル(ZIP)で配布されていますが、Windows 10標準のファイル解凍機能は[長いパス名](https://docs.microsoft.com/ja-jp/windows/win32/fileio/maximum-file-path-limita

元記事を表示

【9/21(火)】仕事で学んだこと

はじめに

 9/21(火)に学んだことを次にまとめる。

学んだこと

・エクリプスでのクラス検索

 「Ctrl + Shift + R」で検索窓を表示し、任意の検索ワードを入力して検索する。

・テストクラス

 記述したプログラムの動作について証明(試験、実験)を行うクラスのこと

・DDL (Data Definition Language)ファイル

 データベースを定義するために用いられる言語(SQL)が記述されたファイルのこと

・Eclipseのエラーコード 4499

 アプリケーション・サーバーが接続の確立を拒否したことを意味する。
 今回の場合、DBがローカルで起動していないことが考えられたので、下記手順を実施した。
 1、「コントロールパネル→管理ツール→サービス→【使用しているDBのサービス・プログラム】」を選択。
 2、「スタートアップの種類」を「自動」、「サー

【PHP初心者】クラス変数とメンバ変数について

## はじめに
PHPを勉強しているときに「メンバ変数」という表記を目にしました。
過去に少しJavaを勉強していた時があり、「プロパティ」「フィールド」というワードはよく目にしていたのですが、「メンバ変数」はあまり馴染みがなかったのでちょっと調べてみました。

メンバ変数とよく対比される「クラス変数」についても併せて見ていきたいと思います。
( 補足:Javaでも「メンバ変数」ってワードはあるようです。私がたまたま出会わなかっただけみたいです。笑)

## メンバ変数
調べて見たところ、__「インスタンス変数 = メンバ変数 = プロパティ」__と説明されているページが多く見つかりました。
>__参考:__
[【PHP】インスタンス変数(メンバ変数)](https://algorithm.joho.info/programming/php/instance-variable-php/)
[クラスから理解するPHPのオブジェクト指向](https://rightcode.co.jp/blog/become-engineer/php-object-orientation)
[【PHP入門

VSCodeでSpringBootを開発する

# VSCodeでSpringBootを開発する
## VSCodeの環境構築
### 拡張機能をインストール
「Spring Boot Extension Pack」という拡張機能をインストールする。

### JDK11以上をインストール
VSCodeでJavaを開発するために必要な「Language Support for Java(TM) by Red Hat」が、
JDK11以上でないと実行することができない。
そのため、JDK11以上のインストールが必要になる。

### setting.jsonの設定
|項目|説明|
|:—|:—|
|java.home|JDK11以上の格納ディレクトリを指定|
|java.configuration.runtimes|プロジェクトで使用するJavaの実行環境を設定|

“`
“java.home”: “c:\\jdk-14”,
“java.configuration.runtimes”: [
{
“default”: true,
“name”: “JavaSE-1.8”,
“path”: “C:\\

Java Silver 6章 クラスの継承とポリモフィズム

#継承
既存のクラスをもとに新しいクラスを定義する
継承元のクラスをスーパークラス、新たに定義されたクラスをサブクラスと呼ぶ
![スキャン 2021-09-17 12.38 ページ 2.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/601137/000f88b7-4382-9827-c3a1-2bfb0ea32a27.jpeg)
継承の役割:差分プログラミング
複数のクラスに共通する処理をスーパークラスに定義し、各クラスで実装したい機能をサブクラスで定義する。

スーパークラスから継承するもの
・変数(フィールド)
・メソッド

継承しないもの
・コンストラクタ
・privateな変数(フィールド)、メソッド

#抽象クラス
クラスを作成する際、その骨組みにあたるクラスを抽象クラス(abstractクラス)と呼ぶ
抽象クラスには処理内容を記述しない抽象メソッド(abstractメソッド)を作成可能
また普通のメソッドと抽象メソッドを混在して使用可能である

【アクセス修飾子】abstract cla

【Java】Javaを基礎から固めてオブジェクト指向を身につける①

#目的

* DMMWEBCAPカリキュラムのアウトプット
* Javaを通してオブジェクト指向について知る

#実際の手順と実例
###1.オブジェクト指向とは

カリキュラムに入る前にオブジェクト指向が何かわからなかったので、そこから触れていきます。

カリキュラム内の定義だと下記の通り

> オブジェクト指向とは、拡張性や保守性の高いプログラムを書くための考え方です。
プログラムが大規模になると複雑になりすぎて、プログラムの追加や修正が難しくなります。オブジェクト指向プログラミングであれば、そのような問題に悩まずに、大規模なプログラムを作成できます。これもJavaが普及した1つの要因です。

それならオブジェクト指向は?と聞かれたら、
「拡張性や保守性の高いプログラムを書くための考え方です。」と
答えればいいのか!と思った矢先に、他の記事を見てみると、

> オブジェクト指向とは?その答えは1つじゃない!

という記事を発見。
開発工程によってオブジェクト指向の捉え方が違うらしい。

参照

https://products.sint.co.jp/topsic/blog/obje

Java Silver SE11を90%正解で合格するまでの道のり

# はじめに
この度、Java Silver SE11 を受験し、無事合格しました!
合格するまでの道のりを、備忘録として残したいと思います。
どの教材を何%正解して受験に挑んだのか、具体的な記録も残してあるので、よければのぞいていってください。

# 目次
* [Java Silverってなに?](https://qiita.com/uzura56/items/767915fd42525e052dee#java-silver%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%AB)
* [勉強スタート時の私のレベル](https://qiita.com/uzura56/items/767915fd42525e052dee#%E5%8B%89%E5%BC%B7%E3%82%B9%E3%82%BF%E3%83%BC%E3%83%88%E6%99%82%E3%81%AE%E7%A7%81%E3%81%AE%E3%83%AC%E3%83%99%E3%83%AB)
* [受験前の準備](https://qiita.com/uzura56/items/767915fd42525e

Java再入門 ~Java11 ジェネリクス、ダイアモンド演算子

# ジェネリクス

ジェネリクスは型をパラメータ化することができる仕組みで、Java11どころかJava5からあります。
使わないとListとかMapとかを使えないに等しいような状態になるので、まったく知らないという人もいないと思いますが、自分で型パラメータの宣言をしたことはなかったり、extendsやsuperが出てくると自信がなくなったりする人は少なくないのではないでしょうか。

自分で宣言して利用しようとしたときに、まず悩むのはどこに書いたらいいのかです。以下の3パターンあります。

1. クラスに宣言する
2. メソッドに宣言する
3. コンストラクタに宣言する

個人的にコンストラクタに宣言したくなったことは一度もないのですが、できるかどうかでいうとできます。
クラスやコンストラクタに宣言する場合の例は以下です。

“`java
public class GenericsClass {

T obj;

A piyo;

Huga huga;

public Gener

勉強会用のJavaの資料を作った話

# まとめ

勉強会用の資料を作ったので、共有を楽にするためにアップロードしておいたという話。

# 勉強会について

現在の自分の職場にて新しく勉強会を開くことになり、自分が先陣を切ることにした。
ただし、SESで単独で派遣されている身なので、他の社員の技術レベルは一切わからない。
そのため、下記のような思考で勉強会用の資料を作成した。

* すくなくとも、文法を調べる資料は社内にある
* 相手の技術レベルはわからない
* 低いレベルの人でもわかる課題を作りたい
* できるだけ、次回に「良い設計とはなにか」を伝えられるような課題にしたい
* できる人用の内容も盛り込んでおきたい
* どこにでもありそうなかんたんな課題を比較的高度な設計方法によって作成すると新規性が出そう

# 資料

そうした結果できたのが、下記の資料である。