2016-01-01から1年間の記事一覧

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…

Redmine のカスタムフィールド「リスト」をチェックリストとして使う

Redmine のカスタムフィールドには、リストを選択するための書式「リスト」があります。(そのまんま) その書式で定義したカスタムフィールドを「チェックリスト」として使いたかったのですが、デフォルトの Redmine では使いにくかったので、プラグイン「V…

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 を使おうと思って設定を始めたのですが、上手く動かす方…

2016年の抱負

もう1/5ですが、あけましておめでとうございます。 これまで抱負的なものは書いてなかったので、今年は書いてみようと思います。 Kotlin の学習 Web サービス作る iOS / Android のキャッチアップ 社内勉強会の継続 Kotlin の学習 昨年の10月あたりから Kotl…