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
「サイボウズ Office」 の iOSアプリをリニューアルした話 / Renewal "Cy...
Search
elmetal
PRO
July 29, 2021
Programming
0
600
「サイボウズ Office」 の iOSアプリをリニューアルした話 / Renewal "Cybozu Office" iOS App
elmetal
PRO
July 29, 2021
Tweet
Share
More Decks by elmetal
See All by elmetal
SwiftUI Viewの責務分離
elmetal
PRO
2
240
サイボウズiOSアプリのマルチモジュール 2024
elmetal
PRO
0
48
開発を加速する共有Swift Package実践
elmetal
PRO
0
830
Resolve Nested ObservableObject issues in Observation
elmetal
PRO
0
250
ObservationSallowDive
elmetal
PRO
1
300
Overview Of Swiftc
elmetal
PRO
1
300
社会人からのスキルアップ戦略
elmetal
PRO
0
930
ScrumMasterから見るScrumの姿
elmetal
PRO
1
1.9k
kintoneとリモートスクラム
elmetal
PRO
1
2.3k
Other Decks in Programming
See All in Programming
ARA Ansible for the teams
kksat
0
150
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
920
Software Architecture
hschwentner
6
2.1k
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
130
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
570
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
51
17k
CI改善もDatadogとともに
taumu
0
120
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
1
240
Honoとフロントエンドの 型安全性について
yodaka
7
1.3k
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
180
Pulsar2 を雰囲気で使ってみよう
anoken
0
240
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
38
15k
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
350
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
970
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Embracing the Ebb and Flow
colly
84
4.6k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Unsuck your backbone
ammeep
669
57k
Speed Design
sergeychernyshev
27
790
Art, The Web, and Tiny UX
lynnandtonic
298
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
0QFO4PVSDF$POGFSFODF0OMJOF,ZPUPӿݪଠ ʮαΠϘζ0GGJDFʯͷ J04ΞϓϦΛϦχϡʔΞϧͨ͠
"CPVUNF w ӿݪଠ w !FM@NFUBM@ w αΠϘζϞόΠϧνʔϜ w J04EFWFMPQFS
αΠϘζ ձࣾհ w αΠϘζɺʮνʔϜϫʔΫ͋;ΕΔࣾձΛΔʯͱ͍͏ཧ೦ͷͱɺνʔ ϜϫʔΫΛࢧ͑ΔιϑτΣΞ։ൃɾΫϥυαʔϏεͷӡ༻Λߦ͍ͬͯ· ͢ɻ w ʮLJOUPOFʯʮαΠϘζ0 ffi DFʯʮ(BSPPOʯʮϝʔϧϫΠζʯͳͲɺྦྷܭ
ສࣾɾઍສϢʔβʔʹར༻͍͍ͯΔάϧʔϓΣΞɺۀվળα ʔϏεΛ࣠ʹɺࣾձͷνʔϜϫʔΫ্Λࢧԉ͍ͯ͠·͢ɻ
αΠϘζϞόΠϧνʔϜ νʔϜհ w ʮαΠϘζͷϢʔβʹɺΑΓνʔϜϫʔΫ͕ߴ·ΔϞόΠϧମݧΛఏڙ ͢ΔʯΛϛογϣϯʹɺओʹJ04"OESPJEͷΞϓϦ։ൃʹैࣄ͍ͯ͠·͢ɻ w ·ͨɺϓϩμΫτ։ൃͷଞʹϞόΠϧઐͷΤϯδχΞͱͯ͠ɺ࠷৽ٕज़ ۀքͷτϨϯυͳͲΛௐࠪ͢Δ࣌ؒΛઃ͚νʔϜͷεΩϧΞοϓΛਤ͍ͬͯ· ͢ɻ
αΠϘζ0GGJDFϞόΠϧΞϓϦ
αΠϘζ0GGJDFϞόΠϧΞϓϦ ʮαΠϘζ0 ffi DF৽ண௨ʯ w αΠϘζ0 ffi DFͷ௨༧ఆ Λ֬ೝͰ͖ΔΞϓϦ w
ϓογϡ௨Ͱ࠷৽ใΛड ͚औΕΔ
ϦϓϨʔεͷഎܠ
ϦϓϨʔεͷഎܠ w ೋཁૉೝূରԠͷػೳՃཁٻ w ࣄۀઓུͷมԽ w ϞόΠϧΞϓϦྗ͍ͯ͘͠ܗʹมԽ w طଘͷίʔυϕʔε͕՝ʹ w
8FCΞϓϦͷ։ൃνʔϜ͕ϞόΠϧΞϓϦ୲͍ͯͨ͠ w "QBDIF$PSEPWBΛͬͯ54ͰΫϩεϓϥοτϑΥʔϜ։ൃ w ϓϥοτϑΥʔϜݻ༗ͷ͕ൃੜ͢ΔͱରԠ͕͍͠
ٕज़બఆ
ٕज़બఆ ΫϩεϓϥοτϑΥʔϜWTωΠςΟϒ w ϞόΠϧνʔϜ͕։ൃΛҾ͖औΔ͜ͱʹ w ܧଓ։ൃ͕Մೳͳٕज़͕ඞཁ w εΩϧηοτͷϚονϯά w ϞόΠϧνʔϜͷεΩϧηοτ
w J04"OESPJEΤϯδχΞٻ৬ࢢͷεΩϧηοτ
ωΠςΟϒ։ൃΛ࠾༻
ٕज़બఆ 6*,JUWT4XJGU6* w J04Ͱ6*ϑϨʔϜϫʔΫͷجຊͱͯ͠બࢶ͕छྨ͋ͬͨ w 6*,JU w ࠾༻࣮ͷ͋ΔރΕͨϑϨʔϜϫʔΫ w 4XJGU6*
w ࠾༻࣮ͷͳ͍৽͍͠ϑϨʔϜϫʔΫ
ٕज़બఆ 6*,JU w ेʹރΕ͍ͯΔ w ࠓޙϨΨγʔʹͳΔϦεΫ
ٕज़બఆ 4XJGU6* w ৽نٕज़ʢൃදʣ w جຊతͳ6*։ൃ͕ѹతʹૣ͍ w ϓϩμΫγϣϯͷࣄྫ͕গͳ͍ w ϑϨʔϜϫʔΫͱͯ͠ະख़
w ػೳෆόάͷϦεΫ w 6*,JUʹൺҙਤతͳ੍ଟ͍
4XJGU6*Λ࠾༻
࠾༻ج४ ॏࢹͨ͠ϙΠϯτ w ࣋ଓՄೳੑ w ։ൃͷߴԽ w ڝ૪༏Ґੑͷ֫ಘ
࠾༻ج४ ࣋ଓՄೳੑ w ٕज़બఆ࣌ͷҎ߱։ൃ͕ଓ͘ w ˠͰͷϑϨʔϜϫʔΫͷ w ػೳෆ͕ղফ͞Ε͍ͯ͘ݟࠐΈ w ػೳෆɾόάͷϦεΫ͕࣌ؒܦͭʹͭΕͯݮগ͢Δ
w 6*ϑϨʔϜϫʔΫͱͯ͠ύϥμΠϜνΣϯδ͕͋Δ w 6*,JU͔ΒͷҠߦʹ$PEF4USVDUVSFͷେ෦ʹӨڹ͢Δ w ϨΨγʔԽͷϦεΫ͕࣌ؒܦͭʹͭΕͯ૿େ͢Δ
࠾༻ج४ ։ൃͷߴԽ w ։ൃ։࢝࣌Ͱͷཁ݅4XJGU6*ͷػೳηοτͰຬͨͤΔঢ়ଶ w όάͷϦεΫ͕ݦࡏԽͯ͠૯߹తʹૣ͘։ൃͰ͖ΔݟࠐΈ
࠾༻ج४ ڝ૪༏Ґੑͷ֫ಘ w ૣظʹϓϩμΫγϣϯͰ࠾༻͢Δ͜ͱͰଞࣾΑΓٕज़తͳ༏ҐΛࢦ͢ w ϦεΫΛҾ͖ड͚Δ֮ޛ w ൃੜ͢ΔࣗྗͰղܾ͢Δ w ࠾༻ʹνʔϜͷ࣋ଓՄೳੑͷϙδςΟϒͳޮՌͷظ
ίʔυઃܭ
$PEF4USVDUVSFઃܭ 0 ffi DFϞόΠϧΞϓϦҎલ w J04"OESPJEͷઃܭΛ߹ΘͤΔํΛ࠾༻͍ͯͨ͠ w શϝϯόʔ͕݉Ͱ྆ϓϥοτϑΥʔϜΛ։ൃ͢Δମ੍ w εΠονϯάίετΛԼ͍͛ͨ
w 6*ϑϨʔϜϫʔΫͷύϥμΠϜ͕ἧ͍ͬͯͨ w $PEF4USVDUVSFΛἧ͑Δίετେ͖͘ͳ͍
$PEF4USVDUVSFઃܭ 0 ffi DFϞόΠϧ w ํసΛܾఆ w 0 ffi DFϞόΠϧΞϓϦ֤ϓϥοτϑΥʔϜͰઐମ੍
w 4XJGU6*ͷ࠾༻ܾఆʹΑΓϓϥοτϑΥʔϜؒͰҟͳΔύϥμΠϜʹ w ઃܭۭ͕ؒ4XJGU,PUMJOͷڞ௨෦ͷΈʹ੍ݶ͞ΕΔͷΛආ͚͍ͨ
։ൃͷਐΊํ
։ൃͷਐΊํ ཁ݅ w ϦχϡʔΞϧͷͨΊݱߦόʔδϣϯͷػೳηοτΛἧ͑Δ w ೋཁૉೝূػೳΛՃ͢Δ w fi Yͨ͠ೲظͷઃఆͳ͍ͷͷϦϦʔεܭը͋Δ ˠεέδϡʔϧʹର͢Δෆ࣮֬ੑΛݮͰ͖ΔਐΊํ
։ൃͷਐΊํ ৫ɾจԽ w ։ൃຊ෦εΫϥϜΛ࠾༻͢Δ͜ͱ͕ଟ͍ w ϦχϡʔΞϧྃޙ৽نͷՁݕূ։ൃΛਐΊ͍ͨ w ։ൃ։࢝࣌ͰͷϦιʔεͷ w ϞόΠϧΞϓϦʹϑϧίϛοτͰ͖ΔͷςετίʔυΛؚΉ
ίʔυΛॻ͘ΤϯδχΞͷΈ
։ൃͷਐΊํ ϓϩηεબఆ w εΫϥϜΛجຊͱͨ͠िؒΠςϨʔγϣϯͰͷΞδϟΠϧ։ൃΛ࠾༻ w ։ൃνʔϜଈ࣌ΫϩεϑΝϯΫγϣφϧʹͳΓ͖Εͳ͍ w ϦχϡʔΞϧҎ߱Λ౿·͑ͯ։ൃͷϦζϜΛ࡞͓͖͍ͬͯͨ
ϦϦʔε·Ͱ
ϦϦʔε·Ͱ ։ൃϑΣʔζ w ॗʑͱ։ൃΛਐΊΔ w ༧ఆΑΓԆͨͨ͠ΊϦϦʔεܭըΛमਖ਼ w ॳͷཁ͕݅ݱߦόʔδϣϯͷػೳηοτʹରͯ͠ෆे w αΠϘζ0
ffi DFΛѻͬͨܦݧͷ͋ΔϓϩάϥϚ͕͍ͳ͍ w طଘͷ༷ͷܦҢɾྺ࢙ࡉ͔͍ڍಈΛΒͳ͔ͬͨ
ϦϦʔε·Ͱ ෆ۩߹मਖ਼ w 4XJGU6*ىҼͷόά͕ൃੜ w ϦχϡʔΞϧʹ͍σβΠϯΛҰ෦มߋ w มߋ෦ʹ4XJGU6*ʹͱͬͯϦεΫͷ͋ΔσβΠϯ͕ଘࡏͨ͠ w ϦεΫϦϑΝΠϯϝϯτ࣌ʹ͍͑ͯͨ
w ͦͷ࣌Ͱڐ༰͞ΕɺޙʹݦࡏԽ😢
ϦϦʔε·Ͱ νʔϜͷֶश w ྺ࢙ͷஅઈͷϦεΫ w ػೳͷܦҢ͕Θ͔Βͳ͍ w ސ٬ʹͱͬͯॏཁͳػೳඇػೳཁ݅ͷѲ͕ෆे w ٕज़ͱ༷ͷϚονϯά
w ࣗνʔϜʹܾఆݖ͕͋ΔͳΒ༗ޮʹ͏ w ෆ۩߹ֶशͷػձ
·ͱΊ
·ͱΊ w ϦχϡʔΞϧ࣌ͷٕज़બఆɺ։ൃϓϩηεܾఆͱͦͷޙͷ։ൃͷਐΊํɺϦϦ ʔε·ͰͷಓͷΓΛ͝հ͠·ͨ͠ɻ w ٕज़બఆ࣌ɺ։ൃϓϩηεܾఆ࣌ͷ؍τϨʔυΦϑʹ͍͓ͭͯ͠͠· ͨ͠ɻ w ϦϦʔε·ͰʹνʔϜͰֶशͨ͜͠ͱΛ͓͠͠·ͨ͠ɻ