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
AndroidエンジニアがRailsにチャレンジしてる理由
Search
きりみん
June 26, 2020
Programming
1
1.5k
AndroidエンジニアがRailsにチャレンジしてる理由
きりみん
June 26, 2020
Tweet
Share
More Decks by きりみん
See All by きりみん
What are AtCoder and competitive programming
kirimin
0
9.9k
バーチャル男声幼女プログラマーとして活動した1年間の振り返り
kirimin
0
1k
アプリエンジニアでも神絵師になりたい!
kirimin
4
5.3k
Watashi ni Kotlin ga maiorita
kirimin
0
490
NEMのAPIとモザイクであそぼう
kirimin
0
360
はじめようきれいなコード
kirimin
8
3k
Material Components for Android触ってみる
kirimin
7
1.9k
[社内LT]あたらしいMaterial Design
kirimin
1
1.7k
Hello-kirimin-chan
kirimin
0
130
Other Decks in Programming
See All in Programming
MCP with Cloudflare Workers
yusukebe
2
220
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
190
Асинхронность неизбежна: как мы проектировали сервис уведомлений
lamodatech
0
620
CSC509 Lecture 14
javiergs
PRO
0
130
return文におけるstd::moveについて
onihusube
1
650
快速入門可觀測性
blueswen
0
310
CSC305 Lecture 26
javiergs
PRO
0
140
rails stats で紐解く ANDPAD のイマを支える技術たち
andpad
1
290
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
useSyncExternalStoreを使いまくる
ssssota
6
1k
Go の GC の不得意な部分を克服したい
taiyow
2
760
선언형 UI에서의 상태관리
l2hyunwoo
0
140
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Building Adaptive Systems
keathley
38
2.3k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
A better future with KSS
kneath
238
17k
Become a Pro
speakerdeck
PRO
26
5k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Gamification - CAS2011
davidbonilla
80
5.1k
BBQ
matthewcrist
85
9.4k
Transcript
AndroidΤϯδχΞ͕ RailsʹνϟϨϯδͯ͠Δཧ༝ ઓ͍͜Ε͔Βͩฤ @kirimin 2020/06/26
ࣗݾհ • ͖ΓΈΜ͞ΜͱݺΕ͍ͯΔਓͰ͢ɻ • ϑϦʔϥϯεͰ4݄͔ΒۀҕୗͰೖΓ·ͨ͠ • ৽ଔҎདྷ8͘Β͍ͣͬͱ΄΅Android͖ͬͯ·ͨ͠ • αʔόʔαΠυ΄΅ૉਓͰ͕͢AndroidλεΫ͜ͳ͠ͳ͕Βαʔ όʔαΠυ৮ΒͤͯΒ͏ͱ͍͏ਆܖΛ͍͖ͯͨͩ͠·ͨ͠
εΩϧηοτ • Android։ൃେখ༷ʑͳ৫Ͱ͍Ζ͍Ζ͖ͬͯ·ͨ͠ • ٕज़ΤϯτϦॻ͍ͨΓLTͨ͠Γొஃͨ͠Γͯ͠AndroidίϛϡχςΟͰΘΓͱϫΠϫΠ ͬͯ·ͨ͠ • େଔ͡Όͳ͍͚ͲҰԠجຊతͳCSͷࣝ͋Δ • ίʔυઃܭͱ͔νʔϜ։ൃؔ࿈ͳͲͷ༗໊ͳٕज़ॻҰ௨ΓಡΜͰΔ
• ϞμϯϑϩϯτΤϯυͪΐͬͱͰ͖Δ • ΠϯϑϥɺωοτϫʔΫɺDB·ΘΓऑ͍ • ࠷ۙڝϓϩ͕झຯͰଟগΞϧΰϦζϜܭࢉྔʹৄ͘͠ͳͬͨ
ͳͥόοΫΤϯυΛΓ͍ͨͷ͔
AndroidΤϯδχΞதͷةػ • 20લ • ࣄ࢝Ίͨ࣌ظͱεϚϗ։ൃ͕ීٴͨ࣌͠ظ͕߹͍ͬͯͨͷͰए͍ ࠒ৽͘͠ग़ͯ͘ΔͷΛΩϟονΞοϓ͢ΕධՁ͞Εͨ • ϞόΠϧ։ൃʹߜͬͯษڧ͢Δ͜ͱ͕ͨ͘͞Μ͋ͬͨ • ϞόΠϧ։ൃʹٕज़తͳ՝ײ͕ͨ͘͞Μ͋ͬͨ
• ·ͩ·ͩए͍͠ಘҙͳ͜ͱΛͬͯධՁ͞Ε͔ͨͬͨ
AndroidΤϯδχΞதͷةػ • 20ޙ(͜ͷ) • ϞόΠϧͷ։ൃڥ͕ރΕ͖ͯͯେ͖ͳٕज़తτϐοΫ͕গͳ͘ͳͬͨ • ΞϓϦ։ൃʹٕज़తͳ՝Λ͋·Γײ͡ͳ͘ͳͬͨ(ΦʔόʔΤϯδχΞϦϯάͷؔ৺ͷԼɺ͍ͩ ͍ͨͷ՝࣮Ҏ֎) • ϞόΠϧ։ൃ͚ͩͰʹٕͭ͘ज़ͷ෯ʹݶք͕͋Δ
• ΠϯϑϥωοτϫʔΫͳͲ͋·Γ৮Βͳ͍ • ෳࡶͳϩδοΫେ͖ͳσʔλΛॲཧ͢ΔΑ͏ͳίʔυ͋·Γॻ͔ͳ͍ • ϞόΠϧͰDBΛૢ࡞͢Δ͜ͱ͋·Γͳ͍ • ͜ͷٕज़తʹ͍ͯ͠ͳ͍ؾ͕͖ͯͨ͠
͜ͷ··ͣͬͱ ϞόΠϧ։ൃ͚͍ͩͬͯ͘ͷ͔ʁ
Ұͷਓੜͬͱ͍Ζ͍Ζͳ͜ͱΛΓ͍ͨ • Γ߹͍ʹ૬ஊ͢ΔͱʮࠓͷڧΈΛ׆͔ͨ͠ํ͕ಘͰʯͱ͍͏ҙݟ ͕ଟ͔ͬͨ • ͔ͨ͠ʹAndroidʹͬͱಛԽ͍ͯ͘͠ಓϞόΠϧʹৄ͍͠EMٕ ज़ސΈ͍ͨͳΩϟϦΞ͋Δ • ͔ͬ͠͠ͱٕज़ྖҬʹͱΒΘΕͣ໘നͦ͏ͳ৬छϓϩμΫτʹ ઓͰ͖ΔΑ͏ʹͳΓ͍ͨ
• ·ͩ·ͩࢥ͍ඳ͘ཧͷΤϯδχΞ૾ʹରͯࣗ͠ʹຬ͍ͯ͠ͳ͍
ࢹΛ͛ΔͨΊʹ ·ͣόοΫΤϯυͷ ܦݧΛੵΈ͍ͨʂ
ͬͯ͜ͳ͔ͬͨޙչ • ۀ΄΅ະܦݧͰࣄͤͯ͘͞ΕΔҊ݅ͳΜͯ΄ͱΜͲͳ͍ • ಛʹϑϦʔϥϯεଈઓྗ͕ٻΊΒΕΔ͠ҭͯͯΒ͏ͷͰͳ͍ • ࠓ·ͰʹͬͱΞϐʔϧ͢ΕAndroidҎ֎ΕΔػձ͕͋ͬͨͷ ʹΒͳ͔ͬͨ͜ͱͷޙչ • ؾ͍͕ͮͨ࣌Ұ൪ૣ͍࣌
• ͱ͍͏Θ͚Ͱ༗Γ͍͜ͱʹRailsΛ৮ΒͤͯΒ͍ͬͯ·͢
ࣄલʹͬͨ͜ͱ • N༧උߍͱ͍͏αʔϏεͷWebΞϓϦίʔεΛधཁ • ϓϩάϥϛϯάೖऀ͚͚ͩͲ͔ͳΓ࣮ફతͰηΩϡϦςΟͷղઆͳͲ͔ͬ͠Γͨ͠༰ • ࠷ऴతʹnode.jsΛͬͯௐ͞ΜΈ͍ͨͳΞϓϦΛ࡞Δ • ࣗྗͰWebΞϓϦΛ࡞ͬͯΈΔ •
KotlinͷܰྔϑϨʔϜϫʔΫKtorΛͬͯϩάΠϯػೳ͖ͭܝࣔ൘Λ࣮ • ϑϩϯτReactͰόοΫΤϯυAPIαʔόʔͱͯ͠։ൃ • Ruby on Rails5श࣮ફΨΠυಡྃ
࣮ફͰײͨ͜͡ͱ • όοΫΤϯυݸਓنͱେ͖ͳαʔϏεͰඞཁͳ͕ࣝશવҧ͏ • ϞόΠϧͷ߹େنαʔϏεͰݸਓ։ൃͰٕज़ελοΫࣗମมΘΒͳ͍ • AWSɺDockerɺΫϥυΠϯϑϥपΓͷ͕ࣝશવΓͳ͍ʂ • ϩʔΧϧͰͷڥߏங͢Βෆ׳Εɺࣄલʹগ͠ݸਓͰͬͯͨͷ͕ٹ͍ͩͬͨ •
RailsڭຊͱݱϨϕϧͰઃܭॻ͖ํ͕શવҧ͏ • ಈతܕ͚ݴޠͷίʔυಡΈղ͘ͷΉ͔͍ͣ͠ʂʂʂʂʂ • ੲษڧͨ͠SQLͷࣝ΄ͱΜͲԱ͑ͯͳ͍…
ϝϯλʔͷ͋Γ͕ͨ͞ • ͻͨ͢ΒίʔυΛͬͨΓάάͬͨΓͯ͠ΜͰ͍Δ͜ͱ͕ϖΞϓϩ ͳͲͰࢦೆͯ͠Β͑ΔͱҰؾʹղܾ͢Δ • ಠֶ͢Δʹਖ਼ղΛڭ͑ͯΒ͑Δͱ͕͔Γ͕͔ͭΈ͍͢ • ͱʹ͔࣮͘ફೖ͞ΕΔ͜ͱͰಠֶͰಘΒΕͳ͍࣮ͷײ֮ࣗ৴ ͕ಘΒΕΔ
ࠓޙ • ͍͏ͯ·ͩҰͭҊ݅Γͬͯͳ͍ • ͘ઓྗʹͳΓ͍ͨ • ࠓޙͱΑΖ͓͘͠Ͷ͕͍͠·͢