- 1. フランスに修行に行けなくなった料理人が、未経験でIT業界にジョブチェンジした話。
- 2. ClojureのソースをNetBeansでコンパイルしてみた
- 3. 【 Java_while文とdo-while文 】
- 4. 【Java】自作アプリを改良して業務効率化を図り、いつもより3分早く帰る。
- 5. Spring bootでバリデーションチェックによるエラーメッセージを表示させる手順
- 6. Selenium WebDriver Java Simple Program – Login
- 7. Static factory methodの使い所
- 8. TreeMapのKeyに独自クラスのオブジェクトを格納する場合の注意点
- 9. 【Java】SwaggerでAPI仕様を見れるところまでやってみた(swagger-core × springdoc-openapi-ui)
- 10. Fn / OCI Functions 向けに アノテーションを使って HTTP リクエスト処理をすっきり書くフレームワークを作った話
- 11. コンストラクタの代わりに staticファクトリメソッドを検討する
- 12. Fortniteのビクロイ数を教えてくれるLINE BOT作ってみた
- 13. [Java] 競プロ最序盤で個人的によく使うリファレンスまとめ (更新中)
- 14. Keycloakによる認証基盤の立ち上げ(1) Wildfly版
- 15. Spring bootのアノテーションについて(@RequestParam)
- 16. 【Java】modelMapperでList⇔List, String⇔LocalDate, String⇔LocalDateTimeを変換する。
- 17. Scalaの勉強はじめました 4 〜オブジェクトとクラス②〜
- 18. Kotlinでrest-assuredを使う
- 19. Singletonパターン
- 20. 【 Java_インクリメント演算子とデクリメント演算子 】
フランスに修行に行けなくなった料理人が、未経験でIT業界にジョブチェンジした話。
# 自己紹介
はじめまして。
未経験からエンジニアに転職した『ゆうき』です!!
私は現在都内のSESで勤務をしており、Javaをメインに業務を行っております。
私が、IT業界に入るまでの経験を記事にしていきたいと思います。## フランス修行に行くことを決意した料理人が飲食業界を離れた理由
私は小学生の頃から『コックさんになる!!』と発言していたほど、調理師になるのが夢でした。
その夢はずっと変わらず専門学校も地元の調理の専門学校に行き、
新卒で入社したレストランは、
西麻布にあるミシュラン1つ星のレストランでした。4年ほど飲食経験を積んだ時に、フランスに修行に行きたいという気持ちが強くなり、
フランス修業に行くことを2019年の年末に決意しました。しかし、決意を固めた2020年にコロナウイルスが大流行し、
私はフランス行きをストップするしかありませんでした。1年間以上足止めを食らってる中で、飲食業界のどんどん変わっていく姿にものすごい不安を感じました。
また私は2021年に結婚をし、将来のことを考え悩み抜いた末、飲食業界から離れることを決意しました。## なぜ飲
ClojureのソースをNetBeansでコンパイルしてみた
Clojureはじめたばかりの初心者です。
ソースを読むのが好きなので、自分でコンパイルしてNetBeans内で動かしてみたいなぁと思いやってみました。JavaはJava8がインストールされている必要があります。
(ClojureのコンパイルにはJava8以上が必要との事です)
NetBeansは 12.0を使っています。ちなみにClojureのソースをダウンロードしてきて、mavenを使ったら、簡単にコンパイルできました。しかし、それではNetBeansで、ブレークポイントをかけたり、ステップ実行をしたりできなかった(やり方がわからなかった)ので、別の方法でコンパイルしてみようと思いました。
まず、NetBeansで、File > NewProjectから、Java with Ant > Java Applicationを選択し、作成します。
Clojureの最新ソースを落としてきて、clojure-master/src/jvmの下のJavaソース一式を先ほど作成したプロジェクトのsrcディレクトリにコピーしました。
NetBeansでコンパイルしてみたら、あっさり成功。
【 Java_while文とdo-while文 】
現在独学でJavaを学習中です。
この投稿はその備忘録になります。## while文とdo-while文
Javaにおけるwhile文とは、繰り返し構文を書く際のバリエーションのひとつです。
条件式の内容に従って必要数処理を繰り返します。
また、do-while文とは「まず評価してから条件式を実行する」もので、
while文とは書く順番が異なります。#### ■ while文
以下のwhile文では、ブロックを実行する前に`条件式(temp > 25)`を評価します。
これを、`前置判定`といいます。
“`java
public class App{
public static void main(String[] args){
int temp = 30;
while (temp > 25) {
temp–;
System.out.println(“温度を一度下げました”);
}
}
}
“`
#### ■do-while文
以下のdo-while文では、ブロックを実行した後に`条件式(temp > 25)`を評価します。
これを、`後置判定
【Java】自作アプリを改良して業務効率化を図り、いつもより3分早く帰る。
こんばんは。
タイトルの通り、夜中に一人でパチパチとアプリを改造しました。
Atcoderに取り組むことで、Javaのライブラリやクラスの呼び出し方に少し慣れてきました。
便利なライブラリがいっぱいでほんとすごいですね。
自分のペースではありますが、研究していきます。今回は、前からやってみたかったコピー機能を導入しました。
### 1.対象アプリ
消費税計算アプリ「消費税さん」です。
金額を入力すると税込み金額、または税抜き金額を計算してくれるシンプルかつ実用的な優良アプリです。
もし使いたい方がいらっしゃったら、自分のパソコンを持参してインストールさせていただきますのでご連絡ください。
最初はアプリ開発の練習のつもりで開発したこの消費
Spring bootでバリデーションチェックによるエラーメッセージを表示させる手順
Spring bootの学習で前回エラーメッセージの表示方法を学んだので、アウトプットも兼ねて投稿します。
手順は以下の通りです。
:::note info
①プロジェクト作成時、validationライブラリを使用する。
::::::note info
②modelクラスを作成し、バリデーションチェック用のアノテーションを使用する。
::::::note info
③ControllerクラスのPostメソッドで、@Validated、BindingResultを使用する。
::::::note info
④エラーメッセージ用のファイルを作成。
::::::note info
⑤作成したファイルに表示させたいメッセージを記載。
::::::note info
⑥application.propertiesに最後にファイルのルートを記載。
:::## ①プロジェクト作成時、validationライブラリを使用する。
まず初めに、プロジェクト作成時にライブラリ依存関係の選択で「Validation」を追加する。
このゲームの魅力を語り出すと止まらなくなるのでこの辺にして公式 HP のリンクを共有して次に進みます。
https://w
[Java] 競プロ最序盤で個人的によく使うリファレンスまとめ (更新中)
初投稿です。
競プロを初めて2週間程度ですが、序盤の問題でよく使うリファレンスが増えてきたので 覚書として以下にまとめました。今後も役に立った知識は随時追加していく予定です。
浅学のため、「ここがおかしい」という箇所がありましたらお気軽に指摘して下さると非常に助かります。
:::note info
本項での「競プロ最序盤」は
・[AtCoder Beginner Contest](https://kenkoooo.com/atcoder/#/table/)での **A, B問題**
・[Paiza スキルチェック](https://paiza.jp/challenges)での **B~E問題**
を指します。**「そもそも競プロって何?」** という方は、@e869120 さんの[レッドコーダーが教える、競プロ・AtCoder上達のガイドライン【初級編:競プロを始めよう】](https://qiita.com/e869120/items/f1c6f98364d1443148b3) という記事が参考になると思います。
:::【文字列編】
——
Keycloakによる認証基盤の立ち上げ(1) Wildfly版
# この記事の概要

– 既存の認証基盤を持たない組織の前提
– 認証基盤としてKeycloak導入、組織で保持するアプリのSSO用に活用する
– アプリごとにどんなRealmを切るかは試行錯誤# Keycloakの紹介
– 基本的な機能は、NRIさんの紹介記事があるので参考に ⇒ [Keycloakとは]
– 基盤は Javaサーブレット ⇒ 稼働先OSやアプリケーションサーバやについて選択の幅が広く持てる
– ライセンスは [Apache-2.0](https://github.com/keycloak/keycloak/blob/main/LICENSE.txt)# 本記事執筆時の諸事情
試使用を開始し、現在も試使用中なのは `v16.1.1` 。
折り悪く、ちょうどKeycloakは `v16` から `v17` への移
Spring bootのアノテーションについて(@RequestParam)
現在学習しているSpring bootにて基礎的なアノテーションの@RequestParamについて再度学習したので、アウトプットも兼ねてまとめます。
## ①RequestParam
ブラウザからのリクエストの値(パラメータ)を取得することができるアノテーション。
### Controllerクラス
“`javapublic String example(@RequestParam(“message”)String message Model model ) {
Model.attribute(“message”, message);
return “example”;
}
“`
### View(HTML)
“`html
“`
http://localhost:8080/~?message=example
上記のようにリクエストの際に>message=example
とすることで、
①RequestParamの”message”にexampleという文字列が代入される。②String m
【Java】modelMapperでList⇔List, String⇔LocalDate, String⇔LocalDateTimeを変換する。
# 参考
https://www.baeldung.com/java-modelmapper-lists
# List\
→ List\ のマッピング
“`java
Listentities = // DBからHogeEntityリスト取得
Listdtos = modelMapper.map(entities , new TypeToken >() {}.getType());
“`# String ⇔ LocalDate のマッピング
“`java
// String to LocalDate
mapper.addConverter(
new AbstractConverter() {
@Override
protected LocalDate convert(String source) {
if (source == null) {
Scalaの勉強はじめました 4 〜オブジェクトとクラス②〜
## はじめに
N予備校の「Scala基礎」「Scala応用」コースを受講しています。
「オブジェクトとクラス」でざっくりまとめたことを少し後悔してます。## トレイトとミックスイン
トレイト(振る舞い)を継承することをミックスインという:::note
複数のトレイトを1つのクラスやトレイトにミックスインできる。
直接インスタンス化はできない。
クラスパラメータ(コンストラクタ引数)を取ることができない。
:::`trait`で定義されるメソッドは、必ずしも実装する必要がない
“`scala
class PaperCup extends Paper with Fillable with Disposable
“`クラスを同じやり方で複数継承はできないので注意。
### super
“`scala
class Class2 extends TraitB with TraitC {
override def greet(): Unit = super[TraitB].greet()
}
“`継承やミックスインで利用している型を指定して自身のインスタンス
Kotlinでrest-assuredを使う
REST APIのテストコードを効率良く記述するためのライブラリである[rest-assured](https://rest-assured.io/)をKotlinから利用してみた。
### ライブラリを依存関係に設定する
[Kotlin用のExtensionライブラリ](https://kotlinlang.org/docs/extensions.html#extension-functions)が提供されているため、これを依存関係に設定するだけでrest-assured本体は推移的に解決される。
build.gradle.kts
“`kotlin
dependencies {
testImplementation(“io.rest-assured:kotlin-extensions:4.5.1”)
}
“`### テストコードを実装する
先述のExtensionライブラリは、trainling lambdaやinfix notation、scope functionを活用してすっきりとした記述を可能にしている。条件・アサーション等をブロックで区切ることがで
Singletonパターン
# Singleton – インスタンスはひとつだけ
参考書(結城浩([@hyuki](https://twitter.com/hyuki “@hyuki”))氏の[増補改訂版Java言語で学ぶデザインパターン入門](https://www.amazon.co.jp/%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%89%88Java%E8%A8%80%E8%AA%9E%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E5%85%A5%E9%96%80-%E7%B5%90%E5%9F%8E-%E6%B5%A9/dp/4797327030/ref=sr_1_1?ie=UTF8&qid=1448935369&sr=8-1&keywords=java%E8%A8%80%E8%AA%9E%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3
【 Java_インクリメント演算子とデクリメント演算子 】
現在独学でJavaを学習中です。
この投稿はその備忘録になります。## インクリメント演算子とデクリメント演算子
■インクリメント演算子( ++ )
対象の値をひとつ増やす
■デクリメント演算子( — )
対象の値をひとつ減らす##### それぞれの使用例
“`java
■インクリメント演算子■
int num = 5;
num++;System.out.println(num); //6
■デクリメント演算子■
int num = 5;
num–;System.out.println(num); //4
“`### 前置と後置の違い
“`java
■前置き■
++num
–num
■後置き■
num++
num–
“`
##### 結果が同じになる使用例
“`java
■後置き■
int x = 5;x++;
System.out.pritnln(x); //6
“`
“`java
■前置き■
int x = 5;++x;
System.out.println(x); //6
“`
##### 結果が異なる