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
770
うわっ…リスト表示重すぎ… Reactのパフォーマンス改善の処方箋/react-list-performance-improvement
pentla
August 25, 2021
Tweet
Share
Other Decks in Programming
See All in Programming
見えないメモリを観測する: PHP 8.4 `pg_result_memory_size()` とSQL結果のメモリ管理
kentaroutakeda
0
940
ドメインイベント増えすぎ問題
h0r15h0
2
570
ISUCON14感想戦で85万点まで頑張ってみた
ponyo877
1
590
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
430
Amazon Nova Reelの可能性
hideg
0
200
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.4k
Запуск 1С:УХ в крупном энтерпрайзе: мечта и реальность ПМа
lamodatech
0
960
Flatt Security XSS Challenge 解答・解説
flatt_security
0
740
PHPカンファレンス 2024|共創を加速するための若手の技術挑戦
weddingpark
0
140
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
390
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
0
150
毎日13時間もかかるバッチ処理をたった3日で60%短縮するためにやったこと
sho_ssk_
1
550
Featured
See All Featured
KATA
mclloyd
29
14k
GraphQLとの向き合い方2022年版
quramy
44
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
3
240
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.7k
Building Your Own Lightsaber
phodgson
104
6.2k
Code Review Best Practice
trishagee
65
17k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
960
Faster Mobile Websites
deanohume
305
30k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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!