ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู Interface Segregation Principle ๐ฏ
.
.
ุชุฎูู ุฃูู ูู ุดุบูุงูุฉ ู ุนููุฉ ููู ุดููุฉ ุญุฏ ูุทูุจ ู ูู ุชุงุณูุงุช ู ููุงุด ุนูุงูุฉ ุจุจุนุถ ููุง ูููุง ุนูุงูุฉ ุจุงูุดุบูุงูุฉ...ุทุจูุนู ูุชูุงูู ููุณู ู ุดุชุช ุจูู ุงูุชุงุณูุงุช ูููุง ูู ููุด ูุฑุตุฉ ุชุฑูุฒ ูู ุงูุดุบูุงูุฉ ุงูุฃุณุงุณูุฉ ุงููู ุฌุงู ุนูุดุงููุง ููู ุงู ู ุด ูุชุนู ููุง ุจุฃูุถู ุดูู.
ููุณ ุงูุณููุงุฑูู ุฏู ุจุงูุถุจุท ู ู ูู ูุญุตู ูู ุงูุจุฑู ุฌุฉ ูู ุง ุงูููุฏ ูุจูู ู ุถุทุฑ ููุชุฒู ุจุญุงุฌุงุช ูู ู ุด ู ุญุชุงุฌูุง.
ูููุง ูุชูุงูู ุฏูุฑ ุงูู Interface Segregation Principleุ ูุงุญุฏ ู ู ุฃูู ุงูู ุจุงุฏุฆ ุงูุฎู ุณุฉ ูู ูููู SOLIDุ ุนุดุงู ูุญู ุงูู ุดููุฉ ุฏู.
โโโ
ูุนูู ุฅูู Interface Segregation Principleุ ๐ค
ุงูู ISP ุจูููู ุจุจุณุงุทุฉ: "ู ูููุนุด ุชุฎูู ุงูููุฏ ููุชุฒู ุจุญุงุฌุงุช ูู ู ุด ู ุญุชุงุฌูุง."
ูู ุนูุฏู Interface ููู ู ูููู ูุธููุฉ (methods) ููู ุงููุงุฆู (object) ุงููู ููุณุชุฎุฏู ุงูู Interface ุฏู ููุญุชุงุฌ ูุงู ุญุงุฌุฉ ุจุณุ ูุจูู ูุฏู ุฃูุช ุจุชุญู ููู ุดุบู ู ููุด ูุงุฒู ุฉุ ูุฏู ููุนู ู ู ุดุงูู ูู ุงูููุฏ ุจุนุฏูู.
โโโ
ู ุซุงู ุจุณูุท ๐
ูู ุนูุฏู Interface ุงุณู ู Bird
ูู ุนู ูุช ูุงุฆู (object) ุฒู Duck ููุจูู ู ูุทูู ุฌุฏูุง ุฅูู ููุฏุฑ ูุทูุฑ (fly) ููุนูู (swim).
ููู ูู ุนูุฏู ูุงุฆู ุฒู Penguinุ ุงูุจุทุฑูู ุจูุนูู ุจุณุ ูู ุด ุจูุนุฑู ูุทูุฑ!
ูู ุงูุญุงูุฉ ุฏู ุงูู Penguin ููุถุทุฑ ูุทุจู (implement) ูุธููุฉ ู ููุด ุนูุงูุฉ ุจููุง ููู flyุ ุญุชู ูู ู ุด ููุณุชุฎุฏู ูุง.
โโโ
โ ุงูุญูุ
ุงูุตู ุงููุธุงุฆู ุจุชุงุนุช ุงูู Interface ุนูู ุญุณุจ ุงูุงุญุชูุงุฌ ุงููุนูู:
ููุฏู ูู ุง ุชูุฌู ุชุนู ู Duckุ ููุทุจู ุงูุงุชููู:
ุฃู ุง ุงูู Penguinุ ููุทุจูู ุจุณ ุงููู ูู ุนูุงูุฉ ุจู:
โโโ
๐ ููู ุงูู ุจุฏุฃ ุฏู ู ูู ุ
- ูู ุง ูู ูุงุฆู ูููู ู ุฑุชุจุท ุจุงููุธุงุฆู ุงููู ูุนููุง ู ุญุชุงุฌูุงุ ุจูุจูู ุฃุณูู ุชุนู ู ุชุบููุฑุงุช ู ู ุบูุฑ ู ุง ุชุณุจุจ ู ุดุงูู ูุจุงูู ุงูููุฏ.
- ุงูููุฏ ุจุชุงุนู ููุจูู ู ูุธู "Organized" ุฃูุชุฑ ูู ูููู ูุฃู ุญุฏ ูุดุชุบู ุนููู ุจุนุฏู.
- ู ุด ูุชุถุทุฑ ุชุถูู ุฏูุงู (methods) ู ุด ู ุณุชุฎุฏู ุฉุ ูุฏู ุจูููู ุงูู Bugs ุงููู ู ู ูู ุชุธูุฑ.
โโโ
๐ ุฏุงุฆู ูุง ุฎููู ุญุฑูุต ุฅู ุฃู Interface ูููู ู ุชุฎุตุต ูู ุญุฏุฏ ุงููุธุงุฆู.
๐ ูู ูููุช Interface ูุจูุฑ ูู ุนูุฏุ ุงูุตูู ูุนุฏุฉ Interfaces ุฃุตุบุฑ.
๐ ููุฑ ูููุณ ูุจู ู ุง ุชุนู ู ุฃู implementsุ ูุงุณุฃู ููุณู: ุงููุงุฆู ุฏู ูุนููุง ู ุญุชุงุฌ ูู ุงููู ู ูุฌูุฏ ูู ุงูู Interfaceุ
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุชุฎูู ุฃูู ูู ุดุบูุงูุฉ ู ุนููุฉ ููู ุดููุฉ ุญุฏ ูุทูุจ ู ูู ุชุงุณูุงุช ู ููุงุด ุนูุงูุฉ ุจุจุนุถ ููุง ูููุง ุนูุงูุฉ ุจุงูุดุบูุงูุฉ...ุทุจูุนู ูุชูุงูู ููุณู ู ุดุชุช ุจูู ุงูุชุงุณูุงุช ูููุง ูู ููุด ูุฑุตุฉ ุชุฑูุฒ ูู ุงูุดุบูุงูุฉ ุงูุฃุณุงุณูุฉ ุงููู ุฌุงู ุนูุดุงููุง ููู ุงู ู ุด ูุชุนู ููุง ุจุฃูุถู ุดูู.
ููุณ ุงูุณููุงุฑูู ุฏู ุจุงูุถุจุท ู ู ูู ูุญุตู ูู ุงูุจุฑู ุฌุฉ ูู ุง ุงูููุฏ ูุจูู ู ุถุทุฑ ููุชุฒู ุจุญุงุฌุงุช ูู ู ุด ู ุญุชุงุฌูุง.
ูููุง ูุชูุงูู ุฏูุฑ ุงูู 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 ูุงุฑูุช ุชุถูููุง ูู ุงูุชุนูููุงุช ูุชููุฏ ุบูุฑู โ
ุจุงูุชูููู ๐ฟ
.
.
ุชุนุงู ูุฏุฑุฏุด ุดููุฉ ุนู 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
ุฅุฒุงู ุชููู ู
ููุฏุณ ุจุฑู
ุฌูุงุช ุดุงุทุฑุ
.
.
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