- 1. 機械学習、Java、GridDBを用いた糖尿病予測
- 2. 日付と時間の文字列を取得するには
- 3. Java springとspringbootの違いをまとめてみた
- 4. Java アクセス修飾子の使い方とカプセル化
- 5. lamda expressionをfunctional interfaceに
- 6. Supplier interface
- 7. enum
- 8. private method of interface
- 9. JavaでPDFをExcelに変換し、その書式を保持する方法
- 10. same name method that is default method of interface and class method
- 11. Leetcode 1443. Minimum Time to Collect All Apples in a Tree
- 12. 変数のデータ型の種類
- 13. Liberty で httpsession を JCacheに永続化
- 14. 【初心者専用】Java8のOptionalクラスについて
- 15. default method of interface
- 16. 例外について要点まとめ
- 17. static methodは継承されないし、overrideできない
- 18. static method of interface
- 19. anonymous classのclass name, methodsを確認
- 20. 不変マップを初期化する際はMap.ofEntriesを推奨
機械学習、Java、GridDBを用いた糖尿病予測
本記事では、世界中の多くの人々のライフスタイルを動かしている糖尿病という健康管理の悩みを取り上げます。この記事では、予測システムを作成するための機械学習モデルの使用方法を説明します。このモデルは、ランダムフォレストを使用して、患者が糖尿病であるかどうかを予測します。この記事では、データベース**GridDB**をセットアップするために必要な要件を概説します。その後、我々のデータセットとモデルについて簡単に説明します。最後に、結果を解釈し、我々の結論を出します。
[全ソースコードはこちら][1]
## 必要条件
**GridDB**データベース・ストレージ・システムは、ランダム・フォレスト・モジュールを構築する際のバックアップメモリ・リソースとなります。**GridDB**を完全に機能させるには、ダウンロードし、オペレーティングシステムに設定する必要があります。
必ず以下のコマンドを実行して、必要な環境変数を更新してください。
“`sh
export GS_HOME=$PWD
export GS_LOG=$PWD/log
export PATH=${PATH}:$GS_HOM
日付と時間の文字列を取得するには
“`java
DateTimeFormatter dtf = DateTimeFormatter.ofPattern(“yyyy-MM-dd,HH-mm-ss,SSS”);
Instant v1 = Instant.now();
ZonedDateTime v2 = v1.atZone(ZoneId.of(“Asia/Tokyo”));
String s1 = v2.format(dtf);System.out.println(s1);
“`“`java:System.currentTimeMillis()の場合
long g1 = System.currentTimeMillis();
Instant v1 = Instant.ofEpochMilli(g1);
“`本当はCodeSandboxでサンプル実行出来るようにしたいけど、諦めました。
Java springとspringbootの違いをまとめてみた
## そもそもフレームワークとは
– アプリ開発をする際に、開発の効率を上げるために便利な機能がたくさん詰まっているツール。## Spring Framework
javaのWEBフレームワークで、WEBアプリを作成することができる。
フレームワークの集合体## Spring Boot
spring bootはspring Frameworkの機能の使い分けが困難という欠点を解消するために作られたフレームワーク。
主な機能として、複数のフレームワークを使用する際に発生する、Bean定義やXML設定などを、可能な限り自動設定する機能が搭載されている。そのほか、コードを書かなくてもプログラム処理ができるように「、Javadocと同じくアノテーションが記述できる点も特徴です。Spring MVCのフレームワークの仕様を踏襲して作成しており、Spring Frameworkを構成するフレームワークの一つとして組み込まれている。## spring frameworkとspring bootの違い
– spring framework:Java言語のアプリケーション開発のために作られ
Java アクセス修飾子の使い方とカプセル化
## アクセス修飾子
クラスやフィールド、メソッドヘのアクセスを制御するための修飾子をアクセス修飾子という。アクセス修飾子には、public 、protected、privateの3種類がある。
これらをクラス、フィールド、またはメソッドの宣言の前につけることで、次の表 のようなアクセス制御を行える。(○アクセス制御を行える範囲)
| アクセス修飾子 | 同クラス | 同パッケージ | サブクラス | 他 |
| — | — | — | — | — |
| public | ○ | ○ | ○ | ○ |
| protected | ○ | ○ | ○ | |
| (なし) | ○ | ○ | | |
| private | ○ | | | |クラスにつけられる修飾子はpublicのみ。また、複数のクラスの宣言を1つのファイルの中に記述する場合、public修飾子をつけられるクラスは1つだけ。
“`:例文
class Student{
private int score;
public void setScore(int s){
lamda expressionをfunctional interfaceに
lamda expressionはmethodそのものを表していて
method reffereceのように扱える以下はfunctional interfaceのFactoryInterface#get()に対して
外部からlamda expressionを代入して、切り分けすることにより
SampleClassA⇒SampleClassBに変更した際に、businessLogicに影響を与えない“`java
interface FactoryInterface{
T get();
}
interface SampleInterface{
void method();
}
class SampleClassA implements SampleInterface {
public void method() {
System.out.println(“I am SampleClassA method”);
}
}
class SampleClassB implements SampleInterface {
pub
Supplier interface
functional interface
T get() methodを持つ
lamda expressionでdefineして使う“`java
public class Outer {
public static void main(String[] args) {
Suppliers = () -> “kk”;
String str = s.get();
System.out.println(str);
}
}
“`
“`
lll
“`
enum
Enum classのsub classとなる
each elementがjvmによりinstance化される“`java
enum EnumSample{
PAN(“hello”),GOHAN(“hello”);
String value;
private EnumSample(String value) {
System.out.println(value);
this.value = value;
}
public String toString() {
return value;
}
}
enum EnumSample2 {
APPLE,ORANGE
}
public class Outer {
public static void main(String[] args) {
System.out.println(EnumSample.PAN);
Enum e = EnumSample2.valueOf(“APPLE”);
System.
private method of interface
default methodからprivate methodを利用する
“`java
interface A {
private void privateMethod() {
System.out.println(“aaaaprivate”);
}
default void method() {
System.out.println(“aaaaA”);
privateMethod();
}
}class C implements A{
public void method() {
A.super.method();
}
}
public class Outer {
public static void main(String[] args) {
new C().method();
}
}
“`
“`
aaaaA
aaaaprivate
“`
JavaでPDFをExcelに変換し、その書式を保持する方法
PDFからExcelへの変換には多くの理由があります。おそらく最も重要な理由は、Microsoft Excelが提供するデータ計算、視覚化、分析ツールを使用して、PDF内のデータを簡単に操作および分析することができるということです。例えば、データに数式を使用したり、データに基づいてグラフを作成したり、データに条件付き書式を適用したり、その他にもさまざまなことが可能です。今回は、無料の[Free Spire.XLS for PDF](https://jp.e-iceblue.com/introduce/free-spire-pdf-for-java.html)を使用して、プログラムで**PDFをExcelに変換し**、**その書式を維持する方法**を説明します。
– **[PDFをExcelに変換し、その書式を維持する](#pdfをexcelに変換しその書式を維持する)**
– **[複数ページのPDFを単一のExcelワークシートに変換する](#複数ページのpdfを単一のexcelワークシートに変換する)**
## 【依存関係の追加】
この方法は、無料のFree Spire.PDF f
same name method that is default method of interface and class method
default methodとclass method、同じ名前で定義し
implements, extendsすると、class methodが優先となる。
default methodは消失“`java
interface A {
default void method() {
System.out.println(“aaaaA”);
}
}
class B{
public void method(){
System.out.println(“aaaaB”);
}
}
class C extends B implements A{}
class D implements A{}
public class Outer {
public static void main(String[] args) {
Method m[] = new C().getClass().getMethods();
for(Method mc:m) {
System.out.
Leetcode 1443. Minimum Time to Collect All Apples in a Tree
https://leetcode.com/problems/minimum-time-to-collect-all-apples-in-a-tree/description/
## 難易度
### Medium## アプローチ
### DFS“`java
import java.util.ArrayList;
import java.util.List;public class MinimumTimeToCollectAllApplesInATree1443 {
public static void main(String[] args) {int n = 7;
int[][] edges = {{0, 1}, {0, 2}, {1, 4}, {1, 5}, {2, 3}, {2, 6}};
ListhasApple = new ArrayList<>(); hasApple.add(false);
hasApple.add(false);
変数のデータ型の種類
変数のデータ型の種類や使い方などを、学習し直した為、まとめていきたいと思います。
変数については以前簡単にまとめた記事がありますのでよろしければどうぞ。
[変数の定義 基本的な使い方](https://qiita.com/singekino-ojisan/items/12a51976b827e7dedb1c)# 基本データ型の種類
javaでデータ型には大きく分けて、`基本データ型(プリミティブ型)`と`オブジェクト参照型(リファレンス型)`の2種類があります。
`オブジェクト参照型(リファレンス型)`には、`String型`、文字列を扱えるデータ型です。
[変数の定義 基本的な使い方](https://qiita.com/singekino-ojisan/items/12a51976b827e7dedb1c)こちらで、記事にしています。`基本データ型(プリミティブ型)`は、数字や文字などの、最も基本的なデータの種類を扱うことができ、8種類あります。
ビット数とはPCのメモリ上で確保される桁数のことです。
同じような表現でバイト数というのもあり、一般的に`8ビット=1バイト`で
Liberty で httpsession を JCacheに永続化
# 目的
tWASではDBに保存していた httpsessionが Libertyでは JCacheで保存できるようになったので、その構成をします。# Gitレポジトリ
用意したGitレポジトリをクローンします。“`
git clone https://github.com/pdprof/security-auth.git
cd httpsession/jcache-docker
“`# Libertyイメージのビルド
Liberty Docker イメージをビルドします。localhost 以外の docker を動かしているホストのIPアドレスをACCESS_HOSTに指定します。“`
export ACCESS_HOST=172.17.0.1
./setup-docker.sh
“`# Libertyとhazelcastの起動
続けて以下のシェルを実行して起動します。テストなので hazelcast は永続化をしていません。“`
./hazelcast-start.sh
./httpsession-start.sh
“`# HttpSess
【初心者専用】Java8のOptionalクラスについて
## 0. 最初に
開発経験のない新入社員が突然、現場に放り込まれて「簡単な開発だから」と任されたけど、わからなさすぎて泣き寝入り状態だったので、自分の研鑽かつ同様の境遇の人達を救うためJava8(Optional編)についてまとめた。## 0.5. ラムダ式
Optionalを記す前に、ラムダ式といったものの説明をしないとだめだと気付きました。ラムダ式をひとことで表すと、、、**省略して、矢印みたいになってるもの**
“`
({引数} -> {処理})
“`
こんな感じです。サンプルコードを作ってみると
これがインターフェースで
“`java
interface Color{void printColor();
}
“`
これが匿名クラス(匿名クラスとは[こちら](https://cyzennt.co.jp/blog/2020/10/16/%E7%84%A1%E5%90%8D%E3%82%AF%E3%83%A9%E3%82%B9%E3%81%A8%E3%81%AF/#:~:text=java%E3%82%84C%23%E3%81%A7%E3%81%A
default method of interface
default methodはextendsによりoverrideされる
“`java
interface A {
default void method() {
System.out.println(“aaaa”);
}
}
interface B extends A {
}public class Outer implements B {
@Override
public void method() {
System.out.println(“aaaa2”);
B.super.method();
}
public static void main(String[] args) {
new Outer().method();
}
}
“`
“`
aaaa2
aaaa
“`
interfaceがextendsするときも利用可能
default methodは、extendsしたinterfaceのdefault methodをoverrideするときにだけ参照できる
例外について要点まとめ
## 目次
[1.例外の種類](#1-例外の種類)
[2.例外の継承関係](#2-例外の継承関係)## 1. 例外の種類
例外とは、Throwableクラスのサブクラスのオブジェクトのことを指す。
Throwableクラスのサブクラスとして、Errorクラス、Exceptionクラスが存在している。###### ◆ Errorクラス
プログラムが実行できないなどの重大な例外を扱うため、例外処理は通常おこなわない。
例 IOError:重大な入出力エラー発生時にスロー###### ◆ Exceptionクラス
クラス名の末尾に必ずExceptionが付く。
RuntimeExceptionクラスに属するクラスと、
それ以外のExceptionクラスに属するクラスとに分類される。RuntimeExceptionクラスに属するクラスは「非チェック例外クラス」と呼ばれ、
例外処理をおこなわなくてもコンパールエラーにならない。
例 NullPointerException :null値の参照型変数を参照しようとした場合にスロー
IndexOutOf
static methodは継承されないし、overrideできない
“`java
interface A {
static void method() {
System.out.println(“aaaa”);
}
}public class Outer implements A {
static void method() {
System.out.println(“aaaa2”);
}
public static void main(String[] args) {
A.method();
Outer.method();
}
}
“`
“`
aaaa
aaaa2
““
static method of interface
継承先でstatic method of interface利用できない
“`java
interface A {
static void method() {
System.out.println(“aaaa”);
}
}
interface B extends A{
}
class C implements A{
}public class Outer implements A {
public static void main(String[] args) {
A.method();
B.method();
C.method();
method();
}
}
“`
“`
com/mycompany/mavenproject1/Outer.java:[27,8] シンボルを見つけられません
シンボル: メソッド method()
場所: インタフェース com.mycompany.mavenproject1.B
com/mycompany/mavenproject1/Ou
anonymous classのclass name, methodsを確認
class name = Outer$1という名前のclass name
methods name = Object’s methods + added method“`java
public class Outer {
public static void main(String[] args) {
var obj = new Object() {
public void test() {
System.out.println(“i am test method”);
}
};
System.out.println(obj.getClass());
Method m[] = obj.getClass().getMethods();
for(Method mc:m) {
System.out.println(mc);
}
}
}
“`
“`
class com.mycompany.mavenproject1.O
不変マップを初期化する際はMap.ofEntriesを推奨
# 不変マップの初期化方法
不変マップの初期化方法は大きく下記2つの方法があります。
– Map.of()
– Map.ofEntries()いずれもJavaSE9、JDK9以降に導入された機能になります。
https://docs.oracle.com/javase/jp/9/docs/api/java/util/Map.htmlそれではそれぞれの使い方を見ていきましょう。
## `Map.of()`
下記ドキュメントを参照しますと分かるとおり、of()の引数は、0〜10個の要素(キーとバリューのマッピング)を指定することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630308/325691c9-bd59-12eb-3c69-b97d716a01ab.png)例えば、要素数が2つの不変マップを初期化する場合
“`java
import java.util.Map;Map
mapOf = Map.of(
“key