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

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

好きなエディタを使いたいじゃないですか。

# はじめに
新しいプロジェクトを始めるにあたって、他社と協業することになったのですが、

「うちは、開発者が好きなエディタ使ってます」

という話が出てきました。
いろんな開発者がいるからコードの品質を一定にするためにも、
少なくともソースコードのフォーマットは揃えたいですよね。
だからエディタとかも共通のほうがよくないですか?
そうすると

「レビューで指摘します」

と・・・、レビューでそんな本質的なことじゃない部分に、力を割きたくないので、
じゃぁどうやったらフォーマットをそろえられるかな?と考えたのがきっかけで記事にしてみました。

# 環境
Windows11
Eclipse(最新)
VSCode(最新)
Gradle 8.8
spotless(Gradle用のプラグイン)

Prettierもありかなとは思ったのですが、
どうもEclipse上で動かす良いプラグインが見つからず、
Eclipseのフォーマット設定を、VSCodeおよび、Gradleから実行する方向で考えました。

# 各種設定
## Eclipseでの設定
![image.png](https://qii

元記事を表示

Qiita 始めました!!!!!!!!

初めまして! rii_125です。(プログラマー初心者)
初投稿なので、見る人が少ないと思いますが、(暇なら)是非見てください。
![IMG_0218.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3911357/1f4c159d-9d65-6cb2-2121-9bf305b6d63e.jpeg)
# 自己紹介
NAME:rii_125
FROM:非公開
OLD :非公開
DETAILS:rii_125という名前でScratchやってます。
# 使う言語
* **〜Java〜**
* **〜HTML〜**
* 〜CSS〜(たまにかな?)
# プログラム
暇なら是非見てね〜
(Paizaとかで実行してるものが多いから大目に…)
## Javaで制作したもの
**①HelloWorld!!の改造**
“`Java:Main.java
import java.util.*;
//Mainメソッド
public class Main {
public static void main(String

元記事を表示

Javaにおける2進数の具体的な活用例

# Javaにおける2進数の具体的な活用例

システム開発や基本情報処理の試験において、2進数(バイナリ)とか覚えてどうするの?と思う時があると思います。今回の記事では、Javaの、ビット演算やビットフィールドを活用することで、効率的なコーディングや低レベルの操作が可能になります。以下に、Javaでの具体的な2進数の活用例をいくつか紹介します。もちろんPythonやPHP、Java Scriptでも応用が効くので是非参考にしてください。

## 1. ビットフラグの管理

ビットフラグを使用すると、複数の状態やオプションを1つの整数値で管理できます。これにより、メモリの節約や処理の高速化が図れます。

### 例: ユーザー権限の管理

“`java
public class BitFlagExample {
// ビットフラグの定義
public static final int READ_PERMISSION = 0b0001; // 1
public static final int WRITE_PERMISSION = 0b0010

元記事を表示

3つの立方数の和で42 巨大数の計算

3つの立方数の和で42になる答えの検算。

(-80538738812075974)^3
+80435758145817515^3
+12602123297335631^3
=42

# googleの検索窓の電卓ではダメ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510257/fe07704c-d659-5c31-e713-3c86a6066b04.png)

# wolframAlphaはOK
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/510257/884f2a37-c6b7-c45b-df4d-1e2e1bc324b1.png)

# ProcessingでjavaのBigInteger使ってOK
“`java:Processing
import java.math.BigInteger;

BigInteger x = new BigInteger(“-8053

元記事を表示

Java 学習記録 2日目

# 目的
この記事は以下の記事の続きです。

https://qiita.com/banana877_it/items/9b47d5ad26be57d6e0fe

Javaを学習するC言語使い一年目エンジニアのノートです。

# 前回の復習
前回の復習をさらっと。
“`java
// 特別な注釈がない限りコードはJavaです。
class Main {
public static void main(String[] args) {
// 文末には ; をつける
// 文章を表示する
System.out.println(“二日目も頑張った自分偉い”);
// 数値を表示する
System.out.println(877);
// 数値の四則演算
System.out.println((4+3*2/1)-2%3);
// 文字列の連結
System.out.println(“今日は” + 23 + “度です”);
}
}
“`
おさらいできたところで早速本編行ってみましょう!

# 今日も頑張る
###

元記事を表示

良いコード悪いコード例1

## はじめに

HI Engineer Collegeでは、実務未経験のエンジニアの方や、エンジニアに興味がある方を募集したおります、まずはお気軽にお問い合わせください。

※ (株)G&T(【内々定まで最短2週間】ゼロからしっかりじっくり研修☆20代活躍中!)

TOP

※ HI Engineer Collegeに興味あがある方はこちら(プログラミングを学習したい方)

HOME

### **良いコードと悪いコードを学ぶ理由とは**

**1. ベストプラクティスの理解**
良いコードを学ぶことで、効率的で読みやすく、保守しやすいプログラミング手法や設計原則(例:DRY原則、KISS原則)を身につけることができます。これにより、品質の高いソフトウェアを作成する能力が向上します。

**2. 共通のミスを認識する**
悪いコードの例を学ぶことで、よくある誤りやアンチパターン(例:スパゲッティコード、ハードコーディング)を理解し、それらを避ける方法を学べます。これにより、バグの発生を減らし、開発プロセス

元記事を表示

Spring Frameworkとは

# Spring Frameworkとは
Java開発におけるフレームワーク
以下全体像(一部)

## Spring Boot
Spring アプリケーションを煩雑な設定をせずに迅速に作成する機能

## Spring プロジェクト
Spring MVC
Webアプリケーションを簡単に作成する機能
(詳細を記述)
– Spring Data
データアクセスに対する機能
– Spring Batch
バッチ処理機能
– Spring Batch
認証/認可の機能
– Spring コア
– Spring DI
依存性注入(Dependency Injection)の機能
– Spring AOP
アスペクト指向プログラミング(Aspect Oriented Programming)の機能

# Spring MVCとは
## まずMVCモデル
[概要は省略](https://qiita.com/tentom/items/de95f63bc9e2da2bd0bf)
#### 利点
– 役割分担することで効率

元記事を表示

知らなきゃ損!Azure Functionsでサードパーティ製ライブラリを超簡単に使いこなす(今回ffmpeg)

# はじめに
こんにちわ!AgVentureLabの藁谷です!
スクラムの実践をしながらJAサイネージというプロダクトを頑張って作っています!

今回、動画ファイルの圧縮処理速度向上のためAzureFunctionsでffmpegを使う必要があり、~~JavaCVじゃめんどくさいから~~ナレッジも多く転がっていることからランタイムのプロセスを利用したコマンド実行を行う方法を試みました。
要はJavaのAzureFunctions上でffmpegをコマンド実行したいって話ですね。
AzureFunctionsで作ればffmpegの並列処理が簡単にできそうなので頑張るぞい!

そこで、次のドキュメントを参考に実装してみたのですが、そのままではうまくいかず試行錯誤の末に解決しました。
同じようなことで悩んでる方の参考になれば幸いです。なおJavaでmavenです。

https://learn.microsoft.com/ja-jp/azure/azure-functions/bring-dependency-to-functions?pivots=programming-language-

元記事を表示

Javaのバージョンごとの違いとは?バージョン番号の意味は?

# ■ はじめに

この記事では、Javaのバージョンについて簡単に解説していきます。
Javaには1.0や5、11といったように様々なバージョンがあり、バージョンが上がるごとに新機能の追加や改善が行われています。
開発においてどのバージョンを使うべきか、またバージョンのアップデートを行うメリットやデメリットについても紹介していきます。

# ■ 目次

1. [Javaのバージョンとは?](#1-javaのバージョンとは)
2. [主なバージョンの違い](#2-主なバージョンの違い)
3. [バージョン番号の変遷について](#3-バージョン番号の変遷について)
4. [古いバージョンを使い続けるリスク](#4-古いバージョンを使い続けるリスク)
5. [最新バージョンへのアップデートのメリット](#5-最新バージョンへのアップデートのメリット)
6. [まとめ](#6-まとめ)

# 1. Javaのバージョンとは?

初めてJavaがリリースされたのは1995年。
以来、多くのバージョンがリリースされてきました。
新しいバージョンには

元記事を表示

Project Wakefieldの現状

# Project Wakefield
[Project Wakefield](https://openjdk.org/projects/wakefield/ “Project Wakefield”)はLinux版OpenJDKのGUI層を従来のX WindowからWaylandへ移行させるプロジェクトです。

# Waylandって何
[Wayland](https://wayland.freedesktop.org/ “Wayland”)とは従来Unix系OSのGUI層を担ってきたX Windowを置き換えるべく開発されたものです。Xとの差異については他を参照していただくとして、徐々にXの代替としての地位を築いてきて現在ではほぼすべてのLinuxディストリビューションが指定しなければWaylandで動作するところまで来ています。

# JavaのToolkitとX Windowサポート
JavaはJDK1.0の頃はLinuxをサポートしていませんでした。過去に誰かが「JDK1.0のLinux版ってどこにあるの」と尋ねていたことがありましたが、そういうものは存在しなかったのです。今か

元記事を表示

【Docker】JavaアプリコンテナとMySQLコンテナの作成と起動方法

## 記事内容
DockerでJavaアプリケーションとMySQLのコンテナを作成する方法を順に説明します。

## 準備するもの
– Javaアプリケーション(GradleまたはMavenでビルド)
– `Dockerfile`(Javaアプリケーションのビルド/実行用)
– `docker-compose.yml`(複数コンテナの管理)

## 手順

#### 1. **Dockerfileの作成**

まず、JavaアプリケーションのDockerイメージを作成するための`Dockerfile`を作成します。ここでは、Gradleを使用した場合の例を示します。Mavenでも同様にできますが、今回はGradleでの例に基づきます。

“`Dockerfile
# Step 1: Gradleを使用してビルド
FROM gradle:7.6.0-jdk17 AS build

# プロジェクトファイルをコピー
COPY –chown=gradle:gradle . /app

# Gradleでビルドし、JARファイルを生成
WORKDIR /app
RUN gradle cle

元記事を表示

build.gradleの「sourceSets」について調べてみた

## 背景
参画していたプロジェクトでbuild.gradleに以下の記載があった。
どういう意図で書かれたものなのかわからなかったので調べてみた。
“`bash:build.gradle
sourceSets {
main {
java {
srcDirs ‘src/main/java’
srcDirs ‘src/main/restapi’
srcDirs ‘src/main/test’
}
}
}
“`

## Gradleビルド時にコンパイルされるものされないもの
基本的に、標準構造に従っているソースについては、“sourceSets“の記載なしで正常にコンパイルされます。

“`bash:標準構造
・src/main/java #メインのソースコード
・src/main/resources #メインのリソース
・src/test/java #テストコード
・src/test/resources #テストのリソース
“`
しかし、上記の標準構造に従

元記事を表示

2024年10月版 Spring Boot でウェブアプリケーション “Hello World” ハンズオン (Windows11+Eclipse)

# はじめに
前から勉強しようと思っていたSpring、そしてSpringBootですが、生成AIに聞きながら HelloWorld してみました。読者の方が同じように試せるようにハンズオン記事にしましたので、ご活用ください。

### 対象読者
– Spring Bootでウェブアプリケーションを開発したい方
– 開発環境を構築するPCをお持ちの方
– 勉強より実践で手を動かしたい方

### この記事で学べる事
– Windows11でのJava開発環境(Eclipse)構築方法
– Spring Boot プロジェクト作成方法
– 簡単なWebアプリケーションのデプロイ方法

### この記事で学べない事
まずは理屈より動かすことを重視して、以下の解説はしていません!
– プログラムの解説はしていません
– ウェブアプリケーションの仕組みは解説していません
– Mavenなどビルドツールの解説はしていません

# 前提

環境構築可能なPCをお持ちの方を前提としています。
Windows11 での画面説明となりますが、EclipseはMac版もLinux版もありますので、同じよう

元記事を表示

プログラミング言語別のDate型操作方法

## 記事を書こうと思ったきっかけ
今回この記事を書こうと思ったのは、仕事や自己学習の中で日付(Date型)を扱う機会があったことがきっかけです。仕事では主にVB.NETを使用し、自己学習ではReactを使って開発をしていますが、ふと「日付を扱う方法は、言語によってどのように異なるのだろう?」と疑問を持ちました。そこで調べた内容を整理し、この記事としてまとめました。
今回調べた言語は以下の4つです。
– Java
– Python
– JavaScript
– VB.NET

## JavaでのDate型の扱い

Javaでは、日付操作に古くからjava.util.Dateが使用されてきました。近年ではjava.time.LocalDateやZonedDateTimeなどのモダンなAPIが推奨されています。日付のフォーマット変換にはSimpleDateFormatやDateTimeFormatterが使われ、タイムゾーンの考慮も簡単に行えます。これにより、異なる地域間での正確な時刻操作や、過去・未来の日付演算が容易になります。
“`Java:
// 必要なクラスをインポートします
i

元記事を表示

【Ant】build.xmlを実行後「シンボルを見つかりません」というエラーが出る

## 前提
現場業務中です。
言語:Java
フレームワーク:Struts
ビルドツール:Ant
という、相当古いシステムのため非常にニッチかと思いますが、
備忘録も兼ねて投稿します…
## やりたいこと
コード修正後、build.xmlを実行し、Jarファイルを生成、デプロイをしたい。
## エラー内容
「シンボルが見つけられません」というエラーが出力される。
## 調査
Import文でエラーが出ている。
いくつかのクラスで、Javaの共通部品(Utilクラス等をまとめたパッケージ)を
インポートできていない。
しかし、共通部品のJavaファイル自体は確実に存在しており、
プロジェクトエクスプローラーでも表示されている。
## 原因
Jarファイルの生成が出来ていない。
## 解決策
build.xmlファイルを実行するとき、ビルドターゲットの順序を指定する。
build.xmlを右クリック、「実行の構成」を選択。
ターゲットから、ビルドする部品を選択する。
このとき「共通部品」→「インポート文でエラーが出ている部品」の順でビルドするよう指定する。

元記事を表示

Java 学習記録 1日目

# 目的
私は現在、1年後の転職活動開始に向けていろいろなことを勉強しています。
この前お話を聞いた会社の社長さんから「Javaはどの業界行っても重宝される」というお話をしていただき、学習をおすすめされたので、学習記録を残していきたいと思います。
私の第一言語はC言語です。
ぶっちゃけ英語よりは得意です←
基本情報の勉強も並行して進めているので、本当に亀進捗ですが頑張ります。
まずはProgateから!

# 早速やってみよう
### Javaを動かすには
C言語の最初に「おまじない」として教わった以下の文言
“`c
// これはC言語です
#include

int main(void) {
// 何らかの処理
return 0;
}
“`
これと同じようなものがJavaにもあるようです。
“`java
// 今後特別な注釈がない限りコードはJavaです。
class Main {
public static void main(String[] args) {
// 何らかの処理
// 処理の文末には ; をつける

元記事を表示

Java Gold SE11対策 ネストしたクラスシリーズ③ ローカルクラスについて

前回の記事
[Java Gold SE11対策 ネストしたクラスシリーズ② staticインナークラスについて](https://qiita.com/hiroki1994/items/16ad6931f9fcce29cf4d)
の続きとして本記事では「ローカルクラス」についてまとめていく。

## ローカルクラスはメソッド内に定義されるもの
メソッド内に定義されるクラスがローカルクラスである。
ローカルクラスは定義されているメソッド内のみから利用することができる。

そのため、同じクラスでも別のメソッドからローカルクラスを利用することはできない。
これはローカル変数を別メソッドが利用できないのと同じだ。

下のSample.javaのsampleMethodメソッドのAgeクラスがローカルクラスである。

“`Sample.java
public class Sample {
// ローカルクラスを実装したメソッド
void sampleMethod() {
int age = 30;

// ローカルクラス
class Age{

元記事を表示

アルゴリズム初心者がbit全探索をまとめてみた

## bit全探索とは?
bit全探索とは、各要素を「選ぶ」「選ばない」の2択として扱い、すべてのパターンを探索する方法です。「0」と「1」の二進数を使って表現されます。「0」は選ばない(否定)、「1」は選ぶ(肯定)というイメージです。

例えば、5枚のカードがあり、それぞれを「引く」「引かない」の全パターンを考えると、以下のようになります。

| | 1 | 2 | 3 | 4 | 5 |
|:-:|:-:|:-:|:-:|:-:|:-:|
| 1 | 0 | 0 | 0 | 0 | 0 |
| 2 | 0 | 0 | 0 | 0 | 1 |
| 3 | 0 | 0 | 0 | 1 | 0 |
| 4 | 0 | 0 | 0 | 1 | 1 |
| 5 | 0 | 0 | 1 | 0 | 0 |
| | | | … | | |
| 29 | 1 | 1 | 0 | 0 | 0 |
| 30 | 1 | 1 | 1 | 0 | 1 |
| 31 | 1 | 1 | 1 | 1 | 0 |
| 32 | 1 | 1 | 1 | 1 | 1 |

### 1. 全通

元記事を表示

schemeを作ろうと思ったが難しかった(中間報告)

## 要約
Common Lisp のサブセットのインタープリタは(趣味で)何回か作った事のある私が、Schemeのインタープリタを趣味で、作ろうとしたら、大変苦戦中。
Common Lisp も Scheme も同じ Lisp系の言語として、同列に語られがちだが、インタープリタの作り方は、全く異なる。

**似て非なる言語である。**

## Schemeは、あなどられているかも知れない。

Schemeについて、よく聞く噂(都市伝説)として以下のものがある

> Schemeの仕様書は50ページしかないので、誰でも簡単に作れる。
> 一番最初に自作言語作って遊ぶのなら Schemeでしょ。

とんでもなく、間違っていると、私は思う。
Common Lispのインタープリタを何回か作った私でも、頭を抱えて悩むくらいの難しい機能のオンパレードだ。

## 難しい機能の例

### call/cc

これが、Common Lispと、Schemeを区別する一番有名な機能かも知れない。
幸いこれには、日本語で読める大変良い記事があった。

https://daretoku-unix.b

元記事を表示

Java 23新機能まとめ

Java 23が2024/9/17にリリースされました。
https://mail.openjdk.org/pipermail/jdk-dev/2024-September/009395.html
[Java 23をリリース](https://blogs.oracle.com/oracle4engineer/post/the-arrival-of-java-23-ja)
[The Arrival of Java 23](https://blogs.oracle.com/java/post/the-arrival-of-java-23)

LTSではなく新たに入った機能も少ないですが、Module Import Declarationsは長大なimport文を削減してくれそうなので期待です。

OTHERカテゴリの最新記事