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
630
「サイボウズ Office」 の iOSアプリをリニューアルした話 / Renewal "Cybozu Office" iOS App
elmetal
PRO
July 29, 2021
Tweet
Share
More Decks by elmetal
See All by elmetal
Designing DocC for Clarity and Beauty
elmetal
PRO
0
29
SwiftUI Viewの責務分離
elmetal
PRO
2
350
サイボウズiOSアプリのマルチモジュール 2024
elmetal
PRO
0
72
開発を加速する共有Swift Package実践
elmetal
PRO
0
970
Resolve Nested ObservableObject issues in Observation
elmetal
PRO
0
290
ObservationSallowDive
elmetal
PRO
1
320
Overview Of Swiftc
elmetal
PRO
1
320
社会人からのスキルアップ戦略
elmetal
PRO
0
970
ScrumMasterから見るScrumの姿
elmetal
PRO
1
2k
Other Decks in Programming
See All in Programming
External SecretsのさくらProvider初期実装を担当しています
logica0419
0
210
AIにコードを生成するコードを作らせて、再現性を担保しよう! / Let AI generate code to ensure reproducibility
yamachu
7
6k
TypeScript を活かしてデザインシステム MCP を作る / #tskaigi_after_night
izumin5210
4
470
PT AI без купюр
v0lka
0
190
Language Server と喋ろう – TSKaigi 2025
pizzacat83
2
660
「MCPを使ってる人」が より詳しくなるための解説
yamaguchidesu
0
580
What Spring Developers Should Know About Jakarta EE
ivargrimstad
1
570
クラシルリワードにおける iOSアプリ開発の取り組み
funzin
1
800
がんばりすぎないコーディングルール運用術
tsukakei
1
180
メモリリークが発生した時にpprofを使用して原因特定した話
zono33lhd
0
100
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
110
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
0
130
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
Scaling GitHub
holman
459
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
How to Think Like a Performance Engineer
csswizardry
23
1.6k
Documentation Writing (for coders)
carmenintech
71
4.8k
Building a Modern Day E-commerce SEO Strategy
aleyda
40
7.3k
Git: the NoSQL Database
bkeepers
PRO
430
65k
GitHub's CSS Performance
jonrohan
1031
460k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Mobile First: as difficult as doing things right
swwweet
223
9.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
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 ϦϦʔε·ͰʹνʔϜͰֶशͨ͜͠ͱΛ͓͠͠·ͨ͠ɻ