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
780
うわっ…リスト表示重すぎ… Reactのパフォーマンス改善の処方箋/react-list-performance-improvement
pentla
August 25, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
130
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
230
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
250
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
110
仕様変更に耐えるための"今の"DRY原則を考える / Rethinking the "Don't repeat yourself" for resilience to specification changes
mkmk884
0
220
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
260
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
750
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
170
動作確認やテストで漏れがちな観点3選
starfish719
6
1k
ARA Ansible for the teams
kksat
0
150
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.8k
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
270
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Speed Design
sergeychernyshev
27
790
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
10
1.3k
Thoughts on Productivity
jonyablonski
69
4.5k
A Philosophy of Restraint
colly
203
16k
Building Applications with DynamoDB
mza
93
6.2k
How STYLIGHT went responsive
nonsquared
98
5.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
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!