- 1. auカブコム証券のkabuステーションPUSH APIを受信してCSVファイルへ保存する
- 2. コンピュータとオセロ対戦54 ~勾配降下法と誤差逆伝播法~
- 3. エンティティを不変(イミュータブル)にする実装
- 4. auカブコム証券のkabuステーションREST APIで自前のリピート注文を作ってみる(リファクタリング編)
- 5. LibTorchにPyTorch_JNI.dllが入っていない!!
- 6. Controllerの呼び出し前後にログ出力する方法
- 7. springでjsonを簡易的に整形
- 8. Android トグルスイッチの実装(java)
- 9. auカブコム証券のkabuステーションPUSH APIのサンプル
- 10. [Docker][Java] Java プロセスのコンテナで jmap/jstack が採れない
- 11. SpringBatchのItemReaderでDBデータを取得する方法(MyBatis)
- 12. SpringBatchのJunitテストの書き方(Step構成がJavaで書いた場合)
- 13. Java 配列についてまとめる
- 14. Twitter APIを活用して競馬予想をしてみた
- 15. Apache HttpClient 5.x 再利用(使いまわし) 接続設定 ポイント まとめ
- 16. [Apache Hop] CSVを読みこみ変換処理してみた
- 17. Singletonについて
- 18. 【Android】MVVM的に2つのサンプルアプリを作ってみた 〜 Room & Retrofit2 〜
- 19. サーブレットとJSPを使ったフォームの作成
- 20. 【Java】指定範囲の乱数生成:nextInt(int num)
auカブコム証券のkabuステーションPUSH APIを受信してCSVファイルへ保存する
# はじめに
前記事
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のテスト用モック
コンピュータとオセロ対戦54 ~勾配降下法と誤差逆伝播法~
https://qiita.com/tt_and_tk/items/068f2afde6db637e189f
[前回](https://qiita.com/tt_and_tk/items/5c647f59019a03d4cf9e)
# 今回の目標
前回作成したネットワークのパラメータ更新を実装する。
# ここから本編
## パラメータ更新方法
誤差逆伝播法によるパラメータの更新方法は[44 ~勾配降下法と誤差逆伝播法~](https://qiita.com/tt_and_tk/items/5b6f755a115af6eac620)でもまとめましたが、難しい内容なのでもう一度まとめます。
また上記事の、>下付き文字ですが、「pre」が前の層、「next」が次の層、「now」もしくは何も書いていなければ現在着目している層、「last」が最終層(出力層)を指します。下付き文字がコンマで区切られて二つある場合、二つ目はその層の何番目のノードのものであるかを指します。
また、「old」が更新前のパラメータ、「new」が更新後のパラメータです。
一般的に他の文献では層の数が上付き文字であら
エンティティを不変(イミュータブル)にする実装
# はじめに
SpringBootのエンティティは便利だが、可変(ミュータブル)な実装になりがちなので、
不変(イミュータブル)にできないか検討する。# ありがちな実装
* エンティティ
“`java
@Entity
@Table(name = “company”)
@Getter
@Setter
public class Company {@Id
private String companyId;
private String companyName;
}
“`* 呼び出し元
“`java
Company company = new Company();
“`晴れて、生焼けオブジェクトのできあがり!!
変数“`company“`がどのような状態かよく分からない。。
この状態を避けるために、“`Company“`エンティティを不変にしてみる。# エンティティの制約
エンティティには、引数を持たないコンストラクタが必要。
引数を持たないコンストラクタが存在しないと、
リポジトリのfindByIdとか実行すると、下記のよ
auカブコム証券のkabuステーションREST APIで自前のリピート注文を作ってみる(リファクタリング編)
# はじめに
前記事
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のテスト用モック
LibTorchにPyTorch_JNI.dllが入っていない!!
PyTorchの公式サイトでStable、Windows、LibTorch、C++/Javaを選ぶとLibTorchというC++向けのライブラリがダウンロードできます。
しかし、このLibTorchにはPyTorch_JNI.dllというファイルがありません。このファイルはStableではなく、LTSのバージョンになら入っています。
PythonとC++/Javaを併用したい人とかは、バージョンを落とすことも考慮してみてはいかがでしょう。現在は配布されているトレーニング済みのPyTorchのモデルを、TorchScriptのものに変換してJavaで動かそうとしています。
Controllerの呼び出し前後にログ出力する方法
# はじめに
SpringBootのControllerの呼び出し前後で引数や処理時間をログに出力したく、
調べたところAOPで実現できたので、まとめておく。# 基本となる書き方
“`java
@Aspect
@Component
public class [任意のクラス名] {@Around(“execution(public * xxx.yyy.zzz.controller.*.*(..))”)
public Object [任意のメソッド名](final ProceedingJoinPoint pjp) throws Throwable {// 前処理
Object result = pjp.proceed();
// 後処理
return result;
}
}
}
“`# @Aroundについて
Advice(アドバイス)の1つ。処理時間を計算するために採用した。
他に“`@Before“`や“`@Aft
springでjsonを簡易的に整形
springというかjacksonでjson文字列をとりあえず整形したい場合は“`ObjectMapper#writerWithDefaultPrettyPrinter()“`を使用する。
以下はjackson-2.13.2で確認。
“`java
public record SampleResponse(String first, String second, Listlist) {
}…
SampleResponse response = new SampleResponse(“aa”, “bb”, List.of(1,2,3));
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(response);
“`出力は下のような感じ。
“`json
{
“first” : “aa”,
“second” : “bb”,
“l
Android トグルスイッチの実装(java)
# はじめに
こんばんわ、Hideです。
javaに関する記事を投稿しています。今回はAndroid Studioでトグルスイッチを実装する方法を書いていきます。
# トグルスイッチとは
ユーザが2つの状態(On/Off)を交互に切り替えることのできるUIです。
# レイアウトの作成
まず、トグルスイッチのレイアウトを作成する
(※スイッチの初期値をONに設定している)
“`/res/layout/activity.xml
auカブコム証券のkabuステーションPUSH APIのサンプル # はじめに
前記事
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のテスト用モック
[Docker][Java] Java プロセスのコンテナで jmap/jstack が採れない
前の記事で Java プロセスの docker コンテナの jstat が採れない問題を修正したら、今まで動いていた jmap/jstack が採れなくなった。。
[Docker][Java] Java プロセスのコンテナで jstat が採れない
https://qiita.com/batatch/items/a5d76b420702cc6322b5以下のようなエラーになり、jmap/jstack の結果がアタッチ対象の Java プロセスの標準出力に出てしまう。
“`
Exception in thread “main” com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file /proc/1/root/tmp/.java_pid1: target process 1 doesn’t respond within 10500ms or HotSpot VM not loaded
at jdk.attach/sun.tools.attach.VirtualMa
SpringBatchのItemReaderでDBデータを取得する方法(MyBatis)
SpringBatchのChunkモデルを使う場合、データベースからデータを取得し、chunkサイズごとにデータを処理する方法を紹介しようと思います。
# サンプルソース
“`Configuration.java
@Autowired
SqlSessionFactory sqlSessionFactory;@Bean
public Step chunk() {
return stepBuilderFactory.get(“chunk”).chunk(100)
.reader(this.myBatisReader())
.processor(this.Processor)
.writer(this.Writer)
.build();
}// MyBatisPagingItemReaderを使ってデータをページ分けて取得
@Bean
public MyBatisPagingItemReadermyBatisRead
SpringBatchのJunitテストの書き方(Step構成がJavaで書いた場合)
SpringBatchの公式ドキュメントを参考して、JunitでSpringBatchのテストをやって見たが、Step構成ファイルがjavaファイルで書いた場合、「@ContextConfiguration」でStep構成ファイルを指定するとエラーがいろいろ出ました。
解決方法を調べたが、Step構成ファイルの作成がいくつ注意点があることがわかりました。## サンプルコード
“`Configuration.java
@Configuration
@EnableBatchProcessing
//注意点1:@ComponentScanを追加し、全プロジェクトのBeanをスキャンすること
@ComponentScan(“com.example.パス”)
public class Configuration{@Autowired
private JobBuilderFactory jobBuilderFactory;@Autowired
private StepBuilderFactory stepBuilderFactory;@Autowired
Java 配列についてまとめる
備忘録
## ArrayList
### add
– 配列ver“`java
// 生成時要素数は3
int[] nums = new int[3];
nums[0] = 3;
nums[1] = 6;
nums[2] = 1;for(int value : nums) {
System.out.println(value);
}
“`
– ArrayList“`java
// 生成時中身は空
Listlist = new ArrayList<>();
list.add(3);
list.add(6);
list.add(1);for (int value : list) {
System.out.println(value);
}
“`### get
– 配列“`java
int num = nums[1];
“`– arraylist
“`java
int num = list.get(1);
“`### remove
– 配列
機能なし– arraylist
“`java
li
Twitter APIを活用して競馬予想をしてみた
## 〜天皇賞・春〜 外れました・・・
こんにちは。2回目の投稿になります。テイオーロイヤル抜けました。
前回、初めてTwitterAPIを触って、Java上からツイートすることに成功しました。その時の記事は下記です。https://qiita.com/mozuku_com/items/2e3e731630243ca83b2b
前回は自分の呟きたい内容を直接打ち込んでツイートしていましたが、今回はランダムな3つの重複しない数字を生成してつぶやいてみようと思い、少しコードを改善してみました。
## 乱数の生成に関して
ランダムな数字の生成方法は色々あるのかなと思いますが、まず思いつくのは、Randomクラスを使用する方法かなと思います。[こちらのページを参考にしました!](https://techacademy.jp/magazine/17733)“`Random.java
Random random = new Random();
int randomValue = random.nextInt(100);
“`私が好んで使う方法は、Listに数字を入れて、Coll
Apache HttpClient 5.x 再利用(使いまわし) 接続設定 ポイント まとめ
# 概要
Apache HttpClient 5.x を使うときのポイントをまとめる。以下の公式ドキュメントはあっさりしているので、コードを読むしかなかった…どこかに詳細があるんだとは思いつつ見つけられなかったのでメモを残す。
また、 Apache HttpClient 4.x と仕組みは似ているので、そのあたりの記事も参考にした。[Apache HttpComponents – HttpClient Overview](https://hc.apache.org/httpcomponents-client-5.1.x/index.html)
前提として、`PoolingHttpClientConnectionManager`のコードで得た知識なので、他のManagerと設定値の扱いが若干ことなるかもしれない。現時点の最新のライブラリのバージョンは、5.1.3だが、読んだコードはもう少し進んでいるのでその辺の差異も注意したい。
## 参考
– [Apache HttpClient Connection Management | Baeldung](https://www
[Apache Hop] CSVを読みこみ変換処理してみた
# 対象者
– Apache Hop (データ統合プラットフォーム) を試してみたい方。
– データ収集、変換処理を試してみたい方。
– CSVのファイルを変換処理してみたい方。# 前提環境
– Docker Desktopをインストールしている
– Apache Hopを準備しているhttps://qiita.com/Tadataka_Takahashi/items/f13161b981a8699f46ff
https://qiita.com/Tadataka_Takahashi/items/58f69ceb466a5c3a295a
# 手順の流れ
– 読み込むCSVファイルを準備する
– CVSを読み込んで、変換して出力する変換を作成する
– 動作を確認する## 読み込むCSVファイルを準備する
https://www.oreilly.co.jp/catalog/
O’Reilly の書籍リストを元にCSVファイルを作成します。このデータを例として取り上げます。
」はデザインパターンの一種です。「Singleton(シングルトン)パターン」と呼ばれることもあります。
「あるクラスのインスタンスが常にたった1つしか存在していない」という状態を実現したいときに利用されます。`あるクラスについて「複数のインスタンスが作られると困る」場面があれば、Singletonパターンを使用する。
※全機能で使用するキャッシュ保持など# Singletonの構成
Singleton#getInstance( )でインスタンスを取得することができる。
①インスタンスを保持する内部クラス
/**
* Configクラスの唯一のインスタンスを保持する内部クラス
*/
public static class ConfigInstanceHolder {
/** 唯一のインスタンス */
private static final Config INSTANCE = new Config();
}
}②インスタンス
【Android】MVVM的に2つのサンプルアプリを作ってみた 〜 Room & Retrofit2 〜
# はじめに
皆さん、ごきげんよう!れぶです!
今回の記事では、`MVVM設計`を意識して作成した2つのサンプルアプリをざっくり紹介していきます。これからMVVM的にアプリを作成したいと考えている方に特に参考になれば光栄です。
それでは、参りましょう!!
# 開発環境
* MacBook Air
* Android Studio Bumblebee | 2021.1.1 Patch 1
* Java 8
* compileSdkVersion 31
* minSdkVersion 21# 1つ目のアプリ
## 概要
自分が行きたい国を管理できるサンプルアプリです。データの全表示・追加・削除ができます。
`Room`を使って、ローカルDBのSQLiteを操作しています。## 動作イメージ
## アーキテクチャ図
のサブ記事として作成しております。今回はWeb画面に入力フォーム、ボタン、コンボボックス、ラジオボタンを作成し、選択した内容をサーブレットで取得するといったものを作ってみようと思います。
本記事以外のコンテンツは[こちら](https://qiita.com/kirin1218/items/242ee0f174f1cb12ef17#nablarch%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%88%E3%81%86%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E8%A8%98%E4%BA%8B%E4%B8%80%E8%A6%A7)から閲覧可能です。
なるべく、初心者目線で作成するつもりですが、分かりづらい部分ありましたら、コメント頂きたいです。
# 動作環境
|種類|バージョン|
|—|—|
【Java】指定範囲の乱数生成:nextInt(int num)
指定範囲の乱数を生成したい場合、
RandomクラスのnextIntメソッドを使用する。
nextIntメソッドで取得される乱数の性質は下記のとおりである。nextInt(int num)
・0以上、num未満のint値使用例は下記のとおりである。
※java.util.Randomをimportした前提での使用例である。
※Randomクラスをインスタンス化した場合の使用例である。①0~9までの乱数
“`java:nextInt.java
Random random = new Random();
int randomNum = random.nextInt(10);
“`~説明~
nextInt(int num)で取得できる値は0以上、num未満のint値のため、
範囲:0~x*までの値を取得したい場合はnum = x + 1で指定する必要がある。
*(x=取得したい範囲の上限値)②1~10までの乱数
“`java:nextInt.java
Random random = new Random();
int randomNum = random.nextI