JAVA関連のことを調べてみた2020年06月24日

JAVA関連のことを調べてみた2020年06月24日

文字列をmd5ハッシュ化して返す

##文字列をmd5Hash化

まあ自分メモです。
ライブラリとかあるみたいなので使わなそうですけど。
この方法は`MessageDigest`を使います。

下記のソースの`strHash` の部分がハッシュ化したい文字列です。
任意の文字列ってことになります。
ハッシュ化した結果は`str`の値です。

“`java:md5Hash.java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
* md5Hash
* 入力された文字列をmd5Hash化して返す
*/

public class md5Hash {
public static void main(String[] args) {
/**ハッシュ化したい文字列:strHash */
String strHash = “12345”;
System.out.println(“ハッシュ化する文字列:” + strHash);

元記事を表示

IBM Cloud ShellでQuarkusを試してみよう

この記事は、これからQuarkusを始める方を対象に、IBM Cloudで提供しているIBM Cloud Shellを使って[Quarkus.io](https://quarkus.io/get-started/)のFirstStartの手順を実行するためのガイドです。
###Cloud Shellとは
IBM Cloud Shell はクラウドのメニュー(アイコン)からコンソールに即時アクセスが可能です。
2020年6月現在、ベータ版として主に以下の機能をリリースしています。
・30時間利用/週
・ストレージ500 MB/User
・ファイルのアップロード、ダウンロード処理
・アプリのプレビュー
詳細、最新情報は[IBM Cloud Docs](https://cloud.ibm.com/docs/cloud-shell?topic=cloud-shell-shell-ui)をご確認ください
image.pngOpenCensusとJavaで分散トレーシングをする

## はじめに

OpenCensus APIとJavaで分散トレーシングを実装してみました。OpenCensusはGoogleのCloud Trace(旧 StackDriver Trace)をベースとした仕様で分散トレースとメトリック収集の仕様です。
こちらを使うことでPG側は統一したAPIを利用しながらバックエンドをJeagerやOpenZipkinあるいはCloud Traceなどに連携できます。

実はOpenCensusは既に古く、似た様な仕様のOpenTracingと統合する形で現在は[OpenTelemetry](https://opentelemetry.io/)として標準化されています。こちらはDatadog, NewRelic, Dynatrace, Instanaといった商用のAPMも含めて対応しているので今後はこちらを使うべきです。
なので、最初はOpenTelemetryを弄ってたのですがJeagerには連携できたものの[Cloud TraceではJava版はまだ未対応](https://cloud.google.com/trace/docs/setup)だ

元記事を表示

今更ながらSpring Data JPAに入門してみた

# 始めに

[Doma](https://doma.readthedocs.io/en/2.19.2/)以外のOR Mapperを触ったことがなかったので、ふと思い立ち興味半分くらいで触ってみました。

Spring Bootアプリケーションへの導入方法 ~ 簡単なAPI作成で感じたDomaとの比較について書きたいと思います。

# 環境

– IDE VSCode

– Java 11.0.6
– Spring Boot 2.3.1
– PostgreSQL 11.6

# 前提

簡単なAPIを作成して、色々と触ってみたいと思います。作成するAPIは以下の様。

| エンドポイント | Http Method | 概要 | 備考 |
| —————————- | ———– | ——————————————

元記事を表示

[Java]配列

#配列の定義
`データ型[] 配列名 = {};`

“`java

String[] names = {“tanaka” , “sato” , “suzuki”};
System.out.println(names[0]);
“`

#配列のfor文
配列の中身を全部出力する。

**通常のfor文**

“`java

String[] names = {“tanaka” , “sato” , “suzuki”};

