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

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

[Android その3] Androidのアプリケーションの基本開発

# Android APP 基本開発(Java)
今回作るAPPはとーーーーーーっても簡単なやつです。(なぜなら私もほぼ初めてといえるので)
間違いもあると思いますが、頑張ります(頑張りましょうm)
## プロジェクトの作成
Android Appでのプロジェクトの開発については、調べて作ってみてくださいmm

## メモアプリ
単純なメモアプリを作りたいと思います。
画面の作成、ボタンの作成、ボタン押下で、テキストボックスのダイアログを表示させて、入力したら、画面に表示させるようにします。

## 実装
### UIの設計
メモアプリの基本UIを設計します。シンプルなリストビューでメモの一覧を表示し、メモの追加ボタンを用意します。

###### activity_main.xml の編集
このファイルはプロジェクトのres/layoutフォルダにあります。
“`xml

staticについての簡易まとめ(Java初心者向け)

## staticをざっくり一言でいうと
フィールドやメソッドを、クラス間で共用できる魔法の修飾子!

## staticにできるもの
* フィールド
* メソッド

フィールドやメソッドをクラス間で共用や上書きができると便利なときもありますよね。
しかし、不意な変更をしてしまう可能性もあるので注意しましょう。

## ざっくり説明
まず、通常のフィールドやメソッドの場合、クラス間で共用するには
1. クラス内でフィールドやメソッドを定義
2. 別のクラスで、使用したいフィールドやメソッドが記載してあるクラスのインスタンスを生成
3. インスタンスを経由してフィールドやメソッドにアクセスする

このような手順となります。
しかし、staticの場合はこれが簡略化されます。
1. クラス内でフィールドやメソッドを**static**を付けて定義
2. そのままフィールドやメソッドを利用できる!

## 説明
なぜインスタンスを作らなくても使用できるのかについて見ていきましょう。
### プログラムの動き
Aクラス(メイン)とBクラス、Cクラスを使用するプログラムを例に考えます。
それぞれ

元記事を表示

Spring アノテーション一覧

| カテゴリ | アノテーション | 説明 |
|——————————|—————————–|——————————————————————————————–|
| **依存性注入関連** | `@Autowired` | 自動的にBeanを注入します。コンストラクタ、フィールド、セッターに使用可能。 |
| | `@Qualifier` | 特定のBeanを指定して注入する際に使用します

元記事を表示

ABC365A~Eの解答[Java]

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

なお、僕のライブラリは[GitHub](https://github.com/viral8code/viral-Library)よりご確認ください。
では、見ていきましょう。

## A – Leap Year
問題文は[こちら](https://atcoder.jp/contests/abc365/tasks/abc365_a)

問題文の通りに実装しました。
“`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 = new SimpleWriter(System.out,autoFlush);

