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

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

Android デベロッパー プロフェッショナル エクスペリエンスはいかがですか?

1. Androidデベロッパーの義務と責任を理解する
説明によると、learntocodewith Android 開発者にはいくつかの主な責任があります。たとえば、次のとおりです。

バグを修正

アプリの機能と UI の構築

他のチームメンバーとのコラボレーション

データベースと API の処理は、

テスト

Android 開発者がどのような責任を負うのかを理解することで、最初に学ぶべきスキルを簡単に判断できます。

2.スキルを向上させる
スキルがある場合は、スキルをアップグレードし、ユーザーが現在必要としているものを探すことを忘れないでください。もちろん、必要なスキルを効果的に高めることで、Android 開発者になるための苦労はより簡単になります。

サイト eunoiamedia は、信頼できる Android 開発者になるために必要なスキルがいくつかあると説明しています。たとえば、次のとおりです。

Java と Kotlin に精通している

Android UI の設計原則

元記事を表示

【Java】マルチスレッドでの処理サンプル

プログラムにおいて、独立して実行する一連の処理をスレッドという。

その中で、JavaScriptが代表的だが、並列して処理を実行せず、一連の流れで処理を行うプログラムをシングルスレッドという。

それに対し、複数のスレッドで同時に処理を行う仕組みをマルチスレッドという。マルチスレッドで別々の処理を平行して実行することを非同期処理という。

本記事では基本的なマルチスレッドの実装についてまとめる。

# スレッドの作成と処理実行

新しくスレッドを作成するには、Threadクラスのインスタンスを生成し、startメソッドで実行するのが基本的である。

“` sample.java
Thread th = new Thread(実行したい処理);
th.start();

“`

以下のでは2つのスレッドを作成して処理を実行する。

“` sample.java
Thread th1 = new Thread(() -> System.out.println(“スレッド1の処理が実行されました”));
Thread th2 = new Thread(() -> Syste

元記事を表示

【Java】参照の自動型変換

Javaの継承関係にあるクラスではサブクラスのインスタンスには必ずスーパークラスのインスタンスに相当する部分が含まれており、スーパークラスのメソッドなどを使用することができる。

この特徴を利用すれば、サブクラスのインスタンスを、スーパークラスのインスタンスとして使用することができる。

ParentHumanクラスを継承するChildHumanクラスがあったとする。

“` ParentHuman.java