for(int i = 0; i < names.length; i++) { System.out.println(names[i]); } ``` **拡張for文** `for(データ型 変数:配列名){}` ```java String[] names = {"tanaka" , "sato" , "suzuki"}; for(String name:names) { System.out.println(name); } ```

元記事を表示

[Java]出力、変数

#標準出力
`System.out.println()`

“`java
System.out.println(“Hello World”);
“`

#変数
**変数定義**
`データ型 変数名;`

“`java
String hello;
hello = “Hello World”;
System.out.println(hello);
“`
こちらでも意味は一緒

“`java
String hello = “Hello World”;
System.out.println(hello);
“`
#型変換
**強制型変換(キャスト)**
出力の時に型を強制的に変換する

例:int型同士の計算結果を小数点で出したい(本来は小数点はでない)

“`java
int num1 = 10;
int num2 = 4;
System.out.println((double)num1 / num2);
“`

元記事を表示

Java初学者が4日でポーカーゲームを作る(3日目)

##モチベーションと目的
Javaについて少し知っておこうと思い6/21から勉強を始めました。
6/21にprogateでJavaの基礎的なことは学んだのでアウトプットしようと思います。
作るのは何でもよかったのですが、私が愛してやまない頭脳スポーツ「テキサスホールデム」を作ってみようと思います。

就職に向けてアウトプットソースを増やす目的と、日記的な意味合いで学習の軌跡をここにメモっておくことにしました。

##予定
1日目:progateでJavaについて知る(割愛)
2,3日目:とりあえず実装(できた!)
4日目:オブジェクト指向に倣いコードを整える(無理かも)

##実装機能(簡単のため相当簡略化)
昨日は
**カードを配り、プリフロップのアクションを決定**
するところまでできていた

残すところ
**フロップ、ターン、リバーの動き
ハンドの強弱、役の決定
all-in、foldなどの処理**
です

##ハンドの強弱
一番頭を悩ませたハンドの役の決定から。
なお、簡単のためフラッシュ、ストレートは今回実装しなかった。また、最弱のカードは2ではなくAになってるが勘弁してほし

元記事を表示

Javaの条件分岐

##はじめに
小難しい部分は文章で説明するのがまだ難しいのでまずなにが出来ることの基本をモリモリ書いていくことにする.

##条件分岐の書き方

“`kane.java
if(条件式){
処理;
}
“`
###これが基本の形
真偽値、比較演算子(==, < など)、論理演算子(&&, ||, ! )などを使用して条件式を書いていく. ###ブロック{} 複数の処理をまとめたいときに使う. **{ }の後ろにはセミコロンは不要。** ```kane.java int x = 40 if(x >= 30){
System.out.println(“xは30以上。”);
}else if(x > 20){
System.out.println(“xは20より大きく30より小さい。”);
}else{
System.out.println(“xは20より以下。”);
}

//今回は最初の処理で実行される
“`

else ifは必要なだけ並べることができるが、**実行されるのは最初に合致した条件だけ。**

##switch文
条件の値がcaseの値

元記事を表示

JBcryptを使用したパスワードのハッシュ化とその認証

#やったこと

Java(Spring) でJBcryptを使用してパスワードのハッシュ化とその認証を行いました。

#準備

[MVN REPOSITORY](https://mvnrepository.com/artifact/de.svenkubiak/jBCrypt/0.4)からjarファイルを取得

#パスワードのハッシュ化

“`java

