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
フロントエンドの設計刷新〜決断から効果検証まで〜
Search
starfish719
December 27, 2023
0
37
フロントエンドの設計刷新〜決断から効果検証まで〜
starfish719
December 27, 2023
Tweet
Share
More Decks by starfish719
See All by starfish719
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
5.7k
Findyの爆速開発を支えるPull requestの粒度
starfish719
0
260
開発生産性実践入門 Pullrequestの粒度編
starfish719
0
930
Gatsby + Netlifyで ポートフォリオサイトを 作った話
starfish719
0
52
vegatech_3.pdf
starfish719
0
390
Nuxt.jsとGraphcoolで ツールを作っている話
starfish719
0
110
CloudFunctionsと CloudVisionで 遊んでみた
starfish719
0
56
Featured
See All Featured
Site-Speed That Sticks
csswizardry
2
210
BBQ
matthewcrist
85
9.4k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
The Invisible Side of Design
smashingmag
299
50k
Testing 201, or: Great Expectations
jmmastey
41
7.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Designing Experiences People Love
moore
139
23k
Producing Creativity
orderedlist
PRO
343
39k
Practical Orchestrator
shlominoach
186
10k
Gamification - CAS2011
davidbonilla
80
5.1k
Building Applications with DynamoDB
mza
92
6.1k
Transcript
ϑϩϯτΤϯυͷઃܭ৽ ʙܾஅ͔ΒޮՌݕূ·Ͱʙ ϑϩϯτΤϯυͷٕज़తෛ࠴ʹ͖߹͏LTେձ@Ԭ 2023/08/23(ਫ)
ͳͥϑϩϯτΤϯυͷઃܭ৽Λܾஅͨ͠ͷ͔
ҟಈલޙͷൺֱ 3
ҟಈલޙͷൺֱ • ҟಈલͱൺͯੜ࢈ੑ͕ҎԼ·ͰԼ ◦ ײ֮ͱ͕Ұகͨͨ͠ΊɺͲ͔͜͠Βʹ͕͋Δͣ • ίʔυϦʔσΟϯάʹରͯ͠ඞཁҎ্ͷർ࿑ײΛײͨ͡ ◦ ผͷϓϩμΫτͱൺֱͯ͠໌Β͔ʹർ࿑ײ͕ҧͬͨ •
ײ͚֮ͩͰपΓΛೲಘͤ͞Δͷແཧ ◦ ͳͥੜ࢈ੑ͕Լ͕ͬͨͷ͔Λ۩ମతʹચ͍ग़ͯ͠ΈΔ͜ͱʹͨ͠ 4
ͷચ͍ग़͠
ݱߦઃܭͷ • աͳڞ௨Խ ◦ ػೳՃʹڧ͍͕ɺมߋɺআʹऑ͔ͬͨ ◦ άϥϑςʔϒϧ͝ͱʹσʔλ௨৴Λߦ͏Α͏ʹͯ͠ڞ௨Խ͍ͯͨ͠ ▪ άϥϑςʔϒϧͷݟͨಉ͕ͩ͡ɺऔಘɺදࣔ͢Δσʔλ͕ҟͳΔέʔεʹରԠͮ͠Β͍ ▪
σʔλͷऔಘͱද͚ࣔͯߟ͑Δ͖ͩͬͨ • ॲཧʹҰ؏ੑ͕ແ͍ ◦ APIͷݺͼग़͕͠ෳՕॴͰ࣮ߦ͞Ε͓ͯΓɺσʔλͷྲྀΕΛ͏͜ͱ͕ࠔ ◦ util͕utilҎ্ͷ͜ͱΛ͍ͯ͠Δ ▪ utilͰॲཧ͕ίέͨΒྫ֎Λthrow͓ͯ͠Γɺͦͷ࣌ͰΞϓϦέʔγϣϯશମ͕མͪΔ • ςετίʔυΛॻ͖ͮΒ͍ ◦ ඳըΛߦ͏͜ͱʹઐ೦͍ͨͣ͠ͷॲཧͷதͰσʔλͷऔಘ͕࣮ߦ͞Ε͍ͯΔ ◦ ͷ୲͕Ͱ͖͍ͯͳ͍ 6
ઃܭ৽ʹର͢Δೝࣝ߹Θͤͱ߹ҙܗ
ݱϝϯόʔͱೝࣝ߹Θͤ • ςοΫϦʔυ͕ʮΕʯͱݴͬͯϝϯόʔʹΒͤΔͷ؆୯ ◦ ࣗͨͪͰʮΔʯͱݴͬͯΔͷͱɺʮΕʯͱݴΘΕͯΒ͞ΕΔͷՁ͕ҧ͏ • ݱߦͷઃܭʹର͢Δҙݟަ ◦ ϝϯόʔΛूΊͯͰͳ͘ɺ1ਓͣͭ࣌ؒΛऔͬͯΛ͢Δ ◦
ʮࣗ͜͏ࢥͬͯΔΜ͚ͩͲɺͿͬͪΌ͚YouͲ͏ࢥͬͯΔʁʯ • ҙݟΛ·ͱΊͨ݁Ռɺݱߦͷઃܭʹର͢Δҙݟ΄΅Ұகͨ͠ ◦ ࣗͷײ֮ɺɺͦͯ͠पΓͷײ֮શ͕ͯҰகͨ͠ ◦ ϦϑΝΫλೖΕ͍͚ͨͲɺ࡞Γ͠نͩͱֻ͕͔࣌ؒΓ͗͢Δ • ͔͜͜ΒϓϩμΫτ։ൃͷεϐʔυΛߋʹՃͤ͞ΔͨΊʹɺઃܭͷ৽ඞཁෆՄ ܽͱ݁ ◦ ϲ݄ͷؒɺ৽ػೳ։ൃۃྗετοϓ͠ɺઃܭ৽ʹूத͢Δ • ܦӦਞͱͷ߹ҙܗΛ࡞Γʹߦ͘͜ͱʹ 8
ܦӦਞͱͷ߹ҙܗ 9 ࠷ۙͲ͏ʁ ϑϩϯτΤϯυΛ࡞Γͨ͠΄͏͕͍͍ ͔͠Ε·ͤΜɻ ࡞Γͨ͠Βੜ࢈ੑΛ࠷Ͱ2ഒҎ্ ʹҾ্͖͛Δ͜ͱ͕ग़དྷ·͢ɻ Ϛδʁ͡Ό͋ͬͯʂ
߹ҙܗ • ҎલʹผγεςϜͷઃܭ৽Λߦͬͨ͜ͱ͕͋Δ ◦ ͦͷࡍʹੜ࢈ੑΛര্͛ग़དྷ͍ͯͨͨΊɺઃܭ৽ʹର͢Δޭମݧ͕͋Δ ▪ ίετֻ͔Δ͕ɺ͙͢ʹճऩͰ͖ͨͱ͍͏ܦݧ͕͋Δ ▪ ֻ͔ͬͨίετͱϦλʔϯΛͰग़͢͜ͱ͕ग़དྷ͍ͯͨ •
աڈͷޭମݧͱ࣮ࡍͷΛग़͢͜ͱͰɺೝࣝ߹Θͤͱ߹ҙܗ͕ਐΉ 10
ணखલͷ४උ
ணखલͷ४උ • ৽ઃܭํΛݻΊΔ ◦ ଟগͰྑ͍ͷͰɺڞ௨Խ࠷ݶʹཹΊΔ ▪ ͦͷޙɺڞ௨Խ͢Δ͔Ͳ͏͔ͷٞΛ௨ͬͨॲཧ͚ͩڞ௨Խ͢Δ ▪ unit testΛ༻ҙ͓͖ͯ͠ɺޙͷڞ௨ԽͰॲཧ͕յΕͳ͍͜ͱΛอূ͢Δ
◦ ίʔυͷΛ໌֬ʹ͠ɺͦΕҎ্ͷ͜ͱߦΘͳ͍Α͏ʹ͢Δ • ؆୯ͳը໘ΛҰ͚ͭͩ࡞Γ͢ ◦ ৽ઃܭͰͷຌྫͱͯ͠ϝϯόʔʹల։͢Δ ◦ ޱͰઆ໌͢ΔΑΓɺίʔυͰઆ໌ͨ͠΄͏͕ཧղ͍͢͠ • ࣮ࡍͷ࡞Γ͠ͷྲྀΕΛݻΊΔ ◦ ݱঢ়ͷػೳɺελΠϧΛҡ࣋ͨ͠··ɺ҆શʹҠߦ͢Δ͜ͱ͕େલఏ ◦ ϖʔδ୯ҐͰ࡞Γ͠ΛਐΊ͍ͯ͘ ◦ APIطʹͬͯΔͷΛͦͷ··͍ճ͢ 12
࡞Γ͠ͷྲྀΕ
ಉ͡ը໘Λશ͘ҧ͏ίʔυͰ࡞Γͯ͠ผURLͰެ։ جຊతͳ࡞Γ͠ͷྲྀΕ 14 ৽ը໘ΛQA ϧʔςΟϯάΓସ͑ چ࣮Λશআ
࡞Γ͠ͷྲྀΕ • ಉ͡ը໘ΛผURLͰ࣮ ◦ طଘը໘ʹखΛՃ͑ΔͷجຊNG ◦ Ұ࣌తʹಉ͡ը໘͕ҟͳΔURLͰެ։͞ΕΔ ◦ طଘը໘ͱҟͳΔίʔυͰ࣮͍ͯ͠ΔͷͰɺPullrequestΛΨϯΨϯmergeͰ͖Δ •
৽ઃܭͰͷ࣮͕ྃޙɺຊ൪ڥͰಈ࡞֬ೝΛߦ͏ ◦ ಈ࡞֬ೝ͕OKͰ͋Εچ࣮ͷURLͷϧʔςΟϯάΛ৽ઃܭͷը໘ʹ͚Δ ▪ Կ͔͠Βෆ۩߹͕ൃੜͨ͠߹ϧʔςΟϯάΛ͢͜ͱͰճආ • Ұఆظ༷ؒࢠΛݟͯɺͳͦ͞͏ͳΒچ࣮ͷίʔυΛશআ ◦ ࡞Γ͠ͰҰ൪ָ͍͠࡞ۀ 15
ৼΓฦΓ
࡞Γͨ݁͠Ռ લൺͰҰਓͨΓͷੜ࢈ੑ͕2.5ഒఔ·Ͱ্ঢ 17
࡞Γ͠ͷߏ͔Βணखɺྃ·Ͱʹֻ͔ͬͨ • ߹ܭͰ17ਓ݄ఔͷֻ͕͔ͬͨ ◦ ४උظؒͰ1ਓ݄ ◦ ΨοπϦ࡞Γ͠ظؒͰ4ਓ * 3ϲ݄Ͱ12ਓ݄ ◦
͋Δఔ࡞Γ͕͠ऴΘͬͨ͋ͱ1ਓ * 4ϲ݄Ͱ4ਓ݄ • ը໘40ݸఔ ◦ 1ਓͨΓҰिؒ͘Β͍Ͱ1ը໘ͷ࡞Γ͕͠ຊ൪ࠩ͠ସ͑·Ͱྃ͢Δεϐʔυײ • طʹ࡞Γ͠ʹֻ͔ͬͨίετΛճऩࡁ ◦ ໌͚͔Β࡞Γ͠Λ։࢝ͯ͠7݄ʹશͯྃ ◦ 4݄ลΓ͔Β࡞Γ͠ʹֻ͚ΔίετΛԼ͛ɺͷେΛػೳՃͷํʹ͢ ◦ 7݄ͷ࣌Ͱ࡞Γ͠ʹֻ͔ͬͨίετͷճऩʹޭ ▪ 3ਓ ✕ 4ϲ݄ ✕ 2.5ഒ - 3ਓ ✕ 4ϲ݄ = 18ਓ݄ 18
·ͱΊ
·ͱΊ • ࡞Γ͠ɺઃܭ৽ΛఏҊ͢Δલʹɺ·ͣײ֮ͱ࣮ࡍͷΛݟൺΔ ◦ ͔ͦ͜Βϝϯόʔͱͷೝࣝ߹Θͤ • ࣮ࡍͷͱޭମݧͰɺܦӦਞͱͷ߹ҙܗ ◦ ·ͣࣈ͋Γ͖ ◦
ޭମݧ͕͋Ε࣍ͷఏҊࢥͬͨҎ্ʹ্ख͘ਐΉ ◦ ࠷ॳͷޭମݧΛ࡞Δͷ͕ඇৗʹ͍͠ ▪ ࣈΛग़͠ɺখ͞ͳޭମݧΛੵΜͰΈΔ͜ͱ͕େࣄ • ϓϩμΫτͷϑΣΠζʹ߹ΘͤͨઃܭΛ ◦ ϩϯν͔ͨ͠ΓͷͷͱɺͷϑΣΠζʹೖͬͨͷʹٻΊΒΕΔઃܭҧ͏ ◦ ϑΣΠζ͕มΘͬͨͳΒઃܭηοτͰݟ͢ 20
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