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-performance-improvement
Search
pentla
August 25, 2021
Programming
3
700
うわっ…リスト表示重すぎ… Reactのパフォーマンス改善の処方箋/react-list-performance-improvement
pentla
August 25, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
OpenAI/Gemini APIを使って EPUBを翻訳するCLIツールをつくってみた
tomiyan
0
800
入社1ヶ月でここまでやった!Findy Toolsインフラ支援の最適化
rvirus0817
6
1.4k
しくじり先生 Image Matching Challenge 2024 編
goosehaaan
0
810
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
みんなのオブザーバビリティプラットフォームを作ってるんだがパフォーマンスがやばい #mackerelio #srenext
ne_sachirou
0
380
小さな開発会社を作った理由
polidog
0
1.9k
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
780
なぜ宣言的 UI は壊れにくいのか / Why declarative UI is less fragile
uenitty
29
13k
CSC307 Lecture 08
javiergs
PRO
0
330
CSC307 Lecture 10
javiergs
PRO
0
310
Xcode 16のPreviewModifierと@Previewableを活用した効率的なプレビュー方法の考察
ojun9
2
160
TiDB Serverless ~理想のServerless DBを考える~
soso_15315
1
160
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
Making the Leap to Tech Lead
cromwellryan
127
8.7k
Building Applications with DynamoDB
mza
89
5.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
12
3.8k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
155
14k
A Modern Web Designer's Workflow
chriscoyier
689
190k
10 Git Anti Patterns You Should be Aware of
lemiorhan
652
58k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
24
1.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
353
29k
How GitHub Uses GitHub to Build GitHub
holman
471
290k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
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!