Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
黒べこ本の話 + Ktor試してみた #m3kt
Search
Taro Nagasawa
October 02, 2017
Programming
5k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
黒べこ本の話 + Ktor試してみた #m3kt
どこでもKotlin #2(
https://m3-engineer.connpass.com/event/65588/)で発表したスライドです
。
Taro Nagasawa
October 02, 2017
More Decks by Taro Nagasawa
See All by Taro Nagasawa
Android開発者のための Kotlin Multiplatform入門
ntaro
0
1.8k
Kotlin 最新動向2022 #tfcon #techfeed
ntaro
1
2.4k
#Ubie 狂気の認知施策と選考設計
ntaro
14
14k
UbieにおけるサーバサイドKotlin活用事例
ntaro
1
1.2k
KotlinでSpring 完全理解ガイド #jsug
ntaro
6
3.7k
Kotlinでサーバサイドを始めよう!
ntaro
1
1.1k
Androidからサーバーサイドまで!プログラミング言語 Kotlinの魅力 #devboost
ntaro
5
3.1k
Kotlin Contracts #m3kt
ntaro
4
4.4k
How_to_Test_Server-side_Kotlin.pdf
ntaro
1
590
Other Decks in Programming
See All in Programming
thread_parallel_with_free-threaded_Python_and_NumPy.pdf
riku_sakamoto
0
200
AWS Step Functions 大規模並列の壁を越える / jaws-sonic-2026-niigata-step-functions
kasacchiful
PRO
1
420
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
260
Foundry Localでエージェント開発
seosoft
0
160
高専キャリア LT 発表内容
crysta1221
6
5.6k
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
2
220
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
130
Can LLMs Replicate 4 Years of Compose Migration? Exploring the boundaries of automation with 279 XML files from a real product
makun
0
130
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
1k
巨大モノリシックアプリ モダン化大作戦
ktcryomm
0
300
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
4
3.6k
Omarchy Tokyo やると聞いて UMPC 買ってセットアップしてきた
mtsmfm
0
110
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
980
Technical Leadership for Architectural Decision Making
baasie
3
560
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
270
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Writing Fast Ruby
sferik
630
63k
My Coaching Mixtape
mlcsv
0
310
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
660
Everyday Curiosity
cassininazir
0
310
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
230
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Automating Front-end Workflow
addyosmani
1369
210k
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かなぁ
• まだベータ版なので今後が楽しみ ◦ コントリビュートするチャンス!
ご静聴 ありがとうございました