Upgrade to Pro — share decks privately, control downloads, hide ads and more …

モダンなシステム構成を取り入れ続けることができる組織作り #iosdc

mao
September 16, 2017

モダンなシステム構成を取り入れ続けることができる組織作り #iosdc

iOSDCで発表した内容です

mao

September 16, 2017
Tweet

More Decks by mao

Other Decks in Technology

Transcript

  1. ೥݄೔

    ੢ ຏԧ
    ϞμϯͳγεςϜߏ੒ΛऔΓೖΕ
    ଓ͚Δ͜ͱ͕Ͱ͖Δ૊৫࡞Γ

    View Slide


  2. ࣗݾ঺հ
    ໊લ
    ੢ ຏԧʢʹ͠ ·͓ʣ
    ࠷ۙͷ࢓ࣄ
    [email protected]

    View Slide

  3. γεςϜߏ੒ͷมߋ
    େมͰ͢ΑͶ

    View Slide

  4. ͭͬͨ͘௚ޙ
    ࠷ߴʹ͖Ε͍ͳίʔυ͕ॻ͚ͨʂ

    View Slide

  5. ೋिؒޙ

    View Slide

  6. ޙ͔Βࢥ͏͜ͱ
    ࡞ͬͨ࣌ʹ͸͍͍ײ͡ʹͰ͖ͨͭ
    ΋Γͩͬͨͷʹɾɾ
    ୭ͩ͜ͷίʔυॻ͍ͨͷ

    View Slide

  7. ੈͷதมԽ͕଎͍
    • ৽͍͠ػೳ௥Ճ
    • ϢʔβχʔζͷมԽ
    • ݴޠͷਐԽ

    View Slide


  8. ਐา͢ΔΞʔΩςΫνϟ
    • .7$
    • .71
    • .77.
    • $MFBO
    "SDIJUFDIUVSF
    • 'MVY
    ҰํͰطଘγεςϜͷ
    ֦ுۀ຿

    View Slide

  9. ৽͍͠ΞʔΩςΫνϟΛ஌Δ͜ͱ
    ੈͷதͷ՝୊Λ஌Δνϟϯε
    • ҋӢͳಋೖ͸ྑ͘ͳ͍
    • ͚ͩͲ࣮ફ͠ͳ͍ͱཧղ͕ਂ·
    Βͳ͍

    View Slide

  10. Ϗδωεଆ͔ΒݟΔͱ


    γεςϜߏ੒͸ม͑ͳ͍બ୒
    ҆ఆՔಇ͍ͯ͠Δ͠ɺ೥ʑֶशίετ΋Լ͕Δ

    View Slide

  11. ٕज़ϩοΫΠϯ
    ͯ͠͠·͏যΓ

    View Slide

  12. ཧ૝ͷ͔ͨͪ
    • ΞϓϦͷ੒௕ʹ͋Θͤͨγες
    Ϝߏ੒ݟ௚͠
    • ͔͠΋ϏδωεΛࢭΊͣʹ


    View Slide

  13. • ٕज़Ξϓϩʔν
    • ૊৫Ξϓϩʔν
    ྆ํ͕ඞཁ


    Ͳ͏͢Δʁ

    View Slide

  14. ͨͲΓண͍ͨਅཧͷڞ༗
    • ೥ϦϦʔεͷΞϓϦ
    • Λ௒͑Δ4UPSZCPBE
    • Λ௒͑ΔιʔεϑΝΠϧ


    View Slide

  15. ٕज़Ξϓϩʔν

    View Slide

  16. ٕज़Ξϓϩʔν
    • ৽͍͠ΞʔΩςΫνϟΛࢼ͢
    • プロトタイプで試す
    • ここはまずやりましょう


    ·ͣ͸খ͘͞΍ͬͯΈΔ

    View Slide

  17. ίϯύΠϧ଎౓͕େࣄ
    • ͳͥʁ
    • 未知なことをやるから
    • あーでもないこーでもないがおきる
    • 開発のリズムが崩れる


    View Slide

  18. πʔϧͰܭଌ
    #VJME5JNF"OBMZ[FSGPS9DPEF
    • Ϋϥεɺؔ਺୯ҐͰ଎౓͕෼͔Δ


    View Slide

  19. ଎౓վળύλʔϯͷྫ
    • ԋࢉࢠͷॲཧΛݮΒ͢ʢT୹ॖʣ
    • もちろん遅くなっているところだけでいい
    • ഑ྻͷ௚઀௥ՃΛݮΒ͢ʢT୹ॖʣ
    • ArrayOfStuff + [Stuff] →
    ArrayOfStuff.append(stuff)
    • ࡾ߲ԋࢉࢠΛݮΒ͢ʢT୹ॖʣ
    • 遅くなっているところだけ


    View Slide



  20. ·Ί஌ࣝ
    ίϯύΠϧ଎౓͕
    ஗͍ͱϫʔχϯά
    Λݟͯݟ͵;Γ͢
    Δ͜ͱ΋͋Δ

    View Slide

  21. ΑΓ଎͘ίϯύΠϧ
    ͢ΔͨΊʹ

    View Slide

  22. γεςϜΛ෼ׂ͢Δ
    • ͳͥʁ
    • プリビルドができる
    • 脳のコンパイル速度もあがる
    • ここから先はシステムが別
    • 毎回の全体コンパイルを避ける
    • CDがより高速に


    View Slide

  23. ΞϯϒϨϥπϦʔ


    ϝϦοτɿࢹ֮తʹ͍ۙ৔ॴʹ഑ஔͰ͖Δ

    View Slide

  24. %ZOBNJD'SBNFXPSL


    ϝϦοτɿকདྷతʹผ3FQPʹ੾Γग़͠΍͍͢

    View Slide

  25. %'SBNFXPSLΛผ3FQPʹ


    ϝϦοτɿผϓϩδΣΫτʹڞ༗ɺϓϦϏϧυ΋Մ

    View Slide

  26. ෼ׂ͢Δͱʁ
    Ұ෦ͷػೳͷγεςϜߏ੒Λมߋ
    ͢Δ͜ͱ͕Ͱ͖Δ


    MVC MVVM

    View Slide

  27. %'SBNFXPSLຖͷઃܭ
    画面名 設計 解決したかった
    課題
    トップ MVVM Viewの更新タイミングを統一した

    商品詳細 コードベースの
    画面設計
    Storyboardマージしたくない、UIの
    テストコードを書きやすくしたい
    その他 MVC よく知られている構成で、新規メ
    ンバ参画を容易に


    View Slide

  28. ΋ͪΖΜ՝୊΋
    γεςϜ͕ෳࡶԽ͢ΔͷͰ͸ʁ
    • ͦͷ௨Γ
    • しかし、システム全刷新の選択は
    容易ではない
    • ࣮຿ܦݧ͕࠷దղΛ୳ͨ͢Ίͷ
    ݂ͱͳΓ೑ͱͳΔ


    View Slide

  29. ૊৫Ξϓϩʔν

    View Slide

  30. Α͍૊৫ɺνʔϜ
    ੒௕ʹ͸Կ͕ඞཁʁ
    • ৽͍͠ߟ͑ํΛऔΓೖΕΔ؀ڥ
    • 一方的な知識のインプット?
    • さてどうやる?


    View Slide

  31. ࣮ࡍͲ͏΍͍ͬͯΔʁ


    91ͰϖΞͷ૬खΛຖ೔ϩʔςʔγϣϯ͠ͳ͕Β

    View Slide



  32. ͍͍͜ͱ͸ʁ
    • ࿩͠ͳ͕Βઃܭ
    • ޓ͍ͷ஌ࣝަ׵
    • ʮͳͥͦ͏ߟ͑
    ͨͷ͔ʁʯͱ͍
    ͏ίʔνϯά
    • ଐਓԽղফ

    View Slide



  33. ͞Βʹ͸ʁ
    • ҰਓΑΓ΋ೋਓ
    Ͱߟ͑ͨ΋ͷͷ
    ํ͕ࣗ৴͕ग़Δ
    • ࣗ෼ͨͪͰܾΊ
    Δɺͱ͍͏ҙࢥ
    ܾఆܦݧ

    View Slide

  34. ଞͷ޻෉͸ʁ


    ୎ٿͰ೴ͷϦϑϨογϡɻϖΞͱͷ࿈ܞྗ޲্΋

    View Slide

  35. ଞͷ޻෉͸ʁ
    ࢒ۀېࢭ
    ʢ؅ཧ৬͸ͪΐͬͱ͚ͩ஗͍ʣ


    View Slide

  36. ͦͷ݁Ռ͓͖ͨ͜ͱ
    • ࢒ۀ͕ݮͬͨ
    • ペアプロは疲れるのもある
    • 新しいことに時間を使える
    • ҙݟަ׵͕׆ൃʹ
    • ϏδωεΛࢭΊͳ͍γεςϜมߋ


    View Slide

  37. ·ͱΊ


    ٕज़Ξϓϩʔν
    • ଎͘͢Δ͜ͱΛ௥ٻ
    ૊৫Ξϓϩʔν
    • ձ࿩Λ૿΍͢޻෉
    • ҰਓΑΓ΋ೋਓͷߟ͑

    View Slide

  38. ଎͋͘Γଓ͚Δ͜ͱ
    Ϟμϯ΁ͷۙಓ

    View Slide