すきま風

勉強したことのメモとか

2019-09-01から1ヶ月間の記事一覧

socket timeoutに関するちょっとした誤解

今まで握手してから完全にデータが到達するまでの時間、だと思っていたが、正確にはdata packet間のアイドルタイムの制限時間という意味だった。 https://www.baeldung.com/httpclient-timeout the Socket Timeout (http.socket.timeout) – the time waiting…

data classのtoString()で特定のフィールドを隠蔽する

https://mustafaali.net/2018/01/14/Kotlin-data-classes-and-sensitive-information/ ラッパークラスにしてあげると良い。 class ProtectedProperty<T>(var value: T) { override fun toString() = "███████████" } data class Customer( val name: String, va</t>…

build.gradle.ktsに移行する! Tips編

以前記事にしたプロジェクトをbuild.gradleからkotlin-dslに移行します。 build.gradle.ktsにすることでスクリプト内でKotlinを使えるようになるし、IntelliJの補完が賢くなるし、groovyの文法をいちいちググらなくてよくなります。Spring Initializrでのデ…

build.gradle.ktsに移行する! 変換編

以前記事にしたプロジェクトをbuild.gradleからkotlin-dslに移行します。プロジェクト構成などについてはそちらを参照ください。 Spring Boot 2.2.0のリリースに伴いコードを書き直しました (最終更新: 2019/11/14) ※ リンクの記事はspring-data-r2dbc など…

Kotlin groupingByって便利だね 2

問題: 生徒オブジェクトのリストがあり、性別ごとの所持金額を集計する data class Student( val name: String, val gender: Gender, val wallet: Int ) enum class Gender { MALE, FEMALE } val students = listOf( Student("foo", MALE, 1000), Student("b…

Kotlin groupingByって便利だね

問題: 生徒オブジェクトのリストがあり、クラスごとの人数を集計する data class Student( val classNumber: String, val name: String ) val students = listOf( Student("1-1", "foo"), Student("1-1", "bar"), Student("1-1", "fizz"), Student("1-2", "b…

ktlintをGradleに導入する

Gradle projectにKotlinの静的解析ツールktlintを設定します。 コードには以前記事にしたプロジェクトを利用します。

Kotlin Coroutineのerror handlingを理解する

Kotlin Fest 2019 での Kotlinコルーチンを理解しよう 2019 が素晴らしかったので、忘れないうちに復習することにします。 サンプルプログラムは前回記事にしたクリーンアーキテクチャのコードを利用しています。

Spring Boot2 × Kotlin × Gradle5でクリーンアーキテクチャのアプリケーションを構築する (実装編)

build.gradleまで書いた前回記事の続きです。Apiをcallした体のプログラムを記述します。

Spring Boot2 × Kotlin × Gradle5でクリーンアーキテクチャのアプリケーションを構築する

要旨 Gradleの勉強。クリーンアーキテクチャを実装してみます。 この記事ではgradleについて記述します。実際のコードについては次回記事を参照ください。 元ネタはSpring IO 2019で紹介されていたこちら 以前書いたレイヤーアーキテクチャのサンプルはこち…