public class ParentHuman {

private String name;

private int age;

private String gender;

public ParentHuman() {

}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void

元記事を表示

Collectors#toList(), toSet(), toMap()

Collector classを生成する
toList() streamの各要素としたListをreturnするCollectorを生成
toSet() streamの各要素としたSetをreturnするCollectorを生成
toMap() streamの各要素をFunctionで加工したkey, mapをMapとしてreturnする

Collectorを生成
“`java
class Value {
int price;
String name;

public Value(int price, String name) {
this.price = price;
this.name = name;
}

public int getPrice() {
return price;
}

public void setPrice(int price) {
this.price = price;
}

public String get

元記事を表示

独学のプログラミングのヒント

今日の洗練された時代では、すべてを簡単に学ぶことができます。たとえば、プログラミングは独学で学ぶことができます。プログラミングとは正確には何ですか?プログラミングは、コンピューター上でプログラムを作成するプロセスです。作成されたプログラムは、ソフトウェア、Web サイト、Android または iOS アプリケーションなどの形をとることができます。

本題に入る前に、重要な情報があります。プログラミングを始めたい方はDicoding Academyで学べます . Android、iOS、クラウドからフロントエンド、バックエンドのWeb開発者まで、さまざまな分野があります。これらの各フィールドには、初心者から上級者までさまざまなレベルもあります。すごいでしょ?すぐにクラスを確認して登録してください。

はい、本題に戻ります。この記事では、プログラミングを独学で学べるように、さまざまなヒントについて説明します。すでに興味がありますよね?さあ、よく見てみよう。

プログラミングとは?

![programming-eunoiamediaID.png](https://qiita-imag

元記事を表示

JavaだってGPT-3.5を使ってChatGPTクローンが作れる

OpenAI が提供している ChatGPT は非常に面白いですね。
ここまで、すごいものが出ると今後、GPTやChatGPTがさらに進化することが想像できますね。

この記事では、GPTを使ったChatGPTクローンをJavaで実行するまでを紹介していきます。

# どうやってChatGPTクローンを作るのか?

ChatGPTクローンを作る方法としては、LangChainというものがあり、OpenAIのGPT-3やGoogleのFLAN-T5 XLといった大規模言語モデル(LLM)を使いやすくするためのフレームワークです。

:::note info
詳しくは[npakaこと布留川英一のnote](https://note.com/npaka/n/n61ad59380a43#0e3152ff-6526-47b4-9bfa-6cfe008ac605)を参照のこと。
:::

しかし、上記のLLMは無料では使用できず、OpenAIのAPIアカウントが必要であり、連携するAPIによっては追加の費用が発生する可能性があります。

# JavaでGPT-3を使うには
GPT-3をJavaで使

元記事を表示

プログラミング入門

皆さん、こんにちは!テクノロジーに関する有用な情報を共有しますが、より明確にするためには、プログラミングの世界です。

「プログラミング」と聞いて何を思い浮かべますか?コーディング?それともコンピューティング?まだ間違っています。ふむ、まずは基本から始めればよかった。プログラミングはプログラムです。

プログラムはどのようなものですか?プログラムは、特定の入力と出力を持つ論理シーケンスです。プログラムは、コンピューターが必要に応じて最適に機能できるように、コマンドの集まりの形にすることもできます。システムに統合されたプログラムは、Web アプリケーションや Android などのアプリケーションと呼ばれます。

さて、この議論では、プログラミングという用語を徹底的に復習します。次の説明を見てみましょう。

プログラミングとは?

eunoiamedia による報告プログラミングとは何か? 簡単に言えば、プログラミングはコンピューター上でプログラムを作成するプロセスです。作成されたプログラムは、ソフトウェア、ウェ

元記事を表示

設計でJavaGoldは役に立つのか

最近寒くなり、ますますインドアが加速している福岡在中のSEです:snowflake:

2月から新規プロジェクトが始まるのですが、今回はオンラインの新規画面数が多いため
一足先に要件確認と、基本設計を少しずつ手を付け始めてます。

JavaGoldを去年取得しましたが、製造でしかまだ実践できていなかったので
今回は、**システム設計**でどこまで活かせたかを話したいと思っています。

設計で役に立ったこと
**1**:apple: **セキュリティコーディング**
**2**:apple: **共通部品の検討**
**3**:apple: **製造工数の算出**

***

### 1:apple:セキュリティ対策
「[現場で活きる!Java Gold](https://qiita.com/puellana/items/ce32d93952b4cf3a1ff4 “現場で活きる!Java Gold”)」でもお話しましたが、製造の経験が浅かったとき、十分にセキュリティ面を考慮したコーディングすることが出来ていませんでした…:confused:
 それはJavaアプリケーションにおけるセ

元記事を表示

stream Collector interface

Collector sample

accumlator process本体
finisher 中間値→return値
supplier 中間値のインスタンス生成

# なぜこんなものをつくったのか
supplier, accumlator, finisherを一つのメソッドに書くと
accumlatorは、for/whileを書かざるを得なくなる、これでは、streamメリットが減る。
そのため、作者はaccumlatorを切り出し、collector側で回すようにした。
様々な処理にも耐えうるようその他の機能を切り出しメソッドに用意した。
各メソッドはfunctional interfaceを強制させることにより記載を標準化。

以下はstring arrayを,区切りで連結するサンプル
“`java
class SampleCollector implements Collector {
@Override
public Supplier supplier() {

元記事を表示

【Java勉強法】Java未経験からJava Silver取得

# はじめに
今回は、Java未経験からJava Silver取得のために行なった勉強法について、まとめました。

※おことわり※
基本的に学習内容のアウトプットです。
初学者であるため、間違い等あればご指摘いただけますと嬉しいです。

# この記事の対象者
– これからJavaの学習を始める方
– Java Silverの取得を考えている方

# プロフィール
参考として、Javaの学習を始めた時のプロフィールについて記載します。

– プログラミング歴:約3ヶ月
– 今まで学習した言語:HTML, CSS, Ruby, Rails, JavaScript

# この記事の内容
1. 試験日までのスケジュール
2. 学習ロードマップ
3. 黒本の要点まとめ
4. 最後に

# 1. 試験日までのスケジュール
**学習期間:**
– 約3ヶ月

**学習内容:**
– 1か月目   ・・・Youtubeを使い、Javaの基礎について学習
– 2, 3か月目  ・・・黒本を使い、試験対策

# 2. 学習ロードマップ

学習内容の詳細について、記載します。
①~③の順に学習を行い、試験

元記事を表示

ABC287A~Dの解答[Java]

## はじめに
今回はDまでしか解けなかったのでDまで載せようと思います。

では、見ていきましょう。

## A – Majority
問題文は[こちら](https://atcoder.jp/contests/abc287/tasks/abc287_a)

先頭の文字だけ見ればどちらか判別できるので、先頭の文字が`F`のものを数えて過半数か判定しました。
“`A.java
class Main{

static final boolean autoFlush = false;
static final Library System = new Library(java.lang.System.in,java.lang.System.out,java.lang.System.err,autoFlush);

public static void main(String[] args){

//Nの受け取り
int N = System.in.nextInt();

//総数
int count = 0;

//一文字目がFのものを数える
for(

元記事を表示

Javaプログラムからwindowsバッチファイルを実行する

実務でJavaプログラムからバッチファイルを実行する処理が実装されていたので備忘録として簡単なサンプルを残しておく。

今回はA5M2.exeを起動するバッチファイルをJavaから起動する処理を実装した。

なぜA5M2なのは特に理由はない。

実装する処理の流れは以下の通り。

①バッチファイルを起動するJavaプログラムを実行

②バッチファイルからA5M2.exeを起動

# Javaプログラムの実装

Javaのソースは下記の通り

“` sample.java
public class Sample {

public static void main(String[] args) {
try {
ProcessBuilder pb = new ProcessBuilder(“C:\\Users\\User\\Desktop\\hello.bat”);
Process process = pb.start();

int result = process.waitFor();
System.out.println(“戻り値:” + resu

元記事を表示

【Java基礎】入力フォームを使おう

[問題]  (参照:http://www.cc.kyoto-su.ac.jp/~mmina/bp1/hundredKnocksBasic.html)
数値を入力させ、その入力値を表示するプログラムを作成しなさい。

# コード
“`php
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
System.out.println(t);
}
}
“`

↓ 入力フォームに「56」と入力

# 結果
“`
56
“`

文字列の場合は
“`java
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {

元記事を表示

【Java基礎】割り算の余りを求める

[問題]  (参照:http://www.cc.kyoto-su.ac.jp/~mmina/bp1/hundredKnocksBasic.html)
15000を7で割った余りを表示するプログラムを作成しなさい。

# コード
“`php
public class Main {
public static void main(String[] args) throws Exception {
System.out.println(15000 % 7);
}
}
“`

# 結果
“`
6
“`

★ a % b =aをbで割った余り

元記事を表示

【Java基礎】数値の入力と文字列の入力の違い

[問題]  (参照:http://www.cc.kyoto-su.ac.jp/~mmina/bp1/hundredKnocksBasic.html)
1789+1758を計算して結果を表示するプログラムを作成しなさい。

# コード
“`PHP
1. 数値として数字を入力する場合
public class Main {
public static void main(String[] args) throws Exception {
System.out.println(1789+1758);
}
}

2.文字列として数字を入力する場合
public class Main {
public static void main(String[] args) throws Exception {
System.out.println(“1789+1758”);
}
}

“`
# 結果
“`
1. 3547
2. 1789+1758
“`

★数値として表示させたい、計算させたい時は、’ ’を付けない。

元記事を表示

【Java基礎】文字列を表示させる

[問題] (参照:http://www.cc.kyoto-su.ac.jp/~mmina/bp1/hundredKnocksBasic.html)
実行するとHello worldと表示するプログラムを作成しなさい。

# コード
“`Java
public class Main {
public static void main(String[] args) throws Exception {
System.out.println(“Hello world”);
}
}
“`

# 結果
“`
Hello world
“`

★System.out.println(“”); = 表示させる

元記事を表示

【Java】Excelワークシートの行と列を挿入または削除する方法

無料の[Free Spire.XLS for Java](https://jp.e-iceblue.com/introduce/free-spire-excel-for-java.html)を使用すると、プログラムで簡単にExcelワークシートの行や列を挿入したり削除したりすることができます。今回は、Javaアプリケーションで**Excelワークシートの行や列を挿入・削除する方法**を、以下の部分から紹介します。
– **[Excelワークシートに行を挿入する](#excelワークシートに行を挿入する)**
– **[Excelワークシートに列を挿入する](#excelワークシートに列を挿入する)**
– **[Excelワークシートの行と列を削除する](#excelワークシートの行と列を削除する)**
– **[Excelワークシートの空白の行と列を削除する](#excelワークシートの空白の行と列を削除する)**
## 【依存関係の追加】
この方法は、無料のFree Spire.XLS for Javaが必要ですので、先にjarファイルをインポートしてください。
### 1. Ma

元記事を表示

data.sqlを使ってテストコードを簡略化してみる

data.sqlとは

data.sqlを使用して、テストコードを簡略にしてみた。
data.sqlを使用すると、アプリケーションをロード時にテスト用とか初期にDBにqueryを実行したい時に役に立ちます。
data.sqlの配置パスは・・・src/resources/data.sql!

data.sql適用前

下のロジックではfindByBloodType()からgivenPerson()にてPerson Entityにデータを挿入して
ロジックを確認しています。
“`java
@Autowired
private PersonRepository personRepository;

@Test
void findByBloodType() {
givenPerson(“martin”,10,”A”);
givenPerson(“david”,9,”B”);
givenPerson(“dennis”,8,”O”);
givenPerson(“sophia”,7,”AB”);
givenPerso

元記事を表示

【Eclipse】サーバー・ランタイム環境からApacheが削除されてしまった場合の対処方法

### 【概要】
サーバー・ランタイム環境からApacheが削除されてしまった場合の対処方法を備忘録として残します。

### 【経緯】
SpotBugsというプラグインを追加した際に、何故か既存のプラグインが一部削除されてしまいました。
その削除対象にサーバー・ランタイム用のプラグインも含まれており、サーバー・ランタイム環境から削除されたようです。

### 【環境】
Eclipse Version: 2022-12 (4.26.0)

### 【発生事象】
メニュー -> ウィンドウ -> 設定 から
サーバー -> ランタイム環境 の画面を表示して、追加ボタンを押下します。
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/121997/5d69e3e9-af11-0967-f889-7d224bf4a81c.png)

サーバー・ランタイム環境の一覧が表示されますが、Apacheが存在しないことが確認できます。
![2.png](https://qiita-image-store.s3.a

元記事を表示

MotionLayoutを使ってSplashScreenにアニメーションをつけてみた

こんにちはandroidでアプリ開発を学習中のみのむしと申します。

今回は、前回に引き続きSplashScreenでアニメーションをつける方法について学びましたので、忘備録として残したいと思います。

MotionLayoutとは

アプリ内のモーションとウィジェットのアニメーションを管理できるレイアウトタイプで
ConstraintLayoutのサブクラスと公式ドキュメントに書かれています。
早速参考サイトや動画見ながら、実装していきたいと思います。

https://developer.android.com/training/constraint-layout/motionlayout?hl=ja

drawable(background_bg.xml)に新規xmlファイルを作成する

“`xml

元記事を表示

OTHERカテゴリの最新記事