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
ุฏุฑุฏุดุฉ ุณุฑูŠุนุฉ ุนู† ุงู„ู€ Interface Segregation Principle ๐Ÿ’ฏ
.
.
ุชุฎูŠู„ ุฃู†ูƒ ููŠ ุดุบู„ุงู†ุฉ ู…ุนูŠู†ุฉ ูˆูƒู„ ุดูˆูŠุฉ ุญุฏ ูŠุทู„ุจ ู…ู†ูƒ ุชุงุณูƒุงุช ู…ู„ู‡ุงุด ุนู„ุงู‚ุฉ ุจุจุนุถ ูˆู„ุง ู„ูŠู‡ุง ุนู„ุงู‚ุฉ ุจุงู„ุดุบู„ุงู†ุฉ...ุทุจูŠุนูŠ ู‡ุชู„ุงู‚ูŠ ู†ูุณูƒ ู…ุดุชุช ุจูŠู† ุงู„ุชุงุณูƒุงุช ูƒู„ู‡ุง ูˆู…ููŠุด ูุฑุตุฉ ุชุฑูƒุฒ ููŠ ุงู„ุดุบู„ุงู†ุฉ ุงู„ุฃุณุงุณูŠุฉ ุงู„ู„ูŠ ุฌุงูŠ ุนู„ุดุงู†ู‡ุง ูˆูƒู…ุงู† ู…ุด ู‡ุชุนู…ู„ู‡ุง ุจุฃูุถู„ ุดูƒู„.

ู†ูุณ ุงู„ุณูŠู†ุงุฑูŠูˆ ุฏู‡ ุจุงู„ุถุจุท ู…ู…ูƒู† ูŠุญุตู„ ููŠ ุงู„ุจุฑู…ุฌุฉ ู„ู…ุง ุงู„ูƒูˆุฏ ูŠุจู‚ู‰ ู…ุถุทุฑ ูŠู„ุชุฒู… ุจุญุงุฌุงุช ู‡ูˆ ู…ุด ู…ุญุชุงุฌู‡ุง.

ูˆู‡ู†ุง ู‡ุชู„ุงู‚ูŠ ุฏูˆุฑ ุงู„ู€ Interface Segregation PrincipleุŒ ูˆุงุญุฏ ู…ู† ุฃู‡ู… ุงู„ู…ุจุงุฏุฆ ุงู„ุฎู…ุณุฉ ู„ู…ูู‡ูˆู… SOLIDุŒ ุนุดุงู† ูŠุญู„ ุงู„ู…ุดูƒู„ุฉ ุฏูŠ.

โ€”โ€”โ€”

ูŠุนู†ูŠ ุฅูŠู‡ Interface Segregation PrincipleุŸ ๐Ÿค”


ุงู„ู€ ISP ุจูŠู‚ูˆู„ ุจุจุณุงุทุฉ: "ู…ูŠู†ูุนุด ุชุฎู„ูŠ ุงู„ูƒูˆุฏ ูŠู„ุชุฒู… ุจุญุงุฌุงุช ู‡ูˆ ู…ุด ู…ุญุชุงุฌู‡ุง."

ู„ูˆ ุนู†ุฏูƒ Interface ููŠู‡ ู…ู„ูŠูˆู† ูˆุธูŠูุฉ (methods) ู„ูƒู† ุงู„ูƒุงุฆู† (object) ุงู„ู„ูŠ ู‡ูŠุณุชุฎุฏู… ุงู„ู€ Interface ุฏู‡ ู‡ูŠุญุชุงุฌ ูƒุงู… ุญุงุฌุฉ ุจุณุŒ ูŠุจู‚ู‰ ูƒุฏู‡ ุฃู†ุช ุจุชุญู…ู‘ู„ู‡ ุดุบู„ ู…ู„ูˆุด ู„ุงุฒู…ุฉุŒ ูˆุฏู‡ ู‡ูŠุนู…ู„ ู…ุดุงูƒู„ ููŠ ุงู„ูƒูˆุฏ ุจุนุฏูŠู†.

โ€”โ€”โ€”

ู…ุซุงู„ ุจุณูŠุท ๐Ÿ‘‡


ู„ูˆ ุนู†ุฏูƒ Interface ุงุณู…ู‡ Bird

interface Bird {
fly(): void;
swim(): void;
}


