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

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

Lombokの設定方法

Springのアノテーションは使えるのに@Dataが使えない理由について調べたところ、Lombokをインストールする必要があると知りました。今回はpom.xmlに追加することで使えるように設定しました。

#前提#
・Spring starterプロジェクトで新規作成する
・ビルドツールにMavenを使用する

#設定手順#
1pom.xmlのdependencies内に下記を追加する。


org.projectlombok
lombok
1.18.8
provided

もし追加したのに動作しない!追加したのに認識してくれない!等があればMavenプロジェクトの更新を行ってみてください。
(プロジェクトを右クリック>Mavan>プロジェクトの更新)

あと、バージョンが古い!って怒られますが気になる方は最新のバージョンに書き換えてみてください。

元記事を表示

【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その③(最終回)

##初めに

[【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その①](https://qiita.com/AIM-Z/items/4848e061f21eacf0e815)
[【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その②](https://qiita.com/AIM-Z/items/4f94257bca30beec2cea)
の作業の続きの記事になるのでそちらを読んでからお越しください。

##STEP7 : jdbcドライバのダウンロードと配置
MySQLのjdbcドライバを以下からインストールする
https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.20
![スクリーンショット 2021-02-09 0.35.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/2a724acf-79b5-cbee-e551

元記事を表示

1時間以内にSpring bootでAPIを作る手順

#はじめに
Spring bootでのこういう系の記事はたくさんあるので、何番煎じになるかわからない内容ですが、
とにかく高速でAPIを作れるよう手順化しておきます。
昔話ですが、諸事情でAPIが緊急で必要になり、
固定値しか返さないAPI(今回紹介している手順)を20個ほど作って、テスト環境にデプロイしたところ
半日くらいで作ったのでとてもびっくりされたことがありました。
記事を読めばわかると思いますが、大した事はやっていないので、錯覚資産としてさらっと覚えておくとよいかもです。

#プロジェクト生成~起動確認

####Spring Initalizrでプロジェクトを作成
https://start.spring.io/

– Project → Gradle Project
– Language → Java
– Java → 2.4.2
– Packaging → Jar
– Java → 11

####ダウンロード・解凍したら、eclipseを開き、プロジェクトを読み込む。
– 「プロジェクト・エクスプローラー」上で右クリック → 「インポート」
– 「Gradle」の「

元記事を表示

【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その②

##初めに
[【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その①](https://qiita.com/AIM-Z/items/4848e061f21eacf0e815)
の続編。①の作業の続きの記事になるのでそちらを読んでからお越しください。

##STEP3 : EC2インスタンスの作成
AWSメニュー画面の左上のサービス > EC2
左のメニューバーから「インスタンス」を選択し、「インスタンスの作成」を押下
![スクリーンショット 2021-02-08 23.40.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/860980c1-65cd-5332-285c-7e7ee1b9f350.png)

まずはAMIの設定をする
**AMI** : ざっくり言うと、EC2インスタンスに入れるOS
今回はAmazon Linux 2 AMI (HVM), SSD Volume Typeを選択
![スクリーンショット 2021-02-08 23

元記事を表示

【ポートフォリオ説明】ラーメン記録アプリの概要

# 作成した経緯
– 友人と食べたラーメンを共有したい
– まだ行ったことのないラーメン屋に行きたい
– 行ったお店を把握することにより、全員が行ったことのない店がわかる
– 食べたラーメンを分かりやすく記録したい
– ラーメンが好き

# 使った技術
– 言語 Java
– フレームワーク Spring Boot
– O/Rマッパー MyBatis
– DB MySQL
– フロント HTML/CSS/BootStrap
– デプロイ AWS Elastic Beanstalk

# ログイン画面
![Videotogif (1).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1044070/085e4686-c46f-5f3c-6067-677926229679.gif)

– バリデーション
– パスワードのハッシュ化

# TOPページ
![スクリーンショット 2021-02-08 232858.png](https://qiita-image-store.s3.ap-northeast-

元記事を表示

Spring Boot の application.properties に環境変数をセットする例

## 概要

– Spring Boot の application.properties に環境変数をセットする例を示す

## 動作確認環境

– macOS Catalina + Java 11 (AdoptOpenJDK 11.0.10+9) + Spring Boot 2.4.2 + bash or zsh

## 環境変数をセット可能な application.properties の例

左側にプロパティのキー、右側にプロパティの値を記述する。
環境変数をセットしたいプロパティの場合は、右側に \${環境変数名} または \${環境変数名:デフォルト値} のフォーマットで記述する。

“`application.properties
sample.first=XXXXXXXX
sample.second=${UPPER_UNDERLINE_CASE:XXXXXXXX}
sample.third=${lower.dot.case:XXXXXXXX}
“`

## 環境変数をセットして Spring Boot を起動するコマンド例

環境変数 UPPER_UNDERLIN

元記事を表示

【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その①

##初めに
AWSって何?ってところから一週間勉強してJavaのWebアプリケーションをデプロイした時の話をまとめる。簡単ではあるがAWSの用語の解説も挟んでいくので、記事を読んで実践する頃には基礎の基礎はインプットできるかと思う。

###環境
Windows10
その他の環境やverは下の図解にまとめてあるが、各々の環境に合わせて適宜変更しながら設定してほしい。

##前提
– AWSのアカウントを作っていること
– IAMユーザーを1つ作成していること

作り方は以下の記事を参照。
基本、作成したIAMユーザーで作業する。

https://qiita.com/kzykmyzw/items/ca0c3276dfebb401f7d8
##今回のゴール
– warファイルをAWSのサーバにデプロイして、DB連携を伴うアプリケーションが公開できる

##注意点
AWSに登録して一年はサービスの利用に無料枠が与えられるためほとんどの場合無料枠で事足りるが、**AWSは従量課金制**であるため、サーバーを立てっぱなしにしたり、インスタンスを

元記事を表示

【Android/Java】初学者のためのRecyclerViewアプリ

## はじめに
最初触れた時は全くわからなかった初学者殺しのRecyclerView。(勝手に命名)
だが、調べているうちに、実は作成手順は決まっていて、それに則ってやれば意外と何とかなることがわかったので、デモアプリを作りながら自分なりにまとめてみた。

## 今回のデモアプリ
なかなか眠れないアプリを作成。
![recyclerview.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/670405/8e1d05fa-ba7c-260e-bf03-70e20b242f00.gif)
## RecyclerView抑えるべきこと
### 作成するファイル
|作成ファイル|役目|
| —- | —- |
|Activity(Fragment)のlayout|RecycleViewを載せる|
|セルのlayout|各Viewパーツの配置を決める|
|セルのModelクラス|データ構造を決める|
|Activity(Fragment)クラス|Adapterに指示する,レイアウトを調整する(Layout

元記事を表示

Javaベースの翻訳メモリ”OmegaT”で、タイ語と日本語を混在使用できるようにする方法

#OmegaTとは
まあ、検索でこの記事にたどり着いた人には必要のない文章だが、念のためこのタイトルから始めておこう。
OmegaTとは”Javaベースで開発が進められている**翻訳メモリ**ソフトウェア”である。翻訳メモリという言葉に馴染みがない人には全く知らない言葉だろうが、私もそんなに使いこなせているわけではないので

1. マークアップとか制御情報とかが含まれているファイルの中から
1. 異国の言葉だけを抜き出して
1. それを文章ごとに切り分けて
1. 文章ごとに翻訳した内容を覚えていてくれて
1. 同じ文章には同じ翻訳を当てはめつつ
1. 後でそれぞれ違う翻訳を付けることも出来る

という、”ズボラにはとてもありがたい翻訳支援ツール”程度の認識しかない。そして、私のOmegaTの利用法といえば、「**他のツールで作り出したSRT字幕ファイルを日本語に翻訳する**」という利用一択だったりもするのである。

#OmegaTの設定方法がわかりにくい理由

さて、そのOmegaTだが、設定方法はとてもわかりにくい。それは、OmegaTが「きっちり設定が出来たらあとは設定変更などいら

元記事を表示

計算の誤差をBigDecimalクラスで回避する

# はじめに
Javaを用いて円の面積を求める計算を行ったところ、丸め誤差が発生しました。
BigDecimalクラスを利用することで丸め誤差を回避することができたので、その経験を記事にします。

認識の甘い部分が多々あるかと思います、お気づきの際はご指摘いただけたら幸いでございます!

# まずは結論から
Double型ではなくBigDecimalクラスを利用することで、丸め誤差を回避できました。

# 実行環境
Java 15.0.1

# 意図しない挙動が発生したソースコード(Double型の利用)

円の面積`S`は円周率を`π`, 半径を`r`としたとき、`S =π * r * r`で求めることができます。
ここでは円周率を`3.14`, 半径を`6`として計算を行いました。
`113.04`の結果を想定していたのですが、`113.03999999999999`という結果が得られました。

“`Main.java
public class Main {
public static void main(String[] args) {
final double pi

元記事を表示

【10分で分かる】Java8からJava15まで

本記事は、[Philipp Gysel](https://philipp-gysel.medium.com/)氏による「[From Java 8 to Java 15 in Ten Minutes](https://medium.com/swlh/from-java-8-to-java-15-in-ten-minutes-f42d422a581e)」(2021年1月18日公開)の和訳を、著者の許可を得て掲載しているものです。

#【10分で分かる】Java8からJava15まで

![Image for post](https://miro.medium.com/max/700/1*DVBOCJfWxma4DL7HHvTV3w.png)

>Java 8からJava 15までの道のりには、朗報がたくさんだ。

##はじめに

この記事ではJava 7以降に追加された素晴らしい新機能を紹介します。2020年秋にリリースされたJava 15まで、Javaのバージョン毎に大きな改善点を見ていきます。Javaは今や、**ラムダ式**、**関数型プログラミング**、`var`による型推論、単純な

元記事を表示

新卒1年生のJavaGold合格体験記

#はじめに
2021年1月、*Oracle Certified Java Programmer, Gold SE 8*(通称 **JavaGold**)に合格したので体験記を書きました。

![キャプチャ – コピー.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/488859/e98b4027-90d8-9f58-9457-b9754f687ef2.png)

###なぜこの記事を書いたか
理由は簡単です、ミルクボーイです。

「いま、合格体験をいただきましたけども。」
「**こんなん、なんぼあってもいいですからね。**」

はい。

情報の新規性には欠けますが、あればあるだけいいだろうということで書きます。
あとは、私自身が受験時に他の方の体験記を読んで合格イメージを掴んでいたので、そんな記事の一つになればよいかなと。

###この記事の読み方
ファクトベースで [勉強開始時のスペック](#勉強開始時のスペック) と [勉強時間と方法](#勉強時間と方法) を書いたうえで、主観となる [合格の秘訣]

元記事を表示

原子の特徴を計算するプログラムを作成してみた

#はじめに
分子の記述子計算ソフトウェアについては様々な情報があるが、原子の記述子計算についてはあまりないため自力で実装し、githubに登録してみた。

#環境
– JDK 11
– CDK 2.2

#対象記述子
## CDKに搭載されている以下のもの
– EffectiveAtomPolarizability
– StabilizationPlusCharge
– SigmaElectronegativity
– PiElectronegativity
– PartialSigmaCharge
– PartialTChargeMMFF94
– AtomDegree
– AtomValance
– AtomHybridizationVSEPR
– AtomHybridization

## その他
論文等から独自に実装してみたもの

– longestMaxTopInMolecule
– 分子内の2つの原子間の結合の最大数(分子全体で同じ値)
– highestMaxTopInMolecule
– その原子から見て分子内の他の原子との結合の最大数
– diffSPAN

元記事を表示

【Java】正規表現 matchesメソッド使い方

Javaを勉強していく中のでメモ代わりです。

matchesメソッドの使い方についてメモします。
文字列のチェックなどに使えるメソッドとのこと。

“`Main.java
public class Main {
public static void main(String[] args){
String name = “Abcd1234”;
CheckrName checkName = new CheckrName ();

if(checkName.isValidName(name)){
System.out.println(“Success”);
}else{
System.out.println(“Failed”);
}
}
}
“`
“`CheckName.java
public class CheckrName {
public boolean isValidName(String name){
//1

元記事を表示

[Android]Realmってなんか名前かっこいいから、良く分からないけども使ってみる

#Realmってかっこ良さそう!なんそれ?編
普通、クラスで宣言された文字や数値はアプリ(画面)を開く度に初期化されます。
なので、アプリで特定のデータを保存しようと思ったら、データベースを使う必要があります。
データベースは、アプリを利用している時だけでなく、消した後も保存されるのです。

そのデータベースの一種が、Realmというわけです。

ちなみに、今回使うRealmはローカルデータといってアプリ内でデータを保存することができるのですが、アプリ自体をアンインストールしてしまったら、保存されたデータを使うことはできないのでそこだけは注意です。
#Realm使っちゃう編
早速使ってみます。今回は、本当にシンプルに文字を保存して、それを取り出すだけのシンプルな実装でいきます。データベースと言っても、箱みたいなもんですね。それと、正確さに欠けている部分アリの自信があるので、優しく指摘してくれると幸いです。それと、Fragmentでの実装すまぬ。

######使うための準備
“`gradle
//appの方ね
plugins {
id “kotlin-android”

元記事を表示

Javaで学ぶアルゴリズム 第1弾:漸化式

# #Javaで学ぶアルゴリズム < 漸化式 >

##はじめに
Javaは授業で触れただけで全くの初心者であり,何もわかっていない.なので,基本的なアルゴリズムをJavaで実装し,アルゴリズムの理解を深めるとともに,Javaにも慣れていきたい.
その第1弾として漸化式を扱う.

##漸化式
漸化式は高校数学で習ったとおり,$n$番目を$(n-1)$番目を表すものである.これは,繰り返し数が大きくなったときのオーバーフローを防ぐ.漸化式においては,**0次は既知でなければならない**.

####例1: nCr
“`math
\left\{
\begin{array}{ll}
\ _nC_r= \frac{n-r+1}{r}\ _nC_{r-1}& ( \geq 0) \\
\ _nC_0= 1& (x \lt 0)
\end{array}
\right.
“`

イメージ図
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/951300/4cc96e00-eb1e-fe9d-92b0-

元記事を表示

Scannerクラスnext(),nextLine()使い分け

**パターン①**

【input】
first
second
【output】
first

“`java

Scanner scan = new Scanner(System.in);
String firstWord = scan.next();
//next()は文字のみをスキャンする。改行を無視
System.out.println(firstWord);
//output:first

String secondWord = scan.nextLine();
//改行もスキャンする
System.out.println(secondWord);
//output:ないも起こらないように見える
//input時、Enterを押すため、その「\n」が入って何も出力されない
“`

**パターン②**
【input】
first
second
【output】
first
second

“`java
Scanner scan = new Scanner(System.in);
String firstWord = scan.next();
//next()は文字のみをスキ

元記事を表示

jCenterで公開していたKotlinライブラリをMaven Centralで公開する

**[Into the Sunset on May 1st: Bintray, JCenter, GoCenter, and ChartCenter](https://jfrog.com/blog/into-the-sunset-bintray-jcenter-gocenter-and-chartcenter/)**

jCenterが閉鎖するってことなので、jCenterで公開していたKotlinのライブラリをMaven Centralに登録することにしました。やり方はわかりやすく解説している記事がたくさんありますが、Kotlin特有のところで詰まったりしたので自分なりにまとめてみようかと思います。

やり方はいくつかあるらしいのですが、Sonatype経由で登録するのが簡単らしいです。

作業に当たり以下の記事を参考にさせていただきました。 :pray:

– [Maven Central Repository への公開手順(Gradle版)](https://blog1.mammb.com/entry/2020/02/19/090000)

ほとんど同じ内容なのとこっちの方が丁寧

元記事を表示

【Java】Comparatorを使ってListをソートする方法

#はじめに
本記事ではJava 8 以降可能となった、Comparatorを使ってListをソートする方法を備忘のためにアウトプットします。

#単項目でソートする

“`java:文字列長でソート
List playerList = Arrays.asList(“Keisuke Honda”, “Shinji Kagawa”, “Marcus Tulio Lyuji Murzani Tanaka”);
playerList.sort(Comparator.comparingInt(String::length)
.collect(Collectors.toList());
“`

#複数条件でソートする

“thenComparing()“を利用することで、複数条件でソートすることが可能です。

“`java:文字列長でソート後、アルファベット順でソート
List playerList = Arrays.asList(“Keisuke Honda”, “Shinji Kagawa”, “Marcus Tulio

元記事を表示

【Java】AtcorderのABC-191に参加しました。

こんばんは。

2021/2/6に、AtcorderのABC-191に参加しました。
レートは以下の通りとなっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/402487/b6a44fa5-d03e-736b-30fd-879d838ad4f3.png)

https://atcoder.jp/users/ishikawaryou

残り10分でC問題を突破しました。
嬉しいのですが、安定して結果が出ないうちはぬか喜びは禁物ですね・・。
レートは71→173に更新!おお、結構上がったな。

A問題・B問題は合計10分ということで、スピードは上がっています。ただ、てことは、C問題は80分かかったのか・・。

###A問題

高橋くんが投げるボールの速度がV(m/s)。
T秒からS秒の間は消えている。
高橋くんからバッターまでの距離はD。この間バッターはボールを打てない。
さてボールは打てるかどうか?
T秒からS秒の間に、バッターまでの距離に到達しないかを調べる処理で、非常にシ

元記事を表示

OTHERカテゴリの最新記事