算譜王におれはなる!!!!

偏りはあると思うけど情報技術全般についてマイペースに書くよ。

【解決済み】KotlinでWebTestClientを使うと、ジェネリクスまわりでハマる

問題

WebTestClient.BodySpecisEqualToメソッドを呼び出すと、ぬるぽる。

webTestClient.get()
    .exchange()
    .expectBody(MyApiBody::class.java).isEqualTo<Nothing>(expectedBody)

isEqualToを呼び出すためには、その型引数としてNothingを指定する必要がある(そうしないと、コンパイルが通らない)。 これを実行するとNullPointerExceptionが発生する。

解決方法

拡張関数のexpectBodyを使用する。 ただし、IDEはこの拡張関数をサジェストしてくれないので、自分でインポートする(サジェストさえしてくれていれば、あまり悩まずに済んだのに...)。

// これをインポート
import org.springframework.test.web.reactive.server.expectBody
webTestClient.get()
    .exchange()
    .expectBody<MyApiBody>().isEqualTo(expectedBody)

コードの見た目もKotlinらしくスッキリし、テストもちゃんと実行される。

参考: [SPR-15692] Kotlin unable to inherit type for WebTestClient#BodySpec - Spring JIRA

30歳になりました!

f:id:ngsw_taro:20180704112944j:plain

本日、30歳の誕生日を迎えました 🎉

やはり、ひとつの区切り感はありますね。 せっかくなので、僕のこれまでのプログラマー人生について話します。

完全にチラ裏の自分語りです。 ドラマチックな展開もなければ、知見も教訓もありません。 ただ、昔のこと、プログラミングを始めた頃のことを思い出して整理してみたら、自分が初心に返るための便利アイテムになるじゃないかなと思い、 記憶があるうちに書いておきます。

簡単にまとめると

  • コンピュータとその面白さを知った
  • Javaは最高のおもちゃだった
  • 勉強会やコミュニティに参加するようになった
  • マイナーなプログラミング言語と出会った
  • 毎日楽しくお仕事してる

これまでの人生を振り返って、一言で表すと「運がよかった」ですね。 夢中になれるもの、仕事としてやっていきたいものが見つかったのは、とてもありがたいことですが、運とか偶然と言うほかありません。 そして、これも運命の巡り合わせとして、いろんな人と出会いました。 それが自分の人生にものすごくプラスになっていて、感謝しかありません。

では本編を。以降、常体で。

続きを読む

Kotlin Fest 2018 開催のお知らせ #kotlinfest #jkug

f:id:ngsw_taro:20180703135034p:plain

本邦初!Kotlin 1day 技術カンファレンス
Kotlin Fest 2018 を開催します!!

日程
2018年8月25日 土曜日
会場
東京コンファレンスセンター品川 5F
主催
日本Kotlinユーザグループ
コンテンツ
2トラック 10セッション、企業展示ブース(予定)

Kotlin Fest 2018 は「Kotlinを愛でる」をビジョンに、Kotlinに関する知見の共有と、Kotlinファンの交流の場を提供する技術カンファレンスです。 プログラミングをより楽しくしてくれるKotlinへの関心は日々高まっており、それが本イベントの開催へと繋がりました。 Kotlinの技術にフォーカスしたコンテンツを取り揃えることで、参加者の皆様にKotlinをより深く学んでいただき、 そして、よりKotlinを好きになっていただけるイベントにするべく、企画を進めております。

2018年の初めに開催されたAndroid業界のトップエンジニア1000名以上が参加する技術カンファレンス「DroidKaigi 2018」のオープニングで、本イベントの開催をサプライズで告知しましたが、Kotlinの応用分野としてはAndroidだけではなく、サーバーサイドなど幅広い分野での活用が期待されており、本イベントも様々な分野の開発者の参加を想定しています。

f:id:ngsw_taro:20180213141845j:plainf:id:ngsw_taro:20180213142235j:plain
DroidKaigi 2018でのサプライズ予告

今後のスケジュールとしては、近日中のイベントページの公開を目指しております。 そして、参加申込の開始は7月中旬を予定しております。

スピーカーは全員、企画・運営チームによって招待させていただいたエンジニアの方々となります。 一部の時間を使って、ライトニングトーク大会のようなものを計画中で、こちらのスピーカーは公募を行う予定です。 あわせて、当日のボランティアスタッフの募集も行います。 詳細は追ってご案内いたします。

また、本イベントに協賛いただける企業様の募集を行っております。

名称 壇上バックパネルに貴社ロゴ ブース出展 or ノベルティ等の配布 イベントWebサイトに貴社ロゴ 無料参加枠
ことり 5名
ひよこ × × 1名

ありがたいことに「ことり」スポンサーについては、すでにいくつかお申込みをいただいております。 定数に達しましたら「ひよこ」スポンサーをご案内させていただくかもしれませんが、よろしくご検討いただけますと幸いです。

ご好評につき「ことり」スポンサーは申込を締め切りました。「ひよこ」スポンサーは引き続き募集していますので、ご検討をよろしくお願いいたします。

お問い合わせは japan-kotlin-user-group@googlegroups.com までお願いいたします。

日本Kotlinユーザグループとしては、初めての大規模イベントですので、至らぬ点もあることと存じますが、みなさまのご理解とお力添えを賜りますよう、よろしくお願い申し上げます。

Have a nice Kotlin!