今週は第46回を開催しました。引き続きKotlin Hands-onをすすめています。
前回の様子はコチラ↓
[第46回の様子]
2021/1/6に第46回を開催した。
2021年の初回である。思い浮かんでしまったので仕方なく、人が集まりきる前に「Kotlinもよろしくお願いします」と新年の挨拶をした。
参加メンバーは自分をいれて5名。
勉強会本編の内容としては、新たにCreating an interactive website with Ktorというハンズオンに着手した。11個公開されているハンズオンの中で3つあるKtorシリーズの中で唯一未実施だった。Coroutine系ハンズオンに進むべきかとも思ったが、せっかくKtorに触れたので最後までやろうという話に。
ハンズオンの前半3章を終わらせることができた。
[学んだことや疑問点]
- Creating an interactive website with Ktor: 1. Introduction
- プロジェクトのゴールとして、ジャーナルアプリの完成形が提示された
- Ktorを利用した静的コンテンツの配信、freemarkerを利用したHTMLテンプレートの利用、kotlinx.htmlライブラリを利用した動的なHTMLをKotlinで実装する方法などが学べるとのこと
- Creating an interactive website with Ktor: 2. Project Setup
- 利用するライブラリは以下の4つ(とログ出力用のlogback
- ktor-server-core
- ktor-server-netty
- ktor-freemarker
- ktor-html-builder
- Creating an interactive website with Ktor: 3. Static files and pages
- 静的コンテンツを配信するためにはApplication.ktを以下のように修正する
import io.ktor.application.Application import io.ktor.http.content.static import io.ktor.http.content.resources import io.ktor.routing.routing fun main(args: Array<String>): Unit = io.ktor.server.netty.EngineMain.main(args) fun Application.module() { routing { static("/static") { // 静的コンテンツ配信URLパスを定義 resources("files") // 静的コンテンツの配置されているパスを定義 } } }
- これで静的コンテンツ(画像ファイル)が配信できることをサーバーを起動して確認
- aboutme.htmlを追加して、同様に配信できることを確認
[まとめ]
モブプログラミング・スタイルで、Creating an interactive website with Ktorハンズオンに取り組み始めた。
Ktorでの静的コンテンツの配信方法を学んだ。
今週の進捗は以下のプルリクエストにまとまっている。