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
モダンなシステム構成を取り入れ続けることができる組織作り #iosdc
Search
mao
September 16, 2017
Technology
10
4.6k
モダンなシステム構成を取り入れ続けることができる組織作り #iosdc
iOSDCで発表した内容です
mao
September 16, 2017
Tweet
Share
More Decks by mao
See All by mao
ヤフーアプリの品質向上戦略
nishimao
4
2.5k
ドッグフーディングしやすい環境を整える
nishimao
15
7k
Other Decks in Technology
See All in Technology
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
Lexical Analysis
shigashiyama
1
150
Incident Response Practices: Waroom's Features and Future Challenges
rrreeeyyy
0
160
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
170
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
iOS/Androidで同じUI体験をネ イティブで作成する際に気をつ けたい落とし穴
fumiyasac0921
1
110
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
VideoMamba: State Space Model for Efficient Video Understanding
chou500
0
190
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
200
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
520
39k
Producing Creativity
orderedlist
PRO
341
39k
Writing Fast Ruby
sferik
627
61k
Speed Design
sergeychernyshev
24
610
It's Worth the Effort
3n
183
27k
Facilitating Awesome Meetings
lara
50
6.1k
Raft: Consensus for Rubyists
vanstee
136
6.6k
Automating Front-end Workflow
addyosmani
1366
200k
The Cult of Friendly URLs
andyhume
78
6k
Why Our Code Smells
bkeepers
PRO
334
57k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
89
Transcript
݄ ຏԧ ϞμϯͳγεςϜߏΛऔΓೖΕ ଓ͚Δ͜ͱ͕Ͱ͖Δ৫࡞Γ
ࣗݾհ ໊લ ຏԧʢʹ͠ ·͓ʣ ࠷ۙͷࣄ !NBP@OJTIJ
γεςϜߏͷมߋ େมͰ͢ΑͶ
ͭͬͨ͘ޙ ࠷ߴʹ͖Ε͍ͳίʔυ͕ॻ͚ͨʂ
ೋिؒޙ
ޙ͔Βࢥ͏͜ͱ ࡞ͬͨ࣌ʹ͍͍ײ͡ʹͰ͖ͨͭ Γͩͬͨͷʹɾɾ ୭ͩ͜ͷίʔυॻ͍ͨͷ
ੈͷதมԽ͕͍ • ৽͍͠ػೳՃ • ϢʔβχʔζͷมԽ • ݴޠͷਐԽ
ਐา͢ΔΞʔΩςΫνϟ • .7$ • .71 • .77. • $MFBO
"SDIJUFDIUVSF • 'MVY ҰํͰطଘγεςϜͷ ֦ுۀ
৽͍͠ΞʔΩςΫνϟΛΔ͜ͱ ੈͷதͷ՝ΛΔνϟϯε • ҋӢͳಋೖྑ͘ͳ͍ • ͚ͩͲ࣮ફ͠ͳ͍ͱཧղ͕ਂ· Βͳ͍
Ϗδωεଆ͔ΒݟΔͱ γεςϜߏม͑ͳ͍બ ҆ఆՔಇ͍ͯ͠Δ͠ɺʑֶशίετԼ͕Δ
ٕज़ϩοΫΠϯ ͯ͠͠·͏যΓ
ཧͷ͔ͨͪ • ΞϓϦͷʹ͋Θͤͨγες Ϝߏݟ͠ • ͔͠ϏδωεΛࢭΊͣʹ
• ٕज़Ξϓϩʔν • ৫Ξϓϩʔν ྆ํ͕ඞཁ Ͳ͏͢Δʁ
ͨͲΓண͍ͨਅཧͷڞ༗ • ϦϦʔεͷΞϓϦ • Λ͑Δ4UPSZCPBE • Λ͑ΔιʔεϑΝΠϧ
ٕज़Ξϓϩʔν
ٕज़Ξϓϩʔν • ৽͍͠ΞʔΩςΫνϟΛࢼ͢ • プロトタイプで試す • ここはまずやりましょう ·ͣখͬͯ͘͞ΈΔ
ίϯύΠϧ͕େࣄ • ͳͥʁ • 未知なことをやるから • あーでもないこーでもないがおきる • 開発のリズムが崩れる
πʔϧͰܭଌ #VJME5JNF"OBMZ[FSGPS9DPEF • Ϋϥεɺؔ୯ҐͰ͕͔Δ
վળύλʔϯͷྫ • ԋࢉࢠͷॲཧΛݮΒ͢ʢTॖʣ • もちろん遅くなっているところだけでいい • ྻͷՃΛݮΒ͢ʢTॖʣ • ArrayOfStuff +
[Stuff] → ArrayOfStuff.append(stuff) • ࡾ߲ԋࢉࢠΛݮΒ͢ʢTॖʣ • 遅くなっているところだけ
·Ίࣝ ίϯύΠϧ͕ ͍ͱϫʔχϯά Λݟͯݟ͵;Γ͢ Δ͜ͱ͋Δ
ΑΓ͘ίϯύΠϧ ͢ΔͨΊʹ
γεςϜΛׂ͢Δ • ͳͥʁ • プリビルドができる • 脳のコンパイル速度もあがる • ここから先はシステムが別 •
毎回の全体コンパイルを避ける • CDがより高速に
ΞϯϒϨϥπϦʔ ϝϦοτɿࢹ֮తʹ͍ۙॴʹஔͰ͖Δ
%ZOBNJD'SBNFXPSL ϝϦοτɿকདྷతʹผ3FQPʹΓग़͍͢͠
%'SBNFXPSLΛผ3FQPʹ ϝϦοτɿผϓϩδΣΫτʹڞ༗ɺϓϦϏϧυՄ
ׂ͢Δͱʁ Ұ෦ͷػೳͷγεςϜߏΛมߋ ͢Δ͜ͱ͕Ͱ͖Δ MVC MVVM
%'SBNFXPSLຖͷઃܭ 画面名 設計 解決したかった 課題 トップ MVVM Viewの更新タイミングを統一した い 商品詳細
コードベースの 画面設計 Storyboardマージしたくない、UIの テストコードを書きやすくしたい その他 MVC よく知られている構成で、新規メ ンバ参画を容易に
ͪΖΜ՝ γεςϜ͕ෳࡶԽ͢ΔͷͰʁ • ͦͷ௨Γ • しかし、システム全刷新の選択は 容易ではない • ࣮ܦݧ͕࠷దղΛ୳ͨ͢Ίͷ ݂ͱͳΓͱͳΔ
৫Ξϓϩʔν
Α͍৫ɺνʔϜ ʹԿ͕ඞཁʁ • ৽͍͠ߟ͑ํΛऔΓೖΕΔڥ • 一方的な知識のインプット? • さてどうやる?
࣮ࡍͲ͏͍ͬͯΔʁ 91ͰϖΞͷ૬खΛຖϩʔςʔγϣϯ͠ͳ͕Β
͍͍͜ͱʁ • ͠ͳ͕Βઃܭ • ޓ͍ͷࣝަ • ʮͳͥͦ͏ߟ͑ ͨͷ͔ʁʯͱ͍
͏ίʔνϯά • ଐਓԽղফ
͞Βʹʁ • ҰਓΑΓೋਓ Ͱߟ͑ͨͷͷ ํ͕ࣗ৴͕ग़Δ • ࣗͨͪͰܾΊ Δɺͱ͍͏ҙࢥ
ܾఆܦݧ
ଞͷʁ ٿͰͷϦϑϨογϡɻϖΞͱͷ࿈ܞྗ্
ଞͷʁ ۀېࢭ ʢཧ৬ͪΐͬͱ͚͍ͩʣ
ͦͷ݁Ռ͓͖ͨ͜ͱ • ۀ͕ݮͬͨ • ペアプロは疲れるのもある • 新しいことに時間を使える • ҙݟަ͕׆ൃʹ •
ϏδωεΛࢭΊͳ͍γεςϜมߋ
·ͱΊ ٕज़Ξϓϩʔν • ͘͢Δ͜ͱΛٻ ৫Ξϓϩʔν • ձΛ૿͢ •
ҰਓΑΓೋਓͷߟ͑
͋͘Γଓ͚Δ͜ͱ Ϟμϯͷۙಓ