B-Teck!

お仕事からゲームまで幅広く

Kotlin

【Kotlin】Sequenceを使おう

Sequenceとは? Sequenceを使うと何が嬉しいか ループ回数が少なくなる Sequenceを使わない場合 Sequenceを使った場合 不要な計算をスキップできる Sequenceを使わない場合 Sequenceを使った場合 まとめ 参考 Sequenceとは? Kotlinにおけるコレクション遅延…

【Kotlin】Server Side Kotlin やってみた

tl;dr はじめに なぜKotlinを導入したのか? 実際にKotlinを導入してみた Server Side Kotlin導入のPros/Cons Pros Cons まとめ tl;dr Server Side Kotlinは特に特殊なことはないよ Kotlinの言語仕様は便利だよ Null安全の機構を導入することでアプリ側との…

【Kotlin】文字列の日時が指定の期間内に含まれているかを判定する

KotlinのDateにはRange演算子(Ranges - Kotlin Programming Language)が実装されているので、 簡単に大小や範囲を判定することができる。 下記は文字列の日時をSimpleDateFormatでDateに変換して、 0時から3時の間に含まれるかを判定しているサンプル。 impo…

【Java/Kotlin】URI Template(RFC6570)の仕様に則ってURL文字列に変数をセットする

"http://example.com/name/{name}/age/{age}"のような文字列に対して変数を割り当てたいとき、 javax.ws.rs.core.UriBuilderが利用できる。 URI文字列がqueryも含む場合は、 UriBuilder.fromUri() を利用すると良い。 Javaの場合 import javax.ws.rs.core.Ur…

【Java/Kotlin】BufferedReaderの今風な書き方を調べてみた

Javaで書かれたBufferedReaderの処理をKotlin化する中で、 イマドキのJavaでの扱い方と、Kotlinの場合どう書くかを調べてみました。 いにしえの書き方(Java) いまふうの書き方(Java) Kotlinで書くと…? サンプルはすべてsomeStream という入力を連結する場合…

【Kotlin】KotlinでJava EEのBean Validationを使うときの注意点

Kotlinの場合のBean Validationのアノテーションの書き方 Kotlinでdata classをbean paramとして利用してBean validationを行う際、 下記のように書くと正しくvalidationされない。 パラメータが欠けると500エラーで死ぬ (?=fuga や ?hoge= など) data class…

【Kotlin】Kotlinで複数の例外をキャッチする

Java7以降で対応されている複数例外のマルチキャッチ機能が、 Kotlinでは利用できなかったので調べた。 書き方 Java6以前の書き方 try { ... } catch(IOException e) { ... } catch(ClassNotFoundException e) { ... } Java7以降の書き方 try { ... } catch(…

【Kotlin】KotlinのNull安全

dogwood008.github.io KotlinのリファレンスのNull安全のページが英語しかなさそうだったので、ざっくり翻訳しつつ例を足したりした。 Null安全 Kotlinでは下記の要因以外でNPEを起こすことが無いよう作られている。 明示的な throw NullPointerException() …