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

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

ABC336A~Fの解答[Java]

## はじめに
今回はコンテスト中にDまで、コンテスト後にFまで解いたのでそれを載せようと思います。

なお、僕のライブラリは[提出結果](https://atcoder.jp/contests/abc336/submissions?f.Task=&f.LanguageName=Java&f.Status=AC&f.User=viral)よりご確認ください。
では、見ていきましょう。

## A – Long Loong
問題文は[こちら](https://atcoder.jp/contests/abc336/tasks/abc336_a)

`o`はrepeatメソッドで繰り返せるので、それを使って解きました。
“`A.java
final class Main{
private static final boolean autoFlush = false;
private static final SimpleScanner sc = new SimpleScanner(System.in);
private static final SimpleWriter out =

元記事を表示

ただ build.gradle を読めるようになりたい

# 動機

つい1週間くらい前にはじめてbuild.gradle触ってみて「はにゃ?」てなったので、どこかのbuild.gradleを読んでざっくり理解できるようになれたらいいな、のスタンスです

# Gradle

GradleはGroovyを使ってスクリプトを記述するビルドツール

– [Gradle 日本語ドキュメント](http://gradle.monochromeroad.com/docs/)
– [Gradle User Manual](https://docs.gradle.org/current/userguide/userguide.html)
– [ビルドツール make / ant / maven / gradle ざっくり理解メモ](https://qiita.com/MahoTakara/items/ff73338e218b656bedfa)

# 入門するなら

ありがたい先人の知恵(ほんとにありがたい……)

– [Gradle入門](https://qiita.com/vvakame/items/83366fbfa47562fafbf4)

元記事を表示

ABC335A~Fの解答[Java]

## はじめに
今回はコンテスト中にEまで、コンテスト後にFまで解けたのでそれを載せようと思います。

なお、僕のライブラリは[提出結果](https://atcoder.jp/contests/abc335/submissions?f.Task=&f.LanguageName=Java&f.Status=AC&f.User=viral)よりご確認ください。
では、見ていきましょう。

## A – 202\3\
問題文は[こちら](https://atcoder.jp/contests/abc335/tasks/abc335_a)

特に深いことは考えずに、文字列を切り出して末尾に`4`を付けて出力しました。
“`A.java
final class Main{
private static final boolean autoFlush = false;
private static final SimpleScanner sc = new SimpleScanner(System.in);
private static final SimpleWriter

元記事を表示

Java

#クラス
**public**
どのクラスからもアクセスできるということ

**static**
クラス特有の値やメソッドということ

**void**
戻り値なし

“`Java
public static int aaa(int a, int b){
# int ==> 戻り値型
 # aaa ==> 関数名
 # () ==> 引数
}
“`

#読み込み
##Scanner
“`Java
import java.util.Scanner;

Scanner sc = new Scanner(System.in);
“`
##next
“`Java
# 標準入力 dog cat bird

A = sc.nextLine();
System.out.println(A); # ==> dog cat bird
# 改行まで読み込む(String型)

B1 = sc.next();
B2 = sc.next();
System.out.println(B1); # ==> dog
System.out.println(B2); # ==> cat
# 空白まで

元記事を表示

Java11 備忘録

自分用

## 1. ローカル変数の型推論

### 変数宣言

“`java
var number = 42;
var pi = 3.14;
var grade = ‘A’;
var isJavaFun = true;
“`

### コレクション

“`java
var myList = List.of(“Java”, “is”, “awesome”);
var myMap = Map.of(“key1”, 1, “key2”, 2);
“`

## 2. ストリームAPIの新機能

### takeWhileメソッドとdropWhileメソッド

“`java
List numbers = List.of(1, 2, 3, 4, 5, 6);

// takeWhile: 条件を満たす間だけ要素を取得
List result1 = numbers.stream()
.takeWhile(n -> n < 4) .

元記事を表示

JPAにおける柔軟なデータモデル管理:エンティティクラスの多様な活用方法

# はじめに

JPA(Java Persistence API)は、Java のエンタープライズアプリケーション開発におけるデータベースとのインタラクションを抽象化し、オブジェクト指向プログラミングの原則に沿ってデータを管理するための強力なツールです。一般的に、エンティティクラスはデータベースのテーブルを表現するために使用されますが、異なるビジネスロジックやアクセス要件がある場合、同じテーブルに対して複数のエンティティクラスを定義する必要が生じることがあります。

このアプローチは、一対多(OneToMany)や一対一(OneToOne)のような標準的な関係性を超えて、特定の状況に応じたデータアクセスの柔軟性を提供します。例えば、同じデータセットに対して異なるビューやアクセスレベルを持つユーザーに適応する場合などです。一つのエンティティクラスが全てのケースに対応するのではなく、特定の用途に特化した複数のエンティティクラスを持つことで、より洗練されたデータ管理戦略を実現できます。

本記事では、このようなシナリオにおける JPA の活用方法と、異なるエンティティクラスを効果的に使い分け

元記事を表示

「Java API」、「ライブラリ」、「パッケージ」とは…

# 「ライブラリ」
プログラムを作成する上での便利な機能群。(便利なプログラムの部品を沢山集めて、ひとまとめにしたファイルのこと。) 例:Maven
便利な機能を含む、フレームワーク、ユーティリティなどもライブラリという。

# 「Java API」
クラスライブラリ。Javaにあらかじめ添付されている多数のクラス群のこと。
JDK、フレームワーク(サーブレット、struts、spring)、ユーティリティ(ant/jmeter/poi)など。

# 「パッケージ」
一つの意味としてはjavaの名称(フォルダ階層)。
また別の意味で製品(JBoss、oracleDB)や、サービスのかたまりのこと。
ライブラリで集めたプログラムを、似た機能ごとにあつめたもの。
上記してる、フレームワーク、ユーティリティもパッケージ。

元記事を表示

Servlet(サーブレット)とは

# 【Servletとは】
Servletとは、「Webサーバ上(バックエンド)で動く、Javaで書かれたプログラム」のこと。
サーバ上でウェブページなどを動的に生成したり、データ処理を行うために、Javaで作成されたプログラム及びその仕様。
業務用のWEBシステムを開発するときによく使われている。

# 【Servletの役割】
Servlet自体は、WEBページをはじめとし画面に関する処理はいっさい行わず、WEBブラウザからの要求に応えたり、送られてきたデータを処理したりする役割を担っている。
ServletはJavaプログラムなので、単独ではWEBアプリ作成するための機能が不十分。
その為「ホームページのファイル(JSP)」や「サーブレットコンテナ」と呼ばれる他のプログラムと連携する必要がある。

(補足)
・Webサーバ:ホームページやWebサービスを置いておくコンピュータ。
・動的なWEBページ:アクセスしたときの状況(ログインの有無など)に応じて異なる内容が表示されるWebページのこと。 例として、ユーザーが書き込むことで内容が増える掲示板サイトやブログ、表示内容がユー

元記事を表示

Cloud Spanner エミュレータを使ってみる。

## はじめに

この記事は、
 [Get started with Cloud Spanner
](https://www.youtube.com/watch?v=rG3n3YHNZIQ)という動画を参考に、『実際にやってみた』という記事になります。

## この記事で実施する事。
– `Cloud Spanner エミュレータ` とは
– エミュレータをインストールして実行する準備を行う。
– `エミュレータ` で gcloud CLI を使用する。
– Java で `Spanner エミュレータ` を使用する。
– `Spanner` インスタンスを作成。
– `Spanner` データベースを作成。
– 書き込み、読み取り、SQL クエリの実行を行う。

## Cloud Spanner エミュレータ とは
`エミュレータ` を使用することで、`Spanner` 機能を
模倣した開発環境をローカルマシン上に作成できます。

これを使用することで、ユーザーは
Google Cloud プロジェクトや
請求先アカウントを作成することなく、
無料でアプリケーションの開発と

元記事を表示

VSCodeでSpring Bootを利用してプロジェクトを新規作成する

# 初めに
新規参画したプロジェクトでSpring Bootを利用していたため、[クイックスタート](https://spring.pleiades.io/quickstart/)を参考にVSCodeでプロジェクトを新規に作成する

# クイックスタート
手順に従ってプロジェクトを開始する
(設定内容は画面から読み取れる設定を反映した)

## 新プロジェクト開始
Spring Bootで新しいプロジェクトを作成する。
→私はVSCodeで開発しているため、特に説明はなかったが拡張で以下を追加してプロジェクトの作成を実行した。
* Spring Boot Extension Pack

新規プロジェクトだと以下の画面が表示されるため、「Getting Started with Spring Boot in VS Code」を実行する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3616345/ac5cd035-be0b-f8c0-a3ff-733d49c71d41.png)

元記事を表示

MavenでSpringBootを使ったライブラリjarを作成する方法

SpringBootを使ってライブラリ(jar)を作る際、Mavenで単純に作成するとBOOT-INF配下にclassファイルが配置されるため他のJavaから参照できない。
他のjarと同様にトップフォルダにclassが配置されるようにする対応。

## pom.xmlを変更する
pom.xmlに通常のjarファイルを作成する設定を追記する。
“`

・・・ org.apache.maven.plugins
maven-jar-plugin



create-jar package

元記事を表示

ServletFilter, MDC

# ServletFilter
– Java EE の一部であり、セキュリティ、ロギング、圧縮などのサブレットレベルでの作業に適している。
– initとdestroyメソッドはdefault と作成しなくてもよい。
![스크린샷 2024-01-02 23.16.02 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3567846/a0ae9a78-3b89-348e-3db3-59acefcd08ba.png)

– すべてのログを残す例
“`java
import lombok.extern.slf4j.Slf4j;

import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
i

元記事を表示

【Java×MySQL】動的WebプロジェクトとDBの連携方法(Eclipse)

# 記事の内容
今回は、javaの動的webプロジェクトとMySQL(Maria DB)との接続について備忘録を作成します。

# 使用端末
■Windouws11
■Eclipse Version: 2022-09 (4.25.0)

# 前提条件
MySQL(Maria DB)はすでにお使いのPC端末にインストールされているものとします。

■ [MySQLのダウンロードサイトはこちらから](https://www.mysql.com/jp/downloads/)

■ [Maria DBのダウンロードサイトはこちら](https://mariadb.org/)

# MySQL(Maria DB)をインストールしたら次にすること
### MySQLのコネクターをダウンロードする。
#### MySQLのコネクターのダウンロード方法

MySQLコネクターの公式サイトへアクセスする。
 [MySQLコネクター公式サイト🔗](https://www.mysql.com/jp/products/connector/)

![MySQLコネクタ1.jpg](ht

元記事を表示

Windows版 Cursorのターミナルでmvnw.cmdが実行できない人向け

# mvnw.cmdが見つからないようなエラーになる
Cursorのターミナルでmvnw.cmdを実行しても↓のようなエラーがでる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2964854/b4c5a9b4-97ca-6bc3-d18f-c847978b9479.png)

何やら”mvnw.cmd”が見つからないとか・・・
ちゃんとあるのに・・・

### 解決方法
コマンドの前に「./」を入力しよう!
“`
./mvnw.cmd [options]
“`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2964854/cc9bfcca-9c59-65b2-89cd-484814a75125.png)

実行できた!

元記事を表示

Maven(Apache Maven)とは

# 【Mavenとは】(※読み:メイブン)
Mavenは簡単に言うと、「開発を自動化してくれる便利な物」である。
Mavenは、プログラムをビルドすることを目的として利用する「ビルドツール」のひとつで、主にJavaで書かれたプロジェクトをビルドするために利用する。Eclipseと連携して利用することが多い。

# 【Mavenを使ってできること】
①ライブラリの管理
Mavenの最大のメリットが、「プロジェクトで利用するライブラリを管理できる」という点。
Javaには多くのライブラリが存在しており、それらのライブラリを使うことで高速に開発を進めることが可能。
Mavenでは、XMLに必要なライブラリの情報を記述することで、「そのプロジェクトに必要なライブラリ」を一元管理してくれる。
また、Mavenは依存性を管理する機能も備わっている。

例えば、あるライブラリAを使いたい場合、ライブラリAは、他のライブラリであるBを利用している場合、JavaのプロジェクトにはライブラリAとライブラリBを含める必要がある。
しかし、Mavenを利用した場合には、「ライブラリA」の情報のみを記述する

元記事を表示

JavaでEnumのメソッドを作成する

# 1. はじめに
* JavaでEnumのメソッドを使ってみたい

# 2. 開発環境
* java

# 3. サンプルコード
“`java:
// Enumの定義
public enum enumMonth {
October(“A”, “10”), November(“B”, “11”), December(“B”, “12”);

// フィールドを定義
private String code;
private String value;

// コンストラクタを定義
private enumMonth(String pCode, String pValue) {
this.code = pCode;
this.value = pValue;
}

// メソッド
public static String getValueByCode(String pId) {
for (enumMonth month : enumMonth.values()) {

元記事を表示

Java EE (Java Platform, Enterprise Edition) とは 【別名:Jakarta EE】

※Javaを開発したSun Microsystemsという会社が、その後Orackleに買収されたことから、2018年2月に「Jakarta EE」に名称変更された。

# 【Java EEとは】
Java EEとは、「企業向けのWebアプリケーション開発ができる機能がセットになったプラットフォーム」。ざっくり言うと「APIの集まり」。

・中身は、Java SEにWebアプリケーションの開発に必要なサーバー関係の機能などを追加したもの。
・Java EEの中にJava SEも含まれるため、Java EEでWebアプリケーションの開発をするときにはJava SEのライブラリを使うことができる。
・Java EEで開発された有名なサービスは、Twitter/楽天ECサイト/Evernoteがある。

「JavaSE(Java Platform, Standard Edition)」は、Javaの標準的なアプリケーション開発に必要な機能だけをセットにしたもの。

::: note
つまり…
・Java EEは、「JavaSE+拡張機能」をまとめたもの。
・Java SEは、「Javaの基本

元記事を表示

Java学習 繰り返し処理 for文

javaでは繰り返し処理を行うとき下記の2種類がある。
* for文
* 拡張for文

今回はfor文についてまとめてみる。

# for文
## for文を実行

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

int sum = 0;
for (int i=1 ; i<=10 ; i++){ sum += i; } System.out.println("1から10までの合計は" + sum ); } } ``` 実行結果 ``` 1から10までの合計は55 ``` # for文の使い方 for文の構文 ```java for(初期化式; 条件式; 変化式;){ 実行する処理 } ``` ### for文の「初期化式」「条件式」「変化式」について 初期化式:変数の初期化に使われる。最初に1度だけ実行される。 条件式:処理を繰り返し行う条件を指定する。 変化式:条件式で使用している変数の値を変更するときに使用する。中括弧内の処理が実行

元記事を表示

jUnitを作成するときのTips

テストコードを作成する際のTipsをまとめておこうと思う。

テストコードはしっかり組むべきではあるが、たまにカバレッジを達成するためだけに
テストコードを書く必要のあるタイミングがあるので
それ用にアプローチや作成方法などをまとめた。

## テストクラスの対象で、別クラスをnewしてインスタンス作っている場合

### 案1:インスタンス作成を該当クラスに移す。

“`
// setterでインスタンスを作成するように変える
private クラス 変数名

public void setInstance() {
this.変数名 = new クラス()
}

public クラス getInstance() {
return this.変数名
}
“`

### 案2: mockConstructionを利用して、newInstanceのモックを作る

下記のようにmockConstructionを利用して、new Instanceの部分をモックにすることで一応可能。
一部だけモックにしたい場合は、`withSettings().defaultAnswer(C

元記事を表示

Java学習 繰り返し処理 拡張for文

# 繰り返し処理の種類

javaでは繰り返し処理を行うとき下記の2種類がある。
* for文
* 拡張for文

拡張for文は、Rubyでのeachメソッドに似た機能を持っている。
Rubyのeachメソッドとは書き方が異なるが、使い方は似ている。

# 拡張for文

## 拡張for文を実行

### 配列から要素を取り出す
“`java
class Main {
public static void main(String[] args) {
int[] scores = {1, 2, 3, 4, 5};

for(int score : scores) {
System.out.println(score);
}
}
}
“`

実行結果
“`
1
2
3
4
5
“`

### ArrayListから要素を取り出す場合
ArrayListから要素を取り出す場合も使い方は同じ。

“`java
import java.util.ArrayList;

class Main {
public static void

元記事を表示

OTHERカテゴリの最新記事