読者です 読者をやめる 読者になる 読者になる

Kotlin Compiler Plugin (kotlin-allopen) を追いかける

これは Kotlin AdventCalendar 2016 の 24 日目の記事です。メリークリスマスイブ!時間的にギリギリアウトでした・・・。 さて、少し前に Kotlin 1.0.6 RC が出ましたが、そのタイミングで kotlin-allopen と kotlin-noarg という 2 つのコンパイラープラグ…

Kotlin 向けのテストライブラリ kotassert を作りました

何番煎じか分かりませんが、Kotlin 向けのテストライブラリを作りました。 さて、Kotlin で JUnit + hamcrest を使ってテストを書くと、予約後である is に悩まされます。 assertThat(actual, `is`(expected)) これを解決するために kotlintest や knit とい…

Kotlin プロパティの Getter / Setter

Kotlin で、プロパティの Getter / Setter は以下の通りに定義できます。 var name: String get() { return ... } set(value) { ... } 定義する上でインデントは関係ないので、こんな感じでも書けちゃいます。 var name: String get() { return ... } set(va…

Kotlinで特定のブロック内でのみ有効な拡張関数を定義する

Kotlinのドキュメントに、Type-Safe Buildersという記事があります。 これは、Groovyでよく使われている builders パターンというものを、Kotlinで表現した際にどうかるかを示したドキュメントです。 kotlinlang.org Groovy使ったことないですが、build.grad…

Kotlinで未実装を表す方法

小ネタです。 Scalaでは ??? という関数を実行することで、未実装を表す scala.NotImplementedError を返すことができます。 Kotlinにも例外 kotlin.NotImplementedError があり、それを呼び出す関数として TODO() が定義されています。 github.com 使い方 …

SpringBoot + Kotlin + Devtools を IntelliJ IDEA で上手く動かす

Kotlin で Web 開発をするために、とりあえず今は Spring Boot を使っています。 Eclipse の HTML, JavaScript エディタが自分に合わない(合うプラグインを見つけられなかった)ため、IntelliJ IDEA を使おうと思って設定を始めたのですが、上手く動かす方…

Kotlinのプロパティをタイプセーフに取得する

おはようございます。Kotlinアドベントカレンダー2015の22日目の記事でございます。 DBアクセスライブラリを作っていたときに見つけたものを紹介します。 Kotlinのプロパティをタイプセーフに取得する Kotlinのプロパティは、Java8のメソッド参照のように書…

Kotlin で Loan パターン (別解)

最近 Kotlin ばっかりやってます。 さて、Qiita に同じ内容の記事が出てました。 Kotlin - Kotolin で Loan パターン - Qiita http://qiita.com/deadbeef/items/862b908ac54fdd58c3df やり始めた時に自分も作ってたので載せておこうと思います。 合わせて、…