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

JAVA関連のことを調べてみた2022年05月31日
目次

日足の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. [4分チャレンジ:タブ区切りファイルをhtmlファイルに変換する](https://qiita.com/hiuchida/items/8be2894b4f38397ba7c0)
2. [4分チャレンジ:31時(翌7時)基準のファイル分割ツール](https://qiita.com/hiuchida/items/f57268047995f2290a22)

ツールというよりサンプルですが、近い将来ツールで使うためのstaticメソッドを作るためのPGMです。

# 要件

可変長テキストファイルをランダムアクセスしたい。
固定長テキストファイルや固定長バイナリファイル(構造体)は、指定したインデックスからファイルオフセットを計算でき、シークして読めます。
可変長の場合、各行のバイト数が分からないので、各行のインデックス番号を保存する必要がある。

# staticメソッドの仕様

汎用的に使えるように以下の宣言とした。

“`java
/**
* 指定したオフセットから指定した行を読み込む。
*
* @param lr

元記事を表示

【Java】「sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target」の対処法

# まえがき
このエラーに3時間ほど時間とられたので備忘として残しておく。

# 事象
`mvn clean`実行時に以下のエラーログが出力される。
“`
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
“`
リモートリポジトリにある依存をダウンロードするときに、有効なSSL証明書がないと怒られる。

# 対処方法
SSL証明書は`$JAVA_HOME/lib/security/cacerts`に作成済だったのだが、こいつを読み取ってくれていなかったのが原因だった。読み取ってくれるように、`-Djavax.net.ssl.trustStore`オプションでキーストアを指定する。
“`
mvn clean -Djavax.net.ssl.trustStore=C:\dev\tools\openjdk11\lib\security\cacerts
“`

`.mavenrc`に以下のように記

元記事を表示

FlutterにてAndroid SDKの”Service”で1秒ごとにUIに反映させる方法について考える

# 1.はじめに
僕はFlutterを触るようになって1か月のものです。参考にならない記事を上げるなと思われるかもしれませんが、僕個人の記録として書いている部分の方が大きいのご了承ください。「こうしたら楽に実装できるよ~」とか、「こうした方がいい!」とか教えていただけると幸いです。
### 今回のゴール
AndroidのServiceと言えばバックグラウンドで動作し、ファイルのダウンロードやTimerを動かし定期的にUIに反映させたりなどそうゆう用途で用いられることが多いと思います。(これも素人目なので適切な使い方かどうかは確証がないです)それを踏まえて、今回のゴールは「Timerで1000ms毎にUIに表示している整数をカウントアップさせる」にします。
![Animation2.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125465/2c98d743-e564-d8fb-b64d-b4e7e5883f6f.gif)
# 2.方法
とりあえず方法を検討してみます。Flutter初心者なので「そもそも

元記事を表示

業務未経験エンジニアが転職して初現場を終えて

# 自己紹介
はじめまして。
昨年飲食業界からエンジニアに転職した『ゆうき』です。
私は現在都内のSESで勤務をしており、Javaをメインに業務を行っております。
2022年1月より参画させて頂いた、初案件の現場で感じたことや学んだことについて、今回は発信させていただきたいと思います。
技術的な事よりは、気持ちの面などの事がメインの記事です。

## 質問を恐れるな
分からないことは素直に分かりません。とまず伝えましょう。
初めての現場参画で、僕は不安な気持ちがとても多く、質問する事を躊躇してしまう事が多々ありました。

 ーこんな事も分からないの?
    って思われたらどうしよう。。

ですが、いざ質問すると上長の方などは、僕が思っているよりも詳細に答えを下さいました。
もちろん現場によって、雰囲気が違ったりする事もあるでしょうが、1人で悩んでも時間の無駄なので、不安な事や、分からないことがあれば質問するようにする事が、技術や知識が乏しい僕が出来る最大限の努力だなと感じました。
一人で悩んで解決しそうかも!?みたいな時は15分など時間を決めて悩むのは有りかもしれません。

## 質

元記事を表示

Java技術者から見るブルーベリー本【第1章:イントロダクション編】

Javaを4年間実務で取り扱った私が、「プロを目指すためのTypeScript入門」(著:uhyo氏)
でTypeScriptを学んだ際に感じたことを書いていきます。

Javaと比較して、どう違うのかに着目して書いています。

JavaとTypeScriptは同じ静的型付け言語ということで、共通する部分は多くありますが、細かな違いがありました。

同じようにJava技術者がTypeScriptを学ぶ際の助けになればと思います。

# この記事の読み方

各節ごとに上段は本の内容
線を挟んで下段は私の所感になります。

# TypeScriptとは

Microsoftによって開発されているプログラミング言語。

もともとはブラウザ上で動作しWebページに動きを与えるための言語だったJavaScript(以下JS)だったが、現在ではサーバサイドなど幅広い用途に応用されている。

だが、JSは静的型付け言語ではなかった故、大規模なシステム開発には苦労が伴っていた。
それを克服するためにTypeScript(以下TS)が開発されている。

Javaなどが担っていたサーバサイドの用

元記事を表示

Spring Security 5.7でセキュリティ設定の書き方が大幅に変わる件

# この記事について
最近(5.x)のSpring Securityでは、セキュリティ設定の書き方が大幅に変わりました。その背景と、新しい書き方を紹介します。

非推奨になったものは、将来的には削除される可能性もあるため、なるべく早く新しい書き方に移行することをおすすめします。

この記事は、Spring Securityのアーキテクチャの理解(Filter Chain、 `AuthenticationManager` 、 `AccessDecisionManager` など)を前提としています。あまり詳しくない方は、まず[opengl_8080さんのブログ](https://qiita.com/opengl-8080/items/c105152c9ca48509bd0c)を読むことをおすすめします。

# 忙しい人のためのまとめ
1. `WebSecurityConfigurerAdapter` を継承せずに `SecurityFilterChain` をBean定義してセキュリティ設定を書きましょう
1. `http.authorizeRequests()` ではなく `htt

元記事を表示

EclipseでtWAS 9.0開発環境の構築

# 目的

EclipseでtWAS 9.0用のアプリケーションをテストするときには、古い(Java8で動作する)Eclipseが必要でした。その方法を記載します。

# IBM Installation Manager
IBM Installation Manager を導入します。(IBM id が必要です)

[Installation Manager and Packaging Utility download documents](https://www.ibm.com/support/pages/installation-manager-and-packaging-utility-download-documents)

導入手順や画像はここでは省略します。IBM id さえあればダウンロードできて導入できました。最新にしておきましょう。

# tWAS 9.0

IBM Installation Manager に ILANのレポジトリを追加して導入します。
ファイル > 設定 > リポジトリの追加
![image.png](https://qiita-image-st

元記事を表示

Java初心者がシングルトンとかDIとか学んでみた

# はじめに
転職先でJavaを業務で使うことになり、2週間前から本格的にJava, Spring Bootの勉強を始めました。
この土日を使ってDIやシングルトンを中心に学んだため、頭の整理も兼ねてまとめたいと思います。

# DIとは

DI (Dependency Injection / 依存性の注入)のこと。
– オブジェクト指向におけるSOLID原則の一つに依存性逆転の法則があり、それを実現する方法がDI。
– クラス間を密結合にせず、疎結合を保つことで開発における高い保守性と変更によるテストへの影響を抑えることができる。

**DIしていない例**
実行クラスが他クラスから情報を取る場合は、newすることで他クラスの情報を取得する
– 実行クラスのメソッド内で別のクラスのインスタンスをnewして生成している
– 実行クラスのメソッドの引数として他のクラスのインスタンスを使用している
“`java
public class B {
private String hoge;

public String getHoge() {
return this.hoge;

元記事を表示

マージしたチャートデータのファイル名の調整

# はじめに

前記事
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のテスト用モック

元記事を表示

【Java初心者】改良版・Commons emailで日本語添付ファイルの文字化け解消

# 改良版を作ったわけ

以前の記事[【Java初心者】Commons emailで日本語添付ファイルの文字化け解消](https://qiita.com/sev01/items/6c8ea0c1a82324341fdd)では、添付ファイルの文字化けが発生しないことを確認していたのですが、差出人やタイトルの文字化けが発生することがありました。

環境変数に頼っていたことが原因かもしれないと思いまして、JavaMailやCommons emailに備わっていたメソッドを利用する方法を試したところ、目的を達成することができました。

“`java
package mailsendtest;

import java.io.UnsupportedEncodingException;
import javax.mail.internet.MimeUtility;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.com

元記事を表示

【spring boot】PokeAPIでポケモンの種族値を取得するWebAPIを作成してみた。

ポケモンのガチ対戦をしていて、どちらの素早さが高いのか分からなくなった経験はありませんか?
そんな自分の悩みを解決すべく、PokeAPIを使用してポケモンの種族値を取得するWebAPIを作成してみました。
PokeAPIとは、ポケモンの情報を取得することが出来るAPIです。

↓↓↓↓pokeAPI↓↓↓↓
https://github.com/oscar0812/pokeapi-v2-java

分かりやすいように先に完成品をお見せ致します。
検索フォーム欄にポケモンの名前を入力すると、ポケモンの種族値を返却してくれます。
![スクリーンショット (10).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2280983/3b97ef99-54e3-144e-22fd-cb5f6c4d179c.png)
![スクリーンショット (11).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2280983/04307401-52a

元記事を表示

ReactNativeのMainActivity.javaとかで”class、interfaceまたはenumがありません”が出るときの対処

# 症状
MainApplication.javaとかMainActivity.javaでこんなエラーが出る
“`
…MainApplication.java:4: エラー: class、interfaceまたはenumがありません
package com.hoge.hoge;
“`
(error: class, interface, or enum expected)
# 原因
packageが先頭じゃなくなってる

# 解決
packageを先頭に移動する

“`java:MainApplication/MainActivity.java
import hoge.fuga.hoge;

package com.hoge.hoge;
import hoge.piyo.hoge;

“`

“`java:MainApplication/MainActivity.java
package com.hoge.hoge;
import hoge.fuga.hoge;
import hoge.piyo.hoge;

“`

元記事を表示

マージしたチャートデータからテクニカル指標を計算する(HV編)

# はじめに

前記事
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のテスト用モック

元記事を表示

Kotlinで「生産者消費者」の実現

“`kotlin
fun producerConsumer() {
val content = mutableListOf()
for (i in 10 downTo 1 step 1) content.add(i)
val lockForConsumer = Object()
val lockForProducer = Object()

val consumer1 = thread {
while (true) {
synchronized(lockForConsumer) {
while (content.size > 0) {
println(“Consumer1 consume content:${content[content.lastIndex]}”)
content.removeAt(content.lastIndex)
lock

元記事を表示

Javaで競技プログラミングをする際に見つけた面白いメソッド、演算子

#### **Java**で競技プログラミングを始めなければ、一生使わなかっただろうメソッド、演算子があったのでQiitaの練習を兼ねて記事にします。

[AtCoderに登録したら解くべき精選過去問10をJavaで解いてみた](https://qiita.com/0x841/items/0ce887c86cf081312a08)にて紹介されていた回答から興味を持ったメソッド、演算子をまとめます。

# [ABC 081 B – Shift Only](https://atcoder.jp/contests/abc081/tasks/abc081_b)

まずは以下の回答で使われていた、演算子の`|= `
メソッドの`Integer.numberOfTrailingZeros()`です。

~~~java
import java.util.*;

class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc

元記事を表示

Java3週目

第3週目 Jump to java 参照

コンソール入力と出力

生年月日(YYYYY/MM/DD)を入力してください:

このようにユーザーに上記のような文字列を見せるのがコンソール出力であり、上記の質問にユーザーが回答を入力することをコンソール入力という。

コンソールは環境によって変更されることがある。 もし、このプログラムをインテリジェイで実行したなら、インテリジェイのコンソールウィンドウがコンソールになり、ウィンドウ命令ウィンドウでこのプログラムを実行したなら、命令ウィンドウがコンソールになる。 すなわち、コンソールはユーザーの入力を受けたり、ユーザーに文字列を出力する役割をすることを通称する言葉だ。

IOException

上記の例題にmainメソッドを見ると、throwsIOExceptionを使った部分がある。 InputStreamから値を読み込む時はIOExceptionが発生する可能性があるため例外処理をしなければならないが、throwsでその例外処理を先送りさせたのだ。

ストリーム(Stream)とは?

ストリームを最も簡単に理解するには蛇口を考

元記事を表示

Javaでスクレイピングを行う方法(jsoupライブラリを使用する)

# 初めに
本記事は、jsoupと呼ばれるライブラリを使用してJavaでスクレイピングを行う方法について記載しています。
また、公式サイトやネットで調べたことを投稿者なりの理解をまとめた記事となっているのでご注意ください。
以下は、jsoupの公式サイトです。正確な情報はこちらを確認してください。

https://jsoup.org/

# 前提事項
本記事は、Javaを使用するのでJavaの開発環境が必要です。Javaの開発環境が整っていない方は事前に準備をしてください。既に環境が整っている場合は問題ありません。もし、開発環境が整っていない方は、以下に以前投稿者が作成した「Docker、Java、Gradle、VSCode」を使用した開発環境の構築方法について記事がございますので参考にしてみてください。
もちろんEclipse等を使用する方法でも問題ないと思います。また、ビルド自動化システムはGradleを使用していますがMavenに慣れている場合はそちらでも問題ないと思います。(ご自身の慣れている方法で・・・)

https://qiita.com/T-H9703EnAc/ite

元記事を表示

JavaとPythonのHello World(http getバージョン)

## ■前提
Javaのフレームワーク:spring boot
Pythonのフレームワーク:fastapi

## ■本題
### Java
ファイル
“`HelloApplication.java
package com.example.hello;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloApplication {

public static void main(String[] args) {
SpringApplication.run(HelloApplication.class, args);
}
}
“`

“`GreetingController.java
package com.example.hello;

import java.util.concurrent.at

元記事を表示

新卒業務未経験SEがJavaを研修で学んだ所感

# はじめに注記
セキュリティ保護の観点で、会社から研修内容については書いちゃ駄目と言われてます。
というわけで、その点への言及はしません。

# 書いている人のスペック
– 文系卒、ユーザー系SIer企業入社2ヶ月目
– 学生時代はVue.jsとpythonをいじって自動化だったり、サーバレスwebアプリを作ったりしてた。
– 故にサーバー周りやMySQLなど、スキル不足がチラつく。
– バックエンドよりもフロントエンドのスキルが好き。
– ぶっちゃけ、今までClassとかドキュメント見ながら書いてた。
– 最近はReactを勉強中Javaも復習しなきゃ…

# JAVAの基礎をサーッと学んでみて

### 最初の所感
今までインタプリタの言語ばっかやっていたこともあって、まず最初に思ったことは、
「コンパイル鬼だるいな、、、」
ってのが正直な感想です。
コンパイルで確認して実行コマンドをまた打って、、、って慣れないなぁと。

だから最初から新卒で入った会社がPHPだとかPythonだとかだと、
この点煩わしくなくて、プログラミングやったことない人は

元記事を表示

OTHERカテゴリの最新記事