ู„ูˆ ุนู…ู„ุช ูƒุงุฆู† (object) ุฒูŠ Duck ู‡ูŠุจู‚ู‰ ู…ู†ุทู‚ูŠ ุฌุฏู‹ุง ุฅู†ู‡ ูŠู‚ุฏุฑ ูŠุทูŠุฑ (fly) ูˆูŠุนูˆู… (swim).
ู„ูƒู† ู„ูˆ ุนู†ุฏูƒ ูƒุงุฆู† ุฒูŠ PenguinุŸ ุงู„ุจุทุฑูŠู‚ ุจูŠุนูˆู… ุจุณุŒ ูˆู…ุด ุจูŠุนุฑู ูŠุทูŠุฑ!

ููŠ ุงู„ุญุงู„ุฉ ุฏูŠ ุงู„ู€ Penguin ู‡ูŠุถุทุฑ ูŠุทุจู‚ (implement) ูˆุธูŠูุฉ ู…ู„ูˆุด ุนู„ุงู‚ุฉ ุจูŠู‡ุง ูˆู‡ูŠ flyุŒ ุญุชู‰ ู„ูˆ ู…ุด ู‡ูŠุณุชุฎุฏู…ู‡ุง.

โ€”โ€”โ€”

โœ… ุงู„ุญู„ุŸ


ุงูุตู„ ุงู„ูˆุธุงุฆู ุจุชุงุนุช ุงู„ู€ Interface ุนู„ู‰ ุญุณุจ ุงู„ุงุญุชูŠุงุฌ ุงู„ูุนู„ูŠ:

interface FlyingBird {
fly(): void;
}

interface SwimmingBird {
swim(): void;
}


ูˆูƒุฏู‡ ู„ู…ุง ุชูŠุฌูŠ ุชุนู…ู„ DuckุŒ ู‡ูŠุทุจู‚ ุงู„ุงุชู†ูŠู†:

class Duck implements FlyingBird, SwimmingBird {
fly() {
console.log('Duck is flying');
}

swim() {
console.log('Duck is swimming');
}
}


ุฃู…ุง ุงู„ู€ PenguinุŒ ู‡ูŠุทุจู‘ู‚ ุจุณ ุงู„ู„ูŠ ู„ู‡ ุนู„ุงู‚ุฉ ุจู‡:

class Penguin implements SwimmingBird {
swim() {
console.log('Penguin is swimming');
}
}


โ€”โ€”โ€”

๐Ÿ“Œ ู„ูŠู‡ ุงู„ู…ุจุฏุฃ ุฏู‡ ู…ู‡ู…ุŸ


- ู„ู…ุง ูƒู„ ูƒุงุฆู† ูŠูƒูˆู† ู…ุฑุชุจุท ุจุงู„ูˆุธุงุฆู ุงู„ู„ูŠ ูุนู„ู‹ุง ู…ุญุชุงุฌู‡ุงุŒ ุจูŠุจู‚ู‰ ุฃุณู‡ู„ ุชุนู…ู„ ุชุบูŠูŠุฑุงุช ู…ู† ุบูŠุฑ ู…ุง ุชุณุจุจ ู…ุดุงูƒู„ ู„ุจุงู‚ูŠ ุงู„ูƒูˆุฏ.
- ุงู„ูƒูˆุฏ ุจุชุงุนูƒ ู‡ูŠุจู‚ู‰ ู…ู†ุธู… "Organized" ุฃูƒุชุฑ ูˆู…ูู‡ูˆู… ู„ุฃูŠ ุญุฏ ูŠุดุชุบู„ ุนู„ูŠู‡ ุจุนุฏูƒ.
- ู…ุด ู‡ุชุถุทุฑ ุชุถูŠู ุฏูˆุงู„ (methods) ู…ุด ู…ุณุชุฎุฏู…ุฉุŒ ูˆุฏู‡ ุจูŠู‚ู„ู„ ุงู„ู€ Bugs ุงู„ู„ูŠ ู…ู…ูƒู† ุชุธู‡ุฑ.

โ€”โ€”โ€”

