今週は第64回を開催しました!
引き続きKotlin Hands-onをすすめています。
前回の様子はコチラ↓
[第64回の様子]
2021/5/19に第64回を開催した。
今週は久しぶりのメンバーも来てくれて、参加メンバーは自分をいれて5名だった。
自分は今週もナビゲータ役で参加。
勉強会本編の内容としては、Introduction to Coroutines and Channelsハンズオンのラスト、第9章Testing coroutines
を最後まで進めた。
その後何をするか軽く話し合ったところ、Kotlin/Nativeを扱うIntroduction to Kotlin/Nativeハンズオンにチャレンジすることに。今週は第1章から第2章までを進めた。
[学んだことや疑問点]
- Introduction to Coroutines and Channels: 9. Testing Coroutines
- 仮想時間の概要は先週まなんだとおりなので、以下4つのテストを修正しよう、というタスク。
Request4SuspendKtTest.kt Request5ConcurrentKtTest.kt Request6ProgressKtTest.kt Request7ChannelsKtTest.kt
- 先週学んだ通りに、
runBlocking
をrunBlockingTest
に変更し、System.currentTimeMillis()
をTestCoroutineScopeのcurrentTime
に変更し、テストクラスに@OptIn(ExperimentalCoroutinesApi::class)
アノテーションを付与する。これだけ。 - 実際に4秒数百ミリ秒かかっていたテストが、数百ミリ秒で完了するようになったのを目の当たりにして感激。すごいなー
- 仮想時間に関するより詳細な情報はここにまとまっている
- Introduction to Kotlin/Native: 1. A native HTTP Client
- 新しいハンズオン、Kotlin/Native。
- 2020年年末に1人アドベントカレンダーをやったのが思い出される……
- このハンズオンではシンプルなHTTP GETリクエストを実行するクライアントを実装する
- Introduction to Kotlin/Native: 2. Creating a Kotlin/Native project
- こちらが自分のプロジェクト作成画面
- ハンズオンのリポジトリを見るとmacOSに限定したGradleの設定ファイルになっており、Windowsユーザーの参加者もいたことから、新規でプロジェクトを作り直すことに。
- 今週はプロジェクトを作ったところでおしまい
[まとめ]
モブプログラミング・スタイルで、Introduction to Coroutines and ChannelsハンズオンとIntroduction to Kotlin/Nativeハンズオンを進めた。
半年ぶりにKotlin/Nativeやっていくぞ!
今週のプルリクエストはこちら。