今週は第44回を開催しました。引き続きKotlin Hands-on編です!
前回の様子はコチラ↓
[第44回の様子]
2020/12/16に第44回を開催した。
参加メンバーは自分をいれて5名。この1ヶ月くらいで参加してくれたひとが勢ぞろい、という感じのメンツ。
勉強会本編の内容としては、前回に引き続きCreating a WebSocket Chat with Ktorハンズオンに取り組み、4章Exchanging messagesを最後まで完了した。
[学んだことや疑問点]
- Creating a WebSocket Chat with Ktor: 4. Exchanging messages
- 前回実装したエコーサーバーにチャット機能を追加する
- コネクションのID管理:一意のIDを払い出すのにAtomicIntegerを用いる
class Connection(val session: DefaultWebSocketSession) { companion object { var lastId = AtomicInteger(0) } val name = "user${lastId.getAndIncrement()}" }
val connections = Collections.synchronizedSet<Connection?>(LinkedHashSet()) val thisConnection = Connection() connections += thisConnection connections -= thisConnection
- こういうのKotlin Examplesで教えて欲しかったな……
- 今回も、実装したコードを以下のサイト経由でテスト。チャットは無事動いた
[まとめ]
モブプログラミング・スタイルで、WebSocket Chat with Ktorハンズオンに取り組んでいる。
今週もCollectionの操作方法など、新しい学びがあった!
今週の進捗は以下のプルリクエストにまとまっている。