๐Ÿ“ ุฏุงุฆู…ู‹ุง ุฎู„ูŠูƒ ุญุฑูŠุต ุฅู† ุฃูŠ Interface ูŠูƒูˆู† ู…ุชุฎุตุต ูˆู…ุญุฏุฏ ุงู„ูˆุธุงุฆู.
๐Ÿ“ ู„ูˆ ู„ู‚ูŠุช Interface ูƒุจูŠุฑ ูˆู…ุนู‚ุฏุŒ ุงูุตู„ู‡ ู„ุนุฏุฉ Interfaces ุฃุตุบุฑ.
๐Ÿ“ ููƒุฑ ูƒูˆูŠุณ ู‚ุจู„ ู…ุง ุชุนู…ู„ ุฃูŠ implementsุŒ ูˆุงุณุฃู„ ู†ูุณูƒ: ุงู„ูƒุงุฆู† ุฏู‡ ูุนู„ู‹ุง ู…ุญุชุงุฌ ูƒู„ ุงู„ู„ูŠ ู…ูˆุฌูˆุฏ ููŠ ุงู„ู€ InterfaceุŸ

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค5๐Ÿ‘1
ุฃูƒูŠุฏ ุณู…ุนุช ุนู† Docker ููŠ ุนุงู„ู… ุงู„ุจุฑู…ุฌุฉ ๐Ÿ’ก
.
.
ุชุนุงู„ ู†ุฏุฑุฏุด ุดูˆูŠุฉ ุนู† Docker ุจุทุฑูŠู‚ุฉ ุจุณูŠุทุฉ ูˆู†ูู‡ู… ู‡ูˆ ู„ูŠู‡ ุดูŠุก ุฃุณุงุณูŠ ููŠ ุชุทูˆูŠุฑ ุงู„ุชุทุจูŠู‚ุงุช. ๐Ÿ’ฏ

โ€”โ€”โ€”

๐Ÿ“Œ ุฅูŠู‡ ู‡ูˆ DockerุŸ

ุจุจุณุงุทุฉุŒ Docker ู‡ูˆ ู…ู†ุตุฉ ุจุชุณู…ุญ ู„ูƒ ุชุจู†ูŠุŒ ุชุฎุชุจุฑุŒ ูˆุชุดุบู„ ุชุทุจูŠู‚ุงุชูƒ ููŠ ุญุงุฌุฉ ุงุณู…ู‡ุง Container.

ุทูŠุจ ูŠุนู†ูŠ ุฅูŠู‡ ContainerุŸ

ููƒุฑ ููŠู‡ุง ุฒูŠ ุนู„ุจุฉ ุจุชุญุท ููŠู‡ุง ุงู„ุชุทุจูŠู‚ ุจุชุงุนูƒ ุจูƒู„ ุงู„ู…ูƒูˆู†ุงุช ุงู„ู„ูŠ ู…ุญุชุงุฌู‡ุง ุนุดุงู† ูŠุดุชุบู„: ุงู„ู€ CodeุŒ ุงู„ู€ LibrariesุŒ ูˆุงู„ู€ Dependencies ุงู„ู„ูŠ ู…ุณุชุฎุฏู…ู‡ุงุŒ ูˆุงู„ู€ System Configurations.

ุงู„ููƒุฑุฉ ุงู„ุฃุณุงุณูŠุฉ ุฅู† ุงู„ู€ Container ุฏู‡ ุจูŠุดุชุบู„ ุฒูŠ ู…ุง ู‡ูˆ ุนู„ู‰ ุฃูŠ ุฌู‡ุงุฒ ุฃูˆ ุณูŠุฑูุฑุŒ ุจุบุถ ุงู„ู†ุธุฑ ุนู† ุงู„ู€ Operating System ุฃูˆ ุงู„ู€ Environment ุงู„ู„ูŠ ุนู„ูŠู‡. ูŠุนู†ูŠ ู„ูˆ ุงู„ุชุทุจูŠู‚ ุดุบุงู„ ุนู†ุฏูƒ ุนู„ู‰ ุฌู‡ุงุฒูƒ ุงู„ุดุฎุตูŠุŒ ู‡ูŠุดุชุบู„ ุจุงู„ุถุจุท ุจู†ูุณ ุงู„ุทุฑูŠู‚ุฉ ุนู„ู‰ ุฃูŠ ุณูŠุฑูุฑ ุชุงู†ูŠ ู…ู† ุบูŠุฑ ู…ุดุงูƒู„.

โ€”โ€”โ€”

๐Ÿ“Œ ู„ูŠู‡ Docker ู…ู‡ู… ููŠ ู…ุฌุงู„ ุงู„ุจุฑู…ุฌุฉุŸ


โšก๏ธ ุงู„ุชูˆุงูู‚ ุจูŠู† ุงู„ุจูŠุฆุงุช ุงู„ู…ุฎุชู„ูุฉ:

