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
うわっ…リスト表示重すぎ… Reactのパフォーマンス改善の処方箋/react-list-p...
Search
pentla
August 25, 2021
Programming
3
740
うわっ…リスト表示重すぎ… Reactのパフォーマンス改善の処方箋/react-list-performance-improvement
pentla
August 25, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
Make Impossible States Impossibleを 意識してReactのPropsを設計しよう
ikumatadokoro
0
230
AWS Lambdaから始まった Serverlessの「熱」とキャリアパス / It started with AWS Lambda Serverless “fever” and career path
seike460
PRO
1
260
A Journey of Contribution and Collaboration in Open Source
ivargrimstad
0
980
RubyLSPのマルチバイト文字対応
notfounds
0
120
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.8k
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
cer
PRO
0
340
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
630
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
Better Code Design in PHP
afilina
PRO
0
130
アジャイルを支えるテストアーキテクチャ設計/Test Architecting for Agile
goyoki
9
3.3k
Featured
See All Featured
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
720
A Modern Web Designer's Workflow
chriscoyier
693
190k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
430
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Raft: Consensus for Rubyists
vanstee
136
6.6k
Producing Creativity
orderedlist
PRO
341
39k
A designer walks into a library…
pauljervisheath
204
24k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Transcript
͏ΘͬʜϦετදࣔॏ͗͢ʜ 3FBDUͷύϑΥʔϚϯεվળͷॲํᝦ
2,ݱঢ়ੳͱ ࣗݾհ ɾ!QFOUMB ลҰً ɾ'"45"-&35νʔϜ ɾϑϩϯτ݉όοΫΤϯυΤϯδχΞ ɾ"QFY3VTUಡॻ
2,ݱঢ়ੳͱ 5XFFU%FDL࡞ͬͯʂ ͬͯݴΘΕͨΒɺͲ͏͠·͢ʁ ૣ
2,ݱঢ়ੳͱ ͋Δఔͨ͠ͱͯ͠ ɾͱΓ͋͑ͣ3FBDUͰ ɾ"1*ͱͷܨ͗ࠐΈͳΜͱ͔ྃʂ ɾσʔλ͕දࣔͰ͖ΔΑ͏ʹͳΓ·ͨ͠
2,ݱঢ়ੳͱ ͨͩ͠ɻɻɻ͜ͷΑ͏ͳཁ͕݅དྷͯ͠·͍·ͨ͠ ɾ৽͍͠λΠϜϥΠϯ͕࣍ʑͱདྷΔ͔Βදࣔͯ͠Ͷʂ ɾԼʹεΫϩʔϧ͢ΔͱաڈͷλΠϜϥΠϯΛḪΕΔΑ͏ʹͶ ɾը૾ɾಈըΛද͍ࣔͨ͠Ͷ
2,ݱঢ়ੳͱ ॏ͘ͳΔɻ ʷ
2,ݱঢ়ੳͱ ࠓճʮ3FBDUʯͷʮϦετදࣔʯͷΛ͠·͢
2,ݱঢ়ੳͱ Ͳ͏͢Δ͖͔ɿ3FBDUͷυΩϡϝϯτ ʰΞϓϦέʔγϣϯ͕͍σʔλͷϦετʢඦʙઍߦʣΛϨϯμʔ͢Δ߹ɺ ʮΟϯυΠϯάʯͱͯ͠ΒΕΔςΫχοΫΛ͏͜ͱΛ͓͢͢Ί͠·͢ɻ͜ͷςΫχο ΫͰɺ͋Δॠؒ͝ͱʹϦετͷখ͞ͳ෦ू߹ͷΈΛඳը͢Δ͜ͱͰɺੜ͢Δ%0. ϊʔυͷ͓Αͼίϯϙʔωϯτͷ࠶ඳըʹ͔͔Δ࣌ؒΛେ෯ʹݮ͢Δ͜ͱ͕Ͱ͖·͢ɻʱ ʰSFBDUXJOEPXͱSFBDUWJSUVBMJ[FEਓؾ͕͋ΔΟϯυΠϯάॲཧͷϥΠϒϥϦͰ ͢ɻ͜ΕΒϦετɺάϦουɺ͓ΑͼදܗࣜͷσʔλΛදࣔ͢ΔͨΊͷɺ͍͔ͭ͘ͷ࠶ར༻ ՄೳίϯϙʔωϯτΛఏڙ͍ͯ͠·͢ɻΞϓϦέʔγϣϯͷಛఆͷϢʔεέʔεʹ߹Θͤͨ ՃతͳॲཧΛ͢Δ߹ɺ5XJUUFS͕ߦͳ͍ͬͯΔΑ͏ʹɺಠࣗͷΟϯυΠϯάॲཧͷίϯ
ϙʔωϯτΛ࡞͢Δ͜ͱͰ͖·͢ɻʱ
2,ݱঢ়ੳͱ ΟϯυΠϯά XJOEPXJOH ͱ ʰ͜ͷςΫχοΫͰɺ͋Δॠؒ͝ͱʹϦετͷখ͞ͳ ෦ू߹ͷΈΛඳը͢Δ͜ͱͰɺੜ͢Δ%0.ϊʔυͷ ͓Αͼίϯϙʔωϯτͷ࠶ඳըʹ͔͔Δ࣌ؒΛେ෯ʹ ݮ͢Δ͜ͱ͕Ͱ͖·͢ɻʱ ݪҼϢʔβʔ͕Έ͍ͯͳ͍ൣғ·Ͱ ඳըͯ͠͠·͍ͬͯΔ͜ͱ
2,ݱঢ়ੳͱ ਤʹ͢Δͱ͜͏ ɾϦετͷେ෦Կඳը͠ͳ͍ ɾσΟεϓϨΠʹө͍ͬͯΔ෦ͷΈ ඳը͢Δ ɾεΫϩʔϧʹ߹ΘͤͯඳըൣғΛ ௐઅ͢Δ
2,ݱঢ়ੳͱ ͰɺͲ͏࣮ͬͯ͢Δ͔ ɾશମͷߴ͞ΞΠςϜͭͷαΠζʷݸ ɾඳը࢝͠ΊΔߴ͞ݱࡏͷεΫϩʔϧҐஔ ͔ΒσΟεϓϨΠͷߴ͞·Ͱ
2,ݱঢ়ੳͱ SFBDUXJOEPXΛ͑ղܾʁ ϝϞ ɾSFBDUXJOEPXSFBDUWJSUVBMJ[FEͱಉ͡ਓ͕ॻ͍ͨϥΠϒϥϦ ɾαΠζΛݮΒ͠ɺύϑΥʔϚϯεΛ্ͤͨ͞ޙܧʹͨΓ·͢ ɾSFBDUXJOEPXL# SFBDUWJSUVBMJ[FE.#
2,ݱঢ়ੳͱ ࠓճ؆ૉͳྫͰ࣮ΛݟͯΈ·͢
2,ݱঢ়ੳͱ 6*ΛݟͯΈΔͱ ؆ૉ
2,ݱঢ়ੳͱ ͜Ε͕
2,ݱঢ়ੳͱ ͜͏ͳΓ·ͨ͠ ɾXJEUI IFJHIU Ϧετશମͷ͞ɺߴ͞ ɾJUFN$PVOU ΞΠςϜશମͷݸ ɾJUFN4J[F ΞΠςϜͭͭͷߴ͞
2,ݱঢ়ੳͱ ॻ͖ํ͕݁ߏҧ͏ ɾ3PXͬͯԿ NBQܗࣜͰهड़Ͱ͖ͳ͍ ɾIFJHIUɺͰࢦఆ͠ͳ͍ͱμϝʁ ɾΞΠςϜͷߴ͞ʁ ݁ߏΫη͕͋ΔΑͶɺͱ͍͏ͷ͕ ࠓճͷຊͰ͢
2,ݱঢ়ੳͱ 6*্͜͏ͳΓ·͢ ͍͍ͱ͜Ζ ɾສ݅දࣔͯ͠ಈ࡞͕͍ܰʂ ࠷ॳͷNBQΛ͏ͱສ݅͋ͨΓ͕ݶք ඍົͳͱ͜Ζ ɾԼ͕༨ͬͯΔ ߴ͕͞ʹͰ͖͍ͯͳ͍
ɾݸʑͷΞΠςϜͷߴ͞Λݻఆ͢Δඞཁ͕͋Δ
ٙᶃ 23PXͬͯԿ NBQܗࣜͰ هड़Ͱ͖ͳ͍ͷʁ "*UFNΛҰݸͣͭϨϯμϦϯά͢ΔͷͰͳ ͘ɺඞཁͳݸ͚ͩϨϯμϦϯά͢Δɻ શ෦ϨϯμϦϯά͠ͳ͍ͷͰɺ3PXྻͭ ͋ͨΓͷ༰Ͱ͋Δඞཁ͕͋Δɻ
2,ݱঢ়ੳͱ ͰɺͲ͏࣮ͬͯ͢Δ͔ ͓͞Β͍ ɾશମͷߴ͞ΞΠςϜͭͷαΠζʷݸ ɾඳը࢝͠ΊΔߴ͞ݱࡏͷεΫϩʔϧҐஔ ͔ΒσΟεϓϨΠͷߴ͞·Ͱ
2,ݱঢ়ੳͱ ٙᶄ 2IFJHIUɺͰࢦఆ͠ͳ͍ͱ μϝʁ "SFBDUWJSUVBMJ[FEBVUPTJ[FSΛ͑ େৎ
2,ݱঢ়ੳͱ ٙᶄ 2IFJHIUɺͰࢦఆ͠ͳ͍ͱ μϝʁ "SFBDUWJSUVBMJ[FEBVUPTJ[FSΛ͑ େৎ ࣮ޙͪ͜Β
2,ݱঢ়ੳͱ 2ΞΠςϜͷߴ͞ʁ "શମͷߴ͞Λਪఆͯ͠ɺݱࡏͷεΫϩʔϧ ҐஔΛѲ͢ΔͨΊʹඞਢɻ ͨͩ͠ɺΞΠςϜ͕ՄมαΠζͷ࣌ʹɻɻɻ ٙᶅ
2,ݱঢ়ੳͱ 2ΞΠςϜͷߴ͞ʁ "શମͷߴ͞Λਪఆͯ͠ɺݱࡏͷεΫϩʔϧ ҐஔΛѲ͢ΔͨΊʹඞਢɻ ͨͩ͠ɺΞΠςϜ͕ՄมαΠζͷ࣌ʹɻɻɻ 7BSJBCMF4J[F-JTUΛར༻Ͱ͖Δͷͷɺ ͋Β͔͡Ίߴ͕͞Θ͔͍ͬͯͳ͍ͱ࡞Εͳ͍ ٙᶅ
2,ݱঢ়ੳͱ ಉ͜͡ͱΛ͍͚ͨͩ͠ ͳͷʹʜɻ
2,ݱঢ়ੳͱ ݁ߏ͠ΜͲ͍
2,ݱঢ়ੳͱ ݁ແཧͯ͠͏͜ͱͳ͍ ɾϓϩδΣΫτͷ࠷ॳͦΕͦ͜NBQͷ࣮Ͱे ɾগ͠ॏ͍ఔͰ͋Εɺը૾ͷ-B[ZMPBEJOHɾඳըΛ ݮΒ͢ͳͲͰରԠ ɾͦΕͰඳը͕ʹͳͬͯ͠·ͬͨ߹ͷΞϓϩʔν
2,ݱঢ়ੳͱ ผղSFBDUWJSUVPTP ಉ͜͡ͱ͕Ͱ͖ͯɺ ݁ߏγϯϓϧ 4UBSL 4J[F.#
2,ݱঢ়ੳͱ ผΞϓϩʔνฤDPOUFOUWJTJCJMJUZ $44ͰͰ͖ΔͷͰൺֱత͓खܰɻ ରϒϥβ͕$ISPNJVNܥ $ISPNF 0QFSB &EHF ʹߜͬͯ Α͚Ε͋Γ
2,ݱঢ়ੳͱ ࠷ޙʹ ʰ೦ͳ͕Βɺ؆୯ͳमਖ਼͚ͭͩͰ͋Γ·ͤΜɻύϑΥʔϚϯεɺ վળ͢ΔྖҬΛࢹ͓Αͼଌఆ͢ΔܧଓతͳήʔϜͰ͢ɻʱ ࠓճͷΛखࡳͷͭͱ͍͚ͯͬͯͨͩͨ͠Β ͱࢥ͍·͢ʂ
ࢀߟจݙ ʮύϑΥʔϚϯε࠷దԽʯIUUQTKBSFBDUKTPSHEPDTPQUJNJ[JOHQFSGPSNBODFIUNMWJSUVBMJ[FMPOHMJTUT ʮ5XJUUFS-JUFBOE)JHI1FSGPSNBODF3FBDU1SPHSFTTJWF8FC"QQTBU4DBMFʯ IUUQTNFEJVNDPN!QBVMBSNTUSPOHUXJUUFSMJUFBOEIJHIQFSGPSNBODFSFBDUQSPHSFTTJWF XFCBQQTBUTDBMFEBFB ʮSFBDUXJOEPXʯIUUQTHJUIVCDPNCWBVHIOSFBDUXJOEPXIPXJTSFBDUXJOEPX EJ ff FSFOUGSPNSFBDUWJSUVBMJ[FE͔Βҙ༁ ʮSFBDUWJSUVBMJ[FEOQNʯIUUQTXXXOQNKTDPNQBDLBHFSFBDUWJSUVBMJ[FE
ʮSFBDUXJOEPXOQNʯIUUQTXXXOQNKTDPNQBDLBHFSFBDUXJOEPX ʮ࠲ΔೣͷΠϥετʯIUUQTXXXJSBTVUPZBDPNCMPHQPTU@IUNM ʮDPOUFOUWJTJCJMJUZʯIUUQTXFCEFWDPOUFOUWJTJCJMJUZ
Thank you!