- 1. コンピュータとオセロ対戦46 ~モデルの保存とロード~
- 2. JavaでPowerPointドキュメントの背景色と背景画像を設定する方法
- 3. Javaでブラックジャックを作成してみた(betあり, splitあり, double downあり, 8デック)_ソース編
- 4. Javaでブラックジャックを作成してみた(betあり, splitあり, double downあり, 8デック)_概要編
- 5. Java GUIの歴史と選択
- 6. Eclipseでローカル変数の参照、宣言箇所を確認する
- 7. Selenium備忘録
- 8. 言語やライブラリによってcapitalizeの振る舞いが異なる
- 9. Javaを使用してWordでテキストと画像を抽出する方法
- 10. 【Java 条件分岐における数学との表現の違い】
- 11. Javaを使用してWord文書の透かしを追加と削除する方法
- 12. Couchbase Lite機能解説:クエリAPI② リテラル、識別子、式
- 13. Tomcatにて外部参照を行っている場合にweb.xmlの解析エラーが発生する
- 14. Mavenプロジェクトの全プロセスとFilter
- 15. Spring Boot+Resilience4jでお手軽に流量制御を行う(基本編)
- 16. SpringFox導入時のNullPointerException回避
- 17. Javaの自分用ドキュメント
- 18. Systemクラスのクラス変数について
- 19. SpringSecurity独自認証する
- 20. Java Silverに出題されるダウンキャストについて整理してみた
コンピュータとオセロ対戦46 ~モデルの保存とロード~
https://qiita.com/tt_and_tk/items/068f2afde6db637e189f
[前回](https://qiita.com/tt_and_tk/items/54c91a2ba0f5606d54b9)
# 今回の目標
ネットワークモデルの保存・ロードができるようにする。
# ここから本編## 現在のディレクトリ構成
バージョン情報追加。“`
MyNet
├── META-INF
└── org
└── MyNet
├── costFunction
├── layer
├── matrix
├── network
├── nodes
│ └── activationFunction
├── optimizer
├── version
└── module-info.java
“`## バージョン情報
バージョン情報のみを保持するクラスを作成。
MANIFEST.MFでバージョン情報を保
JavaでPowerPointドキュメントの背景色と背景画像を設定する方法
PowerPointドキュメントを作成する場合、ドキュメントをより美しく見せるために、通常、人々はドキュメントの背景色また背景画像を設定します。この記事では、無料のJava PowerPointコンポーネントである[Free Spire.Presentation for Java](https://www.e-iceblue.com/Download/presentation-for-java-free.html)を使用して、JavaアプリケーションでPowerPointの単色の背景色、グラデーションの背景色、背景画像を設定する方法を紹介します。
## 単色またはグラデーションの背景色を設定する
“`
import com.spire.presentation.*;
import com.spire.presentation.drawing.BackgroundType;
import com.spire.presentation.drawing.FillFormatType;import java.awt.*;
public class Background {
Javaでブラックジャックを作成してみた(betあり, splitあり, double downあり, 8デック)_ソース編
# はじめに(概要編と同じ内容)
コンソールで遊ぶブラックジャックです。Qiitaで参考になる記事を検索しました。hit,stay(stand)のみの記事はいっぱいあったのですが、
以下内容のブラックジャック記事は見つけきれませんでした。多分まだ無いです。
-> ブラックジャックで検索すると186件ぐらいあったのに。。(2022/03/06現在の情報)ルールは下記のとおりです。
|項目 |内容 |補足 |
|—|—|—|
|デッキ数 |8デッキ(計416枚) |1デッキ=52枚(1~13のトランプ、ジョーカー抜き)|
|カードのシャッフルタイミング |総数の50%を消費した場合 |ゲーム途中の交換は不自然なため、交換タイミングはゲームの切れ目|
|ベッティング| あり|ベットベルの種類 -> 1~1000(ベル)|
|ディーラーの行動原則 |17以上になるまでhit|-|
|プレイヤーのできる行動 |hit, stand, double down, split|-|
|double down|最初の行動でのみ選択可能 |-|
|double down後 |追加は
Javaでブラックジャックを作成してみた(betあり, splitあり, double downあり, 8デック)_概要編
# はじめに(ソース編と同じ内容)
コンソールで遊ぶブラックジャックです。Qiitaで参考になる記事を検索しました。hit,stay(stand)のみの記事はいっぱいあったのですが、
以下内容のブラックジャック記事は見つけきれませんでした。多分まだ無いです。
-> ブラックジャックで検索すると186件ぐらいあったのに。。(2022/03/06現在の情報)ルール内容は、以下の通りです。
|項目 |内容 |補足 |
|—|—|—|
|デッキ数 |8デッキ(計416枚) |1デッキ=52枚(1~13のトランプ、ジョーカー抜き)|
|カードのシャッフルタイミング |総数の50%を消費した場合 |ゲーム途中の交換は不自然なため、交換タイミングはゲームの切れ目|
|ベッティング| あり|ベットベルの種類 -> 1~1000(ベル)|
|ディーラーの行動原則 |17以上になるまでhit|-|
|プレイヤーのできる行動 |hit, stand, double down, split|-|
|double down|最初の行動でのみ選択可能 |-|
|double down後 |
Java GUIの歴史と選択
Java言語でデスクトップアプリを開発するとき、GUI開発フレームワークの選択肢は以下の3つがあった。
* AWT(Abstract Windowing Toolkit)
* Swing
* JavaFXどちらを選ぶべきか迷っていたので、Java GUIの歴史を調べ、選択するための情報をまとめてみた。
## GUIの歴史
|年|GUIの出来事|
|—|—|
|1996|JDK1.0リリース。AWTは標準APIの一部として含まれる。|
|1996|Netscape社はIFC(Internet Foundation Classes)と呼ばれるGUIライブラリを開発。|
|1997|Sun Microsystems社とNetscape社は、IFCと他の技術を組み合わせ、Java Foundation Classesを形成する意向を発表した。コードネームはSwing。|
|1998|JDK1.2リリース。Swingは標準APIの一部として含まれる。|
|2007|JavaOneでJavaFXが公表された。Adobe Flex、Microsoft Silverlightに続い
Eclipseでローカル変数の参照、宣言箇所を確認する
ひとの書いたコード読んでいて、ローカル変数多くてわからない!たすけてEclipseもん!ってなった。
対象の変数にカーソルを合わせた状態で
* 宣言箇所 `Ctrl+G`
* 参照箇所 `Ctrl+Shift+G`を行うことでビューが開いて結果が表示されます。
さらに「次へ(`Ctrl+,`)」「前へ(`Ctrl+.`)」で移動もできます。
決まったら`Enter`でそこにジャンプ。なおローカル変数だけでなく、他クラス含めたメンバーなどにも使えるようす。
そういうときは`Ctrl+Alt+H`使っちゃうけどどう違うんだろう。
Selenium備忘録
メモせずにいつも同じことを調べてしまうので、備忘的に随時追記。
### 個別のブラウザモジュール(Chromium)を指定
Chromiumのexeファイルを以下のように指定すれば可能。
~~~java
ChromeOptions options = new ChromeOptions();
// Chromiumを指定
options.setBinary(“./lib/chromium-win/chrome.exe”);
~~~
### ブラウザの枠外にある要素を枠内に持ってくる
javascriptで。scrollIntoViewのパラメータ:falseで下寄せ、trueで上寄せ。targetXpathは対象要素のXpath。
~~~java
((JavascriptExecutor) driver).executeScript(“arguments[0].scrollIntoView(false);”, driver.findElement(By.xpath(targetXpath)));
~~~### 新しいタブを開いてリンクを開く
targetXpathは対象リンクのX
言語やライブラリによってcapitalizeの振る舞いが異なる
## Java
– 2文字目以降の大文字は大文字のまま
– [org.apache.commons.lang3.StringUtils.capitalize](https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html#capitalize-java.lang.String-)
“`java
StringUtils.capitalize(“cAt”) = “CAt”
“`
## JavaScript
– 2文字目以降の大文字は小文字になる
– [lodash.capitalize](https://lodash.com/docs/4.17.15#capitalize)“`javascript
_.capitalize(‘FRED’);
// => ‘Fred’
“`
Javaを使用してWordでテキストと画像を抽出する方法
この記事では、Javaを使用してWord文書のテキストや画像を抽出または読み取る方法を紹介します。ここでのテキストと画像の抽出には、ドキュメントの本文とヘッダーとフッターのテキストと画像を同時に抽出することが含まれます。
使用したツール:Spire.Doc for Java
JARファイルのインポート方法:
方法1:公式Webサイトからインストールパッケージを[ダウンロード](https://www.e-iceblue.com/Download/doc-for-java.html)します。プログラムの下に新しいディレクトリを作成し、名前を付けます(この例ではlibという名前です)。コントロールパッケージのlibフォルダにあるjarを(下の画像1に示すように)プログラムに新しく作成したディレクトリにコピーします。jarファイルをコピーした後、jarファイルを右クリックし、「ライブラリとして追加」を選択します。インポートを完了します(下の画像2のように)。
**画像1**
コンポーネントを使用してテキストおよび画像の透かしをWord文書に追加する方法と、Word文書から透かしを削除する方法について説明します。
## Jarを追加します
開始する前に、jarファイルをインポートする必要があります。[Free Spire.Doc for Java](https://www.e-iceblue.com/Download/doc-for-java-free.html)をダウンロードして解凍し、Spire.Doc.jarパッケージをlibフォルダーからJavaアプリケーションにインポートします。
Mavenプロジェクトの場合、po
Couchbase Lite機能解説:クエリAPI② リテラル、識別子、式
## はじめに
ここでは、Couchbase Lite 3.0の新機能であるクエリAPIについて解説します。
なお、Couchbase Mobileについては、[Couchbase Mobileアプリケーション開発へのロードマップ](https://qiita.com/yoshiyuki_kono/items/6a5bbad1b02196a25417)に記事をまとめている他、(これらの記事を元に構成した)以下の電子書籍を無償で頒布しています。
https://techbookfest.org/product/5074954942939136?productVariantID=5042865933647872
また、Couchbase Mobileは、Couchbase LiteとCouchbase Serverとのデータ同期機能を提供します。Couchbase Serverの存在意義、機能詳細、利用方法等については、拙著[NoSQLドキュメント指向データベースCouchbase Serverファーストステップガイド(インプレスR&D刊)](https://www.amazon.
Tomcatにて外部参照を行っている場合にweb.xmlの解析エラーが発生する
Tomcatにて下記のようなエラーが発生している場合、
web.xmlで外部参照を利用している可能性があります。““
java.io.FileNotFoundException: Could not resolve XML resource [null] with public ID [null], system ID (後略)
““この場合web.xmlで外部参照を利用している可能性があります。
詳しくは下記ページをご覧ください。https://miyakoroom.blogspot.com/2018/09/servlet-webxml.html
ただ閉じた環境で利用するので別に外部参照してもいいよって場合、
context.xmlを以下のように書き換えます。
““xml
““““xml
““
Mavenプロジェクトの全プロセスとFilter
# プロジェクトの全プロセス
1.新しいMaven projectプロジェクトを作成します
2. WEB-INFフォルダ内web-xmlファイルを補足します
“`java
UserController
UserController
com.vanilla.controller.UserController
UserController
/user
“`
3.プロジェクト内必要なjarパッケージをpom.xmlファイルに追加されました
“`java
Spring Boot+Resilience4jでお手軽に流量制御を行う(基本編)
# はじめに
Spring Bootは超便利だが、標準ではRateLimiter(流量制御)の機能は搭載されていない。
Spring Cloud Gatewayを使えばお手軽に実装することも可能だが、少しレイヤが違うので、API Gatewayを使わずに流量制御したい場合にはちょっと過剰な構成となってしまう。Resilience4jはお手軽に流量制御を実装することができ、Spring Bootとの親和性も高いので、導入の仕方を確認してみよう。
# 依存関係定義
## Mavenの場合
Mavenを使う場合は、“`“`内に以下の依存関係を追加する。 “`xml:pom.xml
org.springframework.boot
spring-boot-starter-aop
org.springframewo
SpringFox導入時のNullPointerException回避
個人的にAPI自動生成を試してみたく、SpringFoxを導入してみました。
その際にちょっとだけ詰まったので備忘。## 前提
この記事を参考にSpringFox導入しました。
ありがとうございます!https://qiita.com/nooboolean/items/ee794ec4b30d9e93bf9f
## 問題のエラー
“`
Caused by: java.lang.NullPointerException: Cannot invoke “org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.toString()” because the return value of “springfox.documentation.spi.service.contexts.Orderings.patternsCondition(springfox.documentation.RequestHandler)” is null
at springfox.documentation.s
Javaの自分用ドキュメント
“`
string.codePointAt(index)
“`
文字列からindex番目のコードポイントを10進数で返す。# Aを出力
“`
System.out.println(“\u0041”);
System.out.println((char)0x0041);
System.out.println((char)0b1000001);
System.out.println((char)65);
“`
https://recursionist.io/dashboard/course/2/lesson/123“`
(int)’A’
“`
char 型を int 型へ型変換を行うことで、ASCII 値を取得できる。(65)“`
String.charAt(index)
“`
文字列からindex番目の文字を抜き出す。“`
Calendar calendar = Calendar.getInstance();
“`
Calendarクラスは演算子newではなく、getInstance()メソッドでオブジェクトを作成する。
https://recurs
Systemクラスのクラス変数について
Systemクラスのクラス変数について
〜JavaAPIを読んで見るシリーズ〜 個人メモ用
以外に奥が深かったよSystem.out.printlnの巻Systemクラスにて宣言されているクラス変数について、色々わからなかったので調べてみました。
“`java:System.java
public final static InputStream in = null;
public final static PrintStream out = null;
public final static PrintStream err = null;
“`【疑問点1】
・System.out.println の変数 out には null が入っているはずなのに
なぜprintlnメソッドを呼び出せるのか
・変数outはfinal修飾子であり、nullで初期化しているのであとから変数を
代入することは不可能なはず?■final修飾子にあとから値を代入する例
“`java:TEST1_final.java
public class TEST1_final {
pu
SpringSecurity独自認証する
# SpringSecurity独自認証する
SpringSecurityを独自認証する設定をまとめておきます。
Filter→Provider(認証)の順で認証を行う### SpringSecurityの設定
Security全体の設定をまとめる。
“`java:WebSecurityConfig
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {/**
* 独自認証を設定
*/
@Configuration
protected static class AuthenticationConfiguration extends GlobalAuthenticationConfigurerAdapter {@Autowired
private WebAuthenticationProvider webAuthenticationProvider;@Override
public void
Java Silverに出題されるダウンキャストについて整理してみた
以前にJava Silverの資格の勉強をしていた時に、ダウンキャストに関する問題で苦労した記憶があったので、理解を深める意味も込めて要点を整理してみます。
## ダウンキャストとは
ダウンキャストとは、あるインスタンスや変数の型を継承関係にある子クラスの型に変更する処理になります。その名の通り親から子へと下がる(ダウン)型の変更(キャスト)をしているわけですが、型の変更をするだけでインスタンスの実体には変化がない点がポイントになります。したがって、どのような場合でもこのダウンキャストに成功する訳ではなく、問題ないケース、実行時例外が発生するケース、コンパイルエラーが発生するケースの3パターンがあり、どのパターンに当てはまるかについて試験で狙われることも多いのでそれぞれ整理していきます。
## 問題ないケース
“`Java
Object o = new Integer(1);
Integer i = (Integer) o;
“`1行目では、IntegerクラスのインスタンスをObjectクラス型の変数に代入しています。
*Objectクラスは全クラスに共通する最上位