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
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
360
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
480
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
720
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
1.5k
データの品質が低いと何が困るのか
kzykmyzw
6
1k
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
15
5.5k
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
2
880
RSNA2024振り返り
nanachi
0
500
管理者しか知らないOutlookの裏側のAIを覗く#AzureTravelers
hirotomotaguchi
1
240
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
730
マルチモーダル理解と生成の統合 DeepSeek Janus, etc... / Multimodal Understanding and Generation Integration
hiroga
0
360
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
5.8k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
YesSQL, Process and Tooling at Scale
rocio
171
14k
Automating Front-end Workflow
addyosmani
1367
200k
A better future with KSS
kneath
238
17k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
BBQ
matthewcrist
86
9.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.4k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Your Own Lightsaber
phodgson
104
6.2k
Building Applications with DynamoDB
mza
93
6.2k
Building Adaptive Systems
keathley
40
2.4k
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ͰϖΞͷ૬खΛຖϩʔςʔγϣϯ͠ͳ͕Β
͍͍͜ͱʁ • ͠ͳ͕Βઃܭ • ޓ͍ͷࣝަ • ʮͳͥͦ͏ߟ͑ ͨͷ͔ʁʯͱ͍
͏ίʔνϯά • ଐਓԽղফ
͞Βʹʁ • ҰਓΑΓೋਓ Ͱߟ͑ͨͷͷ ํ͕ࣗ৴͕ग़Δ • ࣗͨͪͰܾΊ Δɺͱ͍͏ҙࢥ
ܾఆܦݧ
ଞͷʁ ٿͰͷϦϑϨογϡɻϖΞͱͷ࿈ܞྗ্
ଞͷʁ ۀېࢭ ʢཧ৬ͪΐͬͱ͚͍ͩʣ
ͦͷ݁Ռ͓͖ͨ͜ͱ • ۀ͕ݮͬͨ • ペアプロは疲れるのもある • 新しいことに時間を使える • ҙݟަ͕׆ൃʹ •
ϏδωεΛࢭΊͳ͍γεςϜมߋ
·ͱΊ ٕज़Ξϓϩʔν • ͘͢Δ͜ͱΛٻ ৫Ξϓϩʔν • ձΛ૿͢ •
ҰਓΑΓೋਓͷߟ͑
͋͘Γଓ͚Δ͜ͱ Ϟμϯͷۙಓ