- 1. 保存した4本値チャートデータと、PUSH APIで受信したチャートデータをマージした4本値を出力する
- 2. 「Android絵文字ポリシー」に開発者が対応する事
- 3. 開発未経験の素人がSpringBoot & AWSでポートフォリオを作成したら
- 4. auカブコム証券のkabuステーションPUSH APIで受信した気配情報対応
- 5. JavaのServlet(サーブレット)でHello World.
- 6. 【Java】Hello, World!を出力する
- 7. 【SAP BTP】CAP Service SDK for JavaでOData APIを作ってみる(2)
- 8. 1回だけ発動するClickEventを作る
- 9. Java on Azure 実践開発【Blob Upload ④: 署名付き URL を使ったアップロード編】
- 10. Java on Azure 実践開発【Blob Upload ③: 定期アップロード編】
- 11. Java on Azure 実践開発【Blob Upload ②: App Service ローカル保存後アップロード編】
- 12. Java on Azure 実践開発【Blob Upload ①: ストリームライクなアップロード編】
- 13. Java on Azure 実践開発【Blob Upload ⓪: はじめに】
- 14. 【SAP BTP】CAP Service SDK for JavaでOData APIを作ってみる(1)
- 15. Java Byte Code
- 16. bouncyCastleのrijndealクラスをpowershellで再現する
- 17. JPAとは
- 18. 【SpringBoot】SpringSecurityでCORSの設定
- 19. PostgreSQL — CopyManagerで高速コピー
- 20. auカブコム証券のkabuステーションPUSH APIを受信してCSVファイルへ保存する(複数銘柄対応版)
保存した4本値チャートデータと、PUSH 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のテスト用モック
「Android絵文字ポリシー」に開発者が対応する事
# この記事は
2021年10月の Google Play ポリシーアップデートにより「Android絵文字ポリシー」が追加されました。追加されたポリシーに対応するためにAndroidアプリで開発者が実装しなければならないことがいくつかあるので記事にしてみます。
# 「Android絵文字ポリシー」について簡単に解説
Googleはこれまで絵文字の更新をOSのアップデートにより新しい絵文字を追加してきました。最新のOSを搭載する高価格帯の端末ユーザーであれば、最新の絵文字を利用できていたが、それ以外のユーザーは最新の絵文字が送られてきても表示できず豆腐と呼ばれる小さな四角い箱(☐)や、間違ってレンダリングされた絵文字シーケンスとして表示される利用できない絵文字が生じていました。
今回の「Android 絵文字ポリシー」によりOS依存であった絵文字の更新が対応アプリの更新で絵文字をアップデートするようになりました。
最新のOSを搭載する高価格帯の端末ユーザーでなくても最新の絵文字を手に入れ利用できるようになったのです。簡単に言うと、
**アプリ側で絵文字をサポートしてあ
開発未経験の素人がSpringBoot & AWSでポートフォリオを作成したら
この度ポートフォリオとして、SpringBootで食事記録管理アプリを作成いたしました。
こちらの記事では、アプリの機能などを紹介していきます。
実際のアプリは下記のURLからご利用可能です。https://www.boyaki-dining.com
# どんなアプリ?
健康に関する悩みやグチを相談,共有できる食事管理アプリです。
![MyVideo_1_AdobeCreativeCloudExpress (1).gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2448205/002db64d-d41a-f899-1d64-ac6cbb0a01d4.gif)# 何が出来る?
## 日々の食事の記録がつけられる
・食事の記録を投稿・編集・削除できる
・記録はカレンダー形式で表示されるので、いつ何を食べたかスグに振り返ることが出来る
![MyVideo_3_AdobeCreativeCloudExpress.gif](https://qiita-image-store.s3.ap-northeast
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のテスト用モック
JavaのServlet(サーブレット)でHello World.
## 環境
– Windows 11
– eclipse 2022-06 [※こちらから日本語版がDownloadできます。](https://mergedoc.osdn.jp/)
– Java, Tomcatは任意のバージョンでどうぞ。
#### 1. プロジェクトの作成
– eclipseの「パッケージ・エクスプローラー」で「動的Webプロジェクトを作成します」を選択し、プロジェクトを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566009/608c7890-daeb-c19d-b430-1d35a7a0fad2.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/566009/1f1ae2e8-fd47-6540-5caf-611531a7f834.png)
![image.png](https://qiita-image-store.s3.ap-northeas
【Java】Hello, World!を出力する
## はじめに
最近、Javaの勉強をはじめました。
とりあえず、`Hello, World!`出力をやったのでメモ。## 環境構築
まず、環境構築から。
コンパイルと実行を行うために、コンパイラとインタプリタが必要とのこと。
JDKをインストールすればOKみたいなので、インストールしていきます。### JDKのインストール
JDKにも色々あるそうですが、今回は`Java SE Development Kit`を利用しました。
下記よりダウンロードできます。
[Java SE Development Kit](https://www.oracle.com/java/technologies/downloads/)dmgがダウンロードされるので、手順に沿ってインストールすれば完了です。
ちなみに今回の環境は下記の通り。
– java: version “18.0.1.1”
– macOS: 12.3.1 (21E258)## ソースコードの作成
`Main.java`を作成して、下記のコードを記述します。
“`java: Main.java
public
【SAP BTP】CAP Service SDK for JavaでOData APIを作ってみる(2)
# はじめに
[CAP(SAP Cloud Application Programming Model)](https://cap.cloud.sap/docs/)を利用してBTP環境にデプロイするODataAPIを作ってみます。(Java)
前回の記事ではサンプルを使ってCAPアプリケーション開発の全体的な流れを確認できたので、今回は自分で定義したデータモデルをサービスとして公開してみます。
また、カスタムロジックでODataリクエスト処理(CRUD処理)を試してみます。
【前回】
[【SAP BTP】CAP Service SDK for JavaでOData APIを作ってみる(1)](https://qiita.com/yonekura-h/items/594de263631726b8881a)# 前提
(1)があるので事前準備等は参考にしてください
[CAPプロジェクトの作成](https://qiita.com/yonekura-h/items/594de263631726b8881a#cap%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%
1回だけ発動するClickEventを作る
# 1回だけ発動するClickEventを作る ~Spigot~
ちょっとしたメモ程度に書くことにします。
初めての投稿なので読みにくくなってしまっているかもしれませんがどうぞ。## ClickEventが何度も発動してしまう
「一度だけクリックして処理を行うことのできるチャットメッセージ」を送信できるようにしたいなと思い様々なところのスレッドを覗いてみて、どうにかこうにか
* クリックしたら様々な処理が実行されるメッセージを作成することができた。
しかしそのメッセージはクリックされると何度でも処理を行ってしまう。
一度だけ行いたい処理を任せようと思っていたがこれではいけない。
「only once」など私の貧相なボキャブラリの中から絞り出した英単語を並べて検索をしてみるも、Javaに触れ始めて1週間も経っていない私にはなんだか難しい魔法の解説をしているようにしか見えなかった。
早い話が理解することができなかったのだ。というわけで、無い頭からアイデアを絞りだしてどうにかこうにか形になるものを作ってみたので書き残してみる。
## ClickEventと独自コマンドのリレ
Java on Azure 実践開発【Blob Upload ④: 署名付き URL を使ったアップロード編】
## はじめに
本記事は、『Java on Azure 実践開発 Blob Upload』シリーズの第4回「期限付き URL を使ったアップロード」編です。
サンプルコードは、[kohei3110/JavaOnAzure-BlobStorage](https://github.com/kohei3110/JavaOnAzure-BlobStorage) に上がっています。## シナリオ概説
本シリーズでは、Blob Storage へのファイルアップロードについて、Azure を使った Java アプリケーションのサンプルコードを使用しながら、開発方法をご紹介します。
一口にファイルアップロードといっても、あらゆる方式があるかと思います。例えば、以下のようなものがあります。
| No. | シナリオ | 概要 | 記事 URL |
| :— | :— | :— | :— |
| 1 | サーバー経由でのストリームライクなアップロード | SAS の流出を懸念する場合、サーバー経由でのストリームライクなアップロード | [Java on Azure 実践開発
Java on Azure 実践開発【Blob Upload ③: 定期アップロード編】
## はじめに
本記事は、『Java on Azure 実践開発 Blob Upload』シリーズの第3回「定期アップロード」編です。
サンプルコードは、[kohei3110/JavaOnAzure-BlobStorage](https://github.com/kohei3110/JavaOnAzure-BlobStorage) に上がっています。## シナリオ概説
本シリーズでは、Blob Storage へのファイルアップロードについて、Azure を使った Java アプリケーションのサンプルコードを使用しながら、開発方法をご紹介します。
一口にファイルアップロードといっても、あらゆる方式があるかと思います。例えば、以下のようなものがあります。
| No. | シナリオ | 概要 | 記事 URL |
| :— | :— | :— | :— |
| 1 | サーバー経由でのストリームライクなアップロード | SAS の流出を懸念する場合、サーバー経由でのストリームライクなアップロード | [Java on Azure 実践開発【Blob Uploa
Java on Azure 実践開発【Blob Upload ②: App Service ローカル保存後アップロード編】
## はじめに
本記事は、『Java on Azure 実践開発 Blob Upload』シリーズの第2回「App Service ローカル保存後アップロード」編です。
サンプルコードは、[kohei3110/JavaOnAzure-BlobStorage](https://github.com/kohei3110/JavaOnAzure-BlobStorage) に上がっています。## シナリオ概説
本シリーズでは、Blob Storage へのファイルアップロードについて、Azure を使った Java アプリケーションのサンプルコードを使用しながら、開発方法をご紹介します。
一口にファイルアップロードといっても、あらゆる方式があるかと思います。例えば、以下のようなものがあります。
| No. | シナリオ | 概要 | 記事 URL |
| :— | :— | :— | :— |
| 1 | サーバー経由でのストリームライクなアップロード | SAS の流出を懸念する場合、サーバー経由でのストリームライクなアップロード | [Java on Azur
Java on Azure 実践開発【Blob Upload ①: ストリームライクなアップロード編】
## はじめに
本記事は、『Java on Azure 実践開発 Blob Upload』シリーズの第1回「ストリームライクなアップロード」編です。
サンプルコードは、[kohei3110/JavaOnAzure-BlobStorage](https://github.com/kohei3110/JavaOnAzure-BlobStorage) に上がっています。## シナリオ概説
本シリーズでは、Blob Storage へのファイルアップロードについて、Azure を使った Java アプリケーションのサンプルコードを使用しながら、開発方法をご紹介します。
一口にファイルアップロードといっても、あらゆる方式があるかと思います。例えば、以下のようなものがあります。
| No. | シナリオ | 概要 | 記事 URL |
| :— | :— | :— | :— |
| 1 | サーバー経由でのストリームライクなアップロード | SAS の流出を懸念する場合、サーバー経由でのストリームライクなアップロード | [Java on Azure 実践開発【Blo
Java on Azure 実践開発【Blob Upload ⓪: はじめに】
## はじめに
今回から5回に分けて、Azure で Java アプリケーションを開発する際に現場で役立ちそうなポイントを、実装上のハマりどころなどを交えながらご紹介いたします。
第一弾のシナリオは、「**Blob ストレージへのアップロード**」です。
サンプルコードは以下に格納しています。
参考: 『[kohei3110/JavaOnAzure-BlobStorage](https://github.com/kohei3110/JavaOnAzure-BlobStorage)』
## シナリオ概説
本シリーズでは、Blob Storage へのアップロードについて、Azure を使った Java アプリケーションのサンプルコードを使用しながら、開発方法をご紹介します。
一口に Blob アップロードといっても、あらゆる方式があるかと思います。
まず、クライアントから Blob をアップロードする場合、SAS を使ってアップロードする選択肢があります。サーバーを経由せず、Blob ストレージとクライアントのみの通信になるため、パフォーマンスが他の選択肢に比べてよいで
【SAP BTP】CAP Service SDK for JavaでOData APIを作ってみる(1)
# はじめに
[CAP(SAP Cloud Application Programming Model)](https://cap.cloud.sap/docs/)を利用してBTP環境にデプロイするODataAPIを作ってみます。
以前にも一度試しているものの、WebIDEベースの開発であり、最近では使えないこともあるのでBusiness Application Studioで実施しました。
今回の手順だとVSCodeなどのローカル開発環境でもほぼ同様に作れると思います。
[SAP CP Trial環境でMulti Target Applicationを作ってみる【ODataService_V2の作成】](https://qiita.com/yonekura-h/items/62abe8b4ff1a747bd2e9)BTPでのJava開発には[SAP Cloud SDK](https://sap.github.io/cloud-sdk/docs/overview/overview-cloud-sdk)もあり、CAPプロジェクトとの統合も可能です。
SAP Cloud SDKには
Java Byte Code
Java Byte Code
Java Virtual Machine
を知るためのリンクJava class file
https://en.wikipedia.org/wiki/Java_class_fileThe class File Format
https://jcp.org/aboutJava/communityprocess/maintenance/jsr924/JVMS-SE5.0-Ch4-ClassFile.pdfJava bytecode
https://en.wikipedia.org/wiki/Java_bytecodeJava virtual machine
https://en.wikipedia.org/wiki/Java_virtual_machineList of Java bytecode instructions
https://en.wikipedia.org/wiki/List_of_Java_bytecode_instructionsJava仮想マシン
https://ja.wikipedia.org/wiki/Jav
bouncyCastleのrijndealクラスをpowershellで再現する
## 目的
bouncyCastleで使われていたjavaのrijndealクラスによる暗号化、復号処理をpowershellで再現する内容
鍵長は256ビットになっていなければならない。
## rijndealとは
暗号化処理の規約になったAESとして採用された暗号化方法IV(Initial Vector)と内容を暗号化した文字列を使って
暗号化文字列が作られている。この時暗号化した文字列(鍵長)を128ビット、192ビット、256ビットの3つを選ぶことができた。
AESは統一化のために、128ビットで固定化されている。
## RijnDealクラスをPowerShellで実装する際の注意
powershellは.NETで構成されているが
AESの暗号化のロジックだとうまく作れない。
rijndealだと鍵長を256ビットにできるが、AESでは128ビット固定になってしまう。128ビット以外はエラーになってしまう。
https://sp.otsuka-shokai.co.jp/words/aes.html#:~:text=AES%E3%81%A8%E3%81%AF
JPAとは
1. JPA(Java Persistence API)
Javaプログラミング時、永久にデータを保存するために必要なAPI。
API(Application Programming Interface)とは、ソフトウェアやアプリケーションの機能を他のソフトウェアと共有すること。共有する側とされる側の上下関係が存在。
JPAはJavaでクラスを作成し、それに基づいてDBテーブルを自動生成する技術
2. ORM(Object Relational Mapping)機能
オブジェクトをDBに接続する方法で、まずJavaでデータを作成し、それをDBデータにしてくれる機能。
3. JPA機能の1つであるCRUD関数を使用すれば、面倒なロジックを必要とせずにJavaからDBに簡単にデータ変換が可能になる。
CRUD:Create(Insert),Read(Select, Select All),Update(Update),Delete(Delete)
4. Persistence Context 永続性コンテキスト
contextはあるもののすべての情報を示
【SpringBoot】SpringSecurityでCORSの設定
SpirngSecurityでCORSの許可方法は以下の処理になります。
“`java:WebSecurityConfig
/**
* HTTP Security設定
*/
@Override
protected void configure(HttpSecurity http) throws Exception {
//そのほか記述については省略してますhttp.cors();
}/**
* CORS設定
*/
@Bean
CorsConfigurationSource corsConfigurationSource() {CorsConfiguration configuration = new CorsConfiguration();
//CORSで許可する値を設定
//許可するURIを設定 レスポンス側のURI
configuration.setAllowedOrigins(List.of(“http://localhost:3000”));
PostgreSQL — CopyManagerで高速コピー
postgreSQL でテーブルをコピーするとき、javaからCopyManagerを使うと速いらしいので、検索してみたが、一回ファイルに落とすサンプルばかりで、直接コピーしてるものがなかなか見つからなかったので、誰かの役にたつかなっと思い投稿してみました。
↓ の ソースは、前半コピー元テーブルにファイルからコピーして、後半、コピー元テーブルからダイレクトにコピー先テーブルへコピーします。
ポイントはコピー元テーブルからの読み込みで、PGCopyInputStream()を使用しますが、その時CopyManager()で使用するコネクションとは別のコネクションをもう一つ用意しないとダメってところです。
ここで、結構ハマりましたが、よくよく考えるとinとoutで同じファイルディスクリプタを使えないのと同じ理屈でした。public static void main(String[] args) throws Exception {
if(args.length!=4) {
System.out.println(“Please speci
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のテスト用モック