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

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

Adjust SDK v5を読み解く[Android]

# この記事は何?
Adjustのコードを読んで何となく語学の為にメモしたものです。
長いので生成AIに読み込ませて要約して貰って適宜質問を投げるといった使い方が良いかと思います。

# Adjustとは
[Adjust](https://www.adjust.com/ja/)は、アプリの最適化とグロースを支援するソリューションです。
複数のプラットフォームを横断する計測技術で、アプリマーケティングの全過程においてマーケターをサポートします。

(公式サイトより引用)

実際に楽天アプリを使ってかみ砕いて説明すると、[楽天市場サービス一覧](https://www.rakuten.co.jp/sitemap/sp/app.html)にあるような
https://app.adjust.com/dj7tmxv のようなadjustリンクを踏んだ際に

1. Adjustがリンクをクリックしたことを記録
2. iOSはapp storeへ、androidはGoogle Play Storeにリダイレクトする
3. アプリを初回起動時にインストールされたことをAdjustに送信
4. 1と3を

元記事を表示

Stack (データ構造)

Stack (スタック)
1. スタックの概念

データを一時的に収納するために使われるデータ構造.
入出力の順は LIFO(Last In First Out)で、最後に入れたデータから先に引き出す特性を持っている
Stackにデータを入れる作業をpushと言い、引き出す作業をpopと言う
pushとpopが行われる位置をtopといい、Stackの一番底をbottomと言う
元記事を表示

User Managed ID を使用してセキュアに Azure Container Apps から Azure OpenAI へ接続

今日は、こちらのエントリの中で、2つの内容を紹介したいと思います。

1. コンテナ化しなくても Azure Container Apps に Java アプリをデプロイできるようなった
2. Azrue Container Apps から Azure Open AI に対して、ユーザ・マネージド Identity を使用してセキュアに接続

ここで使用したソースコードはこちらの GitHub レポジトリにあります。
[GitHub: Secure-OpenAI-Java-App-on-Azure-Container-Apps
](https://github.com/yoshioterada/Secure-OpenAI-Java-App-on-Azure-Container-Apps)

## 1. コンテナ化しなくても Azure Container Apps にアプリをデプロイできるようになった

2024/9/11 に 「[Announcing the General Availability of Java experiences on Azure Container App

元記事を表示

eclipseで開発時に使用するショートカット、デバッグ方法

eclipseのショートカットをうまくまとめた記事はたくさんありますが、自分用のメモも兼ねて業務中よく使うショートカットと、追加でデバッグ時に使う機能をまとめてみました。

# ショートカット

### F3
クラスやメソッドの宣言場所へ移動
・メソッドが呼び出されていて、その実装を見たくなることが多々あるため、そういう時に活躍します。

### Ctrl+T
インターフェース、抽象クラスの実装へ移動
・F3で見に行った先がインターフェースだと、結局実装が見られないためこのショートカットを使用して
実装されているクラスを探しに行きます。

### Ctrl+Alt+H
メソッドをどこで呼び出しているのか確認
・使い方がよくわからないメソッドのあるときはこれで他に使用されている箇所を見ることができるため
使い方の参考にできたり、あるメソッドを改修する際に影響範囲を調べることができる
(テストすべき点がわかりやすくなる)ショートカットです。

### Ctrl+Shift+R
ファイル名検索
・検索窓が出てくるため、ファイル名が分かっていればすぐに目当てのファイルに飛ぶことができます。その

元記事を表示

Windows で cargo:run したときの Tomcat の文字化けを解消する

## 環境

– Windows 11
– 表示言語: 日本語
– システム ロケール: 日本語 (日本)
– ワールドワイド言語サポートで Unicode UTF-8 を使用 はチェックしていない
– JDK 17
– Maven 3.9

## 困りごと

以下の通り pom.xml を書いて cargo:run すると、Tomcat のログが文字化けしている。

“`xml:pom.xml 4.0.0

com.example
cargo-run-test
0.0.0-SNAPSHOT

org.codehaus.cargo

元記事を表示

AWSで簡易なWebアプリをデプロイ ~ アプリケーション編 ~

お疲れ様です.Tomです.

AWSで簡易なWebアプリをデプロイ【アプリケーション編】です.

:::note info
全体概要編は[こちら](https://qiita.com/tomtech_2024/items/fc14e5fe845b7d7d5712)をご覧ください.
:::

スタックを示した構成図でいうところの赤で囲った枠が今回のトピックになります.

![application01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918716/a2e43ba8-f5c8-a583-5a83-39c8c31dc4be.png)

ここではアプリケーションの **コーディングとビルド** に焦点を当てます.
僕自信オブジェクト指向という概念はなんとなくわかるものの,JavaやHTMLの中身を見てすぐにデバッグできるみたいなスキルはないので,調べながらやりました.また実行に関しては `サーバ編`で触れることにいたします.

`アプリの目的としては定義した機能群をソースコードに落とし込み,【ユ

元記事を表示

AWSで簡易なWebアプリをデプロイ ~ サーバ編 ~

お疲れ様です.Tomです.

AWSで簡易なWebアプリをデプロイ【サーバ編】です.

:::note info
全体概要編は[こちら](https://qiita.com/tomtech_2024/items/fc14e5fe845b7d7d5712)をご覧ください.
:::

スタックを示した構成図でいうところの赤で囲った枠が今回のトピックになります.

![appserver01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2918716/6a0840ca-6c0c-77df-4d93-e0a25561569b.png)

ここではサーバの構築と,アプリケーションの **実行** に焦点を当てたいと思います.
※ サーバでアプリが動く仕組みなどはここでは触れないので,興味のある方はご自身で調べてみてください.後日簡易な内容を記事にする予定なので,その際にご説明したいと思います.

`目的としてはアプリケーションを動作させるサーバを構築して,【ユーザにアプリケーションを提供すること】です.`

#

元記事を表示

SpringBootで環境構築

## IntelliJ
今回はIntelliJを使って環境構築をしようと思う
IntelliJには無料版と有料版があるが今回は私が学生なので無料版が使えるということがあり無料版を使おうと思う。
## ItelliJのインストール
https://blog.jetbrains.com/ja/2019/08/22/2105/
ここから大学のメールアドレスを使って学生パックのライセンスを取得する。
そうしたらIntelliJ IDEAをインストールしよう。
## SpringBootの環境構築の準備
### SpringBootの雛形を取得する
https://start.spring.io

SpringBootの雛形には上からspring initializerに行きここで雛形を取得する。

![スクリーンショット 2024-09-14 17.23.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3880447/4d192d34-6f4b-0a7c-3a97-f50dfd0de70b.png)

元記事を表示

jpackage(というかjlink)でハマった話

## はじめに
初投稿です。お手柔らかにお願いします。
[ハマったリポジトリ]( https://github.com/u-donbei/udon-pasuta/ “ハマったリポジトリ”) は公開しています。

## jpackageとは
Javaアプリケーションを自己完結型化し、そのインストーラーを作成できるJDKに付属しているツールです。

## 状況
JavaFX[^1]でゲームを作り、`jpackage`でインストーラーを作ろうとしました。
無事にgradleのビルドが成功し、できたexeファイルを実行したその時!
カーソルのグルグルが出たので、ウィンドウが出てくるかと思ったら、何分経っても出てこない。
この時は「なんでだろう?例外でも出てるのかな?」と思いましたが、これの解決に2日かかりました…

## 原因
原因は、配布用JREにjdk.management.agentモジュールが含まれていなかったことです。

`jpackage`に`–win-console`をつけてみると、
“`terminal
Error occurred during initializat

元記事を表示

Google Web Toolkit入門:Javaデベロッパーのための強力なWebアプリケーションフレームワーク

## はじめに

Google Web Toolkit(GWT)は、JavaデベロッパーがHTML5とJavaScriptを使用して高性能なWebアプリケーションを構築するためのオープンソースフレームワークです。GWTを使用することで、JavaコードをJavaScriptに変換し、クロスブラウザ対応の洗練されたユーザーインターフェースを作成することができます。

この記事では、GWTの基本から応用まで、15章にわたって詳しく解説していきます。各章では、概念の説明と実践的なコード例を提供し、GWTの理解を深めていきましょう。

## 第1章:GWTの基礎

GWTは、JavaデベロッパーがWebアプリケーションを効率的に開発するためのツールセットです。主な特徴として、JavaからJavaScriptへのコンパイル、クロスブラウザ互換性、そしてリッチなユーザーインターフェースの構築が挙げられます。

まずは、簡単なHello Worldアプリケーションを作成してみましょう。

“`java
package com.example.myapp.client;

import com.goo

元記事を表示

Cucumberを使用したJavaテスト自動化の完全ガイド

## はじめに

こんにちは!今回は、Javaプロジェクトでのテスト自動化に欠かせないツールであるCucumberについて、詳しく解説していきます。Cucumberを使うことで、開発者だけでなく、ビジネス側の方々も理解しやすいテストシナリオを作成できます。それでは、Cucumberの基本から応用まで、15章に渡ってご紹介していきましょう。

## 第1章: Cucumberとは

Cucumberは、振る舞い駆動開発(BDD)をサポートするオープンソースのテスティングツールです。人間が読みやすい形式でテストシナリオを記述し、それを自動化されたテストとして実行することができます。

Cucumberの主な特徴は以下の通りです:

– 自然言語でテストシナリオを記述
– 開発者とビジネス側のコミュニケーションを促進
– 多言語対応(日本語でのシナリオ記述も可能)
– Javaを含む多くのプログラミング言語をサポート

## 第2章: Cucumberのセットアップ

まずは、Javaプロジェクトにおいて、Cucumberをセットアップする方法を見ていきましょう。

1. Mavenを使用し

元記事を表示

Spring Boot入門:基礎から実践まで

## はじめに

Spring Bootは、Javaベースの強力なフレームワークで、効率的で迅速なアプリケーション開発を可能にします。この記事では、Spring Bootの基本から応用まで、15章にわたって詳しく解説します。各章では、概念の説明と実践的なコード例を提供し、初心者から中級者まで幅広い読者に役立つ内容となっています。

## 第1章:Spring Bootの概要

Spring Bootは、Spring フレームワークの上に構築された革新的なツールです。従来のSpringアプリケーションの複雑な設定を大幅に簡素化し、開発者が核心的なビジネスロジックに集中できるようにします。

主な特徴:
– 自動設定
– スタンドアロン実行可能なJARファイル
– 組み込みサーバー
– プロダクション対応の機能

以下は、最小限のSpring Bootアプリケーションの例です:

“`java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.S

元記事を表示

正しい形式で入力されるまで再入力させるメソッド

備忘録で書きました。

#### プログラムについて
`inUserName`メソッド:
1.`input`で文字列を受け取り、`checkName`メソッドで判定する。
2.`checkName`メソッドで判定が通ったら`userName`に代入する。
3.`userName`を返す。

`checkName`メソッド:
`input`の値が「大文字1~10文字以内の文字列」に当てはまらない場合は再入力を要求する。

## だめだったやつ
最初に入力した文字が戻り値になってしまうので、`checkName`メソッドで再入力しても修正されていない不具合が発生します。
###### 筆者の勘違い:`checkName`メソッドの戻り値が自動的に`inUserName`にある`input`の値を上書きすると思っていました

“`diff_java
public String inUserName(){
System.out.println(“ローマ字(大文字のみ)でユーザー名を入力してください…”);
String input = new Scanner(System.in).nex

元記事を表示

NetBeans環境構築 なぞの不具合

# NetBeansのセットアップでなぞの不具合が発生し、解決できたので情報共有します

### 不具合の詳細
![スクリーンショット 2024-09-12 125150.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3881962/824a0164-dc49-4f0f-d111-53f31f4f1907.png)

NetBeansの公式サイトからexeファイルをダウンロードした後に起動したところ、このように固まってしまった。
パソコンの詳細
windows11
JDK ver.17.0 (22.0にバージョンアップしたが効果は無し。)
NetBeans Ver.22

この不具合ではエラー文がなにもでないので、たちが悪い。
JDKのバージョンを最新版に更新、管理者として実行。
さまざま試したが、解決せず。

## 解決策
Exeファイルからの起動だと不具合がおきるが、Zipファイルからの起動だと正常に動作した。
Zipファイルからのセットアップの手順はこちらから

https://qiita.c

元記事を表示

NetBeansをZip版でセットアップする方法(Windows11向け)

# NetBeansをZip版でセットアップする方法(Windows向け)
NetBeansのインストーラーがうまく動作しない場合や、手動でセットアップしたい場合、Zip版を使用することで解決できます。この記事では、Zip版のNetBeansをWindows環境にセットアップする手順を詳しく解説します。

1. Zipファイルの解凍
解凍先の選択
まず、NetBeansを配置するフォルダを選びます。以下の点に注意してください:

パスに日本語やスペースを含めないこと。
管理者権限を必要としないディレクトリであること。
例として、C:\NetBeansフォルダを作成します。

## 解凍
ダウンロードしたZipファイルを右クリックします。
「すべて展開」を選択します。
解凍先に先ほど作成したC:\NetBeansを指定します。
または、お好みの解凍ソフト(7-ZipやWinRARなど)を使用して解凍します。

2. NetBeansの起動
実行ファイルの場所
解凍したフォルダ内のnetbeans\binディレクトリに移動します。

## NetBeansの起動
netbeans64.ex

元記事を表示

[Java]String型の配列をint型の配列に変換する

# はじめに
ネット上のスキルチェック問題などを解いていてよく出くわすのでメモがわりに。

# 問題
“`
“123456”
“`
という文字列型の数値の入力を
“`
[1, 2, 3, 4, 5, 6]
“`
と、数値型の配列に変換する。
# 解決方法
“`java
// 問題で与えられる入力
String input = “123456”;

// Stringの文字列で入力を受け取る
String[] strArr = input.split(“”);

// int型の配列に変換
int[] numArr = Stream.of(strArr).mapToInt(Integer::parseInt).toArray();

System.out.println(Arrays.toString(numArr)); // [1,2,3,4,5,6]

“`

# おわりに
streamは中間処理をよく忘れるのでメモメモ。

元記事を表示

H2コンソールでデータベースの新規作成ができなかった時

# H2コンソールで新規データベースの作成ができなかった時にやったこと

備忘録

Windows

データベースをjavaでいじる練習をするときに

H2 Consoleでいつものように
jdbc:h2:tcp://localhost/~/〇〇で接続を押して

新しいデータベースを作成しようとしたら
![タイトルなし.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3884251/a04747b2-474e-8dfb-5a3a-3aa5898498b2.jpeg)
警告文が出てきて作れなかった。

前は作れたのになぜなんだ・・・
とりあえずデータベースが作れないと進められない!

分からないなりに調べてみると黄色いアイコンの
H2 database Engine ってやつで新しくデータベースを作れるみたい
![イトルなし.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3884251/d6a60f30-6d76-fa5b-

元記事を表示

VScodeプラグイン 各言語おすすめ

VScodeの拡張機能について各言語ごとにまとめる

## 共通

### Japanese Language Pack
 日本語化するための言語化パック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879789/dab28482-ae62-81f6-c8c9-d89dad705f12.png)

### Code Spell Checker
スペルチェック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879789/b106fc87-20c2-9cf9-b235-b6c52f836d0e.png)

### vscode-icons
アイコン表示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879789/48d74c47-fa84-433c-461b-f448ab0c9157.p

元記事を表示

初めてのC++ ~JavaとC言語との違い~

## はじめに

この記事は、
**初めてC++を学ぶ方**や、**既にJavaやC言語を学び、次にC++を学ぶ方**
に向けて作成しました。

C++の基礎を学び、JavaやC言語と比較しながらその特徴を理解していきます。
JavaやC言語の基礎知識がある方は、**これらを比較しながら学ぶことで**、より分かりやすく理解できるでしょう。
まだC言語を学習していない方は、以前に書いた[JavaとC言語を比較した記事](https://qiita.com/jp_paypay/items/fe322db0b97ea5fc02c9)を参考にすると、理解が深まると思います。

この記事では、詳しいコードの説明には触れていませんので、興味がある方はぜひご自身でさらに調べてみてください。

## C++とは?
C++は、C言語を基盤にして開発された強力なプログラミング言語で、オブジェクト指向やジェネリックプログラミングの概念を取り入れた多重パラダイム言語です。
>マルチパラダイムプログラミング言語とは複数のプログラミングパラダイムに対応するプログラミング言語の総称です。
マルチパラダイムプロ

元記事を表示

Tomcatのデフォルトはリクエストパスに%2fを含むと400を返す

> encodedSolidusHandling
> When set to reject request paths containing a %2f sequence will be rejected with a 400 response.
>
> https://tomcat.apache.org/tomcat-10.0-doc/config/http.html より抜粋

よって、“`http://localhost:8080/hoge/%2F“` のようなURLにアクセスすると`@RestController`に辿り着かずTomcatが400を返す。

`http://localhost:8080/foo?hoge=%2F` とかクエリで渡す分にはOK。

元記事を表示

OTHERカテゴリの最新記事