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

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

[Java] apache commons mathで行列演算(ベクトル編)

行列編はこちら→https://qiita.com/AlliumAllium/items/b05bd5195f1b68041ab9

# コード
“`Java
import org.apache.commons.math4.legacy.linear.RealVector;
import org.apache.commons.math4.legacy.linear.MatrixUtils;

public class Test {
public static void main(String[] args) {
// 宣言
RealVector vector1 = MatrixUtils.createRealVector(
new double[] { 1, 0, -2 });
System.out.println(“v1 =”);
System.out.println(vector1);
RealVector vector2 = MatrixUtils.creat

元記事を表示

apache commons mathで行列演算(行列編)

# はじめに
apache commons mathで行列計算をしたかったので覚書
ベクトル編はこちら→ https://qiita.com/AlliumAllium/items/7d0ad9eabaf3c01d6090

# 行列Aの単項演算
## コード
“`Java
import org.apache.commons.math4.legacy.linear.RealMatrix;
import org.apache.commons.math4.legacy.linear.RealVector;
import org.apache.commons.math4.legacy.linear.EigenDecomposition;
import org.apache.commons.math4.legacy.linear.LUDecomposition;
import org.apache.commons.math4.legacy.linear.MatrixUtils;
import org.apache.commons.math4.legacy.linear.RRQRDecompos

元記事を表示

Javaの開発キットJDKをインストールする

# 動機.イチからJavaの開発環境を整えたい。
当方、プログラミングの初学者の方向けに
学習コンテンツを提供させていただく機会がしばしばあります。
その際に初学者の方でもJDKをインストールできるよう
ドキュメントをしたためさせていただきます。