ู…ู† ุฃูƒุชุฑ ุงู„ู…ุดุงูƒู„ ุงู„ู„ูŠ ู…ุนุธู…ู†ุง ุจูŠู‚ุงุจู„ู‡ุง ุฅู†ูƒ ุชุดุชุบู„ ุนู„ู‰ ู…ุดุฑูˆุน ุนู„ู‰ ุฌู‡ุงุฒูƒ ูˆูƒู„ ุญุงุฌุฉ ุชุจู‚ู‰ ุชู…ุงู…ุŒ ู„ูƒู† ุฃูˆู„ ู…ุง ุชูŠุฌูŠ ุชุฑูุนู‡ ุนู„ู‰ ุงู„ุณูŠุฑูุฑุŒ ุชุจุฏุฃ ุงู„ู…ุดุงูƒู„!

ู…ู…ูƒู† ุงู„ู€ Libraries ุฃูˆ ุงู„ู€ Environment ุงู„ู„ูŠ ุนู„ู‰ ุงู„ุณูŠุฑูุฑ ุชูƒูˆู† ู…ุฎุชู„ูุฉ ุนู† ุฌู‡ุงุฒูƒุŒ ูˆุฏู‡ ูŠุฎู„ูŠ ุญุงุฌุงุช ูƒุชูŠุฑ ุชุจุทู„ ุชุดุชุบู„.

ู‡ู†ุง ุจูŠูŠุฌูŠ ุฏูˆุฑ Docker ู…ู† ุฎู„ุงู„ ุงู„ู€ Container ุงู„ู„ูŠ ุจูŠุจู†ูŠู‡ุงุŒ ูƒู„ ุญุงุฌุฉ ุจุชูƒูˆู† ุฌุงู‡ุฒุฉ ูˆู…ุชูˆุงูู‚ุฉ ู…ุน ุจุนุถู‡ุงุŒ ูุงู„ุชุทุจูŠู‚ ุจุชุงุนูƒ ู‡ูŠุดุชุบู„ ุจู†ูุณ ุงู„ูƒูุงุกุฉ ุนู„ู‰ ุฃูŠ ุจูŠุฆุฉ ุชุงู†ูŠุฉ ู…ู† ุบูŠุฑ ุชุนุฏูŠู„ุงุช.

โ€”โ€”โ€”

โšก๏ธ ุณุฑุนุฉ ุงู„ุงู†ุชู‚ุงู„ ู…ู† ู…ุฑุญู„ุฉ ุงู„ุชุทูˆูŠุฑ ู„ู„ุฅู†ุชุงุฌ:

ุงู„ุนุงุฏูŠ ููŠ ุฃูŠ ู…ุดุฑูˆุน ุฅู†ูƒ ุจุชุจุฏุฃ ุจู€ Development EnvironmentุŒ ูˆุจุนุฏ ูƒุฏู‡ ุชู†ู‚ู„ ุงู„ู…ุดุฑูˆุน ู„ู€ Production Environment.

ู†ู‚ู„ ุงู„ู…ุดุฑูˆุน ุฏู‡ ู…ู…ูƒู† ูŠุงุฎุฏ ูˆู‚ุช ูˆู…ุฌู‡ูˆุฏ ูƒุจูŠุฑุŒ ุฎุตูˆุตู‹ุง ู„ูˆ ุจุชุญุชุงุฌ ุชุนูŠุฏ ุชู‡ูŠุฆุฉ ุงู„ุจูŠุฆุฉ ุงู„ุฌุฏูŠุฏุฉ ูƒู„ ู…ุฑุฉ. Docker ุจูŠุญู„ ุงู„ู…ุดูƒู„ุฉ ุฏูŠ ุนู† ุทุฑูŠู‚ ุฅู†ูƒ ุจุชุฌู‡ุฒ ูƒู„ ุญุงุฌุฉ ููŠ Container ูˆุงุญุฏุŒ ูˆุจุชู‚ุฏุฑ ุชู†ู‚ู„ู‡ ู…ุจุงุดุฑุฉ ู„ุฃูŠ ู…ูƒุงู†ุŒ ูˆุจุงู„ุชุงู„ูŠ ุจุชู‚ู„ู„ ุงู„ูˆู‚ุช ุงู„ู„ูŠ ุจูŠุงุฎุฏู‡ ุงู„ู…ุดุฑูˆุน ุนุดุงู† ูŠุจู‚ู‰ ุฌุงู‡ุฒ ู„ู„ุฅุทู„ุงู‚.

โ€”โ€”โ€”

โšก๏ธ ู…ุฑูˆู†ุฉ ููŠ ุงู„ุชูˆุณุน (Scalability):

