- 1. DefaultAzureCredential では環境変数を使うと便利です(Java on Azure)
- 2. Tomcat jasperはJSPからjavaコードに変換するトランスレーター技術です
- 3. コンピュータとオセロ対戦47 ~Javaで勝敗予測~
- 4. auカブコム証券のkabuステーションREST APIの残高照会から先物OPのdeltaを計算する
- 5. auカブコム証券のkabuステーションREST APIの残高照会をcurlとjavaで叩く
- 6. Wikipedia, Wiktionary のダンプからページを取り出す (Java)
- 7. Javaを使用してPowerPointテーブルを生成および操作する方法
- 8. 【 Java switch文の利点と注意点 と補足】
- 9. auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く
- 10. MyNetアップデート履歴
- 11. JSONテキストをpretty printしたい — Gsonを使って
- 12. JavaCV で2つのMP4 ファイルを結合 & 開始時間終了時間を指定した切り出しを行う
- 13. インスタンス化とは [簡単にまとめてみた]
- 14. Java with MavenのGithub Actionを動かしてみる
- 15. AndroidでOkhttpとWebview間でCookie情報を共有するための実装例
- 16. Java インタフェースにおける変数
- 17. 【初心者】JavaのNullPointerExceptionの犯人探し
- 18. ひと言学習メモ2:クラス、フィールド、メソッド
- 19. Javaの::ってなんだ?
- 20. Javaのラムダ式とは?
DefaultAzureCredential では環境変数を使うと便利です(Java on Azure)
## はじめに
Azure で Java アプリケーションを開発していたとき、認証方式の設計で悩む機会がありました。
本記事では、Java アプリケーションで実装可能な認証方式である `DefaultAzureCredential` を使った認証について、実開発でつまづきがちなポイントをまとめます。
この記事に記載の内容は、あくまで私個人の見解であり、所属する会社&組織の見解を必ずしも反映したものではありません。ご了承ください。
## DefaultAzureCredential
`DefaultAzureCredential` とは、開発環境・Azure デプロイ後それぞれで使用される資格情報を組み合わせて使用することができる認証方式です。
>DefaultAzureCredential は、アプリケーションが最終的に Azure クラウドで実行されるほとんどのシナリオに適しています。 DefaultAzureCredential は、デプロイ時の認証に一般的に使用される資格情報と、開発環境での認証に使用される資格情報を組み合わせたものです。
引用: [A
Tomcat jasperはJSPからjavaコードに変換するトランスレーター技術です
Tomcat jasperはJSPからjavaコードに変換するトランスレーター技術です
このサーブレットに変換ルールだけ習得すればJSP攻略はバッチリ。
【JSPファイル】
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% for(int i=0;i<5;i++) { %> <p>Hello World</p> <% } %> </body> </html>【変換されたjavaファイル】
[workspaceフォルダ]\.metadata\.plugins\org.eclipse.wst.server.core\tmp
コンピュータとオセロ対戦47 ~Javaで勝敗予測~
https://qiita.com/tt_and_tk/items/068f2afde6db637e189f
[前回](https://qiita.com/tt_and_tk/items/7a71975d8ca29079a6bc)
# 今回の目標
自作した深層学習ライブラリを用いて、Javaでデータ集めと学習を行う。
# 使用バージョン
* Java 17.0.1
* MyNet 1.2.0
# ここから本編
行なう学習の概要について、時間も空いてしまったので再度説明します。私が行っていたのは、「盤面から最終結果を予測する」というものです。
その前は、マスの位置ごとに設定した評価値を用いた方法を考えていましたが、固定的な考え方では柔軟な対応が難しいのではないかと考え上記の方法を思いつきました。
最終結果というのは具体的に、「最終的な自分の駒の数-最終的な相手の駒の数」で、マイナスもあり得る数でした。しかし[45 ~最適化関数~](https://qiita.com/tt_and_tk/items/54c91a2ba0f5606d54b9)でReLu関数の有効性が示されたので、こ
auカブコム証券のkabuステーションREST APIの残高照会から先物OPのdeltaを計算する
# はじめに
前記事
[auカブコム証券のkabuステーションREST APIをcurlで叩く](https://qiita.com/hiuchida/items/fcdd3d6ff921b386a37e)
[auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く](https://qiita.com/hiuchida/items/73b7fc846d4c9501ef2f)
[auカブコム証券のkabuステーションREST APIの残高照会をcurlとjavaで叩く](https://qiita.com/hiuchida/items/9eb5336755a3d1b1a3df)前回で、残高照会のリストを取得できたので、日経225先物OPに限定して、トータルのdeltaを計算して表示する。
# 事前準備
前記事の残高照会の続きです。
# ツール
変わっていないので省略。
# PositionsSuccessの判定
getSide():1:売、2:買。deltaの符号となる。
auカブコム証券のkabuステーションREST APIの残高照会をcurlとjavaで叩く
# はじめに
前記事
[auカブコム証券のkabuステーションREST APIをcurlで叩く](https://qiita.com/hiuchida/items/fcdd3d6ff921b386a37e)
[auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く](https://qiita.com/hiuchida/items/73b7fc846d4c9501ef2f)2本の前記事は、REST APIに関する基本的なことで、これだけ知っていれば、だいたいどんなAPIでも使えるはずですが、もうちょっと続けてみます。
今回は、残高照会です。
実際、残高なんて、Webアプリで表示しても、専用Windowsアプリで表示しても、スマホアプリで表示しても、同じ金額なので、わざわざ自作アプリを作る物好きはいないですが、この次に先物OPのGreeks(デルタ、ガンマ、シータ、ベガ)の集計値を表示したいための準備です。# 事前準備
前記事2本が動いていれば、本編は5分で終わります。
# ツ
Wikipedia, Wiktionary のダンプからページを取り出す (Java)
Wikipedia, Wiktionary は定期的にダンプファイル(=中身を全部抜き出したもの.dump truck のダンプと同じ語)を出力しており,誰でもダウンロードできるようになっています.(すごい仕組みですね)
ダウンロード可能なファイルは「インデックスファイル」と「ダンプ本体のファイル」の二種類から構成されています.両方のファイルをダウンロードする必要があります.
「インデックスファイル」は本の目次に相当するもので「ここに内容が書かれている」という情報が書かれています.# ダンプデータを利用するメリット
WikiPediaを検索するだけであれば「Media Wiki」というAPIが用意されており,REST APIを利用することでデータを取り出せるようになっています.
ただし呼び出し回数に制限があり,すべてのデータを取得するといったことは事実上不可能です.
ダンプデータの読み出しであれば制限はありませんので,自然言語処理の研究などに用いるような場合でもとても利用がしやすくなります.# データの用意
以下からダウンロードします.直近の4か月分のみがダウンロード可
Javaを使用してPowerPointテーブルを生成および操作する方法
テーブルを通してデータを表示することはプレーンテキストにより明確であるため、表はPowerPointプレゼンテーションに表示されることがよくあります。 この投稿では、無料のPowerPoint API(Free Spire.Presentation for Java)を使用してJavaアプリケーションでPowerPointテーブルを生成および操作する方法を紹介します。
### jarファイルをインポートします
開始する前に、jarファイルをインポートする必要があります。[Free Spire.Presentation for Java](https://www.e-iceblue.com/Download/presentation-for-java-free.html)をダウンロードして解凍し、jarパッケージをlibフォルダーからJavaアプリケーションにインポートします。
## コード一覧
1. テーブルを作成する“`
import com.spire.presentation.*;
public class AddTable {
public static v
【 Java switch文の利点と注意点 と補足】
現在『スッキリわかるJava 入門』でJavaを学習中です。
この投稿はそのアウトプットと備忘録になります。## ■switch文
以下のようなif文(式A)があります。
式として問題はありませんが、同じ変数に対して繰り返し比較していて、
冗長でスッキリしていません。
このような`else if`が重複するとき`switch文`(式B)に置き換えてスッキリさせることができます。
“`java
式A(冗長なif文)public class App{
public static void main(String[] args){
System.out.println(“あなたの運勢を占います”);
int fortune = new java.util.Random().nextInt(4) + 1;
if (fortune == 1){
System.out.println(“大吉”);
} else if (fortune == 2){
System.out.println(“中吉”);
} else if (fortune == 3){
auカブコム証券のkabuステーションREST APIをjava(generated by the swagger code generator)で叩く
# はじめに
前記事
[auカブコム証券のkabuステーションREST APIをcurlで叩く](https://qiita.com/hiuchida/items/fcdd3d6ff921b386a37e)curlで叩くことが出来たら、やはりちゃんとしたエラー処理やループ処理も制御したいものです。
Excel, JavaScript, Python, C#しかサンプルがないので、javaで作ってみる。# 事前準備
curlで叩いて、TOKENが取得できる状態にしてください。
# ツール
– java 8 (java 11はダメぽいよ)
– eclipse (テキストエディタでもなんでも可)
– maven 3 (gradleもあるけど、maven派なのだ)
– swagger editor (オンラインでもdockerでも)# swagger editor
[swagger editor](https://swagger.io/tools/swagger-editor/)
むかしはオンラインで使っていたが、dockerでlocalhostに起動した。
“`do
MyNetアップデート履歴
# MyNetとは
私が作成した深層学習モジュールです。
この記事にアップデート履歴を記録していくので、バージョン情報が違った際に参考にしてください。https://github.com/TTaisei/MyNet
# 1
## 1.0
### 1.0.0
ミスにより動きません。
### 1.0.1
ミスを修正し、動くようにしました。
## 1.1
GitHubの操作が不慣れなため、新しいブランチを作成してしまいました。
### 1.1.0
Matrixクラスにappendメソッドを追加。
### 1.1.1
MatrixクラスにArrayList>を引数にとれるコンストラクタを追加。
### 1.1.2
Matrixクラスのdivメソッドを修正。
## 1.2
### 1.2.0
Optimizerクラス及びGradientDescentクラスにそれぞれログ出力を行うfitメソッドを追加。
### 1.2.1
1.2.0で追加したfitメソッドを変更。学習経過をプロンプト上へ出力するメソッドと、ファイル出力するメソッドに完全に分けた。
###
JSONテキストをpretty printしたい — Gsonを使って
## 解決したい問題
Java8でプログラムを自作していた。 自作のJavaクラスにtoString()メソッドを実装しようとした。 どういう形式のテキストを出力 するのがいいかと考えて、JSONテキストを出力することにした。 たとえば自作のJavaクラスがこんなテキストを出力するとしよう。
“`
{ “key”: “profile”, “value”: “DevEnv_1.2.3-beta”, “ignoredByKey”: true, “identifiedByValue”: true, “semanticVersion”: “1.2.3-beta”}
“`正しい形式のJSONになっている。しかし見づらい。このテキストをコンソールに表示しても役に立たない。 適切な改行と字下げを付け加えたい。 任意のJSONテキストを入力として、適切な改行と字下げを加えたJSONテキストに変換する、というメソッドを作りたい。 たとえば上記の横長なJSONテキストを下記のような形式に直したい。
“`
{
“key”: “profile”,
“value”: “DevEnv_1.
JavaCV で2つのMP4 ファイルを結合 & 開始時間終了時間を指定した切り出しを行う
JavaCV を使った動画ファイル制御を備忘として記録。
### 環境
* java version 1.8.0_51
* javacv 1.4.4
* opencv 4.0.1
* ffmpeg 4.1### 実装(MP4 ファイルを結合&切り出し)
* 1本目の動画(20秒)を 10 ~ 20秒切り出し
* 2本目の動画(20秒)を 0 ~ 15秒切り出し
* 1本目 + 2本目を結合して25秒の動画を出力する※配列でURLリストを取得しているが結合しているのはとりあえず2つだけ
“` java
/**
* 録画ファイルデータ結合
* 複数の.mp4形式のファイルを結合します。
*
* @param inputFileUrlList 入力URLList
* @param outputPath 出力先パス
* @throws org.bytedeco.javacv.FrameRecorder.Exception
* @throws org.bytedeco.javacv.FrameGrabber.Exception
* @thr
インスタンス化とは [簡単にまとめてみた]
# インスタンス化とは
クラスというのはただの「型」です。
型だけではクラスの中身というのは読み込まれません。
だけど、そのクラスをインスタンス化したら、そのクラスは読み込まれます。それだけです。インスタンス化しないと読み込むことはできません。
# まとめクラスはただの「型」であり、
クラスの中身を使うには。「インスタンス化」する必要があります。
Java with MavenのGithub Actionを動かしてみる
Mavenを利用したJavaのCIをGithub Actionで試してみました。
# Mavanインストール
記事を参考にMavenをインストールする。https://qiita.com/Junichi_M_/items/20daee936cd0c03c3115
# Javaプロジェクトを作成
mvnコマンドでJavaプロジェクトを作成する。https://qiita.com/hide/items/6593f3f02c3f28e57f2d
今回はGithubリポジトリを`java-test`で作成したので、`-DartifactId=java-test`とした。
“`
mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false -DgroupId=com.sample -DartifactId=java-test
“`# pom.xmlの追記
デフォルトのpom.xmlだとビルドエラーが発生する。
“`
Error: Sou
AndroidでOkhttpとWebview間でCookie情報を共有するための実装例
Androidアプリで、HTTPクライアントにはOkhttpを使用することが多いですが、OkhttpとWebViewのCookie情報を共有したい時にどうするか悩むことがあるかと思います。
そこで、私が実践している実装例を書いて共有してみようと思います。
## Okhttp/WebViewで共有するCookieを保持するクラスの作成
OkhttpにてHTTPリクエスト時に行うCookie情報の設定は、OkHttpClientにCookiejarインタフェースを実装したクラスを指定する必要があります。(詳細はWebに転がっているので割愛)この時、以下のようなクラスを作っています。
まず、Okhttp/WebViewのHTTP通信で共通で使用するCookie情報を保持するインタフェースを定義し、その実装クラスを作成します。
“`kotlin:CookieStore.kt
/*
ネイティブ/WebViewのHTTP通信で共通で使用するCookie情報を保持
(実際はその他のメソッドも定義していますが長くなるので割愛)
*/
interface CookieStore {
Java インタフェースにおける変数
Oracle Certified Java Programmer, Gold SE 11の勉強をしていると、インタフェースの仕様をよく間違えるのでまとめておきます。
今回は変数編です。
## インタフェースにおける変数
どのバージョンのJavaでもインタフェースは`publi static final`な定数を宣言することができます。
`publi static final`な変数以外は許可されていない、つまり変数を定義した場合`publi static final`以外は有り得ないので、アクセス修飾子を省略しても、暗黙的に`publi static final`が付与されます。
`final`な定数なので、宣言時に初期化しなけれなりません。“`Java: 変数
public interface Calc {double PI = 3.14; // 暗黙的にpublic static finalが付与されます
// private double PI = 3.14; publicでないのでコンパイルエラーです
// double PI; 初期化されてい
【初心者】JavaのNullPointerExceptionの犯人探し
# はじめに
Javaの開発者なら誰でも見覚えのあるNullPointerException。初心者がNullPointerExceptionに遭遇すると、見当違いな部分を直してしまったり、デバッグに時間をかけてしまうことがあります。また、ある程度Javaに慣れた方でも、なんとなくでNullPointerExceptionに対応している方もいるのではないでしょうか。この記事では、NullPointerExceptionが発生した際に、どのオブジェクトがnullでNullPointerExceptionが起きているのか、スタックトレースとソースコードのみで特定する方法をまとめました。
# 問題
さて、まずは問題です。下記にNullPointerExceptionが発生したソースとスタックトレースを記載しました。Java11を使って確認しています。
“`java
public class NPESample {public static void main(String[] args) {
new SampleObj().getHoge().doM
ひと言学習メモ2:クラス、フィールド、メソッド
ひと言:
最も基本的な図式↓ (//コメントに記入)
自己流解釈:
〇クラス
classとくればクラス(;’∀’)※ちゃんとした定義としては「設計図」のようなものでしょうか[^1]。クラスの中に色々と入れる。
[^1]:『スッキリわかるJava入門』p.302〇フィールド
クラスの中に変数宣言/変数を定義するところ。〇メソッド
具体的なやり方を記入するところ。※また、図の中は厳密に言うとMainメソッドである。
その他:
〇インターフェースは抽象的なクラス(具体的な処理/実装を持たない)ということも一応読んだ[^2]が、実践したことなく、まだ充分に理解できてないと思うため、現段階ではアウトプットしないことにした。
[^2]:『2週間でJava SE Bronzeの基礎が学べる本』p.436〇フィールドはクラス
Javaの::ってなんだ?
## こんな意味らしい???
メソッド参照の構文
|対象 |構文 |
|—————|——————-|
|クラスメソッド |クラス名::メソッド名 |
|インスタンスメソッド|オブジェクト変数::メソッド名|
|コンストラクター |クラス名::new |## メソッド参照の基本
MethodRefUse.java
“`
package com.company;public class MethodRefUse {
// 配列の要素の処理方法をメソッド参照で受け取れるように
public void walkArray(String[] data, Output output) {
for (var value : data) {
output.print(value);
}
}// Output型に対応したメソッド(渡された文字列をブラケットでくくる)
Javaのラムダ式とは?
## メソッド参照/ラムダ式
Java8では、メソッドも型の一種だそうです。メソッドそのものもまた、他の数値型や文字列型と同じく、別のメソッドの引数として渡すことができます。そして、メソッドを受け渡しするための構文が、メソッド参照であり、ラムダ式です。## ラムダ式の基本
Main.java
“`
package com.company;public class Main {
public static void main(String[] args) {
var data = new String[] { “春はあけぼの”, “夏は夜”, “秋は夕暮れ” };
var ml = new MethodLambda();
ml.walkArray(data, (String value) -> {
System.out.printf(“[%s]\n”, value); // Macでは\nと書かないと改行されない!、Windowsは¥n
});
}
}
“`
MethodLambda