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
7.2k
Other Decks in Technology
See All in Technology
Cloud Native PG 使ってみて気づいたことと最新機能の紹介 - 第52回PostgreSQLアンカンファレンス
seinoyu
2
250
ペアプログラミングにQAが加わった!職能を超えたモブプログラミングの事例と学び
tonionagauzzi
1
150
日本MySQLユーザ会ができるまで / making MyNA
tmtms
1
380
AWS CDK コントリビュート はじめの一歩
yendoooo
1
120
Enterprise AI in 2025?
pamelafox
0
110
ルートユーザーの活用と管理を徹底的に深掘る
yuobayashi
7
740
銀行でDevOpsを進める理由と実践例 / 20250317 Masaki Iwama
shift_evolve
1
130
RAGの基礎から実践運用まで:AWS BedrockとLangfuseで実現する構築・監視・評価
sonoda_mj
0
460
Amebaにおける Platform Engineeringの実践
kumorn5s
4
630
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
20k
大規模アジャイル開発のリアル!コミュニケーション×進捗管理×高品質
findy_eventslides
0
630
Road to SRE NEXT@仙台 IVRyの組織の形とSLO運用の現状
abnoumaru
1
430
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
172
14k
GitHub's CSS Performance
jonrohan
1030
460k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
118
51k
A Tale of Four Properties
chriscoyier
158
23k
Git: the NoSQL Database
bkeepers
PRO
429
65k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
A better future with KSS
kneath
238
17k
We Have a Design System, Now What?
morganepeng
51
7.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
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ͰϖΞͷ૬खΛຖϩʔςʔγϣϯ͠ͳ͕Β
͍͍͜ͱʁ • ͠ͳ͕Βઃܭ • ޓ͍ͷࣝަ • ʮͳͥͦ͏ߟ͑ ͨͷ͔ʁʯͱ͍
͏ίʔνϯά • ଐਓԽղফ
͞Βʹʁ • ҰਓΑΓೋਓ Ͱߟ͑ͨͷͷ ํ͕ࣗ৴͕ग़Δ • ࣗͨͪͰܾΊ Δɺͱ͍͏ҙࢥ
ܾఆܦݧ
ଞͷʁ ٿͰͷϦϑϨογϡɻϖΞͱͷ࿈ܞྗ্
ଞͷʁ ۀېࢭ ʢཧ৬ͪΐͬͱ͚͍ͩʣ
ͦͷ݁Ռ͓͖ͨ͜ͱ • ۀ͕ݮͬͨ • ペアプロは疲れるのもある • 新しいことに時間を使える • ҙݟަ͕׆ൃʹ •
ϏδωεΛࢭΊͳ͍γεςϜมߋ
·ͱΊ ٕज़Ξϓϩʔν • ͘͢Δ͜ͱΛٻ ৫Ξϓϩʔν • ձΛ૿͢ •
ҰਓΑΓೋਓͷߟ͑
͋͘Γଓ͚Δ͜ͱ Ϟμϯͷۙಓ