public static void main(String[] args){

//

元記事を表示

EclipseでのKotlin開発ガイド:バージョン互換性、非公式プラグインの活用と代替IDEの選択

# はじめに

Kotlinは、シンプルでモダンなプログラミング言語として人気を集めていますが、Eclipseでの開発環境の整備には注意が必要です。Eclipseは多くの開発者に親しまれているIDEですが、Kotlinの開発においてはバージョン管理やプラグインの選択が非常に重要です。本記事では、EclipseでのKotlin開発におけるバージョン互換性、非公式プラグインの利用方法、そしてEclipseの代替としてIntelliJ IDEAの利点について解説します。

# EclipseとKotlinのバージョン互換性

## 1. 安定したKotlinバージョン:1.5, 1.6
– **推奨Eclipseバージョン**: Eclipse 2020-03 (4.15) 以降
– **対応JDKバージョン**: Java 11からJava 17
– **特徴**:
– Kotlin 1.5および1.6はEclipseの公式Kotlinプラグインで安定してサポートされており、幅広いJDKのバージョンと互換性があります。業務システム開発に適したバージョンです。

## 2. 実験的サポ

元記事を表示

【超初心者向け】MyBatis超入門

# はじめに
とても久しぶりの超入門シリーズです。
何年も前にMyBatisの勉強をしたのですが、まとめていませんでした。
MyBatisは文献が豊富で、わざわざ自力でまとめなくてもよかったのですが、超入門シリーズの別の記事の準備をしていて、その中でMyBatisを使い、結構手間取ったので、まずはMyBatisの記事を執筆することにしました。
では、さっそくはじめます。

# 環境構築
しばらく開発をしていなかったので、開発環境を新しく構築しました。
今回使用した開発環境は次の通りです。

■開発環境一覧
|種別|製品名|バージョン|特記事項|
|:————– |:————————–|:———|——-|
|実行環境|Java|Java SE 21|Eclipse付属のJRE|
|統合開発環境|Pleiades All in one Eclipse|2024-06||
|DBMS|Oracle|19c|Oracle社が配布してくれている構築済みVMを使いました。
Oracle様、ありがとうございます。|
|SQ

元記事を表示

ABC364A~Eの解答[Java]

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

なお、僕のライブラリは[GitHub](https://github.com/viral8code/viral-Library)よりご確認ください。
では、見ていきましょう。

## A – Glutton Takahashi
問題文は[こちら](https://atcoder.jp/contests/abc364/tasks/abc364_a)

2個連続で甘いものを食べたときに最後じゃなければ`No`、それ以外は`Yes`と判定することで本問題を解きました。
“`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 = new SimpleWriter(System.ou

元記事を表示

ポリモーフィズムとReflectionでランタイム環境からクラスにアクセスしてみた

# はじめに

こんにちは。

この記事では初めての現場に配属されてから、任された初開発業務に対して、
どのような悩みがあって、それをどのように解決したのかについて記録を兼ねて書いていこうと思います。

### 開発環境
– 言語:**JAVA 1.5**
– フレームワーク:seaser2
– DB:PostgreSQL

### この記事で使う用語

– **セクション**:診療情報の中で、**情報の枠**を意味します

例)患者情報、処方情報など(Javaではclassを意味)
– **項目**:実際の**診療情報のデータ**を意味します

例)患者情報の患者名・性別、処方情報の症状・服薬指導など(Javaではfieldを意味)

# プロジェクトの概要

当時、自分は病院向けの電子カルテパッケージを開発するチームに参加していました。

HL7 FHIRという国際規格に合わせて、オンライン紹介状の機能を改修するプロジェクトを行うことになりました。

HL7 FHIRは患者の診療情報を複数のセクションに分けている構造になっていたため、
紹介状に記載されている内容の中で、**印刷した

元記事を表示

ABC363A~Fの解答[Java]

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

なお、僕のライブラリは[GitHub](https://github.com/viral8code/viral-Library)のものをご確認下さい。
では、見ていきましょう。

## A – Piling Up
問題文は[こちら](https://atcoder.jp/contests/abc363/tasks/abc363_a)

答えは$\lfloor\frac{R+100}{100}\rfloor\times100-R$で求まるのでこれを実装しました。
“`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 = new SimpleWriter(System.out,autoF

元記事を表示

ABC362A~Eの解答[Java]

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

なお、僕のライブラリは[GitHub](https://github.com/viral8code/viral-Library)よりご確認ください。
では、見ていきましょう。

## A – Buy a Pen
問題文は[こちら](https://atcoder.jp/contests/abc362/tasks/abc362_a)

$C$に該当する変数に適当な大きさの値を代入することで選択しないようにさせて解を求めました。
“`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 = new SimpleWriter(System.out,autoFlush);

public static

元記事を表示

JavaでAWSのS3ストレージからファイルをアップロードする方法

こんにちは、東です。
今回はJavaを利用してファイルをS3ストレージへアップロードする方法を
まとめたいと思います。

あくまでも参考程度なので大まかな外枠の仕組み程度に捉えていただければ幸いです。

# 必要なことは?
まず必要なものは以下のものです。
・**「ユーザーID」** →IAMユーザーのユーザーID
・**「シークレットアクセスキー」** →IAMユーザーのシークレットアクセスキー
・**「S3バケット名」** →S3コンテナ名
・**「ルートディレクトリパス」** →S3コンテナ内のルートパス
・**「リージョン名」** →S3コンテナが配置されている地域のリージョン名
・**「ファイル情報」** →アップロードするFile(JavaのFile型)
となります。

流れとしては
1.認証情報を用意

2.S3へアクセスするクライアントを作成。

3.ファイルをアップロードする。

という流れになります。
では、詳しく見ていきましょう。

# 手順
### 1.認証情報を用意
AWSのS3ストレージへアクセスするためには、
**「アクセスID」** **「シークレッ

元記事を表示

【Java勉強法】業界未経験からJava Goldを20日で取得したので勉強方法などまとめてみました!

![スクリーンショット 2024-08-31 12.04.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3874571/6e009a34-205d-0bfb-ac96-68e3b31cb286.png)
# はじめに

今回、勉強期間20日ほどでJava Gold SE11の資格を取得することができたので、自分が行った勉強方法や注意点などをまとめてみました!

*おことわり*

初学者のため、間違い等あるかと思います。Javaの知識というよりは、勉強方法の参考やモチベーションアップのために読んでいただければ幸いです。

# この記事の対象

・これからJava Goldの取得を考えているけど「どうやって勉強するねん」って思ってる人
・Java Silver取ったけどGoldって取れるの??って考えている人

# 自分について

私は今年の7月にエンジニアとして会社に入社し、その後10日ほどの勉強期間でJava Silverを取得しました。その後、SQL Silverの勉強を10日ほど行

元記事を表示

「インタフェースに宣言する抽象メソッドに処理内容を記述できない」とは?

はじめに

皆さんこんばんは、脆弱性アザラシです。
今回が初投稿となります。

自分は未経験からエンジニアへの転職を目指しており、その過程で行った資格の勉強などの掘り下げを、こちらのブログで発信していきたいと思っています。

初心者ゆえ、至らぬ点などもあるかと思いますが、お手柔らかに、温かい目で見ていただけますと幸いです。よろしくお願いいたします。

今回は、Java SE11 Silver の勉強をしていて、「インタフェースに宣言する抽象メソッドには、処理内容を記述できない」(註:1)といった記述を目にし、「一体どういうことだろう?」と気になったので、その点を掘り下げて考えていきたいと思います。

自分の思考の整理を兼ねているため、より詳細な内容を確認したい方は、(註)に記載している参考文献もご参照ください。

インタフェースの概要

まずは、インタフェースの概要を説明します。

インタフェースとは、「クラスに含まれるメソッドの具体的な処理内容を記述せず、「メソッドの型」「変数」を定義したもの」のことです(註2,3)。

メソッドの具

元記事を表示

Clean Code – Chapter 3-2 : 関数

# Clean Code – Chapter 3-2 : 関数
最近、忙しくてだいぶ遅くなってしまいましたね TT…

[該当記事はこのリンクの次の内容です](https://qiita.com/wlsrb2695/items/1a98193243283d09005b)

## 4. 副作用を起こすな!
ある関数に副作用があるということは、その関数が少なくとも2つの役割を持っているということです。

副作用というのは結局、他の処理も行っていることを意味します。

時には予期せずクラスの変数を修正したり、関数に渡された引数やシステムのグローバル変数を修正したりします。

以下のコードを見てください。

“`jsx
public class UserService {
private static int staticUserId;

public void updateUserEmail(int userId, String newEmail) {
// 機能 1 : データベースでユーザーのメールアドレスを更新
Database db

元記事を表示

マウスジグラーをJavaで作る

# 目的

定期的にマウスカーソルを動かして、スクリーンセーバーの起動を阻止します

# 使い方

起動して10秒後にマウスの位置を記録し、適当にマウスカーソルを動かして元の位置に戻ります。

移動の方向や時間間隔は適当に調整してください。

# コード

“`Java
package hello.mouse;
import java.awt.AWTException;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.Robot;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
public class MouseMover {
private static boolean running = true;
public static void main(String[] args) {
try {
Robot robot = new Robot()

元記事を表示

Apache HttpClient 5 の使用方法まとめ

# はじめに
以前、Http Client 4にバージョンアップした頃、それ以前のバージョンで使用されていた方法が非推奨になっていたりして、ネット上の情報があまり参考にならなかった経験がありました。
それでも、Http Client 4の頃はサンプルが添付されていたので、それを見て何とか解決できました。
そして、Http Client 5になって、更に、“HttpClient#execute(httpGet)“が非推奨になったり、それ以外にも、今までのコードが動かなかったり、ということが結構ありました。
公式サイトの[マイグレーションガイド](https://hc.apache.org/httpcomponents-client-5.3.x/migration-guide/preparation.html)が微妙に動かなかったりもしました。

最近はApache HttpClientを用いることが少なくなったのか情報があまりない気がするので、こちらに軽くまとめ記事を投稿したいと思います。

# 通常のPOST
“`java
CloseableHttpClient httpclie

元記事を表示

【JUnit】Controllerのテスト

## はじめに
コントローラテストについて、何を確認しているのか、どうやって書くのかを理解するために記事を書いていければと思います!

## Controllerクラスでは何のテストをする?
Controllerクラスでは何のテストをするのか、どのような状態になればOKなのかについて理解していきます。

**1.HTTPリクエストとレスポンスの確認**
Controllerが正しいHTTPリクエストを受け取り、期待されるレスポンス(ステータスコードなど)を返すかどうかをテストします。

**2.ルーティングの確認**
各メソッドが正しいURLにマッピングされているかをテストします。
たとえば、@GetMapping, @PostMapping などのアノテーションが正しく設定されているかどうかを確認します。

**3.サービス呼び出しの確認**
Controllerがサービスを適切に呼びだせているかを確認します。
期待される引数がサービスに渡されて、サービスからの結果を正しく受け取れているかを確認します。

**4.例外処理の確認**
コントローラが特定の例外を処理しているかを確認しま

元記事を表示

【Java】ChatGPTでカレンダー機能を作成してみた

# はじめ
こんにちは。
学生時代はJava・Pythonなどをはじめとする主流言語を広く浅く学んでいた@shika_ksです。
今回は、
・ChatGPTの無償版と有償版との違いを体感する
・自身の学習の振り返り
の観点から、Java入門のCalendarクラスを使用した機能を作成していきます。

# 動作環境
今回使用するツールは以下の通りです。
|ツール|バージョン|
|:—|:—|
|Java|jdk-17.0.5|
|ChatGPT|ChatGPT 4o mini 無償版|
|VScode|version 1.92|

# カレンダー機能
・うるう年を考慮してほしい
・先月、来月に移動できるようにしてほしい

上記2点の要望をChatGPTにした依頼しました。

“`java:CalendarApp.java
import java.time.LocalDate;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;

publ

元記事を表示

public class Main { public static void main(String[] args) { } }について一つ一つ説明してみた。

https://java-code.jp

# public class Main

### public
これは「公開する」という意味です。このキーワードがついていると、このクラスは他のプログラムからも見えて、使うことができるようになります。言い換えると、publicを使うことで、このクラスが他のプログラムからアクセスできるようになります。
### class
これは「クラス」というものを作るという意味です。クラスは、オブジェクト指向プログラミングの基本で、何かを表す設計図のようなものです。例えば、犬のクラスを作ることで、犬が持つ特徴やできることを定義できます。ここでは、Mainという名前のクラスを作っています。

### Main
これはクラスの名前です。Javaではクラスの名前は自由に決められますが、Mainという名前は特にプログラムの開始地点を示すために使われることが多いです。ここでは、プログラムのメイン(中心)になるクラスを示しています。

### { }
この波括弧は、クラスやメソッドの始まりと終わりを示すために使います。つまり、波括弧の中にクラスやメソッドの内容が書かれま

元記事を表示

this.name=name;について解説してみた。Java超入門

https://java-code.jp
# this.name = name;の意味
まず、このコードが何をしているのかを説明します。

### name(右側のname)
これは、外からもらった情報です。例えば、新しい犬を作るときに、その犬の名前を決めるために使います。このnameは、コンストラクタに渡される引数(ひきすう)です。

### this.name(左側のname)
これは、クラスの中で使われているフィールド(変数)です。このnameは、クラスの中でその犬の名前を**保存するため**の場所です。thisを使うことで、「このクラスの中にあるname」という意味を持たせています。

## 具体例で説明
犬を例に考えてみましょう。Dogというクラスを使って新しい犬を作るとき、犬には名前が必要です。this.name = name;というコードは、その犬の名前を決めて、クラスの中に保存するために使います。

コードの例

“`java
class Dog {
String name; // 犬の名前を保存するための箱

// コンストラクタ:新しい犬を作るとき

元記事を表示

OTHERカテゴリの最新記事