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
運用中の JavaプロジェクトにKotlinを導入した話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
mkimura
October 23, 2017
Technology
290
0
Share
運用中の JavaプロジェクトにKotlinを導入した話
mkimura
October 23, 2017
Other Decks in Technology
See All in Technology
「QA=テスト」「シフトレフト=スクラムイベントの参加者の一員」の呪縛を解く。アジャイルな開発を止めないために、10Xで挑んだ「右側のしわ寄せ」解消記 #scrumniigata
nihonbuson
PRO
5
1.4k
Claude Codeウェビナー資料 - AWSの最新機能をClaude Codeで高速に検証する
oshanqq
0
630
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.5k
Swift Sequence の便利 API 再発見
treastrain
1
280
AIエージェントの支払い基盤 AgentCore Payments概要
kmiya84377
2
180
Terragrunt x Snowflake + dbt で作るマルチテナントなデータ基盤構築プラットフォーム
gak_t12
0
140
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
210
2026年春のAgentCoreアプデ 細かいやつ全部まとめ
minorun365
4
230
AIのための特別なアーキテクチャはいらない 0→1開発で実践した設計原則とガードレール
kaminashi
0
120
AI 時代の Platform Engineering
recruitengineers
PRO
1
190
PdM・Eng・QAで進めるAI駆動開発の現在地/aidd-with-pdm-eng-qa
shota_kusaba
0
230
Tachikawa.any 運営挨拶
daitasu
0
170
Featured
See All Featured
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
210
Ethics towards AI in product and experience design
skipperchong
2
270
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.4k
The Spectacular Lies of Maps
axbom
PRO
1
740
The Pragmatic Product Professional
lauravandoore
37
7.3k
Designing Powerful Visuals for Engaging Learning
tmiket
1
360
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Skip the Path - Find Your Career Trail
mkilby
1
120
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.5k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
110
A better future with KSS
kneath
240
18k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
150
Transcript
運用中の Javaプロジェクトに Kotlinを導入した話 #m3kt どこでもKotlin #3 秋のLT大会
自己紹介 • 木村 正弘 • 株式会社サイバーエージェント(中途入社4年目) • アメーバピグ サーバーサイドエンジニア •
ゲームが好き(PSNトロフィーレベル12) • PlaystationHomeにハマって以来、理想のコミュニティーサービス を追い求めている
今日のテーマ
もくじ • 前提 • 導入の動機 • 候補 • 迷い •
勉強会 • 比較 • 本番リリースに向けて • 導入後 • 今後の展望
前提 • アメーバピグはサービス開始から8年半 • サーバーサイドはJava • 既存のコードは100万行以上 (ー_ー;) • 自社の技術ブログに書いた内容と重複あり
導入の動機 • 社内でのトレンドはJava→Node.js→Go • 他部署への人材流出 • (> 2つの言語をメンテするデメリット)
候補 • Scala • Go • Kotlin
迷い 候補から絞りきれなかったので 迷いも含めてメンバーを巻き込む
勉強会 • Scala, Go, Kotlin • 資料はよさげなサイトを使う • 実習としてWebの掲示板を作成 •
1言語ごとに振り返り
比較 好み プロジェク ト マッチ 社内から の採用 社外から の採用 教育
合計 重み 100% 100% 40% 30% 30% Scala 5 4 4→1.6 2→0.6 2→0.6 11.8 Go 3 3 4→1.6 3→0.9 4→1.2 9.7 Kotlin 4 5 2→0.8 2→0.6 4→1.2 12.6 • 定量化する • 説明順序は定量→定性 • コスト削減になる場合は具体的に書く
本番リリースに向けて • コード的にはpom.xmlの修正だけ • リスクの少ないプロセスから • テスト用の機能を追加 • レイヤー(Controller, Service,
Dao)も除々に
やらなかったこと(時間があれば) • サブシステムとして独立させない • 既存JavaコードのKotlin置き換えはしない • Gradleの導入はしない
導入後 • 導入がゴールではない! • チーム内で活発に使われるか • チームメンバーが興味を持ててるか • チームメンバーが成長できるか •
組織の外からみて気になる状態
今後の展望 • JRebel導入(済み) • Google App EngineでKotlin(新規開発で検証中) • AndroidでKotlin一気通貫の開発 ◦
通信はRPC ◦ ローカルのテストではサーバープロセス上げない • インラインテストデータ作成ツール
ご清聴ありがとうございました