JAVA関連のことを調べてみた2022年09月18日

JAVA関連のことを調べてみた2022年09月18日

複数の分足のテクニカル指標を計算する

はじめに

前記事
1. [auカブコム証券のkabuステーションREST APIをcurlで叩く](https://qiita.com/hiuchida/items/fcdd3d6ff921b386a37e)
2. [auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く](https://qiita.com/hiuchida/items/73b7fc846d4c9501ef2f)
3. [auカブコム証券のkabuステーションREST APIの残高照会をcurlとjavaで叩く](https://qiita.com/hiuchida/items/9eb5336755a3d1b1a3df)
4. [auカブコム証券のkabuステーションREST APIの残高照会から先物OPのdeltaを計算する](https://qiita.com/hiuchida/items/6e0d8d5114192bec1632)
5. [auカブコム証券のkabuステーションREST APIのテスト用モックサー

元記事を表示

リアルタイムに4本値とチャートデータをマージするツール

はじめに

前記事
1. [auカブコム証券のkabuステーションREST APIをcurlで叩く](https://qiita.com/hiuchida/items/fcdd3d6ff921b386a37e)
2. [auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く](https://qiita.com/hiuchida/items/73b7fc846d4c9501ef2f)
3. [auカブコム証券のkabuステーションREST APIの残高照会をcurlとjavaで叩く](https://qiita.com/hiuchida/items/9eb5336755a3d1b1a3df)
4. [auカブコム証券のkabuステーションREST APIの残高照会から先物OPのdeltaを計算する](https://qiita.com/hiuchida/items/6e0d8d5114192bec1632)
5. [auカブコム証券のkabuステーションREST APIのテスト用モックサー

元記事を表示

複数の分足の4本値とチャートデータをマージするツール

はじめに

前記事
1. [auカブコム証券のkabuステーションREST APIをcurlで叩く](https://qiita.com/hiuchida/items/fcdd3d6ff921b386a37e)
2. [auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く](https://qiita.com/hiuchida/items/73b7fc846d4c9501ef2f)
3. [auカブコム証券のkabuステーションREST APIの残高照会をcurlとjavaで叩く](https://qiita.com/hiuchida/items/9eb5336755a3d1b1a3df)
4. [auカブコム証券のkabuステーションREST APIの残高照会から先物OPのdeltaを計算する](https://qiita.com/hiuchida/items/6e0d8d5114192bec1632)
5. [auカブコム証券のkabuステーションREST APIのテスト用モックサー

元記事を表示

CalcIndicatorクラスの依存性を切る

# はじめに

前記事
1. [auカブコム証券のkabuステーションREST APIをcurlで叩く](https://qiita.com/hiuchida/items/fcdd3d6ff921b386a37e)
2. [auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く](https://qiita.com/hiuchida/items/73b7fc846d4c9501ef2f)
3. [auカブコム証券のkabuステーションREST APIの残高照会をcurlとjavaで叩く](https://qiita.com/hiuchida/items/9eb5336755a3d1b1a3df)
4. [auカブコム証券のkabuステーションREST APIの残高照会から先物OPのdeltaを計算する](https://qiita.com/hiuchida/items/6e0d8d5114192bec1632)
5. [auカブコム証券のkabuステーションREST APIのテスト用モック

元記事を表示

Facadeパターンでの開発

開発の初案件が終わったので、何回かに分けてアウトプットします。
今回はFacadeパターンでの実装の流れについてです。
以下のような前提で開発をしました。
ファイル名やクラス名は実際のものと変えています。

## Facadeパターン
複数のクラスが集まってできたプログラムは、様々なクラスのメソッドを呼ぶので処理が複雑になります。
このような場合に処理を依頼する側から見た際に窓口となるファイルを用意するのがFacadeパターン。
Facadeに当たるファイルには実際の処理は書かず、メソッドの呼び出しをメインにします。
今回は携帯電話の支払い履歴を閲覧するような処理を実装しました。
処理としては電話番号とIDで顧客情報照会をした後、顧客情報に紐づく履歴情報を取得するという流れです。
中身の処理は今回は省略します。
WB0_01が窓口となるFacadeにあたり、顧客情報照会をするクラスがClient、履歴情報を取得するクラスがPaymentHistoryとします。![スクリーンショット 2022-09-17 17.35.02.png](https://qiita-image-store.s

元記事を表示

【Spring】@Controllerと@RestControllerの違い

@Controllerと@RestContollerの違い(備忘)

@Contorollerは戻り値にHTML(View)を返却するためのアノテーション。

@RestControllerはJSONやXMLを返却するためのアノテーション。

参考

【Spring】@Controllerと@RestControllerの違い

元記事を表示

Java 推奨されるnullチェックについて

本日も実務の実装の中で、学んだことがあったので備忘録として書き残しておこうと思います。

人知れず変数の中に入ってしまうnullの対処についてです。
Java歴の浅い方や古いバージョン(8以前)を中心に実装していた方もためになるかと思います。

## 僕の知っていたnullチェック
僕が研修などで学んだチェックは一般的な以下でした。

“`java
String a = null;
String b = “あいう”;

if (a != null) {
System.out.print(a);
} else {
System.out.print(b); //こっちが実行される
}

“`

!= または == これで比較してif文の分岐でヌルポで落ちないようにすることしか知りませんでした。
今でもシステム内では結構使われていましたが、、、

## 推奨されるnullチェック

nullの考慮ができるメソッドやOptionalを利用することで、nullチェックの数は減るとは思いますが、
どうしてもnullチェックをしたい時があります。
そんな時にjava8以降で推奨される

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのファイル・ディレクトリ操作の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlのファイル・ディレクトリ操作の比較

# Python

https://qiita.com/supersaiakujin/items/12451cd2b8315fe7d054

# Ruby

https://qiita.com/prgseek/items/38f74d99b74baa3b42f7

# PHP

https://qiita.com/daichi87gi/items/111cd922991e4a18d1ef

# Java

https://qiita.com/suema0331/items/03330a663773204afc5f

# JavaScript

https://qiita.com/turmericN/items/28e8bc8fca07285ddffc

# Perl

https://perlz

元記事を表示

【Java】コンパイル時にpackage文に関するエラーが出た場合の対処法

## 環境
+ Microsoft Windows 10.0.22000.856
+ PowerShell 7.2.4
+ Java 18.0.2.1

## はじめに
Javaのpackage文を使用した際に、コンパイル( `javac Main.java` )で `エラー: シンボルを見つけられません` あるいは `error: cannot find symbol` のようなエラーが出た場合の対処法について説明する。

“`:ディレクトリ構成
6-1/(カレントディレクトリ)
├ Kouhan.java(commentパッケージに所属する)
├ Main.java
└ Zenhan.java(commentパッケージに所属する)
“`

各ファイルの中身

[『スッキリわかるJava入門 第3版』](https://sukkiri.jp/books/sukkiri_java3)の練習問題6-1のコードを一部引用する。

“`java:Main.java
import comment.Zenhan;

public

元記事を表示

Javaの文字列操作

Javaの文字列操作に関するメモ書きです

## 文字列調査

### equals
equalsメソッドは2つの値が等しいかを調べるメソッドです。
下記サンプルコードのように、2つの文字列が等しいか判定するのに利用します。

“`java
public class Main {
public static void main(String[] args) {
String s1 = “iamcat”;
String s2 = “iamcat”;
String s3 = “IAmCat”;
if (s1.equals(s2)) {
System.out.println(“s1とs2は等しい”);
}
// equalsは大文字と小文字を区別する
if (s1.equals(s3)) {
System.out.println(“s1とs3は等しい”);
}
}
}
“`
実行結果
“`java
s1とs2は等しい
“`
数値の比較では ==演算子 を使用しますが、文字列の比較ではequ

元記事を表示

Java:複数のExcelドキュメントをマージする方法

Excelドキュメントを操作する際に、複数のExcelドキュメントを1つのドキュメントにマージするのは非常に実用的な機能です。この機能は、関連ドキュメントを一緒に配置するのに役立ち、後で検索するのに便利です。[Free Spire.XLS for Java](https://jp.e-iceblue.com/introduce/free-spire-excel-for-java.html)は、複数のExcelファイルのマージを簡単に実行するのに役立ちます。具体的な操作の詳細は次のとおりです。

## Spire.XLS.Jarのインストール
方法1:
mavenを使用している場合は、次のコードをプロジェクトのpom.xmlファイルに追加することで、JARファイルをアプリケーションにインポートできます。
“`ruby:qiita.rb


com.e-iceblue
e-iceblue
https://repo.e-icebl

元記事を表示

オーバーロードとはなにか〜Java編〜

## オーバーロードとは
オーバーロードとは、クラス内に同じ名前のメソッドを複数定義するときに用いる考え方。
## オーバーロードする時のルールは?
引数の型や引数の数が異なる必要がある。
## 引数の数が異なる場合のオーバーロード(OK)
“`java
public class Practice {

//引数の数がaの1つ
public void result(int a){
System.out.println(“int a=”+a);//int a=1
}

//引数の数がa,bの2つ
public void result(int a, int b){
System.out.println(“int a=”+a+”,int b=”+b);//int a=2,int b=3
}

public static void main(String[] args) {
Practice practice = new Practice();
practi

元記事を表示

Gatlingを使って負荷試験をする手順

# 概要
**Gatling**とは、**負荷試験のためのテストツール**です。
社内ツールの負荷試験のために初めて使用したので、インストールからGatling実行結果を確認するまでの手順をまとめました。

# インストール
### OpenJDKのインストール

Gatlingは**Java**でテストシナリオを書いていきます。
以前はScalaのみ対応だったのですが、Gatling 3.7からJava(とKotlin)で書けるようになりました。

[Oracle公式サイト](https://www.oracle.com/technetwork/java/javase/downloads/index.html)からJDKをダウンロード、インストールします。
インストール後、以下を実行し、Javaのバージョンが表示されていればインストール完了です。

“`
java -version
“`

### Gatlingのインストール

Gatling公式サイトからzipパッケージをダウンロードし、解凍します。
コマンドでも取得できます。
“`
// ダウンロード
wget

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの文字列連結の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlの文字列連結の比較

# Python

https://qiita.com/masa2223/items/cf3c4cc104e90d3c40d3

# Ruby

https://qiita.com/Kta-M/items/c7c2fb0b61b11d3a2c48

# PHP

https://qiita.com/horikeso/items/01463f5e17985428055c

# Java

https://qiita.com/supercell1023koeda/items/a548f2bdd811168e7c44

# JavaScript

https://qiita.com/saka212/items/11ce1f1d6316c1fbf15b

# Perl

https://perlzemi.com/bl

元記事を表示

Javaのequalsメソッドについて

今日の実務で、実装レビューにて指摘があった箇所を備忘録として残す。

Javaの経験が浅い方や、古いバージョン(8以前)を中心に実装していた方もためになるかと思います。

## Stringクラスのequalsメソッド

Java歴が浅い方や最近学習を始めたという方は、文字列比較のために、Stringクラスのequalsメソッドを基本として学ぶと思います。
(僕も研修や独学時代はこれしか学びませんでしたし、今も癖で使ってしまいます。)

Stringクラスのequalsメソッドは、比較する文字列が同値であるかどうかを判定してくれます。
なので、参照先が異なっていたとしてもtrueを返却してくれます。
“`java
String a = “あいう”;
String b = “あいう”;
String c = new String(“あいう”);

System.out.print(a.equals(b));//true
System.out.print(a.equals(c));//true
“`

(余談:実はObjectクラスのequalsメソッドをSt

元記事を表示

MediatorLiveDataでNullPointerExceptionが出たときの対処法

### はじめに
以下のエラーが出た。

> at androidx.databinding.ViewDataBinding.updateRegistration(ViewDataBinding.java:653)

“`java:ActivityMainBindingImpl.java
if (vModel != null) {
// read vModel.isNetworkError
vModelIsNetworkError = vModel.isNetworkError();
}
pdateLiveDataRegistration(0, vModelIsNetworkError); //この行で上記のエラー
“`

>Caused by: java.lang.NullPointerException: Attempt to invoke virtual method ‘void androidx.lifecycle.LiveData.observeForever(androidx.lifecycle.Observer)’ on a null object

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlの四則演算の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlの四則演算の比較

# Python

https://qiita.com/hiroyuki_mrp/items/d7e4c2d75e947ab99caf

# Ruby

https://qiita.com/mat827/items/ee569f6549b83bb954e2

# PHP

https://qiita.com/koala_56/items/7ed631f62cf0f225f5a6

# Java

https://qiita.com/takahirocook/items/748990882f2de7a630a1

# JavaScript

https://qiita.com/_haya_/items/dbe80010a0a8ac9d70b1

# Perl

https://perlzemi.com/blog/

元記事を表示

インクリメント演算子の前置と後置について

# インクリメント演算子の前置と後置の違い

javaシルバーの資格勉強をしていた際、インクリメント演算子が前と後ろに置かれているものがあり、「どっちだったかな〜」とど忘れしたので、その備忘録として。

# 前置のインクリメント
“`
++i
“`
このようなもの。

# 後置のインクリメント
“`
i++
“`
このようなもの

# どう違うのか

簡単にいってしまうと、評価されるタイミングが違う。

前置インクリメントの例
“`
int num=0;

System.out.println(++num);      

//1が表示される
“`
先にnum=0にプラス1してから(評価してから)表示させている。

続いて後置インクリメントの例
“`
int num=0;

System.out.println(num++); //0が表示

System.out.println(num); //1が表示
“`
1回目のSysoutでは後置インクリメントなので、一旦変数numの値を表示してから、プラス1をしている。
2回目のSysoutでは、1回目でプラス1した値(

元記事を表示

半日404エラー解消に悩みまくった(Tomcat・サーブレット)

# 試したことメモ。
①サーバー上に追加し直し。(eclipse上)
これのことね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287651/f06e1853-2e40-47b9-4895-07d9e3d2f9ce.png)

②(html or jspの)form action=”●●●”と(サーブレット側の)@WebServlet(“/●●●”)の一致を行った。

③buildフォルダにclassファイルができていない。
→プロジェクトのビルドが必要。

取り急ぎ~

元記事を表示

めちゃくちゃ簡易のビンゴゲームを作る #3

# はじめに
[前回までの記事](https://qiita.com/snow_saboten/items/cb3fd3af99575f12eeee)で見た目的にはビンゴゲームになってきたので、次の段階として、ビンゴゲームのリーチやビンゴの判定機能を作りたい。検索すれば答えがヒットするんだろうけど、自分で考え抜きたい意地が発現してしまったので、記事を書きながら頭を整理しつつ、作っていきたいと思う。

# ふわっと作戦を考える
今ふわっと考えていることとしては、現状はカードに縦5マス並べたものを5列横に並べているのだが、これを二次元配列を使っての配置に変更すること。これで、縦横の判定はしやすくなるだろうと予想している。斜めに関しては、2パターンしかないし、個別に書き連ねるのが良いのかな?

# まず二次元配列での配置で現状までの機能をつくる
## コード
“`Java
public class BingoGame extends JFrame implements ActionListener{
JButton mkCardBtn;
JPanel BingoCardPanel;

元記事を表示

OTHERカテゴリの最新記事