@PostMapping(“/sample”)
public String sample(@Validated SampleForm sampleForm,
BindingResult bindingResult, Model model) {

// 入力値のpasswordをハッシュ値に変換
String hashedCode = BCrypt.hashpw(sampleForm.getPassword(), BCrypt.gensalt());

// 以下ハッシュ化されたパスワードをDBに格納する処理


}
“`

>ソルトはハッシュ関数に入れる前のパスワードの前後

元記事を表示

Docker-compose ~volumeの罠~

# はじめに
 初投稿です。白菜と申します。プログラミングが趣味のしがない大学生です。先日コードを書いている最中に深めなツボにハマり、色々調べても関連する情報が出てこなかったので投稿させていただきます。

# 何が起こったのか
 windowsを使っておりまして、wsl2が正式に導入されたと聞き、wsl2上でDocker-desktopを動かしてみようと思い立ちました。環境を整えてかれこれ一か月ほど遊んでいて、己のPCの環境を汚さずに様々な言語に触れられて、激アツやんと思っておりました。dockerで立ち上げたコンテナにvscodeのRemote Developmentを利用して接続し、コンテナ内でコードの編集・デバッグを行っていました。

###しかし、問題発生

 それはある日の暮れ、羅生門の下で雨やみを待ちながらコードを書いていた時のことでございます。springbootとかいう何某かがなんかとてもすごいつよいと聞いたので、試しておりました。日本語の公式チュートリアルのいくつかを軽く実装し、springMVCの基礎くらいはカンニングせずに書けるようになりました。調子に乗ってきたの

元記事を表示

僕のAndroid学習参考資料

####※随時アップデート

#Google公式
[Android Developer](https://developer.android.com/index.html)
[API Reference](https://developer.android.com/reference/packages.html)
[Material Design](https://material.io/design/introduction#goals)

#おすすめサイト/本
[RayWenderRich](https://www.raywenderlich.com/)

[Androidアプリ開発 パーフェクトマスター](https://www.shuwasystem.co.jp/book/9784798041612.html)

[Android UI Cookbook for 4.0 ICS(Ice Cream Sandwich)アプリ開発術](https://www.amazon.co.jp/Android-Cookbook-ICS%EF%BC%88Ice-Cream-Sandwich%E

元記事を表示

【質問】CSVファイルのデータをコンボボックスの選択肢として表示する方法

【質問】
 CSVファイルから文字列型でデータの取得はできたのですが、そのデータをコンボボックスが選択肢として格納していないようで困っています。
 改善策をお教えください。

【やりたいこと】
 トレーニング種目名をCSVファイルから取得してコンボボックスの選択肢として表示したい。

【前提条件】
 SceneBuiderのコンボボックスはfx:idの設定済

【ソースコード】
public class SampleController implements Initializable{

/**コンボボックス設定*/
 @FXML 
 private ComboBox trainingCombo;

 @Override
 public void initialize(URL location, ResourceBundle resources) {
  try{
   File csv = new File(   
           ”C:\\pleiades\\eclipse\\Java1\\TrainingApp\\src\\applicat

元記事を表示

【Java】特定の曜日の日を取得する

忘備録として

LocalDateを使うとかんたん。

“`java

// 今日
LocalDate now = LocalDate.now(); // 2020-06-23:火曜日

// 今週の金曜日
LocalDate thisFriday = now.with(DayOfWeek.FRIDAY); // 2020-06-26

// 先週の水曜日
LocalDate lastWednesDay = now.minusWeeks(1).with(DayOfWeek.WEDNESDAY); // 2020-06-17

// 来週の木曜日
LocalDate nextThursDay = now.plusWeeks(1).with(DayOfWeek.THURSDAY); // 2020-07-02

// おまけ LocalDateTimeへ変換
LocalDateTime from = lastWednesDay.atTime(00, 00, 00); // 2020-06-17 00:00:00

“`

### 参考

[日本人のための

元記事を表示

java comparator を使ったソート

– comparator を使うと便利にソートできます.

### コード (昇順ソート)

“`java

import java.util.*;

