- 1. Javaのクラスパス(classpath)の設定方法
- 2. クラス変数の持ち主
- 3. コンピュータとオセロ対戦45 ~最適化関数~
- 4. Discord Game SDKを使用してDiscordのRich Presenceを実装する
- 5. blastengineを使ってJavaでメールを送信する
- 6. 【Java】Optionalクラスの使い方
- 7. 「マイクロサービスパターン」の復習 6章
- 8. Keycloakでmaster realmを無効化しちゃった場合の回復方法
- 9. DOMによるXML読み込みテストアプリ
- 10. WebSphereでデータベースとのコネクションリークを検出する
- 11. Javaでreplace()メソッドを使う時にエラー: replaceに適切なメソッドが見つかりませんの対処法
- 12. ObjectMapperについて
- 13. コンピュータとオセロ対戦44 ~勾配降下法と誤差逆伝播法~
- 14. 専門学校生がカジュアル面談で会社の話を聞いてどんな感じだったか、その後どうなったかのお話
- 15. JavaのCollections.sort()使っての並べ替え(昇順、降順)
- 16. Javaの文字列操作についてまとめてみた
- 17. Javaの基本ルール(備忘録)
- 18. 競合対策方法 【初心者向け】
- 19. JavaでPowerPointスライドマスターを作成して適用する方法
- 20. 参考になったデバック方法
Javaのクラスパス(classpath)の設定方法
クラスパスを設定する方法は下記の3つあります。
## 1 コマンドラインで指定する
“`java
java -classpath C:\program
“`
‘;'(セミコロン)区切りで複数のクラスパスを設定できます。
javaコマンドでは’*-classpath*’を’*-cp*’に省略可能です。
“`java
java -cp C:\program1;C:\program2
“`
## 2 OSの環境変数に設定する
“`powershell:Windows
set CLASSPATH=C:\program1;C:\program2
“`
“`zsh:macOS
export CLASSPATH=~/program1;~/program2
“`
“`:linux
setenv CLASSPATH=/home/program
“`
## 3 デフォルト(指定しない場合)
カレントディレクトリになります。
‘*C:\program\sample*’で実行した場合は’*C:\program\sample*’がクラスパスになります。### 参考文献
– https:/
クラス変数の持ち主
# これは何?
クラス変数の持ち主が、 python と ruby で違うことに気がついたので、他の言語どうなってるんだろと思って調査したのでその記録。ジェネリクスとテンプレートを交えながら。
# ruby の場合
“`ruby:ruby
class B
def set_v(x); @@v=x; end
def v(); @@v; end
endclass C < B;end class D < B;end c = C.new.set_v("C#set_v") d = D.new.set_v("D#set_v") p [ C.new.v, D.new.v ] #=> [“D#set_v”, “D#set_v”]
“`クラス変数 `@@v` の持ち主は、 `class B` 。
`C` 経由で変更しても、 `D` から見た `@@v` の値が変わる。
# Python3 の場合
“`python:python3
class B:
v = “in-class-def”
@classmethod
def setV(cls,
コンピュータとオセロ対戦45 ~最適化関数~
https://qiita.com/tt_and_tk/items/068f2afde6db637e189f
[前回](https://qiita.com/tt_and_tk/items/5b6f755a115af6eac620)
# 今回の目標
勾配降下法以外の最適化関数も実装していきます。
# ここから本編
本編に入る前に、[前回](https://qiita.com/tt_and_tk/items/5b6f755a115af6eac620)、実際にテストとして作成した足し算人工知能について追記。
あれから精度を上げるべくいろいろ試したところ、誤差0のネットワークが作れてしまいました。“`test.java
import optimizer.*;
import network.*;
import layer.*;
import nodes.activationFunction.*;
import costFunction.*;
import matrix.*;public class test {
public static void main(String[
Discord Game SDKを使用してDiscordのRich Presenceを実装する
# 前置き
私は個人でゲームを開発している~~暇~~人です。
とある日、Discordで自分のゲームを遊んでいる人が見えたらうれしいなと思い、Discord RichPresenceを実装しようと思いました。そこで、[Discord-RPC](https://github.com/Vatuu/discord-rpc)というラッパーライブラリを使用しようと思いましたが、どうやらこのDiscord-RPCというプロジェクト、ラップされている側のDiscord-RPC(dll的な奴)がすでにメンテナンスされていないようです。
どうしようかなとDiscordの[Developer Guide](https://discord.com/developers/docs/game-sdk/sdk-starter-guide)を眺めていたら**Discord Game SDK**というものが存在することを知りました。
**「絶対これはいける!!」**
そう確信した私は[Discord-Game-SDK4J](https://github.com/JnCrMx/discord-game-sdk4
blastengineを使ってJavaでメールを送信する
[blastengine](https://blastengine.jp/)はシンプルに使える開発者向けメールサービスを提供しています。何かと面倒なメール配信をシンプルに、かつ確実に送信先に届くようになります。
今回はblastengineを使ってJavaでメール送信を行うまでの流れを解説します。
## ユーザ登録する
blastengineにユーザ登録します。管理画面に入るためのユーザID、パスワードが手に入るので、ログインします(ユーザIDは後で使います)。

## 送信元ドメインのSPFを設定する
送信元として利用するドメイン(自分で持っているもの)の設定をします。これは任意のドメイン管理サービスで設定できますが、TXTレコードに以下のSPFを追加します。
“`
txt @ v=spf1 inclu
【Java】Optionalクラスの使い方
##Optionalクラスとは?
Optionalクラスは、メソッドの処理結果を扱うためのクラスです。
このクラスを利用することで例外処理に関するコードを減らすことが出来ます。
Optionalクラスはファクトリメソッドです。なので、インスタンスを生成すためにはメソッドを使います。##Optionalクラスのインスタンス生成メソッド
インスタンスを生成する方法として2つあります。####引数の値がnull入る可能性がない場合
ofメソッドを利用します。“`Sample.java
import java.util.Optional;public class Sample {
public static void main(String[] args) {
Optionalsample = Optional.of(“こんにちは”);
System.out.println(sample);
}
}
“`
“`
Optional[こんにちは]
“`####引数の値がnull入る可能性がある場合
ofNullableメソッドを利用します。
「マイクロサービスパターン」の復習 6章
## 概要
– Java読書会でせっかく勉強したのにつぎつぎと忘れていくので、印象に残ったところを記録していく
http://www.javareading.com/bof/
## 6章 イベントソーシングを使ったビジネスロジックの開発
モデリングした結果を反映したテーブルを作るのではなく、エンティティに対する生成・更新イベントをDBに記録していくという話
https://microservices.io/patterns/data/event-sourcing.html### 従来のアプローチ
– やり方
– なんらかモデリング
– 対応するクラスを作る
– 対応するテーブル作る
– ORマッパーでテーブルとクラスをつなぐ
– 欠点
– 履歴が残らない
– 後付で履歴つくるのは大変
– 生成・更新イベントも後付### イベントソーシング
– やり方
– モデリングはする
– 対応するクラスは作る
– でも永続化するのは、生成・更新イベントのみ(永続化用のテーブルをイベントストアと呼ぶ
Keycloakでmaster realmを無効化しちゃった場合の回復方法
# この記事の概要
Keycloakの設定を誤って、管理者ログインできなくなるケースと、その回復方法の話。
# 起きたこと
[Keycloak](https://www.keycloak.org/)で管理者ログインしようとしたら、以下のような画面が表示されログインできなくなってしまった。

# 原因に至った操作
よく分かってないまま、初期状態で作成されていた「Master」realmの「Enabled」をオフにしてしまった。

(Keycloak自身の管理に必要なのかよ!!知らないよ!!)
# 回
DOMによるXML読み込みテストアプリ
package com.example.myapplication;
import android.annotation.SuppressLint;
import android.util.Log;import androidx.annotation.NonNull;
import androidx.annotation.Nullable;import org.w3c.dom.DOMException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;import java.io.IOException;
import java.io.InputStream;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateF
WebSphereでデータベースとのコネクションリークを検出する
# 概要
データベースとのコネクションリーク(接続の解放漏れ)が疑われる場合、問題の処理を特定するにはどうすればよいでしょうか。WebSphere上にデプロイしているアプリケーションの場合、管理コンソールからログレベルを上げることで、問題の処理を特定できる可能性があります。
# 手順
1. WebSphereの管理コンソールにて、 トラブルシューティング > ログおよびトレース > (サーバー名称) > ログ詳細レベルの変更 を選択する
1. 初期状態では `*=info` が指定されているはず。末尾に `:ConnLeakLogic=finest` を追加する
1. `*=info: ConnLeakLogic=finest` と入力したことを確認する
1. 設定の反映のために、サーバーを再起動する# 結果
`$WAS_HOME/Profiles/node/logs/%Server_Name%/trace.log` を確認します。
たとえば、コネクションリークによるコネクションプールの枯渇が発生している場合、下記のようなStackTraceが出力されます。既定では、10
Javaでreplace()メソッドを使う時にエラー: replaceに適切なメソッドが見つかりませんの対処法
Javaでコードを書いている時に、replace()メソッドを使う時に、タイトルのエラーで詰まってしまったので、備忘録としてまとめます。
以下のようにしてコードを書いていたのですが、“`main.java
class Main {
public static void main(String args[]){
String str = “あいうえお”;
str.charAt(0);
String targetWord = String.valueOf(str.charAt(0));
System.out.println(str.replace(str.charAt(0), “か”));
}
}
“`
これで実行しようとしたらタイトルのエラーになってしまいました。# やろうとしたこと
やろうとしたこととしては、“`
・charAt()メソッドで取得した文字を、replaceメソッドで置換する
“`というものです。
それをする時に、replaceの引数に直接charAt(
ObjectMapperについて
# 概要
[jackson-databind](https://github.com/FasterXML/jackson-databind)に含まれる[ObjectMapper](https://github.com/FasterXML/jackson-databind/blob/2.14/src/main/java/com/fasterxml/jackson/databind/ObjectMapper.java)について疑問に思うところがあったため、調査した記録を残す。
## 1. [readValue] recordにreadValueすることはできるか?
できる。
recordクラスのフィールドは自ずとfinalになるため、もしかしたらデシリアライズできないのではないか?と思っていたが杞憂であった。## 2. [readValue] jsonに想定しないpropertyが入っている場合にはどうなるか?
`UnrecognizedPropertyException`をthrowする。
もし想定外のpropertyが来たとしても無視したいならば、下記のようにObject
コンピュータとオセロ対戦44 ~勾配降下法と誤差逆伝播法~
https://qiita.com/tt_and_tk/items/068f2afde6db637e189f
[前回](https://qiita.com/tt_and_tk/items/ed76a06d55e869aa706a)
# 今回の目標
誤差逆伝播法を実装します。
この記事は、[こちらの文献](#参考文献)を参考にさせていただきました。
まずは勾配降下法。
# ここから本編## 誤差逆伝播法のまとめ
勉強不足だったので備忘録も兼ねて書いておきます。
下付き文字ですが、「pre」が前の層、「next」が次の層、「now」もしくは何も書いていなければ現在着目している層、「last」が最終層(出力層)を指します。下付き文字がコンマで区切られて二つある場合、二つ目はその層の何番目のノードのものであるかを指します。
また、「old」が更新前のパラメータ、「new」が更新後のパラメータです。
一般的に他の文献では層の数が上付き文字であらわされることが多いですが、累乗と区別がつかずわかりにくいのでここでは用いません。### 勾配降下法
誤差を$\mathbf E$、重みを$\m
専門学校生がカジュアル面談で会社の話を聞いてどんな感じだったか、その後どうなったかのお話
## 自己紹介
こんにちは、CoKoNPILeをtomio2480さんと運営しているのーりです。
学生プログラマーアルバイトを始めました。実は、私の学科では少しずつ就職活動のときが近づいています。
今回は、私がWanteldyを使って第一志望の会社にカジュアル面談を申し込んで実際に話を聞いて2月21日から最初は学生アルバイトとして受け入れてもらったエピソードやそれまでに今までやってきたことなどをお話しします。
### この記事にはどんな内容がある?
この記事では下記の内容などを書きます。
・カジュアル面談とは
・なぜ選考前にカジュアル面談から行ったのか
・カジュアル面談は選考なのかどうか
・カジュアル面談や選考をを受けるまでやってきたこと#### カジュアル面談とは何
ざっくり言うとそもそもカジュアル面談というのは、面接とはまた違うものです。
デートとかで例えるなら、自分と相手(会社)といい感じにマッチングするかどうかを見たり、情報交換な感じでお話をしたりします。> カジュアル面談とは、選考前に求職者と社員がカジュアルに話をして、お互い
JavaのCollections.sort()使っての並べ替え(昇順、降順)
#目次
– この記事を作成したきっかけ
– 実際に作ってみる#この記事を作成したきっかけ
Javaのソースコードの修正時、ソート処理に悩んだので今回の記事を作成した#実際に作ってみる
###昇順“`:並べ替えるListを用意
//数値のリストを用意
Listlist = new ArrayList ();
Random r = new Random();for(int i = 0; i < 10; i++) { //0~99までの数値をランダムに設定 list.add(r.nextInt(100)); } System.out.println("ソート前:"); //リストを表示する for(int i = 0; i < 10; i++) { System.out.print("[" + list.get(i) + "] "); } ``` ```:昇順にソートする //昇順にソートする Collections.sort(list); System.out.println("\nソート後(昇順):"); //リ
Javaの文字列操作についてまとめてみた
Javaの文字列操作について学習したのでまとめてみようと思います。
Javaシルバーの勉強をしていて、文字列操作の知識を問う問題で詰まってしまったので備忘録としてまとめてみようと思います。# indexOf()メソッド
indexOfメソッドは、引数に指定された文字がどこから始まるのかというのを検索するためのメソッドです。
そして、実行すると、1や2のように数値を返します。## 文法1つ目(indexOf)
“`
1.public int indexOf(調べたいワード)
2.public int indexOf(調べたいワード [,int index])
“`indexOfメソッドの書き方は二通りあります。
一番最初の場合は、対象の文字列から調べたいワードが先頭から何番目にあるのかを検索し、その値を返します。例えば、
“`main.java
class Main {
public static void main(String args[]){
String str = “あいうえお”;
System.out.pr
Javaの基本ルール(備忘録)
##クラス名とファイル名##
クラス名とファイル名は同じに(頭文字は大文字にしなくてはならない)
“`
例 Main.java Sub.java例 class Main {クラスブロック} class Sub{クラスブロック}
“`##コメントの記述方式##
コメントは他言語と同様の記述方式を採用しているようです。
“`Java
/* コメント本文(複数行記述可能) */// コメント本文 (行末まで記述可能)
“`##変数と定数##
変数と定数の宣言方法です。
定数名は基本的にすべて大文字で記述します。
定数は使用する計算式などで今後変化しないものを入れることが多いです。“`Java
//宣言のみの場合型 変数名; 例 int age;
final 型 定数名; 例 final double TAX;//初期値を入れる場合
型 変数名 = 初期値; 例 int age = 22;
final 型 定数名 = 初期値; 例 final double PIE = 3.14
競合対策方法 【初心者向け】
##競合とは
一言で言うと、複数のスレッドで一つのインスタンスを共有すると競合が起きます。こうなることで、インスタンスのフィールドの値を読みだしてから、変更するまでの間に 、別のスレッドが変更してしまいます。いつ実行されるかはプログラミング側で制御することが出来ません。飲食店に例えると、あるお客さんがカレーを注文したが、料理人がカレーを作っている間にカレーからオムライスに変更されてしまったというイメージです。
##対策
結論から言うと、対策はスレッドから処理している間は別のスレッドで処理が実行されないようにすることです。これを__排他制御__と呼びます。排他制御の方法を紹介していきます。##方法
__synchronizedキーワード__を使用します。パターンは2つあります。
①メソッド宣
JavaでPowerPointスライドマスターを作成して適用する方法
スライドマスターによって、フォント、プレースホルダーのサイズや位置、背景のデザインや配色など、デザインテンプレート情報をスライドに事前に保存できます。セットマスターは、すべてのスライドに適用することも、複数の異なるマスターをに適用して設計することもできます。別のスライド。以下では、Javaコードの例を使用して、単一のマスターとさまざまなマスターを作成する方法について説明します。
使用したツール:Free Spire.Office for Java(無料版)
jarの取得とインポート:公式Webサイトからjarパッケージを**[ダウンロード](https://www.e-iceblue.com/Download/office-for-java-free.html)**し、libフォルダー内のjarファイルを解凍してJavaプログラムにインポートします。
次のようにエフェクトをインポートします。
![01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278784/b9310152-de86-42d6
参考になったデバック方法
自分の知らないデバック方法をためておくためのページ!!
– ファイル出力機能でどこにファイルがでるかわからない
→ファイルを作成するメソッドを使って、ルートにファイルを作成するようにしてみる。デバックをしながらそのパスを拾い上げる– try,catchを何階層も作成し、どこで落ちるか、当てはまるのかを特定する