しおしお

IntelliJ IDEAのことなんかを書いてます

kotlin

Ktorのルーティング設定で正規表現を使ってみる

Ktorの2.3.0からルーティング設定で正規表現が使えるようになったらしいので試してみたよ。 Ktor2.3.0のリリースノート Ktorの公式ドキュメント ルーティング設定で正規表現を使ってみる お試しコード ルーティング設定での正規表現の指定方法は、文字列では…

WireMock clientのKotlin DSLを作ってみた

WireMock clientのKotlin DSLを作ってみたお話です。 導入 Maven <dependency> <groupId>io.github.siosio</groupId> <artifactId>wiremockk</artifactId> <version>1.0.0</version> </dependency> Gradle implementation 'io.github.siosio:wiremockk:1.0.0' 使い方 Stubの登録 WireMockに追加された拡張関数のregisterを使ってStubを登録できるように…

Spring Boot + MVCでkotlinx.serializationを使ってリクエスト・レスポンスのシリアライズとデシリアライズをしてみる

Spring Boot + MVCでkotlinx.serializationを使ってリクエスト・レスポンスのシリアライズとデシリアライズを試してみました。 使用バージョンなど ↓のバージョンを使って試してみました。 Spring Bootは、2.5.4 kotlinx.serialization build.gradle.ktsはこ…

kotlinx.serializationつかってJSONのシリアライズ・デシリアライズしてみたよ

kotlinx.serialization を使って、JSONのシリアライズとデシリアライズを試してみたよ。 デシリアライズ&シリアライズ JSONに対応するdata classを作成する JSONに対応するdata classには、@Serializableを設定してあげます。ネストオブジェクトに対応するク…

IntelliJ IDEAのDomaプラグイン(Doma Support)をKotlin対応したよ

こんなツィートを見かけたので、Doma SupportにKotlin対応追加してみました。 Domaは対応されていて結構便利に使えますよ~(https://t.co/HDwCoENTdK )対応してないのはIntelliJプラグインですねsqlファイルをプラグインで作れないのが不便なだけなのでそこ…

KDocを生成するIntelliJ IDEAのプラグイン作ったよ

プラグインでできること 下のようにfunction と class や interface でKDocの開始コメント(/**)を入力してEnterでKDocの雛形が生成されます。 なんで作ったの? KT-11079にあるように、公式的にはJavadoc形式の書き方は推奨していないようです。*1 ただ、ち…

Spring Bootの@Valueに指定するプレースホルダのプレフィックスを変更する方法

@Valueアノテーションを使ってプロパティの値をインジェクションする場合、デフォルトではプレフィックスに${を指定する必要がある。 Javaで書いてる場合は問題ないけど、Kotlinを使うと文字列内の$は変数を展開するために使うので下のコードのようにエスケ…

Spring Bootでjackson-module-kotlinを使う

Jacksonのkotlin対応モジュール をSpring Bootで使ってみる。 バージョンなど Spring Boot:1.3.5 Jackson:2.6.6 Jacksonのkotlinモジュールを依存に追加 Gradleだとこんな感じですね compile 'com.fasterxml.jackson.module:jackson-module-kotlin:2.6.6' Js…

Kotlinのチケットを眺めてみて

Kotlinアドベントカレンダーの12/20の記事です。Kotlinへの要望やバグの管理は、https://youtrack.jetbrains.com/issues/KTで行われているので、その中で私がふんだバグやこれ直してほしいな的なのを幾つかあげています。 これは的なチケットには、vote(+1)…

KotlinでSpring Bootしてみた

Spring Bootってキワードよく聞くし、触ってみたくなったのでKotlinつかってちょっとだけ書いてみた。 やったこと 「Hello World!」と表示するhtmlを返すだけ。Viewは「thymeleaf」を使っています。 一応テストコード的なものも書いてみました。 プロダクシ…

Kotlinのキーワードをメソッド名で使う場合のエスケープ方法

Kotlinのキーワドをメソッド名などで使わざるを得ない場合のエスケープ方法例えば、KotlinでテストコードでMockito使った場合に、whenメソッドでスタブメソッドを定義しようとするとwhenはキワードだよとコンパイルエラーになってしまいます。 この問題を回…

KotlinのGradleプラグイン

KotlinのGradleプラグインがあるらしいので試してみました。Gradleのbuildスクリプトサンプルは、以下のKotlinのサイトに上がっています。 Kotlin Build Tools - Kotlin - Confluence サンプルbuildスクリプト buildscript { repositories { mavenCentral() …

現実逃避で久しぶりのKotlin

炎上からの現実逃避でKotlin書いて見ました。書いて見たのは、project eulerの最初の問題です。1から999までの値の中で、3と5で割り切れる値の合計を求めよ的なやつですね。回答はこちら単純に、数値のレンジからfilterかけて、その結果を集計してる感じです…

"buzzになる数字をn個挙げる"をkotlinで

mike、mikeなるままに…: "fizzになる数字をn個挙げる"をGroovyでをkotlinでやってみました。なんでkotlinかっていうと、誰もやってなさそうだからで、ぶっちゃけkotlinが詳しいわけでもないんだけど。とりあえず、上限を設けないようにiterateでbuzzの数字を…

kotlinで逆fizzbuzzに挑戦

twitterで逆fizzbuzzなるものを見かけたので、kotlinでやってみました。 2月に少し触ってみたのみだったので、apiとかわからずかなり苦戦しました。 作りはかなり単純です。入力値のfizzbuzzの配列サイズ分のfizzbuzzを、開始位置をずらしながら作っていって…