class Solution {

public static void main(String[] args) {
sort1();
sort2();
}

public static void sort1 () {
List list1 = Arrays.asList(3,2,8,4);
System.out.println(“sort前: “+list1);
Comparator comparator = new Comparator() {
public int compare(Integer int1, Integer int2) {
return (int1.compareTo(int2));

元記事を表示

RestTemplate でレスポンスの JSON とクラスのマッピングに失敗した場合に発生する例外

## 概要

– RestTemplate で HTTP レスポンスの JSON とマッピングするクラスが合わない場合に発生する例外を調査する

## 環境

– Spring Boot 2.3.1 (Spring Framework 5.2.7 + Jackson Databind 2.11.0)
– Java 11 (AdoptOpenJDK 11.0.7+10)
– Gradle 6.5
– macOS 10.15.5 Catalina

## 検証用コード

### ファイル一覧

“`
├── build.gradle
└── src
└── main
└── java
└── com
└── example
├── DemoApplication.java
└── MyResponse.java
“`

### build.gradle

“`groovy
plugins {
id ‘org.springf

元記事を表示

ProgateでJavaについてお勉強メモ1

JavaScriptとはメロンパンとメロン、ハムとハムスターほど違うと有名なあのJavaについてProgateで勉強を始めたいと思います。行くぞージャバジャバ:swimmer_tone2::swimmer_tone2::swimmer_tone2:
#基本編

“`java
System.out.println();
“`

がJSでいうconsole.log的なやつ。コンソールに結果を出力できる。
長い、長いよ。。console.logですら長いと文句言ったのに。「.」が2つもある・・!
(どうせ補完?されて長々と打つことはProgateやってる間だけだろうけども。)

しかも、printlnこれ、**lは小文字の”える”**という衝撃の事実。:scream:
読み方はプリントラインというそうな。。

Javaの構造はクラス部分・メソッド部分・メソッド内の処理の3つに別れている。まだ、ふーんそうなんだ程度でいいらしいが、きっと後ですごい伏線回収があると思っている。:spy_tone2:

##変数
###変数の定義
“`java
//変数の定義
データの型 変数名;
/

元記事を表示

Java初学者が4日でポーカーゲームを作る(2日目)

##モチベーションと目的
Javaについて少し知っておこうと思い昨日(6/21)から勉強を始めました。
6/21にprogateでJavaの基礎的なことは学んだのでアウトプットしようと思います。
作るのは何でもよかったのですが、私が愛してやまない頭脳スポーツ「テキサスホールデム」を作ってみようと思います。

就職に向けてアウトプットソースを増やす目的と、日記的な意味合いで学習の軌跡をここにメモっておくことにしました。

##予定
1日目:progateでJavaについて知る(割愛)
2,3日目:とりあえず実装(できたらいいな)
4日目:オブジェクト指向に倣いコードを整える(予定)

##実装機能(簡単のため相当簡略化)
**プレイヤーは自分自身と相手(CPU)のみのヘッズアップ
CPUはハンドの強さではなく乱数でアクションを決定する
BTNは常に相手側でブラインドは無し
どちらかのチップがなくなったら終了**

実装にあたって、
**デッキの作成
デッキのシャッフル
プレイヤーに手札を配る**
の処理は非常にわかりやすいサイトがありましたのでこちらを~~パクっ~~参考にさせていただきま

元記事を表示

マッスルJavaオブジェクト指向 1日目

#インスタンス
> クラスとは?(復習)
設計書のようなもの
・定義するもの
 ・状態(状況):変数(フィールド)
 ・振る舞い(動作):メソッド

– 設計書(クラス)から作成された実体(インスタンス)
– 複数の生成も可能

インスタンス

##インスタンス(コード生成)
“`
クラス名 インスタンス変数名(自由) = new クラス名(引数)[コンストラクタ指定];
“`
生成したインスタンスを変数に格納
ここで注目すべきは!!
__クラス型(参照型)のインスタンス変数__

> Javaの全変数は静的型付けにより、クラス型の宣言を行った

##コンストラクタ
– インスタンスを生成するときに行う初期化処理をする特別なメソッド
– コンストラクタの特徴
– メソッド名はクラス名と同じ
– 戻

元記事を表示

gradle Could not find tools.jar. エラー対策

## 環境

– windows10
– gradle-6.3
– jre1.8.0_251

## 現状

gradle build

を実行すると

Could not find tools.jar.

として, Build が落ちた.

## 対策

tool.jar を探して手に入れる.

### JDKのダウンロード

JDKの中にtools.jar があるらしいので落とす.

>「Windows 10 i586 Java Development Kit」から

※ 注意
JDK9からはtools.jar は入っていないらしい

### 格納する

C:\Program Files (x86)\Java\jre1.8.0_251\lib

のなかに, tools.jar を移動させる.

tools.jar は

java

元記事を表示

Javaの基本

## はじめに
これは自分メモです

## 出力の仕方

“` kane.java
System.out.println()
“`
()内にリテラルを入力することで出力できる

“` kane.java
System.out.println(“Hello!”)
“`
文字列の場合””(ダブルクォーテーション)で囲む

“` kane.java
System.out.println(“Hello!”);
“`
**しっかりセミコロンをつける**

System.out.println()というのは、()の中身を出力(表示)せよ」という「命令」

## print(), println() の使い方

“` kane.java
System.out.print(“バナナ”);
System.out.println(“バナナ”);
“`

print() は末尾に改行は付きませんが、println() は自動的に末尾に改行を挿入します。

## 終わりに
ほんとはもっと書けることがあったが理解があいまいのでやめました。
次回はコンパイラとインタープリタの違いを自分の言

元記事を表示

OTHERカテゴリの最新記事