ู„ูˆ ุจุชุดุชุบู„ ุนู„ู‰ ู…ุดุฑูˆุน ูƒุจูŠุฑ ุฃูˆ ุจุชุจู†ูŠ ุชุทุจูŠู‚ ุจูŠุณู…ุญ ุจุนุฏุฏ ูƒุจูŠุฑ ู…ู† ุงู„ู…ุณุชุฎุฏู…ูŠู†ุŒ ู‡ุชุญุชุงุฌ ุชุนู…ู„ Scale ู„ู„ุชุทุจูŠู‚ ุจุณุฑุนุฉ.

ุชู‚ุฏุฑ ุชุนู…ู„ ู†ุณุฎ ู…ุชุนุฏุฏุฉ ู…ู† ุงู„ู€ Containers ูˆุชุดุบู„ู‡ู… ุนู„ู‰ ุฃูŠ ุนุฏุฏ ู…ู† ุงู„ุณูŠุฑูุฑุงุช ุจุณู‡ูˆู„ุฉ ูˆููŠ ูˆู‚ุช ู‚ู„ูŠู„ุŒ ูˆุจุงู„ุชุงู„ูŠ ุชู‚ุฏุฑ ุชุชุนุงู…ู„ ู…ุน ุฒูŠุงุฏุฉ ุงู„ุฃุญู…ุงู„ ุจุฏูˆู† ู…ุดุงูƒู„.

โ€”โ€”โ€”

โšก๏ธ ุณู‡ูˆู„ุฉ ุงู„ุชุฌุฑุจุฉ ูˆุงู„ุงุฎุชุจุงุฑ:

ู…ูŠุฒุฉ Docker ุฅู†ู‡ ุจูŠูˆูุฑ ู„ูƒ ุจูŠุฆุฉ ู…ุนุฒูˆู„ุฉ ู„ุชุฌุฑุจุฉ ุฃููƒุงุฑ ุฌุฏูŠุฏุฉ ุฃูˆ ุชุนุฏูŠู„ ูƒูˆุฏ ู…ุนูŠู† ุจุฏูˆู† ุงู„ุชุฃุซูŠุฑ ุนู„ู‰ ุงู„ุชุทุจูŠู‚ ุงู„ุฑุฆูŠุณูŠ. ูŠุนู†ูŠุŒ ู„ูˆ ุนุงูŠุฒ ุชุฌุฑุจ Framework ุฌุฏูŠุฏ ุฃูˆ ุชุถูŠู Feature ู„ู„ุชุทุจูŠู‚ุŒ ุชู‚ุฏุฑ ุชุนู…ู„ Container ุฌุฏูŠุฏ ูˆุชุฌุฑุจ ุจุฑุงุญุชูƒ ู…ู† ุบูŠุฑ ู…ุง ุชุฃุซุฑ ุนู„ู‰ ุงู„ุจูŠุฆุฉ ุงู„ู„ูŠ ุดุบุงู„ ุนู„ูŠู‡ุง ุจุงู‚ูŠ ุงู„ูุฑูŠู‚ ุฃูˆ ุงู„ู…ุดุฑูˆุน ุงู„ุฃุณุงุณูŠ.

โ€”โ€”โ€”

โšก๏ธ ุงู„ุญูุงุธ ุนู„ู‰ ุงุณุชู…ุฑุงุฑูŠุฉ ุงู„ุนู…ู„:

ู…ู† ุฎู„ุงู„ Docker ุชู‚ุฏุฑ ุชุชุฃูƒุฏ ุฅู† ู†ูุณ ุงู„ู€ Setup ุดุบุงู„ ุนู†ุฏูƒุŒ ุนู†ุฏ ุจุงู‚ูŠ ุงู„ูุฑูŠู‚ุŒ ูˆุนู„ู‰ ุงู„ุณูŠุฑูุฑุงุช ุงู„ู„ูŠ ุจุชุดุบู„ ุงู„ุชุทุจูŠู‚. ุฏู‡ ู…ุนู†ุงู‡ ุฅู† ู…ููŠุด ู…ุดุงูƒู„ ู‡ุชุญุตู„ ุจุณุจุจ ูุฑู‚ ููŠ ุงู„ู€ Configuration ุฃูˆ ุงู„ู€ Environment.

โ€”โ€”โ€”

ู„ูˆ ุชุนุฑู ู…ุตุงุฏุฑ ูƒูˆูŠุณุฉ ุจุชุดุฑุญ Docker ูŠุงุฑูŠุช ุชุถูŠูู‡ุง ููŠ ุงู„ุชุนู„ูŠู‚ุงุช ูˆุชููŠุฏ ุบูŠุฑูƒ โœ…

ุจุงู„ุชูˆููŠู‚ ๐ŸŒฟ
โค11
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