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.1k
Other Decks in Technology
See All in Technology
Goで実践するBFP
hiroyaterui
1
120
ゼロからわかる!!AWSの構成図を書いてみようワークショップ 問題&解答解説 #デッカイギ #羽田デッカイギおつ
_mossann_t
0
1.5k
カップ麺の待ち時間(3分)でわかるPartyRockアップデート
ryutakondo
0
140
Godot Engineについて調べてみた
unsoluble_sugar
0
440
2024年活動報告会(人材育成推進WG・ビジネスサブWG) / 20250114-OIDF-J-EduWG-BizSWG
oidfj
0
250
AIアプリケーション開発でAzure AI Searchを使いこなすためには
isidaitc
1
130
デジタルアイデンティティ技術 認可・ID連携・認証 応用 / 20250114-OIDF-J-EduWG-TechSWG
oidfj
2
700
駆け出しリーダーとしての第一歩〜開発チームとの新しい関わり方〜 / Beginning Journey as Team Leader
kaonavi
0
130
Azureの開発で辛いところ
re3turn
0
240
今から、 今だからこそ始める Terraform で Azure 管理 / Managing Azure with Terraform: The Perfect Time to Start
nnstt1
0
240
【Oracle Cloud ウェビナー】2025年のセキュリティ脅威を読み解く:リスクに備えるためのレジリエンスとデータ保護
oracle4engineer
PRO
1
100
デジタルアイデンティティ人材育成推進ワーキンググループ 翻訳サブワーキンググループ 活動報告 / 20250114-OIDF-J-EduWG-TranslationSWG
oidfj
0
550
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
50
11k
A Philosophy of Restraint
colly
203
16k
Unsuck your backbone
ammeep
669
57k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
YesSQL, Process and Tooling at Scale
rocio
170
14k
We Have a Design System, Now What?
morganepeng
51
7.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Agile that works and the tools we love
rasmusluckow
328
21k
Done Done
chrislema
182
16k
Automating Front-end Workflow
addyosmani
1366
200k
Scaling GitHub
holman
459
140k
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ͰϖΞͷ૬खΛຖϩʔςʔγϣϯ͠ͳ͕Β
͍͍͜ͱʁ • ͠ͳ͕Βઃܭ • ޓ͍ͷࣝަ • ʮͳͥͦ͏ߟ͑ ͨͷ͔ʁʯͱ͍
͏ίʔνϯά • ଐਓԽղফ
͞Βʹʁ • ҰਓΑΓೋਓ Ͱߟ͑ͨͷͷ ํ͕ࣗ৴͕ग़Δ • ࣗͨͪͰܾΊ Δɺͱ͍͏ҙࢥ
ܾఆܦݧ
ଞͷʁ ٿͰͷϦϑϨογϡɻϖΞͱͷ࿈ܞྗ্
ଞͷʁ ۀېࢭ ʢཧ৬ͪΐͬͱ͚͍ͩʣ
ͦͷ݁Ռ͓͖ͨ͜ͱ • ۀ͕ݮͬͨ • ペアプロは疲れるのもある • 新しいことに時間を使える • ҙݟަ͕׆ൃʹ •
ϏδωεΛࢭΊͳ͍γεςϜมߋ
·ͱΊ ٕज़Ξϓϩʔν • ͘͢Δ͜ͱΛٻ ৫Ξϓϩʔν • ձΛ૿͢ •
ҰਓΑΓೋਓͷߟ͑
͋͘Γଓ͚Δ͜ͱ Ϟμϯͷۙಓ