JAVA関連のことを調べてみた2022年11月13日

JAVA関連のことを調べてみた2022年11月13日

Javaで何か作ってみる(2022/11/11 Day22)

## 今日やった事
– Mac環境で、VSCodeでJavaプログラムが実行出来るように開発環境を構築した。
## 参考にしたもの
– [Visual Studio CodeでJavaプログラム開発環境構築](https://qiita.com/jsj05543/items/da54e5db258bc9d2538a)
– [Java環境構築(Adoptium(旧:AdoptOpenJDK))](https://zenn.dev/sasakiki/articles/54f68ee1576380)
## 所感
– やり方は、Windows環境と同じように、JDKインストール、VSCodeの拡張機能の追加、PATHの追加で出来ると思ったが、PATHの追加がうまくいかなかった。
## 明日の予定
– 明日以降も、Mac環境でのJava開発環境構築を進めて行こうと思う。

元記事を表示

minikube(kubernetes) でコンテナを動かしてみる

# はじめに

記載情報は CI/CD に関連します。
実務上関わった環境・機能を身近な情報としてお届けしたく、投稿をはじめました。
各学習上、お金のかからない方法を選択していきます。

以下の手順を実施することで、アプリケーション開発者が minikube(kubernetes) でコンテナを動かしてみる工程を模倣します。

## 対象者と関連環境・機能

この記事は下記のような人を対象にしています。

– CI/CD 初学者
– プログラミング初学者
– 駆け出しエンジニア

記載している環境・機能は以下です。

– Java
– Spring Boot
– Spring Web
– minikube(kubernetes)

## リリース環境の検討

ここまでは Azure Devops の利用にて無料で繰り返し利用可能な内容でこれたのですが、コンテナレジストリに登録したイメージをもって kubernetes 環境へリリースしていく上では方法が限定的となってきます。
ここでは無償で利用可能な minikube を活用することとし、また実際のところ実務で困り次第、家で

元記事を表示

Azure Devops (Pipelines) でテスト、ビルド、イメージプッシュをする

# はじめに

記載情報は CI/CD に関連します。
実務上関わった環境・機能を身近な情報としてお届けしたく、投稿をはじめました。
各学習上、お金のかからない方法を選択していきます。

以下の手順を実施することで、パイプラインからのテスト、ビルド、イメージプッシュをできるようにします。

## 対象者と関連環境・機能

この記事は下記のような人を対象にしています。

– CI/CD 初学者
– プログラミング初学者
– 駆け出しエンジニア

記載している環境・機能は以下です。

– Azure Devops
– Azure Pipelines
– Java
– Gradle
– Docker

## 本記事の趣旨

必要処理をべた書きしているのみにつき、あくまでも動かす過程の参考程度の情報です。
本記事では「こんなこといちいち手順みながらサーバ上でシェル叩くのか?」といったあたりについての解消の一助になれば、といった意図でのご紹介とさせていただきます。
最終的に「Azure-Pipelines がベストな方法か?」といえば、必ずしもそうではないです。
利用までのハ

元記事を表示

LocalDateを使用した経過日数の求め方

経過日数を計算するためのコードを勉強していたのですが、
GitHubに上げるほどではないなと思ったので、こちらにメモ書きします。

# 指定した日までの日数を計算するコード
`.plusDays(1)`の部分で今日から〇日後の指定ができるみたいですね。
経過日数は`ChronoUnit`で計算してます。

“`Java
import java.time.LocalDate;
import java.time.temporal.ChronoUnit;

public class today {

public static void main(String[] args) throws Exception {

//現在の日付を取得
LocalDate now1 = LocalDate.now();
LocalDate now2 = now1.plusDays(1);
System.out.println(“今日の日付は”+now1);

元記事を表示

プログラミング学習総括(半年)

## はじめに
プログラミング学習を始めて半年が経ちました。非常に大変でしたが、自分も驚くほど成長できたと思います。

## 1.学習成果
| | 項目 | 時間(h) |
| —- | —- | —- |
| プログラミング言語 | java, spring boot | 90 |
| プログラミング言語 | php | 100 |
| プログラミング言語 | javaScript | 30 |
| プログラミング言語 | HTML&CSS | 20 |
| 資格 | ITパスポート | 70 |
| 資格 | 基本情報技術者試験 | 120 |
| その他 | Git, GitHub, AWS, Linux, SQL(MySQL, oracle), 環境構築等 | 70 |
| 合計 | ー | 約500 |

## 2.感想
未経験からWeb系会社へ転職するには1年間(**1000時間の学習時間**)が必要だと言われています。
私は最初何もわからない状態からスター

元記事を表示

FizzBuzz問題を初心者向けにわかりやすく解説

# 1.はじめに

こんにちは。
今日はJavaでよく出る問題の「FizzBuzz」を解説付きコードで初心者向けに解説します。
僕がJavaの学習をはじめたときに詰まった点を中心に説明するので最後まで読んでもらえたらうれしいです。

# 2.解説付きコード
以下が解説付きのコードになります。
この問題には別の解き方も存在するので回答の1つとして見てもらえたらと思います。

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

// for文を使って1から100までの数字を表示
for(int i = 1; i <= 100; i++) { /*if文を使って3と5のどちらでも割り切れる数を 求めてFizzBuzzと表示させる。*/ if(i % 3 == 0 && i % 5 == 0) { System.out.println("FizzBuzz"); /*if文を使って3で割り切れる数を求めてFizz

元記事を表示

Java enum型とは

PHPerがJavaを触る機会をいただけたので備忘録として

## enum型(列挙型)とは
複数の定数を一つのクラスとしてまとめておくことができる型。

enum型はクラスとして定義されるので、フィールドやメソッドも定義できる点が大きな特徴。
enumのインスタンス化は、enum内部で行う1回のみ。
これにより、enumの各インスタンスは、プログラムの中で1つであることが保証される。
なので、enumは定数として利用できる。

## 基本の書式

“`enumTest.java
public enum enum型名 {
定数1,
定数2,
定数3
}
“`

初期値に数字や文字列の値を定義する場合は、以下のようにフィールドやコンストラクタの定義を行う。

数値の値を定義する場合
“`enumSports.java
public enum Sports {
BaseBall(0),
Tennis(1),
HandBall(2),

private int id; //フィールドを定義

private Sports(int id) {

元記事を表示

Junit4 を自作してみた

## JUnit4 を作ってみた

Qiita に [Junit を作る記事](https://qiita.com/torutakefusa/items/1cc7cba5842a5128b9bc) はあったが、アノテーションを使っていなかったので、今回はアノテーションを使った JUnit を自作してみた。

参考にしたコードは、[junit4/src/main/java/org/](https://github.com/junit-team/junit4/tree/9ad61c6bf757be8d8968fd5977ab3ae15b0c5aba/src/main/java/org/junit) 以下です。成果物は、

https://github.com/YmBIgo/my_junit4

にあります。

簡単に使い方を説明すると、以下のようなファイルを作り、実行すると、

“`java:SampleTest1.java
import myjunit4.JUnitCore;
import myjunit4.Test;
import myjunit4.Before;
import m

元記事を表示

【java 三項演算子】

## 【三項演算子】

“`java:標準
[型][変数] = [条件] ? [TRUEの場合] : [FALSEの場合] ;
“`

➀基本的なString型を判定して出力結果をString型に出力するタイプ。
判定:String  出力:String
“`java:三項演算子
String str = “sanko”;
String yes_no = str == “sanko” ? “YES” : “NO”;
System.out.println(yes_no);
“`
出力結果:’YES

三項演算子を使わずに書くと
“`java:通常
String str = “sanko”;
if (s == “sanko”) {
yes_no = “YES”;
} else {
yes_no = “NO”;
}
System.out.println(yes_no);
“`

➁int型を判定して出力結果をString型に出力するタイプ。
判定:int  出力:String
“`java:三項演算子
int num =

元記事を表示

Leetcode 231. Power of Two

# 231. Power of Two

https://leetcode.com/problems/power-of-two/description/

“`java
class Solution {
public boolean isPowerOfTwo(int n) {
if(n == 0){
return false;
}
if(n == 1){
return true;
}

while(n != 1){
if(n % 2 == 0){
n /= 2;
}else{
return false;
}
}
return true;
}
}
“`

元記事を表示

JavaでExcelをWordに変換する方法

Microsoft Excelは大量のデータを保存するために、Microsoft Wordはリッチテキスト文書を作成するために広く使用されています。あなたがWord文書に書式付きテキスト、画像、および他の要素を挿入するために、Word文書にExcelワークブックの情報を追加する必要があることがありますオケージョン。この記事では、無料の [Free Spire.Office for Java](https://www.e-iceblue.cn/Introduce/Free-Spire-Office-JAVA.html) の助けを借りて、Javaアプリケーションで**ExcelワークブックをWord文書形式に変換する方法**を学びます。

– **[ExcelをPDFに変換し、そのPDFをWordに変換する](#excelをpdfに変換しそのpdfをwordに変換する)**
– **[ExcelをHTMLに変換し、そのHTMLをWordに変換する](#excelをhtmlに変換しそのhtmlをwordに変換する)**
– **[Excelのワークシート上のすべてのデータを抽出し、それらをW

元記事を表示

Leetcode 1894. Find the Student that Will Replace the Chalk

# 1894. Find the Student that Will Replace the Chalk

https://leetcode.com/problems/find-the-student-that-will-replace-the-chalk/description/

例を確認して考えている通り実装

“`java
class Solution {
public int chalkReplacer(int[] chalk, int k) {
int index = 0;
while (0 < k - chalk[index]) { k -= chalk[index]; if (index < chalk.length - 1) { index++; } else { index = 0; } } return index; } }

元記事を表示

JavaでWord文書の編集を制限する方法

Word文書を他の人と共有する際、Wordドキュメント上の情報を保護するために、Word文書の一部または全部の編集を制限したい場合があります。この記事では、無料の [Free Spire.Doc for Java](https://jp.e-iceblue.com/introduce/free-spire-doc-for-java.html) を使用して、**Wordドキュメントに編集制限を設定する方法**を学びます。それは、ユーザーが保護の正確なタイプを選択できるように **ProtectionType** 列挙パラメータを提供しています。

– **[Word文書権限を閲覧のみに設定する](#word文書権限を閲覧のみに設定する)**
– **[Word文書権限をコメントのみに設定する](#word文書権限をコメントのみに設定する)**
– **[Word文書権限をフォームへの入力のみに設定する](#word文書権限をフォームへの入力のみに設定する)**
– **[Word文書権限を編集のみに設定する](#word文書権限を編集のみに設定する)**
– **[Word文書の権限設定

元記事を表示

Mac×OpenCV×Javaで環境構築をして顔認識してみた。

# はじめに
ネットを見ているとOpenCVの構築はC、PythonやAndroid/iOSのセットアップ記事が多いです。
というのも計算系のライブラリが豊富だったり、モバイルのニーズが高いというのが理由なのかな?と思ってます。

過去の大学時代にJavaを利用して深層学習や機械学習
をちょっとだけ勉強していて、
数年ぶりにまたOpenCVで遊んでみたいな〜と思ったのが理由になります。

今回はOpenCVの環境構築だけなので一旦顔認識まで出来るようにします。
備忘録がてらにメモしているので説明が悪いのはごめんなさい。

# 作業手順一覧
**1. JDKインストール**
**2. OpenCVインストール**
**3. InteliJインストール**
**4. OpenCV動作確認**
**5. 顔認識**

## JDKインストール方法
OracleのJDK19を利用します。
古いJDKを利用するとビルド時にOpenCVのコード部分でエラーが発生します。

https://zenn.dev/taktaky/articles/3e974dc7762953

インストールは下記コ

元記事を表示

Gradle 7.5.1でSpring Boot 2.7.5 のプロジェクトを作ってみた

# はじめに

Gradle でSpring Boot プロジェクトを作ってみたので手順を記載します。ライブラリは現在の最新バージョンを利用します。SpringBootのバージョン指定はGradleプラグインとBOMを使う方法の2パターンを試します。version catalog のtomlファイルでの設定もやってみました。

# 対象読者

* Gradle, Spring Boot で開発経験のある方

# 環境

* Gradle 7.5.1
* Java 18.0.2
* OS Windows11

# プロジェクト作成

`gradle init` でたたき台となるプロジェクトを作成します。

“`bash
$ gradle init –type java-application –test-framework junit-jupiter –dsl groovy –project-name SpringBootExample –package example

Generate build using new APIs and behavior (some fe

元記事を表示

【未経験】【中途】プログラマー1年目の実務内容と感想

 僕は2021年の9月から中途のエンジニア採用枠でIT企業に就職しました。ところが僕には社会人経験も実務経験も情報系の資格も学歴もありませんでした。そこで、情報系の学部卒の新卒1年目とは異なる目線から、プログラマー1年目の実務内容をお伝えしたいと思います。

|期間 |業務内容 |
|—-|—|
|1ヶ月目~ |研修(Python) |
|2ヶ月目~ |シナリオテストの実行(テスター) |
|6ヶ月目~ |バッチ・画面の設計書修正・機能改修・テスト(Java,C#,Angular) |
|8ヶ月目~ |画面・実行機能の詳細設計・新規開発・テスト(Python,Django) |
|10ヶ月目~ |バッチ・画面の設計書修正・機能改修・テスト・保守運用(Java,C#,Angular) |

 業務内容はざっくりとこんな感じです。1ヶ月ほど研修を受け、2ヶ月目から4ヶ月間ほどテスターとして現場で働きました。そして6ヶ月目から本格的に開発現場に配属され、主にJavaでのバッチ開発に携わっています。また間で2ヶ月ほどPython、Djangoでの新規開発プロジェク

元記事を表示

【デザインパターン】Builder

# Builderとは
Builderはデザインパターンのうち、生成のパターンに分類される一つであり、複雑なオブジェクトを段階的に生成します。今パターンでは異なる型や様々な表現を持つオブジェクトを一つのBuilderで生成できます。

# 問題点
フィールドが多数になると、コンストラクタのパラメータが増えてきます。また、必須でないフィールドが多くあると、冗長的なコンストラクタとなります。

“` java
public class House{
public int roof;
public int wall;
public int floor;
public int door;
public int window;
public int stair;

public House(int roof, int wall, int floor, int door, int window, int stair){
this.roof = roof;
this.wall = wall;
this.floor = floor;
this.door = doo

元記事を表示

Databricks ( Spark ) にて Windows 機種依存文字 を保持しているソースを読み込む場合にはエンコーディングを `ms932` とするのがよさそうという話

## 概要
Databricks ( Spark ) にて Windows 機種依存文字 を保持しているソースを読み込む場合には、エンコーディングを `shift_jis` ではなく、 `ms932` にするのがよさそうと教えていただいた内容を共有します。

機種依存文字 とは、CP932 という Shift_JIS を独自に拡張した文字コードなどで定義されている文字であり、Macなどの他の機種では適切に表示ができない文字のことです。 Windows の 機種依存文字としては次のような文字があるようです。

> ① ② ③ ④ ⑤ Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ ㍉ ㌔ ㌢ ㍍ ㌘ ㌧

Windows 機種依存文字が含まれるファイルを参照する場合には、`shift_jis`で読みこむと文字化けしていしまうため、`ms932` で読むことで適切に読むことができそうです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/24031/c0dd2dbc-647a-1356-14b2-4eea49b61

元記事を表示

学校の課題「10倍整数型:IntegerX10」について真剣に実装してみた

# 課題内容

僕が通っている学校のある授業でこんな課題が出されました。

## 10倍整数型
Javaの`int`型の上限・下限を1桁増やし、-21474836489〜21474836479 の範囲の整数を扱う `IntegerX10` クラスを作成せよ。

なお、以下のひな型に沿って実装すること。(`…`の部分を自分で実装する)

“`java:IntegerX10.java
public class IntegerX10 {
// 1の位の値
public int value1;
// 10以上の位の値
public int value10;

public IntegerX10(…) {

}

public IntegerX10 add(IntegerX10 v) {

}

public String toString() {

}
}
“`

通常、`int`型は4バイトで表されるため、最大値`Integer.MAX_VALUE`は2147483647になりますが、それを1桁増や

元記事を表示

Java For Data Science

Events continuously happen all around the world. Often, we create a record of a unique event at a specific time and space. These recorded events collectively represent what we know as data. In contrast, data science uses scientific processes, systems, methods, and algorithms to abstract knowledge and insights from these structured and unstructured data.

Moreover, Data Science is an interdisciplinary approach that b

元記事を表示

OTHERカテゴリの最新記事