- 1. コンピュータとオセロ対戦48 ~勝敗予測、改善~
- 2. Spring bootのプロジェクト作成はSpring Initializrを使おう
- 3. [Set Up] Java + Selenium4 WebDriver + Chrome E2E test automation in windows by Eclipse
- 4. Java 18新機能まとめ
- 5. Java Silverの資格勉強で学んだことをアウトプットしていく
- 6. 春から大学生(情報・工学)の方へ~プログラミング入門3~(Java言語ってなあに?)
- 7. Timber×Crashlytics でログをクラッシュレポート送信(Crashlytics編)
- 8. Optionalの基本まとめ
- 9. Javaのジェネリクス再考
- 10. EclipseからAWSの機械学習サービスを使用する
- 11. テスト投稿
- 12. Java: 週末に理解したいラムダ式の記事集
- 13. Javaでスタックトレースを出力する方法
- 14. 【Java】アルゴ式 標準出力 1-5(一日は何秒か)
- 15. java初心者の日記(2)
- 16. FreeMarkerテンプレートがファイルをreadしてHTMLに埋め込むことを可能にするディレクティブ
- 17. 【java】ヒープメモリエラー
- 18. ibatisでThere is no WRITEABLE property named ”xx” in class xxのエラー
- 19. java初心者の日記(1)
- 20. Scalaの勉強はじめました 1 〜基本的な文法と素因数分解〜
コンピュータとオセロ対戦48 ~勝敗予測、改善~
https://qiita.com/tt_and_tk/items/068f2afde6db637e189f
[前回](https://qiita.com/tt_and_tk/items/22641b036d3b1e5fdbca)
# 今回の目標
勝敗予測の精度を上げる
# 使用バージョン
* Java 17.0.1
* MyNet 1.2.4
# ここから本編
## ディレクトリ構成“`
48
├── data // 学習データの保存
└── pic // グラフ保存
// プログラムなどはここに置いてある
“`## 01 とりあえず、様々なパターンのネットワークを試してみる
まず、[前回](https://qiita.com/tt_and_tk/items/22641b036d3b1e5fdbca)の記事のRun.javaのみ変更して、様々な条件で学習させてみました。
データ集め部分は前回と全く同じです。
学習の際、誤差の意味が分かりやすくなるよう64で割らず、平均絶対誤差を使用しました。
あてずっぽうで調べたところある程度の精度があった3層で、ノード数や
Spring bootのプロジェクト作成はSpring Initializrを使おう
昔からある Spring Framework のプロジェクト作成ツールとしては Spring Tool Sweet (STS) が有名ですが、それとは別に Spring 公式ツールとして Spring Initializr があるのでそれを使うと便利です。
# Spring Initializrとは
Spring Initializr (スプリング イニシャライザ、で読み方合ってる?) は Spring boot プロジェクトのひな形を簡単に作ることが出来るサービスです。
[Spring Initializr](https://start.spring.io/) からアクセスして利用を開始できます。# Spring Initializrの使い方
[Spring Initializr](https://start.spring.io/) にアクセスすると以下のようなページが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2387604/4da126ba-0fa2
[Set Up] Java + Selenium4 WebDriver + Chrome E2E test automation in windows by Eclipse
# Outline
Selenium Webdriverをもちいて、WEB (Chrome) のE2E テスト自動化を始めるにあたっての
環境構築のメモである# App List
| APP | Version | Objective |
|:———–|:————|:————|
| Java | Version 8 Update 321 | Java
| Eclipse | 2021‑12 | Java Programing Editor |
| Selenium Client | 4.1.2 (January 30, 2022) | Selenium |
| Chrome | 99.0.4844.74 | Web Browser |
| OS | windows10 | execution environment |# Java
Javaの実行環境をダウンロードし、インストールする
### download
https://www.java.com/ja/download/ie_manual.
Java 18新機能まとめ
Java 18が2022/3/22にリリースされました。
https://mail.openjdk.java.net/pipermail/jdk-dev/2022-March/006458.html
機能的に多くのプログラマに関係ありそうな変更はUTF-8がデフォルトになったくらい。あとは簡単なWebサーバーが入ったことかな。
詳細はこちら
[JDK 18 Release Notes](https://jdk.java.net/18/release-notes)
[Java SE 18 Platform JSR 393](https://openjdk.java.net/projects/jdk/18/spec/)
[OpenJDK JDK 18 GA Release](https://jdk.java.net/18/)APIドキュメントはこちら
[Overview (Java SE 18 & JDK 18)](https://docs.oracle.com/en/java/javase/18/docs/api/index.html)変更点まとめはこちら
https://
Java Silverの資格勉強で学んだことをアウトプットしていく
訳あってJava Silverの資格勉強をしているのだが、勉強していて
「これってこういうふうにしても動くんだ~」という発見や驚きがあったので
そういうのを忘れない為に書き留めていこうと思う。・記事の対象者
①Javaの初学者
②Java Silverの資格勉強をしている人## ①制御文(if、for、while等)の中括弧を省略しても動作する
Java Silverの勉強をしていて一番驚いたのがこれ!!
例えば以下のコードの場合でもエラーにならず動作する。
この場合はif文の次の1文がif文の条件に合致した時の処理として使われる。“`java:例①
if(i = 3)
System.out.println(“処理1ですー。”);
System.out.println(“処理2ですー。”);
“`
上記のコードは、下記のコードの動きと同一になる。
“`java:例②
if(i = 3) {
System.out.println(“処理1ですー。”);
}
System.out.println(“処理2ですー。”);
“`どちらを使っても動くには動く
春から大学生(情報・工学)の方へ~プログラミング入門3~(Java言語ってなあに?)
# 春から大学生(情報・工学)の方へ~プログラミング入門~(Java言語ってなあに?)
# 対象読者
この春から情報・工学系の大学生で以下の2記事を見ていただいた方
https://qiita.com/HaaSAtC/items/490d066bdbec8441a2f6
https://qiita.com/HaaSAtC/items/2687eef10dba08432a19# ご好評?をいただいております
3月20日に第1弾の記事を配信させていただきました。
わずか2日で100件近くもviewがありました。
全員新大学生なのかはわかりませんが、仮にそうだとしたらすごいですね
まだ4月になってないのに予習しようなんて…この調子で頑張ってください
第2弾につきましても上げて5分で10人も見ていただき驚いてます。
Qiitaじゃなくて個人ブログだったらここまで伸びてないでしょうね
ありがたい# Javaの「文法」を学習したい方はこちらへ
いろいろググった中で一番わかりやすくて体系的なサイトです
「オブジェクト指向」までの基礎文法を網羅
「一番かんたんなJava入門」
https:/
Timber×Crashlytics でログをクラッシュレポート送信(Crashlytics編)
# はじめに
![タイトルスライド.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1215832/13b058da-f12d-374f-2461-5e2ce8396a3a.png)
日が空いてしまいましたが、後編です。
前編は「[Timber×Crashlytics でログをクラッシュレポート送信(Timber編)](https://qiita.com/vidro/items/d3473c28be4682abb7fe)」です。
https://qiita.com/vidro/items/d3473c28be4682abb7fe
前編では Timber を用いて、デバッグビルドとリリースビルドで、ログ出力を切り替える基盤を作成しました。
後編では、前編で作成した `ReleaseTree` クラスを用います。
そして、リリースビルド時は、「コンソールへログ出力**しない**」かつ「クラッシュ時にレポートを送信する」機能を組み込んでいきます。# Firebase Crashlytics
[
Optionalの基本まとめ
# Optionalとは?
Optionalは値がnullの可能性があることを明示的に表現するためのクラスです。
また、値がnullである場合のハンドリングを簡単にするメソッドが用意されています。
## Optionalクラスの代表的なメソッド
### インスタンスの生成
| シグニチャ | 説明 |
|:–|:–|
| **static
\Optional empty()** | 値が存在しない空のOptionalインスタンスを返します。 |
| **static
\Optional of(T value)** | 引数で渡された値を持つOptionalインスタンスを返します。 nullを渡すと**NullPointerException**で実行時エラーになります。 |
| **static
\Optional ofNullable(T value)** | 引数がnullならば空の、nullでないなら引数を値に持つOptionalインスタンスを返します。 |
“`Java:OptinalSample.java
Javaのジェネリクス再考
### 概要
Javaにジェネリクスが導入され,型引数,パラメータ境界,共変,反変,不変,ワイルドカード,などなど,様々な構文,機能が追加されました.ジェネリクスの構文や,これら新しい機能(もう新しくないけど)の解説は少し探せばわかり易く解説してくれるページがたくさん見つかります.が,ジェネリクスを使ったクラスライブラリを使うだけならまだしも,自分のクラス定義でジェネリクスを使うとなると,「で,どうすればいいの?」となってしまい,適当に使ってきましたが一念発起して真面目に考え,Tips的にまとめてみました.
ですので,ジェネリクスの構文や意味などの説明は割愛しています.そして,確実に正しいことを言っている保証はなく,あくまで個人の理解ですので,間違い等ありましたらご指摘いただけると幸いです.:::note info
長くなりそうだったので,一旦公開しますが,パターンなどは追記する予定です.
:::
—
### そもそも
ジェネリクスを使う目的は,***クラスそのものではなく,クラスが内包する変数のためのもの***,だと考えると良いと思います.
そしてその典型的な例がコレクション
EclipseからAWSの機械学習サービスを使用する
# はじめに
Eclipse(ローカル環境)で開発しているJava(Spring Boot)アプリケーションからAWSの機械学習サービスを使うのに苦労したので備忘録として残しておきます。AWSの機械学習サービスといっても色々ありますが、今回私が使用したのは[Amazon Comprehend](https://aws.amazon.com/jp/comprehend/)(自然言語処理サービス)です。[公式ドキュメント](https://docs.aws.amazon.com/comprehend/latest/dg/what-is.html)に従って設定すればよいのですが、簡単そうで意外とハマりました。
# 環境
以下、私の環境です。
– Windows 10
– Eclipse 2019
– Java 11
– Spring Boot 2.6.4# AWS IAMの作成
まずはIAMを作成します。認証情報タイプは「アクセスキー・プログラムによるアクセス」を選択します。
![1_プログラムによるアクセス.png](https://qiita-image-store.s3.
テスト投稿
てすと
Java: 週末に理解したいラムダ式の記事集
今更感あふれるがまとめておきたかったラムダ式にまつわる記事集。これだけ読んでおけとしたかったもの。
[Java8のラムダ式を理解する – Qiita](https://qiita.com/sano1202/items/64593e8e981e8d6439d3)> ラムダ式とはインターフェースを実装したインスタンスを生成する式
[ラムダ式 – Qiita](https://qiita.com/Yuki_312/items/d14665b53fc6dccf11f4)
“`Java:java
// Java7 non-Lambda
Runnable r = new Runnable() {
public void run() {
System.out.println(“Hello world!”);
}
};
r.run();// Java8 Lambda
Runnable r2 = () -> System.out.println(“Hello world!”);
r2.run();
“`## Project Lambda
[OpenJDK: Pro
Javaでスタックトレースを出力する方法
# 記事の目的
Javaの開発をしていて、デバッグは環境的にできないが、コールスタックを知りたかったの、調べた備忘録# やったこと
スタックトレースを表示したい、箇所で以下のコードを追加
“`
Exception e = new Exception();
e.printStackTrace();
“`# 参考URL
[Java – Stack trace出力する方法 (Throwable、Exception)](https://codechacha.com/ja/java-print-stack-trace/)
【Java】アルゴ式 標準出力 1-5(一日は何秒か)
アルゴ式の「[標準出力 1-5](https://algo-method.com/tasks/73)」を、
Java の Time API を使って解いてみた。“`Java
import java.time.Duration;public class Main {
public static void main(String… args) {
var dayInSeconds = Duration.ofDays(1).toSeconds();
System.out.println(dayInSeconds);
}
}
“`/以上
java初心者の日記(2)
スッキリわかるjava入門が13章まで終わったので12章と13章のまとめをしたいと思います。
毎日投稿するわけではないですがやる気があるうちに投稿したいと思います。
オブジェクト指向プログラミングを支える3つの機能
# 継承
類似クラスがある場合に、元となるクラスを継承することで同じコードを書かなくて済む
元となるクラスの差分だけコードを書けば良い。##### class クラス名 extends 元となるクラス{
差分コード
}また、複数の子クラスを持つことは可能だが複数の親クラスを持つことはできない。
#### 親クラスのコンストラクタの呼び出し
Super(引数)# 多様性
ざっくりとらえる人や犬は生き物
→ 人クラスや犬クラスは生き物クラスになる。子クラスのインスタンスは親クラスに代入可能
#### Life L = new Human();
どのような型でもいいわけではないので注意
# カプセル化
アクセス制御すること。
private や public 等がある。メンバに対するアクセス制御とクラスに対す
<@readAllLines> FreeMarkerテンプレートがファイルをreadしてHTMLに埋め込むことを可能にするディレクティブ
## 解決したい問題
いまわたしが下記のような中身のCSVファイルを持っていたとします。
“`
Name,Address
Alice,alice@foo.bar.com
Bob,bob@asure.hal.com
Chris,chris@rio.grande.com
…
“`わたしはこのCSVファイルの各行をペーストしたHTMLを生成したいと思いました。つまりこんなHTMLを生成したい。
“`
Name,Address Alice,alice@foo.bar.com Bob,bob@asure.hal.com Chris,chris@rio.grande.com …
“`わたしはJavaプログラムのためのテンプレート・エンジン [FreeMarker]
【java】ヒープメモリエラー
javaで下記エラーが出ました。
よくあるエラー。
**java.lang.OutOfMemoryError: Java heap space**コードは下記
“`sample.java
//初期化
long n = 沢山;//日付ループ
for(long i=0;i
ibatisでThere is no WRITEABLE property named ”xx” in class xxのエラー
最近ずっとStrutsでiBatisを使ったプログラムの改修をしていて、このエラーに遭遇したのですが、地味にググってもちょっと解決に詰まったのでメモ書き。
エラーメッセージは以下のような形式で出ていました。
“`
com.ibatis.common.beans.ProbeException: There is no WRITEABLE property named ‘xxx列名’ in class ‘パッケージ名.クラス名’
“`で、原因はというとほぼ[このブログ](“http://blog.livedoor.jp/ron_lou/archives/50812489.html”)で書かれていた内容ではあったのですが地味に違っていて、なんとカラム名にアンダースコアが入っているときはgetterとsetterにも同様にアンスコを入れないと認識されない、でした。
例えば今回の場合、取得したいDBテーブルのカラム名が`prev_ansids`で取得用のDtoでは以下のような変数名にセットするようにしていた場合、以下のようなsetterとgetter名にするとこのエラーが出ます:
java初心者の日記(1)
前まではRuby だったり Pythonでプログラミングを学んでいたのですが内定を頂いた会社の研修でjavaを使用するとのことなのでjavaを学ぼうと思います。3日坊主なのでどこまで続くかわかりませんが、、
# 使用する教材は「スッキリわかるjava入門」
https://sukkiri.jp/books/sukkiri_java数日かけて12章まで進んだのでオブジェクト指向についてのメモを残します。
##### オブジェクト指向とはソフトウェアを開発するときの部品化のこと
だそうです。今まで学んできて少しは理解した気がしますがオブジェクト指向とは何か、という風に説明することは難しそうです。教科書と同じような作品を自分なりに作ってみました。めちゃくちゃ簡単ですがやはり自分で作った方が理解につながりますね。
Main.java
“` javapublic class Main{
public static void main(String[] args){
//名前の入力
System.out.println(“名前を入力してく
Scalaの勉強はじめました 1 〜基本的な文法と素因数分解〜
## はじめに
N予備校のプログラミング入門コースでNode.jsを学び、その勢いのままScalaの勉強を同じくN予備校で受講し始めました。## 用語
### JVM
:::note
Javaを動かすための、Java Virtual Machine (JVM)という仮想マシン
:::### sbt
`Scala`で書いたコードをコンパイルしてビルドしてくれるツール“`
sbt console
“`
`Scala`の`REPL`が表示される。
“`
sbt run
“`
`REPL`に入らずにプログラムの実行と終了を行う。## 文法
“`scala:Main.scala
object Main extends App {
println(“Hello Scala”)
}
“`
`Main`というオブジェクトを宣言。
Appというトレイト(振る舞い)をミックスイン(振る舞いをオブジェクトに対して追加)する。名前からするに、機能の継承というか拡張という感じ。
Appというのは基底クラスに当たるんだろうか。`println`: プリントライン
コンソール