JAVA関連のことを調べてみた2023年10月08日

JAVA関連のことを調べてみた2023年10月08日
目次

Javaで「StringBuilderオブジェクトを初期化する」の動作を確認してみた

# 概要

Javaで「StringBuilderオブジェクトを初期化する」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/start/stringbuilder/index10.html

# 実装

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

for (int i = 0; i < 5; i++){ for (int j = 0; j < 5; j++){ sb.append((int)Math.ceil(Math.random() * 9)); } System.out.println(sb.toString()); sb.delete(0, sb.length()); } } } ``` 以下の

元記事を表示

よく使う変数名まとめ

一般的な変数名

1. **i, j, k**: インデックス変数。通常、ループ内で使用されます。
例: `for (int i = 0; i < array.length; i++)` 2. **count, total**: カウンター変数や合計を格納する変数。 3. **result**: 関数の結果を格納する変数。 4. **value**: 値を一時的に格納する変数。通常、一時的な計算に使用されます。 5. **input, output**: 入力データと出力データを表す変数。 6. **message, text**: メッセージやテキストを格納する変数。 7. **error**: エラーメッセージやエラー情報を格納する変数。 8. **flag, isXXX**: ブール値を格納する変数。条件を表現するのに使用されます。 9. **min, max**: 最小値と最大値を格納する変数。 10. **user, username, password**: ユーザー情報を表す変数。 11. **file, filename**:

元記事を表示

Javaで「格納されている文字列の並びを逆にする」の動作を確認してみた

# 概要

Javaで「格納されている文字列の並びを逆にする」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/start/stringbuilder/index7.html

# 実装

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

sb.append(“ABCDEFG”);
System.out.println(sb.toString());

sb.reverse();
System.out.println(sb.toString());

sb.reverse();
System.out.println(sb.toString());
}
}
“`

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

元記事を表示

Python と Java と Go と Node.js と PHP と Ruby のサポート状況について (2023.10)

オープンソース系のプログラム言語のセキュリティサポートの期限をまとめました。他の方の参考になれば幸いです。

# Python のサポート状況

サポートが有効な Python のバージョンは **Python 3.8, 3.9, 3.10, 3.11, 3.12** です。
3.8 は1年以内にサポート終了の予定です。