## 公式ドキュメント
[こちら](https://docs.oracle.com/javase/jp/17/install/overview-jdk-installation.html#GUID-E8A251B6-D9A9-4276-ABC8-CC0DAD62EA33)のページでJDKのダウンロード&インストールの手順がまとまっています。
Linux, MacOS, WindowsのそれぞれのOSでページがありました。
*今回、JDKのVersionは22にしています。
*AWSでJavaプロジェクトをデプロイするときに使いがちな[CorrettoもVersion22に対応しているよう](https://aws.amazon.com/jp/about-aws/whats-new/2024/03/amazon-corretto-22-gen

元記事を表示

SpringBootアプリケーションをEC2にデプロイする手順備忘

## はじめに
SpringBootアプリケーションをEC2にデプロイした手順をまとめる
#### ご参考

https://qiita.com/sai-i/items/00fc6e27235f94fcd0fa

https://qiita.com/sai-i/items/c7786653bfbd3f00218b

## 作業

AWS環境構築
VPCの作成 から EC2インスタンスの起動
インバウンドセキュリティグループの設定変更
EC2にミドルウェアのインストール
Apache HTTP Serverのインストール
Apache Tomcatのインストール
元記事を表示

【java未経験】java silver SE11 に合格するまでにやったこと

# はじめに
先日java silver SE11の資格試験に合格したので、合格までに行った学習方法についてまとめます。

# そもそもなぜ java silverの資格取得を考えたのか
### java silverの資格取得を考えた頃のエンジニアプロフィール
– 開発未経験でIT企業に入社した新卒エンジニア(プログラミング歴0日)
– 最初の2か月間の研修の中で以下のことを学んでいる
– java言語に関する基本的な用語(クラスやメソッドなど)などを、役割だけなんとなく理解している
– paizaなどのプログラミングサイトで簡単な問題を解いたことがある
– 実際にプログラム上で、javaをほとんど記述したことはない

# そもそもなぜ java silverの資格取得を考えたのか
2か月間の研修を経てグループ組織に配属され、実際に大規模なプログラムの中のjavaに手を加えていく際に、心の中で叫びました!

**「う~~~ん!!なんとなくしか理解してないから、全然分からん!
コードも長くなると混乱!!!やばい!!」**

javaの基本的な仕組

元記事を表示

Java SE Bronzeに合格した備忘録

プログラミング(Java)の勉強1ヶ月目でJava SE Bronzeに合格したので、次の資格勉強に向けての備忘録です。

# Java SE Bronzeとは?
Java SE Bronzeは、Oracle認定のJava資格で、言語未経験者向けの入門資格です。
試験時間65分で選択問題が60問あり、正解率60%で合格となっています。
(自分は正解率85%で合格でした。)

## 勉強期間
約1ヶ月
(この資格の範囲だけ勉強していた訳ではないので、資格の範囲だけに勉強を絞ったらもっと短くできそうです。)

## 勉強方法
入門書(スッキリ)で範囲の基礎知識を一通り学び、まずは黒本の問題を一周しました。
その後、間違えた問題や知識が曖昧な問題の解説を読んで解き直し、わからない問題が無くなるまで何周か読み直しました。

# 次の資格に向けて
Bronzeは飛ばす人もいると思いますが、個人的にはCBT試験を受けるのが初めてだったので、今後受ける試験の練習にもなっていい経験になりました。
次は、基本情報技術者試験を受けようと思います。

元記事を表示

Javaで「文字列と文字列の大きさを比較する(String.compareTo)」の動作を確認してみた

# 概要

Javaで「文字列と文字列の大きさを比較する(String.compareTo)」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/string/index13.html

# 実装

以下のファイルを作成しました。
“`JSample13_1.java
class JSample13_1{
public static void main(String[] args){
String str1 = “東京都港区”;
String str2 = “東京都港区”;
String str3 = “東京都”;
String str4 = “東京都中央区”;

System.out.println(str1.compareTo(str2));
System.out.println(str1.compareTo(str3));
System.out.println(str1.compareTo(str4));
System.out.printl

元記事を表示

[Java] apache commons math で ルンゲ・クッタ法を使ってみた

# はじめに
Javaで数値解析をしてみたかったのでapache commons mathライブラリの機能を使って実装してみた。
実装したのは高校物理でよく扱う斜方投射とした。

# プログラム
## Test.java
“`Java
import java.util.List;

import org.apache.commons.math4.legacy.ode.FirstOrderDifferentialEquations;
import org.apache.commons.math4.legacy.ode.FirstOrderIntegrator;
import org.apache.commons.math4.legacy.ode.nonstiff.ClassicalRungeKuttaIntegrator;
import org.apache.commons.math4.legacy.exception.DimensionMismatchException;
import org.apache.commons.math4.legacy.exception.MaxCoun

元記事を表示

JavaとRubyにおけるインターフェースの比較

# JavaとRubyにおけるインターフェースの比較

この記事では、JavaとRubyにおけるインターフェースの概念と実装方法を比較しながら解説します。両言語の特徴を活かしたアプローチを見ていきましょう。

## 1. 基本的なインターフェースの定義と実装

### Java

Javaでは、`interface`キーワードを使用してインターフェースを明示的に定義します。

“`java
// インターフェースの定義
public interface Drawable {
void draw();
}

// インターフェースの実装
public class Circle implements Drawable {
@Override
public void draw() {
System.out.println(“円を描画します”);
}
}

public class Square implements Drawable {
@Override
public void draw() {
System

元記事を表示

【Java SE11 Silver】取得に向けて

## はじめに
先日、簿記3級を取得し、次は何の勉強をしようか考えていました。英語や仕事とは関係のない趣味に時間をかけたい気持ちもありましたが、ずっとやらなければと思いながら取り組めていなかったJavaの勉強をすることに決めました。
ですので、この記事は合格体験記ならぬ合格へ向けた宣言の記事になります(と、自分を奮い立たせる、、)

## なぜ Java Silverなのか?
1. 開発に対する苦手意識を払拭するため
1. 次の案件がJava関連になる可能性が高いため
1. 今後どんなポジションを目指すにしても、開発言語を理解しておくことは大事なことであるため

## スケジュール
ゆったり余裕を持ちたいので7月~10月の4か月間で合格する予定。
合格に必要な時間が100時間だとすると、1か月25時間。1日1時間と考えると少々しんどい笑。土日で頑張るつもりだ。

## 勉強方法
勉強方法には自分のこだわりがあるのだが、テキストだけの勉強だけじゃなく実際にコードを書きたい。頭の中にある知識としてだけじゃなく、身体で覚えることも大事にしたい。

7月 
YouTubeでJava基礎が学べ

元記事を表示

【Java】入力されたn行データを出力したい時に空行が入ってしまう時対処法【paiza】

paizaのレベルアップ問題集にこのような問題がある。
タイトル通り、N行のデータが入力されるから全部出力しろという問題だ。

N行のデータの入力 (paizaランク D 相当)

https://paiza.jp/works/mondai/stdin/stdin_n_line

自分の回答

“`java
import java.util.*;
public class Main {
public static void main(String[] args) {
// 自分の得意な言語で
// Let’s チャレンジ!!
Scanner scan = new Scanner(System.in);
int line = scan.nextInt();
for(int i = 1; i <= line; i++){ String ans = scan.nextLine(); System.out.printl

ファイルを再帰的に削除するかもしれない

package mail;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Stack;

public class Main {
String absolutePath = “C:\\Users\\ \\Desktop\\フォルダ~\\ “;
ArrayList deleteFileList = new ArrayList(Arrays.asList(
“.gitignore”,
“SpringSampleApplicationTests.java”,
“LogAspct.java”
));

public static void main(String[] args) throws IOException {
new Main();
}

pub

Javaで「文字列と文字列を比較する(String.equals)」の動作を確認してみた

# 概要

Javaで「文字列と文字列を比較する(String.equals)」の動作を確認してみました。
以下のページを参考にしました。

https://www.javadrive.jp/start/string/index4.html

# 実装

以下のファイルを作成しました。
“`JSample4_1.java
class JSample4_1{
public static void main(String[] args){
String msg1 = “Hello”;
String msg2 = new String(msg1);

System.out.println(msg1 == msg2);
System.out.println(msg1.equals(msg2));
}
}
“`

以下のコマンドを実行しました。
“`
$ javac JSample4_1.java
$ java JSample4_1
false
true
“`

# まとめ

何かの役に立てばと。

【備忘録】switch文で文字列を条件にする時

皆さんはswitch文よく書きますか?

私は条件分岐が大量になるとき以外はif文で書くのことが多いんですが、どっちの方が良いんでしょうね。

さて、今回はswitch文で文字列を条件にする時の注意点についてまとめていこうと思います。

注意点

以下の様に、switch文を書いたとします。

“`java
String str = “”; //任意の文字列

switch (str) {
case string1 :
//ここに処理内容
break;

default :
//ここに処理内容
break;
}
“`
こんな感じですね。

ここで注意しないといけないのが、条件にしてる文字列strnullの場合です。

“`java
String str = null;

switch (str) {
case string1 :
//ここに処理内容
break;

default :
//ここに処理内容
break;
}
“`
この場合、一見デフ

【備忘録】@Scheduled アノテーションの話

今製造してるSpring bootのプロジェクトで、バッチ処理ってどうやってるんやろな~と思って調べた内容をまとめていきます。

@Scheduledアノテーション

@Scheduledアノテーションを使用すると、任意のタイミングで処理を走らせることが出来るようです。

使い方は↓

使い方

使い方はシンプルで、流したいメソッドにこのアノテーションをつければいいです。

“`java
@Scheduled
private void exampleMethod() {
// ここに処理を記述
}
“`

こんな感じですね。

注意点としては、このメソッドを記述してるクラスに@Configuration@EnableSchedulingを付与してあげる必要があります。

“`java
@Configuration
@EnableScheduling
pubic class ExampleClass {

@Scheduled

JavaSilverを受験した感想

# はじめに

先日JavaSilver SE11を受験して合格したため、受験した感想や注意点などを共有できればと思い記事を書いてみました。
プログラミングの経験は、学校でC・Pythonを学習しており、インターンで少しRailsを使ってWebアプリケーションを作成した経験がある程度の初心者です。

# 勉強方法

私は記憶力があまり良くないので、なるべく多く問題に触れることを意識して最低でも3周は黒本を回して学習を行っていました。具体的な学習方法は下記のとおりです。

– やさしいJavaを軽く1周してJavaの基礎構文について学習
– 黒本の各章ごとに問題を解いたら答え合わせを行い理解を深める
– わからなかったことや大切だと感じたことをNotionにまとめて、いつでも確認できる状態を作る
– 間違えた問題全てに付箋を貼り、なぜその答えになるのかを説明できるようになったら付箋を取る
– スプレッドシートで解答用紙を作成して正答率を毎回出すことで現状を常に把握する

# 使用した書籍

– やさしいJava
– 黒本

# 注意点

– 動作が激烈に重いです

自宅でオンライン受験

Google Play Core ライブラリの更新と対応

# 背景
Androidアプリリリース時に、こんなメールが来ました。

> Google Play Core (com.google.android.play:core) has added this note for SDK version 1.10.3:
Update your Play Core Maven dependency to an Android 14 compatible version! Your current Play Core library is incompatible with targetSdkVersion 34 (Android 14), which introduces a backwards-incompatible change to broadcast receivers to improve user security. As a reminder, from August 31, Google Play requires all new app releases to target Android 14. Update to the l

JavaでWebアプリを作成しているときにCSSが反映されずに躓いた話

## 目次
1. [はじめに](#はじめに)
2. [解決に向けた取り組み](#解決に向けた取り組み)
1. [CSSファイルの配置確認](#1-CSSファイルの配置確認)
2. [ログの確認](#2-ログの確認)
3. [解決方法](#解決方法)
4. [まとめ](#まとめ)
5. [あとがき](#あとがき)

## はじめに

現在、Javaを勉強中で、サンプルのWebアプリケーションを作成しています。
その中で、Spring Securityを使用してログインページを作成しましたが、CSSが反映されない問題に遭遇しました。
本記事では、その解決方法について説明します。

## 解決に向けた取り組み

### 1. CSSファイルの配置確認

CSSファイルが正しいディレクトリに配置されていない可能性があると思い、配置を確認しましたが、`src/main/resources/static/css`に配置してありました。

### 2. ログの確認

ログを確認したところ、以下のような記述がありました。

“`
o.s.security.web.FilterCha

Javaでゲーム開発をしようVol.1 ~準備編~

## はじめに
Nagominです。
初投稿です。

Javaを習ったので、何かできないかと思い文法の復習がてら簡単なゲームを作成してみようと思いました。
いろいろ調べてみるとそもそもJavaはゲーム開発にあまり向いていない…ということのようでしたが、(ゲーム開発といえばC++な気がします)あのMinecraftもJavaでできているそうなので方法はあるはずです。
そこでマイクラでも採用されているLWJGLというライブラリを使用して作ってみることにしました。
このLWJGLというライブラリですが、公式ドキュメントは全て英語で、ネットを検索してもあまり日本語の情報が出てきません。
さらに最初の環境構築で詰まったので今回ブログでまとめてみようと思った次第です。

## 開発環境
VSCode
Java OpenJDK Temurin-21.0.2
LWJGL 3.3.3

## そもそもLWJGLとは?
[はじめに]でも少し書きましたがJavaでゲームを開発するためのライブラリです。
https://www.lwjgl.org/
上記が公式サイトです。少し翻訳して引用すると

> LW

Java3

## アノテーション

@ を付けて追加情報を書き込む機能。
アノテーションを付けて、付加情報(メタデータ)を付けると、
コード検査、コード生成、特別な処理を実行することが出来ます。

コードを見通しをよくし、保守性や拡張性を高める役割を持っています。

“`Java
@Autowired //@がついてるやつ
private SampleService sampleService

“`

FWであるSpringではアノテーションを使って効率化を図ったりしています。

https://qiita.com/yuto-hatano/items/69d01343f710117e4243

https://bizroad-svc.com/blog/java-annotation/#:~:text=Java%E3%82%A2%E3%83%8E%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A8%E3%81%AF%E3%80%81%E3%82%B3%E3%83%BC%E3%83%89,%E5%87%A6%E7%90%86%E3%82