Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
黒べこ本の話 + Ktor試してみた #m3kt
Search
Taro Nagasawa
October 02, 2017
Programming
1
4.9k
黒べこ本の話 + Ktor試してみた #m3kt
どこでもKotlin #2(
https://m3-engineer.connpass.com/event/65588/)で発表したスライドです
。
Taro Nagasawa
October 02, 2017
Tweet
Share
More Decks by Taro Nagasawa
See All by Taro Nagasawa
Android開発者のための Kotlin Multiplatform入門
ntaro
0
1.3k
Kotlin 最新動向2022 #tfcon #techfeed
ntaro
1
2.3k
#Ubie 狂気の認知施策と選考設計
ntaro
13
14k
UbieにおけるサーバサイドKotlin活用事例
ntaro
1
1.2k
KotlinでSpring 完全理解ガイド #jsug
ntaro
6
3.6k
Kotlinでサーバサイドを始めよう!
ntaro
1
1k
Androidからサーバーサイドまで!プログラミング言語 Kotlinの魅力 #devboost
ntaro
5
2.9k
Kotlin Contracts #m3kt
ntaro
4
4.3k
How_to_Test_Server-side_Kotlin.pdf
ntaro
1
540
Other Decks in Programming
See All in Programming
AI 開発合宿を通して得た学び
niftycorp
PRO
0
120
OTP を自動で入力する裏技
megabitsenmzq
0
100
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
180
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
200
AI Assistants for Your Angular Solutions
manfredsteyer
PRO
0
140
Ruby x Terminal
a_matsuda
7
600
Claude Codeログ基盤の構築
giginet
PRO
7
3.2k
モダンOBSプラグイン開発
umireon
0
120
Understanding Apache Lucene - More than just full-text search
spinscale
0
110
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
190
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
180
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
750
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
310
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Designing Powerful Visuals for Engaging Learning
tmiket
0
270
The Spectacular Lies of Maps
axbom
PRO
1
620
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
390
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
200
Building an army of robots
kneath
306
46k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.5k
WCS-LA-2024
lcolladotor
0
480
Transcript
黒べこ本の話 + Ktor試してみた 2017-09-28 どこでもKotlin #m3kt 長澤太郎 @ngsw_taro
自己紹介 • 長澤 太郎(たろーって呼んでね) • @ngsw_taro • エムスリー株式会社 • ディズニーが大好き!
エムスリーは 国内最大規模の 医療情報プラット フォームを開発・ 運営しています。 エンジニア募 集中!
祝☆新刊 10/6発売
概要 • 「Kotlin Webアプリケーション」 • リックテレコム社 • 10/6発売 • 284ページ
• 3部構成 • 3,000円(税別)
第1部 • Kotlin言語について詳解 • Kotlinの概要と誕生の背景 • 開発環境の紹介、構築方法 • 文法と言語機能 •
Javaとの相互運用性 • Kotlin ver1.1について
第2部 • 簡単なWebアプリケーションの開発 ◦ TODOリスト ◦ DBを持たない ◦ 画面を持たない(REST API)
• Spark Framework
第3部 • ちょっと本格的なWebアプリ開発 ◦ TODOリスト ◦ DBを持つ(インメモリ、ファイル) ◦ 画面を持つ(Thymeleaf) ◦
テスト ◦ Heroku • Spring Boot
Re:VIEW ソースファイル PDF, TXTにビルド 編集さん メール 執筆環境 PDFを読む TXTを読む
Kotlinについて 詳しい スピード重視 かなり詳しい 特徴 Kotlinについて詳しい解 説(私の書き下ろし) Androidアプリ開発での 活用方法を解説。 Webアプリケーションの
開発にKotlinを使う。 Web初心者でも読み進め られる内容。Kotlin 1.1の 一部機能や文法について も解説。 これさえ読めばKotlin博 士になれるレベル。 Androidなどの応用につ いてはあまり言及されて いない。 どの本を読めばいいのか?
Ktor試してみた
Ktorとは • KotlinのためのWebマイクロフレームワーク • 非常に薄く、余分な機能は3rdパーティ任せ ◦ ロギング、永続化、テンプレートエンジン、DI ◦ サーブレットコンテナ: Tomcat,
Jetty, Netty • DSL ◦ ラムダ(特に拡張関数としてのラムダ)を多様 ◦ 宣言的にプログラムを組み立てる • ノンブロッキング ◦ 複雑な非同期プログラミングをコルーチンで
Hello World fun main(args: Array<String>) { embeddedServer(Netty, 8080) { routing
{ get("/hello") { call.respondText("Hello, world") } }.start(wait = true) } }
Hello World fun main(args: Array<String>) { embeddedServer(Netty, 8080) { install(Routing)
{ get("/hello") { call.respondText("Hello, world") } }.start(wait = true) } }
Ktorの主要な登場人物 • Application • ApplicationCall • ApplicationFeature
ところで • 「黒べこ本」で扱う題材 ◦ TODOリスト Spark Framework ◦ TODOリスト Spring
Boot • 購入者特典 ◦ 各ソースファイル一式 ◦ 導入のための解説動画
TODOリスト Ktorバージョンを公開しました https://github.com/ntaro/todolist-ktor
ちょっとだけ触ってみた所感 • Sparkと比べると癖がある ≒ 学習コスト高め? • すでに用意されているAPIを触る分には、コルーチンを意識す る必要はなさそう • 業務で使うならSpringかなぁ
• まだベータ版なので今後が楽しみ ◦ コントリビュートするチャンス!
ご静聴 ありがとうございました