Kotiln
Spring Securityを使ったAPIを実装していたときに、REST APIにはBASIC認証をかけて、画面にはフォーム認証をかける、ということがやりたくなったのでその方法を備忘録として書いておきます。 環境 Spring Boot 2.7 Kotlin 1.6.21 方法 /api/から始まるREST A…
Spring Securityを使った認証処理を実装したアプリケーションにおいて、モックの認証情報を使って動作確認をする方法を書いていきます。 認証処理の実装と、認証対象の画面や機能の実装が並行して行われているときに、Spring Securityの仕組みを使いつつもモ…
背景 Spring Security without the WebSecurityConfigurerAdapter を見て、従来のSpring Securityの設定方法がSpring Security5.7から非推奨になることを知ったので代わりの設定方法を試してみます。 環境 Spring Boot 2.6.7 Kotlin 1.6.21 何が変わるのか S…
Kotlinのファイル読み込みの方法はいくつかありますが、今日はjava.io.Fileを使ったファイル読み込みでKotlinが提供している便利な関数について書いていきたいと思います。 java.io.Fileの拡張関数 Kotlinでは、java.io.Fileの拡張関数として便利な関数がkot…
前回バブルソートを実装したので、今回はクイックソートを実装してみます。 iikanji.hatenablog.jp 前提 配列の要素が空白区切りで入力される 例: 1 2 3 4 5 昇順にソートする 要素の数nの最大は100 クイックソートで利用する、ピボットは配列の先頭の値とす…
最近クイックソートを何も見ずに実装できなくてとても悔しかったので、アルゴリズムの勉強をしています。今回はまずバブルソートを書いてみます。 前提 配列の要素が空白区切りで入力される 例: 1 2 3 4 5 昇順にソートする 要素の数nの最大は100 実装 fun m…
最近、Effective Kotlinを購入しました。 Effective Kotlin by Marcin Moskala [Leanpub PDF/iPad/Kindle] 読んでいると、Kotlinの適切な書き方がわかりやすくまとめられていたので備忘録として書いていきます mutableを使う箇所を制限する mutableは状態管…
Kotlinのスコープ関数について公式ドキュメントを参考に特徴とユースケースをまとめてみます。公式のドキュメントがとてもわかりやすくまとまっているので、詳細はそちらを参考にしてください。Kotlinのversionは1.3.21です。 let public inline fun <T, R> T.let(</t,>…
今回はkotlinx.serializationというライブラリを触ってみます。 github.com kotlinx.serialiationはリフレクションを利用せずにシリアライズ/デシリアライズを行うことができるライブラリで、JSONやCBORやProtobufをサポートしているようです。 今回は、公式…
今回は、Kotlinでテスト用のdata classを生成する方法を書いていきます。 概要 builderパターンを使ってテストデータを生成できるが、Kotlinでは名前付き引数とデフォルト引数を使ってさらに簡単にテストデータを生成できる テストデータを生成する テスト用…
最近はkotlin-puzzlersというGitHubリポジトリの問題を見ながらKotlinを勉強しています。 今回は、kotlin-puzzlersの中で取り上げられていた問題の一つを紹介していきます。 問題 fun main(vararg args: String) { val x = listOf(1, 2, 3).filter { print("…
Kotlin 公式のStyle GuideをIntelliJに設定する方法が簡単だったので書いていきます。 環境 macOS High Sierra 10.13.5 IntelliJ IDEA ULTIMATE 2018.1 やりかた Preference -> Editor -> Code Style -> Kotlin を選択し、右上の「Set from…」と書いてある箇…