11.1K subscribers
3.12K photos
19 videos
138 files
3.66K links
Level up daily with insider dev hacks, smart career tips, and real talk! ๐Ÿš€

โšก๏ธ Stay connected with me: linktr.ee/AliSamir

๐Ÿ“ To advertise on the channel: https://telega.io/c/the_developer_guide
Download Telegram
Error Handling in TypeScript
โค5
ุฅุฒุงูŠ ุชูƒูˆู† ู…ู‡ู†ุฏุณ ุจุฑู…ุฌูŠุงุช ุดุงุทุฑุŸ
.
.
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 ู‡ูˆ ุฅู†ู‡ ูŠุฎู„ูŠ ุงู„ุชุทุจูŠู‚ ุจุชุงุนูƒ ู…ุณุชู‚ุฑ ูˆุณุฑูŠุน ู„ู„ู…ุณุชุฎุฏู…ูŠู† ู…ู‡ู…ุง ุฒุงุฏ ุนุฏุฏู‡ู….

ูŠุนู†ูŠ ุจุฏู„ ู…ุง ุงู„ู…ูˆู‚ุน ูŠุนู„ู‚ ุฃูˆ ูŠู‚ุนุŒ ุงู„ุทู„ุจุงุช ู‡ุชูุถู„ ุชุชูˆุฒุน ุจุดูƒู„ ู…ุฑู† ุนู„ู‰ ูƒู„ ุงู„ุณูŠุฑูุฑุงุช.

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค5
Cookie Masterclass ๐Ÿ’ฏ
๐Ÿ’ฏ3
ุฏุฑุฏุดุฉ ุณุฑูŠุนุฉ ุนู† ุงู„ู€ 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).

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค6
ุณุคุงู„ ูุฑูˆู†ุช ุฅู†ุฏ ู„ุฐูŠุฐ ู…ู…ูƒู† ูŠู‚ุงุจู„ูƒ ููŠ ุงู„ุงู†ุชุฑฺคูŠูˆ ๐Ÿ’ฏ
.
.
๐Ÿ“Œ ุฅูŠู‡ ุงู„ูุฑู‚ ุจูŠู† ุงู„ู€ 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
React 19.2 brings true optimism to real-time UIs ๐Ÿš€
1โค3