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
710
「サイボウズ Office」 の iOSアプリをリニューアルした話 / Renewal "Cybozu Office" iOS App
elmetal
PRO
July 29, 2021
Tweet
Share
More Decks by elmetal
See All by elmetal
Generating DocC with AI
elmetal
PRO
0
55
A Swift Way to Blog
elmetal
PRO
0
150
Designing DocC for Clarity and Beauty
elmetal
PRO
0
98
SwiftUI Viewの責務分離
elmetal
PRO
2
470
サイボウズiOSアプリのマルチモジュール 2024
elmetal
PRO
0
120
開発を加速する共有Swift Package実践
elmetal
PRO
0
1.3k
Resolve Nested ObservableObject issues in Observation
elmetal
PRO
0
390
ObservationSallowDive
elmetal
PRO
1
360
Overview Of Swiftc
elmetal
PRO
1
380
Other Decks in Programming
See All in Programming
今更考える「単一責任原則」 / Thinking about the Single Responsibility Principle
tooppoo
3
1.4k
AI時代でも変わらない技術コミュニティの力~10年続く“ゆるい”つながりが生み出す価値
n_takehata
2
640
朝日新聞のデジタル版を支えるGoバックエンド ー価値ある情報をいち早く確実にお届けするために
junkiishida
1
360
ふつうの Rubyist、ちいさなデバイス、大きな一年
bash0c7
0
480
The Ralph Wiggum Loop: First Principles of Autonomous Development
sembayui
0
3.7k
Head of Engineeringが現場で回した生産性向上施策 2025→2026
gessy0129
0
210
モジュラモノリスにおける境界をGoのinternalパッケージで守る
magavel
0
3.4k
Takumiから考えるSecurity_Maturity_Model.pdf
gessy0129
1
120
CopilotKit + AG-UIを学ぶ
nearme_tech
PRO
1
130
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
PJのドキュメントを全部Git管理にしたら、一番喜んだのはAIだった
nanaism
0
230
メタプログラミングで実現する「コードを仕様にする」仕組み/nikkei-tech-talk43
nikkei_engineer_recruiting
0
160
Featured
See All Featured
KATA
mclloyd
PRO
35
15k
Odyssey Design
rkendrick25
PRO
2
530
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Git: the NoSQL Database
bkeepers
PRO
432
66k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Building an army of robots
kneath
306
46k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
96
The Spectacular Lies of Maps
axbom
PRO
1
580
Code Review Best Practice
trishagee
74
20k
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 ϦϦʔε·ͰʹνʔϜͰֶशͨ͜͠ͱΛ͓͠͠·ͨ͠ɻ