|バージョン系列|最新バージョン|リリース日|バグ修正の対応期間|セキュリティ修正の対応期間|
|—|—|—|—|—|
|**Python 3.12**|3.12.0|[2023年10月2日](https://peps.python.org/pep-0693/)|[**サポート内**](https://peps.python.org/pep-0693/#bugfix-releases)|[**2028年10月**](https://peps.python.org/pep-0693/#lifespan)|
|**Python 3.11**|3.11.6|[2022年10月24日](https://peps.python.org/pep-0664/#

元記事を表示

【Mockito】モック対象にfinal修飾子があるとモックにならない場合がある

### 【概要】
モック対象にfinal修飾子があるとモックにならない場合があります。
具体的なコードで説明していきます。

### 【環境】
Java 11
JUnit 5.10.0
Mockito 5.5.0

### 【コード】

https://github.com/nobu12/mock-final-exception

下記コードは上記GitHubにアップロードしているコードと同じです。
本コードでのモック対象はHogeクラスのhugaフィールドとなります。

“`java:Hoge.java
package org.example;

public class Hoge {
private Huga huga;
// final修飾子を付けるとテスト失敗する
// private final Huga huga;
private final Piyo piyo;

public Hoge(final Huga huga, final Piyo piyo) {
this.huga = huga;
thi

元記事を表示

springでファイルをstringプロパティとして読み込む

プロパティじゃなくて単に変数読み込みだけな方法も混じってはいる。

“`@Value“`で“`file:..“`や“`classpath:..“`を指定し“`Resource“`としてinjectionしてあとは好みの方法で読み込む。以下では“`Files.readString“`を使用しているがここは状況に応じた方法で良い。

“`java
import java.io.IOException;
import java.nio.file.Files;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;

@Service
public class FileToStringService {
@

元記事を表示

Javaで「指定範囲の部分文字列を削除する」の動作を確認してみた

# 概要

Javaで「指定範囲の部分文字列を削除する」の動作を確認してみました。以下のページを参考にしました。

https://www.javadrive.jp/start/stringbuilder/index5.html

# 実装

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

sb.append(“ABCdefGHI”);
System.out.println(sb.toString());

sb.delete(3, 6);
System.out.println(sb.toString());

sb.delete(0, sb.length());
System.out.println(sb.toString());
}
}
“`

以下のコマンドを実行しました。
“`
$ javac

元記事を表示

[Azure] OpenAPI Serviceの機能/実装

# AzureのOpenAI Serviceについて

AzureのOpenAI Serviceは、Microsoft Azureクラウドプラットフォームの一部として提供されるAI(人工知能)モデルとサービスの統合である。OpenAI Serviceを使用することで、開発者は自然言語処理(NLP)や会話AIなど、さまざまなタスクを処理するための強力なツールとリソースにアクセスできます。以下では、OpenAI Serviceの概要と主な機能について詳細に説明する。

## 概要

AzureのOpenAI Serviceは、AIモデルやNLP機能を提供するためのクラウドベースのサービス。このサービスは、開発者が高度な自然言語処理タスクを簡単に実現できるように設計されており、スケーラビリティと柔軟性を備えている。また、OpenAI Serviceは、学習済みモデルを使用して、テキスト生成、文章分類、翻訳、質問応答、文章要約などのタスクを実行することができる。

## 機能

OpenAI Serviceには、以下の主な機能がある。

1. テキスト生成(Text Generation):

元記事を表示

デザインパターン Observerパターン

# Observerパターン
変化するデータや状態に関心を持つオブザーバ(観察者:**Observer**)と、その変化を通知するサブジェクト(観察対象:**Subject**)から構成される。

一対多の依存関係を定義し、あるオブジェクト(サブジェクト)の状態が変化すると、それに依存する複数の他のオブジェクト(オブザーバ)に自動的に通知される。

## サブジェクト(Subject)
観察(Observe)の対象となる情報。

**状態が変化する**。

観察対象となるデータの唯一の所持者であり、観察対象に何らかの変更があった場合、オブザーバに対してその変更を**通知する**。

また、オブザーバを管理する(オブザーバの新規登録や、オブザーバの解除)役割も併せ持つ。

サブジェクトがオブザーバについて知っているのは、`Observer`インターフェースを実装しているということだけ。通知した情報がどのように利用されるのかなどは一切知らない(**疎結合の関係**)。

<<学習memo:発行者(Publisher)が管理している対象をサブジェクト(Subject)と言っているのかと思っ

元記事を表示

スッキリわかるJava入門 実践編 第3版 まとめ – part9 -データベースアクセス

# はじめに

こんにちは ◤●ㅅ●◥ノ

今回はデータベースアクセスについて学びました!
## 第9章 データベースアクセス
### 1.データベースとは
本格的なプログラムの保存先
データベースの実体
→常時稼働してデータの格納や検索に関する要求を待ち受けるプログラム
 →このプログラムのことを __データベース管理システム__ と呼ばれている

特にデータを複数の表の形で整理して保存、管理する
→ __リレーショナルデータベース(RDB)__

JavaからRDBに対してデータの読み込みや書き込みを行うためには __SQL__ 
というデータベースを操作する専用の言語で書かれた命令をRDBに送る

:star: データベースを使うメリット
・データベースを使うと、複雑なデータ検索や書き込みも簡単に行える
・Javaプログラムの中で複雑なデータ処理を記述する必要がない

### 2.データベースの基本操作
データベースはデータを管理するために複数の表を内部に保持されている
表は列と行で構成され、1つの行が1件のデータに相当し、列はデータの要素に相当する

#### 4つの基本操作

元記事を表示

スッキリわかるJava入門 実践編 第3版 まとめ – part8 -ネットワークアクセス

# はじめに
こんにちは ◤●ㅅ●◥ノ

今回はネットワークアクセスについて学びました!
## 第8章 ネットワークアクセス
### 1.ネットワークAPIの全体像
Javaではネットワーク通信を簡単に実現するためのクラス群
→ __java.netパッケージ__

__低水準API__
細かい制御が可能だが、複雑で手間がかかる。本格的に利用
__高水準API__
簡単に使えるが細かいことができない。手軽に利用。

普段見ているWebページ
→ __HTML__ という専用の言葉で記述されたテキスト情報

java.net.URLクラスを使う
→Javaプログラムを介してインターネット上にあるHTMLや画像ファイルを簡単に取得できる

:star: java.net.URLクラスの利用
アクセスしたい情報のURLを元に、java.net.URLクラスを用いて、
インターネット上のWebサイトのデータを取得できる

### 2.Socketを用いた低水準アクセス
低水準APIの理解のためにはネトワークの基礎知識が必要

コンピュータの通信には定められた通信手順を踏む必要がある
あらか

元記事を表示

デザインパターン Singletonパターン

# Singletonパターン
インスタンスが1つしか存在しない唯一無二のオブジェクト。特定の条件下でインスタンス化が行われ、その後は再利用される。

クラス内にプライベートなコンストラクタを持ち、インスタンスを取得するための静的(static)メソッドを提供する。

アプリケーションの設定や、構造上複数存在してはいけない概念を扱う際に利用する。

## 基本型
“`java:Java
public class Singleton {
private static Singleton instance;

private Singleton() {}

public static Singleton getInstance(){
if (instance == null){
return new Singleton();
}

return instance;
}
}
“`

## 最適形
Javaのenum型の特性を利用してシングルトンを実現することができる。
“`java:

元記事を表示

java Apach AOI でExcelのシートを部分一致で取得する

“`java
import org.apache.poi.ss.usermodel.*;

public class PartialSheetDataExtractor {

public static void main(String[] args) {
// Excelファイルのパスを指定してワークブックを開く
try (Workbook workbook = WorkbookFactory.create(new FileInputStream(“example.xlsx”))) {
// 部分一致のシート名を探し、シートを取得
for (int i = 0; i < workbook.getNumberOfSheets(); i++) { Sheet sheet = workbook.getSheetAt(i); String sheetName = sheet.getSheetName();

元記事を表示

Javaで「指定範囲の部分文字列を別の文字列に置換する」の動作を確認してみた

# 概要

Javaで「指定範囲の部分文字列を別の文字列に置換する」の動作を確認してみました。以下のページを参考にしました。

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

# 実装

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

sb.append(“ABCDEF”);
System.out.println(sb.toString());

sb.replace(2, 4, “12345”);
System.out.println(sb.toString());

sb.replace(1, sb.length() – 1, “-“);
System.out.println(sb.toString());
}
}
“`

以下のコマ

元記事を表示

ミニ生命保険システムを作成 S09

# 関連記事
https://qiita.com/Weekend/items/79a6a3fd69ba017e124c

# はじめに
今回は、以下の技術を利用してデータ入力プラットフォームを構築し、ミニ生命保険システムに接続します。

– 生命保険システムにおけるイメージライブラリーの役割 :point_right:[こちら](https://qiita.com/Weekend/items/4997e5f8695b80c0bc34)
– Pythonでバーコードの生成と認識 :point_right:[こちら](https://qiita.com/Weekend/items/f42326b4e1009825f6b6)
– Pythonでイメージのアップロードとプレビューサービスを実装します :point_right:[こちら](https://qiita.com/Weekend/items/f38743854e643df4bbad)
– paddleocrのdemo :point_right:[こちら](https://qiita.com/Weekend/items/d48929a

元記事を表示

実際なんの言語が市場で需要が高いんだろう?と思って調べてみました

# 目次
* はじめに
* 各言語ランキング
* TIOBE Index
* 求人が多い言語
* 年収が高い言語
* 需要が高い言語
* Python
* Java
* C言語

# はじめに
新卒未経験でIT業界に入社した2年目エンジニアです。
入社して7月から現在にかけて、Flutterの開発に関わってきました。

実際にエンジニアとして力がついたことの確信は、いくつかの場面で経験してきたものの、
他の言語に挑戦したときに、自分はどこまでできるんだろう。。といった漠然とした不安がありました。
(同じ不安を抱えている人いませんか。。。?)

そこで、
別の言語のチュートリアルをやってみよう!
せっかくなら、需要の高い言語にしたいな。

と思ったのがきっかけで、市場で需要の高い言語を調査してみました!
調べたら出てくるランキングを集めてもつまらないので、需要が高い理由まで調べてみようと思います。

# 各言語ランキング

## TIOBE Index(2023年09月28日現在)

|順位|言語|
|:—-|:—-|
|1位|P

元記事を表示

クソ初心者がNetBeansでHP作成する日誌(1日目)

##進捗

ダメに決まってるだろうが。何も決まっていないぞ。

こちとらJavaいじり始めて半年だぞ何考えてんだ

元記事を表示

Javaとは?初心者向けに解説

# Javaとは?初心者向けに解説

こんにちは!今回はプログラミング言語の一つである「Java」について、初心者向けに解説していきます。

## 1. Javaの歴史

Javaは、1995年にSun Microsystems (現在はOracle Corporationの一部) によって公開されました。当初は家電製品の制御用のプログラム言語として開発されましたが、その後、ウェブアプリケーションやエンタープライズシステムの開発にも広く利用されるようになりました。

## 2. Javaの特徴

### 2.1. プラットフォーム独立

「一度書けば、どこでも動く」という思想の下、Javaは開発されました。Javaで書かれたプログラムは、異なるハードウェアやOS上で動作するJVM (Java Virtual Machine) 上で実行されるため、プラットフォームに依存することなく動作します。

### 2.2. オブジェクト指向

Javaは完全なオブジェクト指向プログラミング言語です。これにより、再利用性、拡張性、保守性が向上します。

### 2.3. 豊富なライブラリ

Java

元記事を表示

コマンドラインでTestNGを動かす[Windows 11]

# 動機
– mavenやant、EclipseやIntelij IDEAがない環境でもTestNGを使いたい。

# 環境
– OS : Windows 11 Home
– JDK
“`
>java -version
openjdk version “1.8.0_382”
OpenJDK Runtime Environment (Temurin)(build 1.8.0_382-b05)
OpenJDK 64-Bit Server VM (Temurin)(build 25.382-b05, mixed mode)
“`

# 手法
## 1. ライブラリのダウンロード
[mvnrepository](https://mvnrepository.com)からダウンロードする。
必要なのは以下の2つ。

– TestNG 6.11 – [リンク](https://mvnrepository.com/artifact/org.testng/testng/6.11)
– JCommander 1.72 – [リンク](https://mvnrepository.com/artifact

元記事を表示

【Java・学習ログ12】Objectクラス/静的メンバについて

教本に沿ってやってみたシリーズ、『第14章』。
≪使用教材≫スッキリわかるJava入門 第3版 スッキリわかるシリーズ

## ■java.lang.Objectの継承

javaでは親なしのクラスを定義できない。定義する際に指定がなければ、「java.lang.Object」が親クラスとして継承される。objectクラスには **eqials()、toString()** のメソッドが定義されており、どのメソッドでも呼び出すことができる。

指定のないクラスは全てextends.Objectを持っているとされ、多態性の法則によってどんなインスタンスでもobject型に格納でできる。※基本データ型(int,longなど)以外

“`java
Object 01 = new Empty();
Object 02 = new Hero();
Object 03= “おはようございます。”
“`

#### Objectクラスに定義されたメソッドを呼び出す
* toString()メソッド
オブジェクト(インスタンス)の中身を文

元記事を表示

OTHERカテゴリの最新記事