ุฅุฒุงู ุชููู ู
ููุฏุณ ุจุฑู
ุฌูุงุช ุดุงุทุฑุ
.
.
How To Be A Good Software Engineer
โโโ
๐ ุงูุฌุฒุก ุงูุฃูู:
Master the Fundamentals: The Bedrock of Becoming a Good Software Engineer
https://dev.to/alisamir/master-the-fundamentals-the-bedrock-of-becoming-a-good-software-engineer-2823
โโโ
๐ ุงูุฌุฒุก ุงูุซุงูู:
Write Clean, Maintainable Code: A Guide for Software Engineers
https://dev.to/alisamir/write-clean-maintainable-code-a-guide-for-software-engineers-2834
โโโ
๐ ุงูุฌุฒุก ุงูุซุงูุซ:
Mastering Testing and Continuous Learning: Steps to Become a Better Software Engineer
https://dev.to/alisamir/mastering-testing-and-continuous-learning-steps-to-become-a-better-software-engineer-an1
โโโ
๐ ุงูุฌุฒุก ุงูุฑุงุจุน:
How to Excel in Problem-Solving and Collaboration as a Software Engineer
https://dev.to/alisamir/how-to-excel-in-problem-solving-and-collaboration-as-a-software-engineer-2ih8
โโโ
๐ ุงูุฌุฒุก ุงูุฎุงู ุณ:
Becoming a Good Software Engineer: Business Alignment and Performance Optimization
https://dev.to/alisamir/becoming-a-good-software-engineer-business-alignment-and-performance-optimization-3bd0
โโโ
๐ ุงูุฌุฒุก ุงูุณุงุฏุณ:
How Embracing Tools and Cultivating Soft Skills Can Make You a Better Software Engineer
https://dev.to/alisamir/how-embracing-tools-and-cultivating-soft-skills-can-make-you-a-better-software-engineer-37c4
โโโ
๐ ุงูุฌุฒุก ุงูุณุงุจุน:
Building a Personal Brand and Embracing Adaptability as a Software Engineer
https://dev.to/alisamir/building-a-personal-brand-and-embracing-adaptability-as-a-software-engineer-5ke
.
.
How To Be A Good Software Engineer
โโโ
๐ ุงูุฌุฒุก ุงูุฃูู:
Master the Fundamentals: The Bedrock of Becoming a Good Software Engineer
https://dev.to/alisamir/master-the-fundamentals-the-bedrock-of-becoming-a-good-software-engineer-2823
โโโ
๐ ุงูุฌุฒุก ุงูุซุงูู:
Write Clean, Maintainable Code: A Guide for Software Engineers
https://dev.to/alisamir/write-clean-maintainable-code-a-guide-for-software-engineers-2834
โโโ
๐ ุงูุฌุฒุก ุงูุซุงูุซ:
Mastering Testing and Continuous Learning: Steps to Become a Better Software Engineer
https://dev.to/alisamir/mastering-testing-and-continuous-learning-steps-to-become-a-better-software-engineer-an1
โโโ
๐ ุงูุฌุฒุก ุงูุฑุงุจุน:
How to Excel in Problem-Solving and Collaboration as a Software Engineer
https://dev.to/alisamir/how-to-excel-in-problem-solving-and-collaboration-as-a-software-engineer-2ih8
โโโ
๐ ุงูุฌุฒุก ุงูุฎุงู ุณ:
Becoming a Good Software Engineer: Business Alignment and Performance Optimization
https://dev.to/alisamir/becoming-a-good-software-engineer-business-alignment-and-performance-optimization-3bd0
โโโ
๐ ุงูุฌุฒุก ุงูุณุงุฏุณ:
How Embracing Tools and Cultivating Soft Skills Can Make You a Better Software Engineer
https://dev.to/alisamir/how-embracing-tools-and-cultivating-soft-skills-can-make-you-a-better-software-engineer-37c4
โโโ
๐ ุงูุฌุฒุก ุงูุณุงุจุน:
Building a Personal Brand and Embracing Adaptability as a Software Engineer
https://dev.to/alisamir/building-a-personal-brand-and-embracing-adaptability-as-a-software-engineer-5ke
โค6
ุชุนุงู ูุฏุฑุฏุด ุดููุฉ ุนู ุงูู Load Balancing ๐ป
.
.
ุงูู Load Balancing ุญุงุฌุฉ ู ูู ุฉ ุฌุฏูุง ุจุชุฃุซุฑ ูู ุณุฑุนุฉ ูุซุจุงุช ุฃู ุชุทุจููุ ูุฎุตูุตูุง ูู ุงูุชุทุจูู ุฏู ุนููู ุนุฏุฏ ุถุฎู ู ู ุงูู ุณุชุฎุฏู ูู.
ุงูููุฑุฉ ูู ุงูู Load Balancing ุฅูู ุจููุฒุน ุถุบุท ุงูุทูุจุงุช ุงููู ุจุชูุฌู ุนูู ุงูุณูุฑูุฑุงุช ุนุดุงู ูุฎูู ุงูุฃุฏุงุก ุฃุญุณู ููููู ุฃู ู ุดุงูู ู ู ูู ุชุญุตู.
โโโ
๐ ุฅุฒุงู ุงูู Load Balancing ุจูุดุชุบูุ
ุชุฎูู ู ุนุงูุง ุฃูู ุนูุฏู ุชุทุจูู ุนููู ุนุฏุฏ ูุจูุฑ ู ู ุงูู ุณุชุฎุฏู ูู ุงููู ุจูุฏุฎููุง ููุนู ููุง ุทูุจุงุช ูู ููุณ ุงูููุชุ ุฒู ู ุชุฌุฑ ุฅููุชุฑููู ูุจูุฑ ุฃู ู ููุน ุชูุงุตู ุงุฌุชู ุงุนู.
ูู ุงูุชุทุจูู ุฏู ู ูุฌูุฏ ุนูู ุณูุฑูุฑ ูุงุญุฏุ ูููุงุฌู ู ุดููุฉ ูุจูุฑุฉ ูู ุงูุนุฏุฏ ุฒุงุฏ ูุฃู ุงูุณูุฑูุฑ ููุจุฏุฃ ูุจูู ุจุทูุกุ ุฃู ู ู ูู ููุน ูู ุงูุถุบุท ูุงู ุฒูุงุฏุฉ.
ุงูุญู ููุง ุฅูู ุจุฏู ู ุง ุชุดุบู ุงูุชุทุจูู ููู ุนูู ุณูุฑูุฑ ูุงุญุฏุ ุจุชูุฒุนู ุนูู ุฃูุชุฑ ู ู ุณูุฑูุฑุ ููู ุณูุฑูุฑ ุจูุดูู ุฌุฒุก ู ู ุงูุดุบู.
ุงูู Load Balancer ุจูุฏุฎู ููุง ูุจูุจูู ูู ุงููู ุจูุญุฏุฏ ุงูุทูุจุงุช ุชุฑูุญ ูู ููุ ุจุญูุซ ู ููุด ุณูุฑูุฑ ูููู ุนููู ุถุบุท ุฃูุชุฑ ู ู ุงูุชุงูู.
โโโ
๐ ุฃููุงุน ุงูู Load Balancing:
- ุงูู Round Robin: ุงูุทุฑููุฉ ุฏู ุจุจุณุงุทุฉ ุจุชูุฒุน ุงูุทูุจุงุช ุจุงูุชุณุงูู ุนูู ูู ุงูุณูุฑูุฑุงุช. ุฃูู ุทูุจ ูุฑูุญ ูุฃูู ุณูุฑูุฑุ ูุงูุชุงูู ููุชุงููุ ูููุฐุง ูุญุฏ ู ุง ููุตู ูุขุฎุฑ ุณูุฑูุฑ ููุฑุฌุน ุชุงูู ู ู ุงูุฃูู.
- ุงูู Least Connections: ุงูุทุฑููุฉ ุฏู ุจุชุฑูุฒ ุนูู ุนุฏุฏ ุงูุงุชุตุงูุงุช ุงููู ูู ุณูุฑูุฑ ุดุบุงู ุนูููุงุ ุจู ุนูู ุฅููุง ุจุชุจุนุช ุงูุทูุจ ููุณูุฑูุฑ ุงููู ุนููู ุนุฏุฏ ุฃูู ู ู ุงูุทูุจุงุช ุญุงูููุงุ ูุฏู ุจูููู ู ููุฏ ูู ุง ูููู ููู ุงุฎุชูุงู ูุจูุฑ ูู ุงูุญู ู ุจูู ุงูุทูุจุงุช.
- ุงูู IP Hash: ููุง ุงูุชูุฒูุน ุจูููู ุจูุงุกู ุนูู ุนููุงู IP ุจุชุงุน ุงูุนู ูู ุงููู ุจูุนู ู ุงูุทูุจุ ูุนูู ูู ุนู ูู ุฏุงูู ูุง ููุชู ุชูุฌููู ูููุณ ุงูุณูุฑูุฑ ุจูุงุกู ุนูู ุนููุงู ุงูู IP ุจุชุงุนูุ ูุฏู ุจุชููุน ูู ุญุงูุงุช ู ุนููุฉ ุฒู ูู ุง ูููู ููู ุจูุงูุงุช ูุงุด ู ุญุชุงุฌุฉ ุชุชูุฒุน.
- ุงูู Weighted Load Balancing: ูู ุงูุญุงูุฉ ุฏู ุจูุนู ู ุฃุญู ุงู ู ุฎุชููุฉ ููุณูุฑูุฑุงุช ุจูุงุกู ุนูู ูุฏุฑุชูู . ูุนูู ูู ุนูุฏู ุณูุฑูุฑ ุฃููู ู ู ุงูุจุงููููุ ุชูุฏุฑ ุชุฎููู ูุงุฎุฏ ุญู ู ุฃูุจุฑ.
โโโ
๐ ููู ุงูู Load Balancing ู ูู ุ
ุงููุฏู ุงูุฃุณุงุณู ู ู ุงูู Load Balancing ูู ุฅูู ูุฎูู ุงูุชุทุจูู ุจุชุงุนู ู ุณุชูุฑ ูุณุฑูุน ููู ุณุชุฎุฏู ูู ู ูู ุง ุฒุงุฏ ุนุฏุฏูู .
ูุนูู ุจุฏู ู ุง ุงูู ููุน ูุนูู ุฃู ููุนุ ุงูุทูุจุงุช ูุชูุถู ุชุชูุฒุน ุจุดูู ู ุฑู ุนูู ูู ุงูุณูุฑูุฑุงุช.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุงูู Load Balancing ุญุงุฌุฉ ู ูู ุฉ ุฌุฏูุง ุจุชุฃุซุฑ ูู ุณุฑุนุฉ ูุซุจุงุช ุฃู ุชุทุจููุ ูุฎุตูุตูุง ูู ุงูุชุทุจูู ุฏู ุนููู ุนุฏุฏ ุถุฎู ู ู ุงูู ุณุชุฎุฏู ูู.
ุงูููุฑุฉ ูู ุงูู Load Balancing ุฅูู ุจููุฒุน ุถุบุท ุงูุทูุจุงุช ุงููู ุจุชูุฌู ุนูู ุงูุณูุฑูุฑุงุช ุนุดุงู ูุฎูู ุงูุฃุฏุงุก ุฃุญุณู ููููู ุฃู ู ุดุงูู ู ู ูู ุชุญุตู.
โโโ
๐ ุฅุฒุงู ุงูู Load Balancing ุจูุดุชุบูุ
ุชุฎูู ู ุนุงูุง ุฃูู ุนูุฏู ุชุทุจูู ุนููู ุนุฏุฏ ูุจูุฑ ู ู ุงูู ุณุชุฎุฏู ูู ุงููู ุจูุฏุฎููุง ููุนู ููุง ุทูุจุงุช ูู ููุณ ุงูููุชุ ุฒู ู ุชุฌุฑ ุฅููุชุฑููู ูุจูุฑ ุฃู ู ููุน ุชูุงุตู ุงุฌุชู ุงุนู.
ูู ุงูุชุทุจูู ุฏู ู ูุฌูุฏ ุนูู ุณูุฑูุฑ ูุงุญุฏุ ูููุงุฌู ู ุดููุฉ ูุจูุฑุฉ ูู ุงูุนุฏุฏ ุฒุงุฏ ูุฃู ุงูุณูุฑูุฑ ููุจุฏุฃ ูุจูู ุจุทูุกุ ุฃู ู ู ูู ููุน ูู ุงูุถุบุท ูุงู ุฒูุงุฏุฉ.
ุงูุญู ููุง ุฅูู ุจุฏู ู ุง ุชุดุบู ุงูุชุทุจูู ููู ุนูู ุณูุฑูุฑ ูุงุญุฏุ ุจุชูุฒุนู ุนูู ุฃูุชุฑ ู ู ุณูุฑูุฑุ ููู ุณูุฑูุฑ ุจูุดูู ุฌุฒุก ู ู ุงูุดุบู.
ุงูู Load Balancer ุจูุฏุฎู ููุง ูุจูุจูู ูู ุงููู ุจูุญุฏุฏ ุงูุทูุจุงุช ุชุฑูุญ ูู ููุ ุจุญูุซ ู ููุด ุณูุฑูุฑ ูููู ุนููู ุถุบุท ุฃูุชุฑ ู ู ุงูุชุงูู.
โโโ
๐ ุฃููุงุน ุงูู Load Balancing:
- ุงูู Round Robin: ุงูุทุฑููุฉ ุฏู ุจุจุณุงุทุฉ ุจุชูุฒุน ุงูุทูุจุงุช ุจุงูุชุณุงูู ุนูู ูู ุงูุณูุฑูุฑุงุช. ุฃูู ุทูุจ ูุฑูุญ ูุฃูู ุณูุฑูุฑุ ูุงูุชุงูู ููุชุงููุ ูููุฐุง ูุญุฏ ู ุง ููุตู ูุขุฎุฑ ุณูุฑูุฑ ููุฑุฌุน ุชุงูู ู ู ุงูุฃูู.
- ุงูู Least Connections: ุงูุทุฑููุฉ ุฏู ุจุชุฑูุฒ ุนูู ุนุฏุฏ ุงูุงุชุตุงูุงุช ุงููู ูู ุณูุฑูุฑ ุดุบุงู ุนูููุงุ ุจู ุนูู ุฅููุง ุจุชุจุนุช ุงูุทูุจ ููุณูุฑูุฑ ุงููู ุนููู ุนุฏุฏ ุฃูู ู ู ุงูุทูุจุงุช ุญุงูููุงุ ูุฏู ุจูููู ู ููุฏ ูู ุง ูููู ููู ุงุฎุชูุงู ูุจูุฑ ูู ุงูุญู ู ุจูู ุงูุทูุจุงุช.
- ุงูู IP Hash: ููุง ุงูุชูุฒูุน ุจูููู ุจูุงุกู ุนูู ุนููุงู IP ุจุชุงุน ุงูุนู ูู ุงููู ุจูุนู ู ุงูุทูุจุ ูุนูู ูู ุนู ูู ุฏุงูู ูุง ููุชู ุชูุฌููู ูููุณ ุงูุณูุฑูุฑ ุจูุงุกู ุนูู ุนููุงู ุงูู IP ุจุชุงุนูุ ูุฏู ุจุชููุน ูู ุญุงูุงุช ู ุนููุฉ ุฒู ูู ุง ูููู ููู ุจูุงูุงุช ูุงุด ู ุญุชุงุฌุฉ ุชุชูุฒุน.
- ุงูู Weighted Load Balancing: ูู ุงูุญุงูุฉ ุฏู ุจูุนู ู ุฃุญู ุงู ู ุฎุชููุฉ ููุณูุฑูุฑุงุช ุจูุงุกู ุนูู ูุฏุฑุชูู . ูุนูู ูู ุนูุฏู ุณูุฑูุฑ ุฃููู ู ู ุงูุจุงููููุ ุชูุฏุฑ ุชุฎููู ูุงุฎุฏ ุญู ู ุฃูุจุฑ.
โโโ
๐ ููู ุงูู Load Balancing ู ูู ุ
ุงููุฏู ุงูุฃุณุงุณู ู ู ุงูู Load Balancing ูู ุฅูู ูุฎูู ุงูุชุทุจูู ุจุชุงุนู ู ุณุชูุฑ ูุณุฑูุน ููู ุณุชุฎุฏู ูู ู ูู ุง ุฒุงุฏ ุนุฏุฏูู .
ูุนูู ุจุฏู ู ุง ุงูู ููุน ูุนูู ุฃู ููุนุ ุงูุทูุจุงุช ูุชูุถู ุชุชูุฒุน ุจุดูู ู ุฑู ุนูู ูู ุงูุณูุฑูุฑุงุช.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค5
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู Hydration ๐ป
.
.
ุนู ุฑู ููุฑุช ุฅุฒุงู React ุฃู Next.js ุจููุฏุฑูุง ูุญูููุง ููุฏ ุงูู HTML ุงููู ุชู ุฅูุดุงุคู ูู ุงูุณูุฑูุฑ ูู ููุน ุดุบุงู ุจุงููุงู ู ูู ุงูู ุชุตูุญุ ๐ค
ุงูุนู ููุฉ ุฏู ุงุณู ูุง Hydration ... ุชุนุงู ูุนุฑู ุฅุฒุงู ุงูู ูุถูุน ุจูุชู ...
โโโ
๐ ุฅูู ูู ุงูู Hydrationุ
ุจุจุณุงุทุฉ ูุฏูุ ุงูู Hydration ูู ุงูุนู ููุฉ ุงููู React ุจุชุนู ููุง ุนุดุงู "ุชุฑุจุท" ุงูููุฏ ุงููู ุงุชุนู ู ุนูู ุงูุณูุฑูุฑ (SSR - Server-Side Rendering) ู ุน ุงูููุฏ ุงููู ุจูุดุชุบู ุนูู ุงูู ุชุตูุญ (Client-Side Rendering).
ูุนูู ูู ุง ุชูุชุญ ุตูุญุฉ ุฌุงูู ู ู ุงูุณูุฑูุฑุ React ู ุด ุจุชุจุฏุฃ ู ู ุงูุตูุฑุ ูู ุจุชูุงูู ููุฏ HTML ุฌุงูุฒ ูู ุญุชุงุฌ ุชุฒูุฏ ุนููู ุงูู React Components ูุชุจุฏุฃ ุชุชุนุงู ู ู ุนุงูุง.
โโโ
๐ ููู ุงูู Hydration ู ูู ุ
๐ ุชุญุณูู ุงูู Performance:
ุจู ุง ุฅู ุงูุณูุฑูุฑ ุจูุจุนุช HTML ุฌุงูุฒุ ุงูู ุชุตูุญ ูุนุฑุถ ุงูุตูุญุฉ ุฃุณุฑุน. ุงูู ุณุชุฎุฏู ูุดูู ุงูู ุญุชูู ุฃุณุฑุน ุญุชู ูู ุงูู JavaScript ูุณู ุจูุญู ู.
๐ ุงูู SEO Optimization:
ุนุดุงู ู ุญุฑูุงุช ุงูุจุญุซ ุฒู Google ุชูุฏุฑ ุชูุฑุฃ ู ุญุชูู ุงูุตูุญุฉ ุจุณูููุฉุ ูุงุฒู ุงูู HTML ูููู ู ูุฌูุฏ ูุฌุงูุฒ. ุฏู ุจูุฎูู ู ููุนู ูุธูุฑ ูู ุชุฑุชูุจ ุฃุนูู.
๐ ุงูู Smooth User Interaction:
ุจุนุฏ ุงูู Hydrationุ ุงูุตูุญุฉ ุชุจูู interactive ุจุงููุงู ู. ุงูู ุณุชุฎุฏู ููุฏุฑ ูุชูุงุนู ู ุน ุงูู buttonsุ formsุ ูุงูู links ุจุดูู ุทุจูุนู.
โโโ
๐ ุฅุฒุงู ุงูู Hydration ุจูุดุชุบูุ
ุงูุนู ููุฉ ุจุชุญุตู ูุงูุชุงูู:
1- ุงูุณูุฑูุฑ ุจูุนู ู Server-Side Rendering (SSR)ุ ููุจุนุช HTML ุฌุงูุฒ ููู ุชุตูุญ.
2- ูู ุง ููุตู ุงูู HTMLุ ุงูู ุชุตูุญ ูุนุฑุถ ุงูุตูุญุฉ ู ุจุงุดุฑุฉ.
3- ุจุนุฏ ู ุง ุงูู JavaScript ูุฎูุต ุชุญู ููุ React ุจูุจุฏุฃ ุงูู Hydrationุ ูุจูุฑุจุท ุงูููุฏ ุงูุฌุงูุฒ ู ุน ุงูู DOM.
4- ู ู ุงููุญุธุฉ ุฏูุ ุงูุตูุญุฉ ุจุชุชุญูู ูู interactive.
โโโ
๐ ู ุดุงูู ู ู ูู ุชูุงุฌูู ู ุน ุงูู Hydration:
โก๏ธ ุงูู Mismatch ุจูู ุงูู HTML ูุงูู React State:
ูู ุงูุณูุฑูุฑ ุจุนุช HTML ู ุนูู ูุงูู React ุญุงูู ูุฑูุฏุฑ ุญุงุฌุฉ ู ุฎุชููุฉุ ู ู ูู ุชุธูุฑ ุฃุฎุทุงุก ุฒู Hydration failed.
โก๏ธุงูู Render Blocking JavaScript:
ูู ููู ู ููุงุช JavaScript ูุจูุฑุฉ ุฃู ู ุนูุฏุฉ ุจุชุชุฃุฎุฑ ูู ุงูุชุญู ููุ ุงูู Hydration ููุจูู ุจุทูุก.
โก๏ธ ุงูู Heavy Components ูู ุงูู Client:
ูู ุนูุฏู Components ู ุนูุฏุฉ ุฌุฏูุงุ ุงูุนู ููุฉ ูุชุณุชููู ููุช ุฃุทูู.
โโโ
๐ ุฅุฒุงู ุชุญุณู ุชุฌุฑุจุฉ ุงูู Hydrationุ
โ ุงุณุชุฎุฏู Dynamic Imports:
ูู Next.jsุ ู ู ูู ุชุณุชุฎุฏู ()dynamic ุนุดุงู ุชุฃุฎุฑ ุชุญู ูู ุจุนุถ ุงูู components ุบูุฑ ุงูุถุฑูุฑูุฉ.
โ ุฎูู ููู ุฃูู ูุฉ ููู Critical Content:
ุงุนู ู ุฑูุฏุฑ ููู ุญุชูู ุงูุฃุณุงุณู ุงูุฃููุ ูุจุนุฏูุง ุฎูู ุจุงูู ุงูุตูุญุฉ ุชุชูุงุนู.
โ ุชุฌูุจ ุงูู Client-Only Rendering ูู ู ุด ุถุฑูุฑู:
ุญุงูู ุชุฎูู ู ุนุธู ุงูู Components ุจุชุดุชุบู ู ุน ุงูู SSRุ ุฅูุง ูู ุนูุฏู ุญุงุฌุฉ ูุงุฒู ุชุชุนู ู ูู ุงูู client.
โโโ
๐ ุงููุฑู ุจูู React ู Next.js ูู ุงูู Hydrationุ
ูู Reactุ ูู ุจุชุนู ู Client-Side Rendering (CSR) ุจุณุ ู ููุด Hydration. ููู ูู ุง ุชุณุชุฎุฏู ()ReactDOM.hydrateุ ุจุชุจุฏุฃ ุงูุนู ููุฉ.
ุฃู ุง ูู Next.jsุ ุงูู Hydration ุจูุดุชุบู ุฃูุชูู ุงุชูู ูู ุง ุชุณุชุฎุฏู ู ูุฒุงุช ุฒู ุงูู SSR ุฃู ุงูู Static Site Generation (SSG).
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุนู ุฑู ููุฑุช ุฅุฒุงู React ุฃู Next.js ุจููุฏุฑูุง ูุญูููุง ููุฏ ุงูู HTML ุงููู ุชู ุฅูุดุงุคู ูู ุงูุณูุฑูุฑ ูู ููุน ุดุบุงู ุจุงููุงู ู ูู ุงูู ุชุตูุญุ ๐ค
ุงูุนู ููุฉ ุฏู ุงุณู ูุง Hydration ... ุชุนุงู ูุนุฑู ุฅุฒุงู ุงูู ูุถูุน ุจูุชู ...
โโโ
๐ ุฅูู ูู ุงูู Hydrationุ
ุจุจุณุงุทุฉ ูุฏูุ ุงูู Hydration ูู ุงูุนู ููุฉ ุงููู React ุจุชุนู ููุง ุนุดุงู "ุชุฑุจุท" ุงูููุฏ ุงููู ุงุชุนู ู ุนูู ุงูุณูุฑูุฑ (SSR - Server-Side Rendering) ู ุน ุงูููุฏ ุงููู ุจูุดุชุบู ุนูู ุงูู ุชุตูุญ (Client-Side Rendering).
ูุนูู ูู ุง ุชูุชุญ ุตูุญุฉ ุฌุงูู ู ู ุงูุณูุฑูุฑุ React ู ุด ุจุชุจุฏุฃ ู ู ุงูุตูุฑุ ูู ุจุชูุงูู ููุฏ HTML ุฌุงูุฒ ูู ุญุชุงุฌ ุชุฒูุฏ ุนููู ุงูู React Components ูุชุจุฏุฃ ุชุชุนุงู ู ู ุนุงูุง.
โโโ
๐ ููู ุงูู Hydration ู ูู ุ
๐ ุชุญุณูู ุงูู Performance:
ุจู ุง ุฅู ุงูุณูุฑูุฑ ุจูุจุนุช HTML ุฌุงูุฒุ ุงูู ุชุตูุญ ูุนุฑุถ ุงูุตูุญุฉ ุฃุณุฑุน. ุงูู ุณุชุฎุฏู ูุดูู ุงูู ุญุชูู ุฃุณุฑุน ุญุชู ูู ุงูู JavaScript ูุณู ุจูุญู ู.
๐ ุงูู SEO Optimization:
ุนุดุงู ู ุญุฑูุงุช ุงูุจุญุซ ุฒู Google ุชูุฏุฑ ุชูุฑุฃ ู ุญุชูู ุงูุตูุญุฉ ุจุณูููุฉุ ูุงุฒู ุงูู HTML ูููู ู ูุฌูุฏ ูุฌุงูุฒ. ุฏู ุจูุฎูู ู ููุนู ูุธูุฑ ูู ุชุฑุชูุจ ุฃุนูู.
๐ ุงูู Smooth User Interaction:
ุจุนุฏ ุงูู Hydrationุ ุงูุตูุญุฉ ุชุจูู interactive ุจุงููุงู ู. ุงูู ุณุชุฎุฏู ููุฏุฑ ูุชูุงุนู ู ุน ุงูู buttonsุ formsุ ูุงูู links ุจุดูู ุทุจูุนู.
โโโ
๐ ุฅุฒุงู ุงูู Hydration ุจูุดุชุบูุ
ุงูุนู ููุฉ ุจุชุญุตู ูุงูุชุงูู:
1- ุงูุณูุฑูุฑ ุจูุนู ู Server-Side Rendering (SSR)ุ ููุจุนุช HTML ุฌุงูุฒ ููู ุชุตูุญ.
2- ูู ุง ููุตู ุงูู HTMLุ ุงูู ุชุตูุญ ูุนุฑุถ ุงูุตูุญุฉ ู ุจุงุดุฑุฉ.
3- ุจุนุฏ ู ุง ุงูู JavaScript ูุฎูุต ุชุญู ููุ React ุจูุจุฏุฃ ุงูู Hydrationุ ูุจูุฑุจุท ุงูููุฏ ุงูุฌุงูุฒ ู ุน ุงูู DOM.
4- ู ู ุงููุญุธุฉ ุฏูุ ุงูุตูุญุฉ ุจุชุชุญูู ูู interactive.
โโโ
๐ ู ุดุงูู ู ู ูู ุชูุงุฌูู ู ุน ุงูู Hydration:
โก๏ธ ุงูู Mismatch ุจูู ุงูู HTML ูุงูู React State:
ูู ุงูุณูุฑูุฑ ุจุนุช HTML ู ุนูู ูุงูู React ุญุงูู ูุฑูุฏุฑ ุญุงุฌุฉ ู ุฎุชููุฉุ ู ู ูู ุชุธูุฑ ุฃุฎุทุงุก ุฒู Hydration failed.
โก๏ธุงูู Render Blocking JavaScript:
ูู ููู ู ููุงุช JavaScript ูุจูุฑุฉ ุฃู ู ุนูุฏุฉ ุจุชุชุฃุฎุฑ ูู ุงูุชุญู ููุ ุงูู Hydration ููุจูู ุจุทูุก.
โก๏ธ ุงูู Heavy Components ูู ุงูู Client:
ูู ุนูุฏู Components ู ุนูุฏุฉ ุฌุฏูุงุ ุงูุนู ููุฉ ูุชุณุชููู ููุช ุฃุทูู.
โโโ
๐ ุฅุฒุงู ุชุญุณู ุชุฌุฑุจุฉ ุงูู Hydrationุ
โ ุงุณุชุฎุฏู Dynamic Imports:
ูู Next.jsุ ู ู ูู ุชุณุชุฎุฏู ()dynamic ุนุดุงู ุชุฃุฎุฑ ุชุญู ูู ุจุนุถ ุงูู components ุบูุฑ ุงูุถุฑูุฑูุฉ.
โ ุฎูู ููู ุฃูู ูุฉ ููู Critical Content:
ุงุนู ู ุฑูุฏุฑ ููู ุญุชูู ุงูุฃุณุงุณู ุงูุฃููุ ูุจุนุฏูุง ุฎูู ุจุงูู ุงูุตูุญุฉ ุชุชูุงุนู.
โ ุชุฌูุจ ุงูู Client-Only Rendering ูู ู ุด ุถุฑูุฑู:
ุญุงูู ุชุฎูู ู ุนุธู ุงูู Components ุจุชุดุชุบู ู ุน ุงูู SSRุ ุฅูุง ูู ุนูุฏู ุญุงุฌุฉ ูุงุฒู ุชุชุนู ู ูู ุงูู client.
โโโ
๐ ุงููุฑู ุจูู React ู Next.js ูู ุงูู Hydrationุ
ูู Reactุ ูู ุจุชุนู ู Client-Side Rendering (CSR) ุจุณุ ู ููุด Hydration. ููู ูู ุง ุชุณุชุฎุฏู ()ReactDOM.hydrateุ ุจุชุจุฏุฃ ุงูุนู ููุฉ.
ุฃู ุง ูู Next.jsุ ุงูู Hydration ุจูุดุชุบู ุฃูุชูู ุงุชูู ูู ุง ุชุณุชุฎุฏู ู ูุฒุงุช ุฒู ุงูู SSR ุฃู ุงูู Static Site Generation (SSG).
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค6
ุณุคุงู ูุฑููุช ุฅูุฏ ูุฐูุฐ ู
ู
ูู ููุงุจูู ูู ุงูุงูุชุฑฺคูู ๐ฏ
.
.
๐ ุฅูู ุงููุฑู ุจูู ุงูู async ูุงูู defer ูู ุงูู script tagุ
โโโ
๐ ุชุนุงู ูููู ุงูู ุดููุฉ ุงูุฃูู
ูู ุง ุจุชุณุชุฎุฏู <script> ุนุดุงู ุชุถูู JavaScript ูู ุงูุตูุญุฉุ ุงูู ุชุตูุญ ุจูุจุฏุฃ ููุฑุฃ ุงูููุฏ (HTML parsing)ุ ููู ูู ุง ููุตู ูู script ู ุด ู ุญุฏุฏ ูู async ููุง deferุ ููุนู ู ุฅููุ
- ููููู ูุฑุงุกุฉ ุงูู HTML.
- ููุญู ูู ุงูู script ุจุงููุงู ู.
- ุจุนุฏูู ูุดุบูู ุงูููุฏ.
- ูุจุนุฏูู ููู ู ูุฑุงุกุฉ ุงูู HTML.
ุฏู ู ุนูุงู ุฅู ุงูุตูุญุฉ ูุชูู ุดููุฉ (render blocking) ูุญุฏ ู ุง ุงูุชุญู ูู ูุงูุชุดุบูู ูุฎูุตูุง. ุงููุชูุฌุฉุ ุชุฌุฑุจุฉ ู ุณุชุฎุฏู ุฃุจุทุฃ ูุงูู ููุน ููููู ุชููู.
โโโ
ูููุง ุฏูุฑ ุงูู async ูุงูู defer ุนูุดุงู ูุญููุง ุงูู ุดููุฉ:
ูู ุง ุชุณุชุฎุฏู async ูู ุงูู script tag ุจุงูุดูู ุฏู:
ุงูู ุชุตูุญ ููุนู ู ุงูุฎุทูุงุช ุฏู:
1- ููู ู ูุฑุงุกุฉ ุงูู HTML
2- ูุญู ูู ุงูู script ูู ุงูุฎูููุฉ.
3- ุจู ุฌุฑุฏ ู ุง ุงูุชุญู ูู ูุฎูุตุ ููููู ูุฑุงุกุฉ ุงูู HTML ููุดุบูู ุงูู script ุนูุทูู.
๐ ุชุดุบูู ุงูู script ู ุด ู ุฑุชุจุท ุจุงูุชูุงุก ุชุญู ูู ุจุงูู ุงูุตูุญุฉ.
๐ ูู ุนูุฏู ุฃูุชุฑ ู ู async scriptุ ู ููุด ุถู ุงู ุฅููู ููุดุชุบููุง ุจููุณ ุชุฑุชูุจ ุงููุชุงุจุฉ.
โโโ
ูู ุง ุชุณุชุฎุฏู defer ูู ุงูู script tag ุจุงูุดูู ุฏู:
ุงูู ุชุตูุญ ููุนู ู ุงูุขุชู:
1- ููู ู ูุฑุงุกุฉ ุงูู HTML
2- ูุญู ูู ุงูู script ูู ุงูุฎูููุฉ (ุฒู async).
3- ููู ู ุด ููุดุบูู ุงูู script ุบูุฑ ูู ุง ุงูู HTML ููู ูุฎูุต ุชุญู ูู ุจุงููุงู ู.
๐ ุงูู scripts ุงููู ุจู defer ุจุชุชููุฐ ุจููุณ ุชุฑุชูุจ ูุชุงุจุชูุง ูู ุงูู HTML.
๐ ุฏู ุจูููู ู ููุฏ ุฌุฏูุง ูู ุนูุฏู scripts ู ุนุชู ุฏุฉ ุนูู ุจุนุถูุง ุฃู ู ุญุชุงุฌุฉ ุชุฑุชูุจ ู ุนูู.
โโโ
ุทูุจ.. ุฃุณุชุฎุฏู ู ูู ูููุ ๐ค
โ ุงูู async: ูู ุงูู script ู ุณุชูู ูู ุด ู ุนุชู ุฏ ุนูู ุญุงุฌุฉ ุชุงููุฉุ ุฒู script ูุชุชุจุน ุงูุฒูุงุฑ (Analytics).
โ ุงูู defer: ูู ุงูู script ุจูุนุชู ุฏ ุนูู ุชุฑุชูุจ ู ุนูู ุฃู ู ุญุชุงุฌ ูุณุชูู ุชุญู ูู ุงูุตูุญุฉ ุจุงููุงู ู ูุจู ุงูุชูููุฐุ ุฒู ุงูููุฏ ุงูุฃุณุงุณู ููู application ุจุชุงุนู.
โโโ
๐ ู ุซุงู ุชูุถูุญู
ูู ุนูุฏู ููุฏ ุจุงูุดูู ุฏู:
ู ู ูู script2.js ูุดุชุบู ูุจู script1.js ูุฃู async ู ููุด ุนูุงูุฉ ุจุงูุชุฑุชูุจ.
๐ ููู ูู ุงุณุชุฎุฏู ุช defer
ููุง script1.js ุฏุงุฆู ูุง ููุดุชุบู ูุจู script2.jsุ ู ูู ุง ุญุตู.
โโโ
โก๏ธ ุฎูุงุตุฉ ุงูููู:
- ุงูู async: ุณุฑูุน ุจุณ ุนุดูุงุฆู.
- ุงูู defer: ู ูุธู ูุจูุดุชุบู ุจุงูุชุฑุชูุจ.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
๐ ุฅูู ุงููุฑู ุจูู ุงูู async ูุงูู defer ูู ุงูู script tagุ
โโโ
๐ ุชุนุงู ูููู ุงูู ุดููุฉ ุงูุฃูู
ูู ุง ุจุชุณุชุฎุฏู <script> ุนุดุงู ุชุถูู JavaScript ูู ุงูุตูุญุฉุ ุงูู ุชุตูุญ ุจูุจุฏุฃ ููุฑุฃ ุงูููุฏ (HTML parsing)ุ ููู ูู ุง ููุตู ูู script ู ุด ู ุญุฏุฏ ูู async ููุง deferุ ููุนู ู ุฅููุ
- ููููู ูุฑุงุกุฉ ุงูู HTML.
- ููุญู ูู ุงูู script ุจุงููุงู ู.
- ุจุนุฏูู ูุดุบูู ุงูููุฏ.
- ูุจุนุฏูู ููู ู ูุฑุงุกุฉ ุงูู HTML.
ุฏู ู ุนูุงู ุฅู ุงูุตูุญุฉ ูุชูู ุดููุฉ (render blocking) ูุญุฏ ู ุง ุงูุชุญู ูู ูุงูุชุดุบูู ูุฎูุตูุง. ุงููุชูุฌุฉุ ุชุฌุฑุจุฉ ู ุณุชุฎุฏู ุฃุจุทุฃ ูุงูู ููุน ููููู ุชููู.
โโโ
ูููุง ุฏูุฑ ุงูู async ูุงูู defer ุนูุดุงู ูุญููุง ุงูู ุดููุฉ:
๐ ุฃูููุง: async
ูู ุง ุชุณุชุฎุฏู async ูู ุงูู script tag ุจุงูุดูู ุฏู:
<script src="main.js" async></script>
ุงูู ุชุตูุญ ููุนู ู ุงูุฎุทูุงุช ุฏู:
1- ููู ู ูุฑุงุกุฉ ุงูู HTML
2- ูุญู ูู ุงูู script ูู ุงูุฎูููุฉ.
3- ุจู ุฌุฑุฏ ู ุง ุงูุชุญู ูู ูุฎูุตุ ููููู ูุฑุงุกุฉ ุงูู HTML ููุดุบูู ุงูู script ุนูุทูู.
๐ ุชุดุบูู ุงูู script ู ุด ู ุฑุชุจุท ุจุงูุชูุงุก ุชุญู ูู ุจุงูู ุงูุตูุญุฉ.
๐ ูู ุนูุฏู ุฃูุชุฑ ู ู async scriptุ ู ููุด ุถู ุงู ุฅููู ููุดุชุบููุง ุจููุณ ุชุฑุชูุจ ุงููุชุงุจุฉ.
โโโ
๐ ุซุงูููุง: defer
ูู ุง ุชุณุชุฎุฏู defer ูู ุงูู script tag ุจุงูุดูู ุฏู:
<script src="main.js" defer></script>
ุงูู ุชุตูุญ ููุนู ู ุงูุขุชู:
1- ููู ู ูุฑุงุกุฉ ุงูู HTML
2- ูุญู ูู ุงูู script ูู ุงูุฎูููุฉ (ุฒู async).
3- ููู ู ุด ููุดุบูู ุงูู script ุบูุฑ ูู ุง ุงูู HTML ููู ูุฎูุต ุชุญู ูู ุจุงููุงู ู.
๐ ุงูู scripts ุงููู ุจู defer ุจุชุชููุฐ ุจููุณ ุชุฑุชูุจ ูุชุงุจุชูุง ูู ุงูู HTML.
๐ ุฏู ุจูููู ู ููุฏ ุฌุฏูุง ูู ุนูุฏู scripts ู ุนุชู ุฏุฉ ุนูู ุจุนุถูุง ุฃู ู ุญุชุงุฌุฉ ุชุฑุชูุจ ู ุนูู.
โโโ
ุทูุจ.. ุฃุณุชุฎุฏู ู ูู ูููุ ๐ค
โ ุงูู async: ูู ุงูู script ู ุณุชูู ูู ุด ู ุนุชู ุฏ ุนูู ุญุงุฌุฉ ุชุงููุฉุ ุฒู script ูุชุชุจุน ุงูุฒูุงุฑ (Analytics).
โ ุงูู defer: ูู ุงูู script ุจูุนุชู ุฏ ุนูู ุชุฑุชูุจ ู ุนูู ุฃู ู ุญุชุงุฌ ูุณุชูู ุชุญู ูู ุงูุตูุญุฉ ุจุงููุงู ู ูุจู ุงูุชูููุฐุ ุฒู ุงูููุฏ ุงูุฃุณุงุณู ููู application ุจุชุงุนู.
โโโ
๐ ู ุซุงู ุชูุถูุญู
ูู ุนูุฏู ููุฏ ุจุงูุดูู ุฏู:
<script src="script1.js" async></script>
<script src="script2.js" async></script>
ู ู ูู script2.js ูุดุชุบู ูุจู script1.js ูุฃู async ู ููุด ุนูุงูุฉ ุจุงูุชุฑุชูุจ.
๐ ููู ูู ุงุณุชุฎุฏู ุช defer
<script src="script1.js" defer></script>
<script src="script2.js" defer></script>
ููุง script1.js ุฏุงุฆู ูุง ููุดุชุบู ูุจู script2.jsุ ู ูู ุง ุญุตู.
โโโ
โก๏ธ ุฎูุงุตุฉ ุงูููู:
- ุงูู async: ุณุฑูุน ุจุณ ุนุดูุงุฆู.
- ุงูู defer: ู ูุธู ูุจูุดุชุบู ุจุงูุชุฑุชูุจ.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค11