ู
ูููู
ุงูู Atomicity ๐ฏ
.
.
ุชุฎูู ุฅูู ุดุบุงู ุนูู ุณูุณุชู ุชุญููู ูููุณ. ุงูุนู ูู ุญูู 1000 ุฌููู ู ู ุญุณุงุจูุ ุงูุณูุณุชู ุฎุตู ุงููููุณโฆ
ููุจู ู ุง ูุถูููู ูู ุญุณุงุจ ุงูุดุฎุต ุงูุชุงููุ ุงูููุฑุจุงุก ูุทุนุช.
ูุฏู ุงููููุณ ุทุงุฑุชุ ููุง ูุชุฑุฌุนุ ููุง ูุชุชุญููุ
ุงูุณุคุงู ุฏู ุจูุฌุงูุจ ุนููู ู ูููู ู ูู ุฌุฏูุง ูู ุงูุจุฑู ุฌุฉ ูุงูู Databasese ููู ุงูู Atomicity
ูุง ุฅู ุง ูู ุงูุฎุทูุงุช ุชุชู ุจุงููุงู ู...ูุง ู ููุด ููุง ุฎุทูุฉ ุชุชู .
โโโ
๐ค ูุนูู ุฅูู Atomicityุ
ุชุฎูู ุฅูู ุจุชุณุญุจ ูููุณ ู ู ุงูู ATM.
ุงูุนู ููุฉ ุฏู ูููุง ุฎุทูุชูู:
1- ุงูุจูู ูุฎุตู ุงูู ุจูุบ ู ู ุญุณุงุจู.
2- ุงูู ุงูููุฉ ุชุทูุน ูู ุงููููุณ.
ูู ุญุตู ุฅู ุงูุณูุณุชู ุนู ู ุงูุฎุทูุฉ ุงูุฃููู ุจุณุ ูููู ูุฌุฃุฉ ูุจู ู ุง ููุตูู ุงููููุณโฆ
ุฃูุช ูุฏู ุฎุณุฑุช ูููุณูุ
ููุง ุจูู ููุฌู ุฏูุฑ ุงูู Atomicity.
ุงูู Atomicity ู ุนูุงูุง ุฅู ุงูุนู ููุฉ ูููุง ุชุชููุฐ ุจุงููุงู ู ู ู ุฃูููุง ูุขุฎุฑูุงุ ุฃู ู ุง ุชุชููุฐ ุฎุงูุต.
ูุนูู All or Nothing.
ูู ู ุซุงู ุงูู ATM: ูุง ุงูุจูู ูุฎุตู ูุชุงุฎุฏ ุงููููุณุ ูุง ู ูุญุตูุด ุฃู ุญุงุฌุฉ ุฃุตููุง.
ู ููุด ูุต ุนู ููุฉ.
โโโ
๐ก ุฅุฒุงู ุฏู ุจูุชู ุ
ุงูู Atomicity ูู ูุงุญุฏุฉ ู ู ุงูู ACID Properties ุงููู ุจุชุถู ู ุณูุงู ุฉ ุงูุจูุงูุงุช ุฎุตูุตูุง ูู ุงูู Databases.
ุนูุดุงู ุชุญูู ุงูู Atomicityุ ุงูุณูุณุชู ุจูุณุชุฎุฏู ุญุงุฌุฉ ุงุณู ูุง Transactions.
ูู Transaction ุจุชุชููู ู ู ู ุฌู ูุนุฉ ุนู ููุงุช (ุฒู insertุ updateุ delete)ุ
ูุงูู ูุฑูุถ ุฅู ูู ุงูุนู ููุงุช ุฏู ูุญุตููุง commit ูู ููุณ ุงูููุชุ ุฃู ูุญุตููุง rollback ูู ุญุตู ุฃู ุฎุทุฃ.
ู ุซุงู:
ูู ุฃู ูุงุญุฏุฉ ู ู ุงูู 2 updates ูุดูุชุ ุงูู transaction ูููุง ูุชุชููุ ูุงูุฏุงุชุง ุชุฑุฌุน ุฒู ู ุง ูุงูุช ูุฃู ู ููุด ุญุงุฌุฉ ุญุตูุช.
โโโ
โ ๏ธ ุฅูู ุงููู ู ู ูู ูุจููุธ ุงูู Atomicityุ
- ุงูู Exceptions ุฃู ุงูู Errors ูู ุฌุฒุก ู ู ุงูู transaction.
- ุฅูู ุชููุฐ queries ู ู ุบูุฑ transaction ุฃุตููุง
ููู ุงูุณูุณุชู ู ุด ุจูุทุจู ุงูู Atomicity ุตุญุ ุงูุฏุงุชุง ู ู ูู ุชุจูู corruptedุ ูุณุงุนุชูุง ุฑุจูุง ูุณุชุฑ.
โโโ
๐ ุฅูู ุงููุฑู ุจูู ุงูู Atomicity ูุจูู ุงูู Consistencyุ
ุงูู Atomicity ุจุชุชููู ุนู ูู ุงูุนู ููุฉ ูููุง ุชู ุช ุฃู ูุงุ
ุงูู Consistency ุจุชุณุฃู ูู ุงูุฏุงุชุง ุจุนุฏ ุงูุนู ููุฉ ูู ุญุงูุฉ ุตุญูุญุฉุ
ูุนูู:
- ุงูู Atomicity = ุญุตู commit ูุงู ู ููุง ูุงุ
- ุงูู Consistency = ูู ุญุตูุ ุงูุฏุงุชุง ุจูุช consistent ููุง ูุงุ
ุงูุงุชููู ู ูู ููู ุจุนุถุ ุจุณ ู ุด ููุณ ุงูุญุงุฌุฉ.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุชุฎูู ุฅูู ุดุบุงู ุนูู ุณูุณุชู ุชุญููู ูููุณ. ุงูุนู ูู ุญูู 1000 ุฌููู ู ู ุญุณุงุจูุ ุงูุณูุณุชู ุฎุตู ุงููููุณโฆ
ููุจู ู ุง ูุถูููู ูู ุญุณุงุจ ุงูุดุฎุต ุงูุชุงููุ ุงูููุฑุจุงุก ูุทุนุช.
ูุฏู ุงููููุณ ุทุงุฑุชุ ููุง ูุชุฑุฌุนุ ููุง ูุชุชุญููุ
ุงูุณุคุงู ุฏู ุจูุฌุงูุจ ุนููู ู ูููู ู ูู ุฌุฏูุง ูู ุงูุจุฑู ุฌุฉ ูุงูู Databasese ููู ุงูู Atomicity
ูุง ุฅู ุง ูู ุงูุฎุทูุงุช ุชุชู ุจุงููุงู ู...ูุง ู ููุด ููุง ุฎุทูุฉ ุชุชู .
โโโ
๐ค ูุนูู ุฅูู Atomicityุ
ุชุฎูู ุฅูู ุจุชุณุญุจ ูููุณ ู ู ุงูู ATM.
ุงูุนู ููุฉ ุฏู ูููุง ุฎุทูุชูู:
1- ุงูุจูู ูุฎุตู ุงูู ุจูุบ ู ู ุญุณุงุจู.
2- ุงูู ุงูููุฉ ุชุทูุน ูู ุงููููุณ.
ูู ุญุตู ุฅู ุงูุณูุณุชู ุนู ู ุงูุฎุทูุฉ ุงูุฃููู ุจุณุ ูููู ูุฌุฃุฉ ูุจู ู ุง ููุตูู ุงููููุณโฆ
ุฃูุช ูุฏู ุฎุณุฑุช ูููุณูุ
ููุง ุจูู ููุฌู ุฏูุฑ ุงูู Atomicity.
ุงูู Atomicity ู ุนูุงูุง ุฅู ุงูุนู ููุฉ ูููุง ุชุชููุฐ ุจุงููุงู ู ู ู ุฃูููุง ูุขุฎุฑูุงุ ุฃู ู ุง ุชุชููุฐ ุฎุงูุต.
ูุนูู All or Nothing.
ูู ู ุซุงู ุงูู ATM: ูุง ุงูุจูู ูุฎุตู ูุชุงุฎุฏ ุงููููุณุ ูุง ู ูุญุตูุด ุฃู ุญุงุฌุฉ ุฃุตููุง.
ู ููุด ูุต ุนู ููุฉ.
โโโ
๐ก ุฅุฒุงู ุฏู ุจูุชู ุ
ุงูู Atomicity ูู ูุงุญุฏุฉ ู ู ุงูู ACID Properties ุงููู ุจุชุถู ู ุณูุงู ุฉ ุงูุจูุงูุงุช ุฎุตูุตูุง ูู ุงูู Databases.
ุนูุดุงู ุชุญูู ุงูู Atomicityุ ุงูุณูุณุชู ุจูุณุชุฎุฏู ุญุงุฌุฉ ุงุณู ูุง Transactions.
ูู Transaction ุจุชุชููู ู ู ู ุฌู ูุนุฉ ุนู ููุงุช (ุฒู insertุ updateุ delete)ุ
ูุงูู ูุฑูุถ ุฅู ูู ุงูุนู ููุงุช ุฏู ูุญุตููุง commit ูู ููุณ ุงูููุชุ ุฃู ูุญุตููุง rollback ูู ุญุตู ุฃู ุฎุทุฃ.
ู ุซุงู:
BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT;
ูู ุฃู ูุงุญุฏุฉ ู ู ุงูู 2 updates ูุดูุชุ ุงูู transaction ูููุง ูุชุชููุ ูุงูุฏุงุชุง ุชุฑุฌุน ุฒู ู ุง ูุงูุช ูุฃู ู ููุด ุญุงุฌุฉ ุญุตูุช.
โโโ
โ ๏ธ ุฅูู ุงููู ู ู ูู ูุจููุธ ุงูู Atomicityุ
- ุงูู Exceptions ุฃู ุงูู Errors ูู ุฌุฒุก ู ู ุงูู transaction.
- ุฅูู ุชููุฐ queries ู ู ุบูุฑ transaction ุฃุตููุง
ููู ุงูุณูุณุชู ู ุด ุจูุทุจู ุงูู Atomicity ุตุญุ ุงูุฏุงุชุง ู ู ูู ุชุจูู corruptedุ ูุณุงุนุชูุง ุฑุจูุง ูุณุชุฑ.
โโโ
๐ ุฅูู ุงููุฑู ุจูู ุงูู Atomicity ูุจูู ุงูู Consistencyุ
ุงูู Atomicity ุจุชุชููู ุนู ูู ุงูุนู ููุฉ ูููุง ุชู ุช ุฃู ูุงุ
ุงูู Consistency ุจุชุณุฃู ูู ุงูุฏุงุชุง ุจุนุฏ ุงูุนู ููุฉ ูู ุญุงูุฉ ุตุญูุญุฉุ
ูุนูู:
- ุงูู Atomicity = ุญุตู commit ูุงู ู ููุง ูุงุ
- ุงูู Consistency = ูู ุญุตูุ ุงูุฏุงุชุง ุจูุช consistent ููุง ูุงุ
ุงูุงุชููู ู ูู ููู ุจุนุถุ ุจุณ ู ุด ููุณ ุงูุญุงุฌุฉ.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค11
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู ACID ูู ุงูู Database โก๏ธ
.
.
ุชุฎูู ุฅูู ุดุบุงู ุนูู system ุถุฎู ุฒู ุชุทุจูู ุจููู ุฃู ู ููุน ุจูุน ุฃูููุงููโฆ
ูู ุงููุญุธุฉ ุงููู ุงูู ุณุชุฎุฏู ุจูุญููู ูููุง ูููุณ ุฃู ุจูุฃูุฏ ุนู ููุฉ ุดุฑุงุกุ ูุงุฒู ุชููู ู ุชุฃูุฏ ุฅู ุงูุจูุงูุงุช ุฏู ู ุญููุธุฉ ุตุญุ ูู ููุด ุฃู ุงุญุชู ุงู ูุญุตู ูููุง ุฎูู ุฃู ุชุถุงุฑุจุ ุญุชู ูู ุงูุณูุฑูุฑ ููุน ุฃู ุงูููุฑุจุงุก ูุทุนุช! โ ๏ธ
ูููุง ููุฌู ุฏูุฑ ุงูู ACID ููู ุฏู ุงูุนู ูุฏ ุงูููุฑู ุงููู ุจูุฎูู ุงูู Database ุชููู ุซุงุจุชุฉุ ู ูุซููุฉุ ูู ุชููุนุฉ ุงูุณููู ูู ูู ุงูุญุงูุงุชุ ุณูุงุก ูุงู ุนูุฏู ุนู ููุฉ ูุงุญุฏุฉ ุจุณูุทุฉ ุฃู ุขูุงู ุงูู transactions ูู ููุณ ุงูุซุงููุฉ.
ุงูู ACID ุจูุญุท ุฃุฑุจุน ููุงุนุฏ ุฃุณุงุณูุฉ ุจุชุฎูู ุฃู Database system ูุนุฑู ูุชุตุฑู ููุช ุงูู ุดุงูู ููุญุงูุธ ุนูู ุงูุจูุงูุงุช ู ู ุบูุฑ ู ุง ูุญุตู chaos ุฃู data corruption.
โโโ
ูุนูู ูู ุนูุฏู transaction ุจุชููู ูููุณ ู ู ุญุณุงุจ ูุญุณุงุจ:
- ุชุณุญุจ 1000 ุฌููู ู ู ุญุณุงุจ A
- ูุชุถูู 1000 ูุญุณุงุจ B
ูู ุฃูู ุฎุทูุฉ ูุฌุญุช ูุงูุชุงููุฉ ูุดูุช ูุฃู ุณุจุจ (ู ุซููุง ุงูุณูุฑูุฑ ููุน)ุ ุงูู ูุฑูุถ ุงูู Database ุชุฑุฌุน ูู ุญุงุฌุฉ ุฒู ุงูุฃููุ ูุฃู ุงูุนู ููุฉ ู ุญุตูุชุด.
โโโ
ุงูู Consistency ู ุนูุงูุง ุฅู ุงูู Database ุชูุถู ุฏุงูู ูุง ูู state ุตุญูุญุฉ ูู ุธุจูุทุฉ.
ูุนูู ูู ุงูููุงุนุฏ (constraints, rules, triggers) ุงููู ุฃูุช ู ุญุฏุฏูุง ูุงุฒู ุชูุถู ู ุชุทุจูุฉ ุจุนุฏ ุฃู ุนู ููุฉ.
ู ุซููุง: ูู ุนูุฏู rule ุจูููู ุฅู ุงูุฑุตูุฏ ู ูููุนุด ูููู ุจุงูุณุงูุจุ ูู ุจุนุฏ ุฃู transaction ูุงุฒู ุงูู DB ุชูุถู ู ุญุงูุธุฉ ุนูู ุงููุงุนุฏุฉ ุฏู.
ูู ุญุตู violation ููููุงุนุฏ ุฏูุ ุงูุนู ููุฉ ูููุง ุชุชูุบู.
โโโ
ุชุฎูู ู ุนุงูุง ูุฐุง transaction ุดุบุงููู ูู ููุณ ุงูููุช...
ูุงุญุฏ ุจูุถูู ุจูุงูุงุชุ ูุงูุชุงูู ุจูุนุฏููุ ูุงูุชุงูุช ุจููุฑุฃ.
ูู ู ููุด Isolationุ ุงูุฏููุง ูุชุจูู ููุถูุ ููู transaction ููุดูู ุงูู data ููู ูุณู ุจุชุชุบูุฑ!
ููู ู ุน ูุฌูุฏ ุงูู Isolationุ ูู transaction ุจุชุชุนุงู ู ูุฃููุง ุงูุนู ููุฉ ุงููุญูุฏุฉ ุงููู ุจุชุชููุฐ.
ูุนูู ุญุชู ูู ูุฐุง transaction ุดุบุงููู ูู ููุณ ุงููุญุธุฉุ ุงููุชุงุฆุฌ ุงููู ุจูุดููููุง ู ุถู ููุฉ ูู ูููุงุด ุชุฏุงุฎู ุฃู corruption.
ูุทุจุนูุง ููู ู ุณุชููุงุช ู ุฎุชููุฉ ููู Isolation (ุฒู Read Uncommitted, Read Committed, Repeatable Read, Serializable)ุ ููู ูุงุญุฏุฉ ููุง trade-offs ุจูู ุงูุฃุฏุงุก ูุงูุฏูุฉ.
โโโ
ุงูู Durability ู ุนูุงูุง ุฅู ุจู ุฌุฑุฏ ู ุง ุงูู Database ุชูููู "ุชู ุช ุงูุนู ููุฉ ุจูุฌุงุญ"ุ ูุจูู ุฎูุงุต ุงูู data ุฏู ู ุญููุธุฉ ูู ุด ูุชุถูุน ุญุชู ูู ุงูุณูุฑูุฑ ููุน ุฃู ุงูููุฑุจุงุก ูุทุนุช.
ุฅุฒุงูุ
ูุฃู ุงูู DB ุจุชูุชุจ ุงูุชุบููุฑุงุช ุนูู ุงูู disk (ุฃู ุงูู log files) ูุจู ู ุง ุชูููู ุงูุนู ููุฉ ูุฌุญุชุ ุนูุดุงู ุชูุฏุฑ ุชุณุชุฑุฌุนูุง ูู ุญุตู ุฃู failure.
โโโ
ุงูู ACID ูู ุงููู ุจูุฎูู ุงูุฃูุธู ุฉ ุงูุจูููุฉุ ุงูู e-commerce systemsุ ูุงูู booking platforms ุชุดุชุบู ุจุซูุฉ ุจุฏูู ู ุง ูุญุตู ูููุง chaos.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุชุฎูู ุฅูู ุดุบุงู ุนูู system ุถุฎู ุฒู ุชุทุจูู ุจููู ุฃู ู ููุน ุจูุน ุฃูููุงููโฆ
ูู ุงููุญุธุฉ ุงููู ุงูู ุณุชุฎุฏู ุจูุญููู ูููุง ูููุณ ุฃู ุจูุฃูุฏ ุนู ููุฉ ุดุฑุงุกุ ูุงุฒู ุชููู ู ุชุฃูุฏ ุฅู ุงูุจูุงูุงุช ุฏู ู ุญููุธุฉ ุตุญุ ูู ููุด ุฃู ุงุญุชู ุงู ูุญุตู ูููุง ุฎูู ุฃู ุชุถุงุฑุจุ ุญุชู ูู ุงูุณูุฑูุฑ ููุน ุฃู ุงูููุฑุจุงุก ูุทุนุช! โ ๏ธ
ูููุง ููุฌู ุฏูุฑ ุงูู ACID ููู ุฏู ุงูุนู ูุฏ ุงูููุฑู ุงููู ุจูุฎูู ุงูู Database ุชููู ุซุงุจุชุฉุ ู ูุซููุฉุ ูู ุชููุนุฉ ุงูุณููู ูู ูู ุงูุญุงูุงุชุ ุณูุงุก ูุงู ุนูุฏู ุนู ููุฉ ูุงุญุฏุฉ ุจุณูุทุฉ ุฃู ุขูุงู ุงูู transactions ูู ููุณ ุงูุซุงููุฉ.
ุงูู ACID ุจูุญุท ุฃุฑุจุน ููุงุนุฏ ุฃุณุงุณูุฉ ุจุชุฎูู ุฃู Database system ูุนุฑู ูุชุตุฑู ููุช ุงูู ุดุงูู ููุญุงูุธ ุนูู ุงูุจูุงูุงุช ู ู ุบูุฑ ู ุง ูุญุตู chaos ุฃู data corruption.
โโโ
๐ ุฃูููุง: Atomicity
ูุนูู ูู ุนูุฏู transaction ุจุชููู ูููุณ ู ู ุญุณุงุจ ูุญุณุงุจ:
- ุชุณุญุจ 1000 ุฌููู ู ู ุญุณุงุจ A
- ูุชุถูู 1000 ูุญุณุงุจ B
ูู ุฃูู ุฎุทูุฉ ูุฌุญุช ูุงูุชุงููุฉ ูุดูุช ูุฃู ุณุจุจ (ู ุซููุง ุงูุณูุฑูุฑ ููุน)ุ ุงูู ูุฑูุถ ุงูู Database ุชุฑุฌุน ูู ุญุงุฌุฉ ุฒู ุงูุฃููุ ูุฃู ุงูุนู ููุฉ ู ุญุตูุชุด.
โโโ
๐ ุซุงูููุง: Consistency
ุงูู Consistency ู ุนูุงูุง ุฅู ุงูู Database ุชูุถู ุฏุงูู ูุง ูู state ุตุญูุญุฉ ูู ุธุจูุทุฉ.
ูุนูู ูู ุงูููุงุนุฏ (constraints, rules, triggers) ุงููู ุฃูุช ู ุญุฏุฏูุง ูุงุฒู ุชูุถู ู ุชุทุจูุฉ ุจุนุฏ ุฃู ุนู ููุฉ.
ู ุซููุง: ูู ุนูุฏู rule ุจูููู ุฅู ุงูุฑุตูุฏ ู ูููุนุด ูููู ุจุงูุณุงูุจุ ูู ุจุนุฏ ุฃู transaction ูุงุฒู ุงูู DB ุชูุถู ู ุญุงูุธุฉ ุนูู ุงููุงุนุฏุฉ ุฏู.
ูู ุญุตู violation ููููุงุนุฏ ุฏูุ ุงูุนู ููุฉ ูููุง ุชุชูุบู.
โโโ
ุซุงูุซูุง: Isolation
ุชุฎูู ู ุนุงูุง ูุฐุง transaction ุดุบุงููู ูู ููุณ ุงูููุช...
ูุงุญุฏ ุจูุถูู ุจูุงูุงุชุ ูุงูุชุงูู ุจูุนุฏููุ ูุงูุชุงูุช ุจููุฑุฃ.
ูู ู ููุด Isolationุ ุงูุฏููุง ูุชุจูู ููุถูุ ููู transaction ููุดูู ุงูู data ููู ูุณู ุจุชุชุบูุฑ!
ููู ู ุน ูุฌูุฏ ุงูู Isolationุ ูู transaction ุจุชุชุนุงู ู ูุฃููุง ุงูุนู ููุฉ ุงููุญูุฏุฉ ุงููู ุจุชุชููุฐ.
ูุนูู ุญุชู ูู ูุฐุง transaction ุดุบุงููู ูู ููุณ ุงููุญุธุฉุ ุงููุชุงุฆุฌ ุงููู ุจูุดููููุง ู ุถู ููุฉ ูู ูููุงุด ุชุฏุงุฎู ุฃู corruption.
ูุทุจุนูุง ููู ู ุณุชููุงุช ู ุฎุชููุฉ ููู Isolation (ุฒู Read Uncommitted, Read Committed, Repeatable Read, Serializable)ุ ููู ูุงุญุฏุฉ ููุง trade-offs ุจูู ุงูุฃุฏุงุก ูุงูุฏูุฉ.
โโโ
ุฑุงุจุนูุง: Durability
ุงูู Durability ู ุนูุงูุง ุฅู ุจู ุฌุฑุฏ ู ุง ุงูู Database ุชูููู "ุชู ุช ุงูุนู ููุฉ ุจูุฌุงุญ"ุ ูุจูู ุฎูุงุต ุงูู data ุฏู ู ุญููุธุฉ ูู ุด ูุชุถูุน ุญุชู ูู ุงูุณูุฑูุฑ ููุน ุฃู ุงูููุฑุจุงุก ูุทุนุช.
ุฅุฒุงูุ
ูุฃู ุงูู DB ุจุชูุชุจ ุงูุชุบููุฑุงุช ุนูู ุงูู disk (ุฃู ุงูู log files) ูุจู ู ุง ุชูููู ุงูุนู ููุฉ ูุฌุญุชุ ุนูุดุงู ุชูุฏุฑ ุชุณุชุฑุฌุนูุง ูู ุญุตู ุฃู failure.
โโโ
ุงูู ACID ูู ุงููู ุจูุฎูู ุงูุฃูุธู ุฉ ุงูุจูููุฉุ ุงูู e-commerce systemsุ ูุงูู booking platforms ุชุดุชุบู ุจุซูุฉ ุจุฏูู ู ุง ูุญุตู ูููุง chaos.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค9
Slow server components?
Donโt let users stare at a blank screen. React Suspense lets you load content progressively with smart fallbacks for a faster-feeling UI.
โค2
ูู ุงูู Bundle Size ุจูุฃุซุฑ ุนูู ุฃุฏุงุก ุงูู
ููุนุ ๐
.
.
ูู ุงุดุชุบูุช ูุจู ูุฏู ุนูู ุฃู ู ุดุฑูุน Front-End ูุจูุฑุ ุฃููุฏ ุนุฏู ุนููู ู ุตุทูุญ "Bundle Size" ุณูุงุก ูู PR reviewุ ุฃู ูุฃูุช ุจุชุนู ู debuggingุ ุฃู ูุฃูุช ุจุชุนู ู optimization ููู Core Web Vitalsโฆ ุงูุณุคุงู ููุง:
โ ๏ธ ูู ูุนููุง ุญุฌู ุงูู Bundle ุจููุฑู ูู ุงูุฃุฏุงุกุ ููุง ู ุฌุฑุฏ ุฑูู ูุฎูุงุตุ
ุชุนุงู ูุฏุฑุฏุด ุดููุฉ ุนู ุงูู Bundle Size...
โโโ
๐ฏ ูุนูู ุฅูู Bundle Sizeุ
ุจุจุณุงุทุฉุ ูู ุง ุจุชูุชุจ ููุฏ JavaScript (ุฃู TypeScript ุฃู JSXโฆ)ุ ุงูููุฏ ุฏู ุจูุชุญูู ูู ูู ูุงุญุฏ (ุฃู ุฃูุซุฑ) ุงุณู ู Bundle. ุงูู ูู ุฏู ุจูุญุชูู ูู ุญุงุฌุฉ:
- ุงูููุฏ ุจุชุงุนู
- ุงูู ูุชุจุงุช ุงููู ู ุณุชุฎุฏู ูุง (ุฒู lodash ุฃู moment ุฃู axios)
- ูุฃุญูุงููุง ุญุชู CSS modules ุฃู images/inline SVGs
ุงูู Bundle Size ูู ุจุจุณุงุทุฉ ุญุฌู ุงูู ูู ุฏู ุงููู ุงูู browser ุจูุญู ูู ุนุดุงู ูุดุบู ุงูู ููุน.
โโโ
๐ค ุทุจ ุฅุฒุงู ุฏู ุจูุฃุซุฑ ุนูู ุงูุฃุฏุงุกุ
ููููู ุจู 5 ููุงุท ุจุณุ ูู ููุทุฉ ู ููู ููููุฉ ุฅููุง ุชุจูุธ ุชุฌุฑุจุฉ ุงูู ุณุชุฎุฏู :
1. ููุช ุงูุชุญู ูู (Load Time)
ูู ู ุง ุงูู Bundle ุจูู ุฃูุจุฑุ ูู ู ุง ุงูู ุชุตูุญ ุฃุฎุฏ ููุช ุฃุทูู ูู ุชุญู ููู ู ู ุงูุณูุฑูุฑ.
ูุนูู ุงูู ุณุชุฎุฏู ูููุนุฏ ู ุณุชููุ ูุฏู ุจูุฒูุฏ ุงูู Time To Interactive (TTI) ู First Contentful Paint (FCP).
2. ุงูู Blocking
ุงูู JavaScript ู ููุงุชูุง Render-Blocking ุจุทุจุนูุง.
ูุนูู ุงูุตูุญุฉ ู ุด ูุชุนุฑู ุชูู ู ุชุญู ูู ุบูุฑ ูู ุง ุชุฎูุต ุชุญู ูู ูุชูููุฐ ุงูู JavaScript.
3. ุงูู Parsing ูุงูู Execution
ุงูู ุชุตูุญ ู ุด ุจุณ ุจูุญู ู ุงูู ูู... ุฏู ูู ุงู ูุงุฒู ูููู ููููู ู ููุดุบููู.
ูุฏู ุจูุงุฎุฏ ููุช ูู ุนุงูุฌุฉ (CPU)ุ ูุฎุตูุตูุง ุนูู ุงูู ูุจุงููุงุช ุงูุถุนููุฉ.
4. ุชุฃุซูุฑ ู ุจุงุดุฑ ุนูู SEO ู Core Web Vitals
ุฌูุฌู ุจุชููุณ ุณุฑุนุฉ ุงูู ููุนุ ููู ุงูู bundle ุชููู = ุงูู ููุน ุจุทูุก = ุชุฑุชูุจู ูู ุงูุจุญุซ ุจููู.
5. ุงูู Data Cost
ูู ููู ูุงุณ ุจุชุฒูุฑ ู ููุนู ู ู ู ูุจุงููุงุช ุฃู ุจุงูุงุช ุฅูุชุฑูุช ู ุญุฏูุฏุฉุ ููู ู ูุฌุง ุฒูุงุฏุฉ ูู ุงูู Bundle ุจุชููููู ุฃูุชุฑ ูุจุชุฒูุฏ ุงุญุชู ุงููุฉ ุฅููู ูุณูุจูุง ุงูู ููุน ูุจู ู ุง ูุญู ูู.
โโโ
๐ ุทูุจ ูุญู ุงูู ูุถูุน ุฏู ุฅุฒุงูุ
ููู ุฃูุซุฑ ู ู ุทุฑููุฉ...
1. ุงูู Code Splitting
ุจูุงุด ุชุญู ู ูู ุงูููุฏ ู ุฑุฉ ูุงุญุฏุฉุ ุฎููู ุนูู ุญุณุจ ุงูุตูุญุฉ ุฃู ุงูู component.
ุงุณุชุฎุฏู React.lazy ู Suspense ุฃู dynamic imports ูู Next.js.
2. ุงูู Tree Shaking
ูู ุจุชุณุชุฎุฏู ู ูุชุจุฉ ุฒู lodashุ ุจูุงุด ุชุณุชูุฑุฏ ูู ุญุงุฌุฉ:
import _ from 'lodash' โ
import debounce from 'lodash/debounce' โ
3. ุญุฐู ุงูููุฏ ุบูุฑ ุงูู ุณุชุฎุฏู (Unused Code)
ุดูู ุฅูู ุงููู ู ุด ู ุณุชุฎุฏู ูู ุงูููุฏ ูุดููู.
ุงุณุชุฎุฏู ุฃุฏูุงุช ุฒู PurgeCSS ุฃู Unused Export Detection ูู Webpack ุฃู Vite.
4. ุงุณุชุฎุฏู ู ูุชุจุงุช ุฎูููุฉ (Lighter Libraries)
ู ุซููุง: ุจูุงุด ุชุณุชุฎุฏู moment.js ูุงุณุชุฎุฏู date-fns ุฃู dayjs.
ุนุงูุฒ ุชุนู ู HTTP requestsุ ุจูุงุด ุชุณุชุฎุฏู axios ูู ู ุด ู ุญุชุงุฌ ูู ุงููู ูููุ ุงูู fetch ููุงูุฉ.
5. ุงูู Compress & Minify
ุณูุงุก ุจุงุณุชุฎุฏุงู Terser ุฃู Brotli ุฃู Gzipโฆ ูู ู ุง ุชุถุบุท ุงูููุฏ ุฃูุชุฑุ ูู ู ุง ุงูู bundle ุญุฌู ู ุจููู.
โโโ
ููู Tools ูุชูุฑ ุชูุฏุฑ ุชุฏูู ุฑุคูุฉ ูุงุถุญุฉ ุนู ุงูู Bundle:
- Webpack Bundle Analyzer
- source-map-explorer
- Bundlephobia
โโโ
ุงูู Bundle Size ุจููุฑู ุฌุฏูุงุ ูุฃู optimization ูู ุญุฌู ู ู ู ูู ูุนู ู ูุฑู ุถุฎู ูู:
- ุณุฑุนุฉ ุชุญู ูู ุงูู ููุน
- ุชุฌุฑุจุฉ ุงูู ุณุชุฎุฏู
- ุชุฑุชูุจู ูู SEO
- ุฃุฏุงุก ุงูู ูุจุงููุงุช ุงูุถุนููุฉ
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ูู ุงุดุชุบูุช ูุจู ูุฏู ุนูู ุฃู ู ุดุฑูุน Front-End ูุจูุฑุ ุฃููุฏ ุนุฏู ุนููู ู ุตุทูุญ "Bundle Size" ุณูุงุก ูู PR reviewุ ุฃู ูุฃูุช ุจุชุนู ู debuggingุ ุฃู ูุฃูุช ุจุชุนู ู optimization ููู Core Web Vitalsโฆ ุงูุณุคุงู ููุง:
โ ๏ธ ูู ูุนููุง ุญุฌู ุงูู Bundle ุจููุฑู ูู ุงูุฃุฏุงุกุ ููุง ู ุฌุฑุฏ ุฑูู ูุฎูุงุตุ
ุชุนุงู ูุฏุฑุฏุด ุดููุฉ ุนู ุงูู Bundle Size...
โโโ
๐ฏ ูุนูู ุฅูู Bundle Sizeุ
ุจุจุณุงุทุฉุ ูู ุง ุจุชูุชุจ ููุฏ JavaScript (ุฃู TypeScript ุฃู JSXโฆ)ุ ุงูููุฏ ุฏู ุจูุชุญูู ูู ูู ูุงุญุฏ (ุฃู ุฃูุซุฑ) ุงุณู ู Bundle. ุงูู ูู ุฏู ุจูุญุชูู ูู ุญุงุฌุฉ:
- ุงูููุฏ ุจุชุงุนู
- ุงูู ูุชุจุงุช ุงููู ู ุณุชุฎุฏู ูุง (ุฒู lodash ุฃู moment ุฃู axios)
- ูุฃุญูุงููุง ุญุชู CSS modules ุฃู images/inline SVGs
ุงูู Bundle Size ูู ุจุจุณุงุทุฉ ุญุฌู ุงูู ูู ุฏู ุงููู ุงูู browser ุจูุญู ูู ุนุดุงู ูุดุบู ุงูู ููุน.
โโโ
๐ค ุทุจ ุฅุฒุงู ุฏู ุจูุฃุซุฑ ุนูู ุงูุฃุฏุงุกุ
ููููู ุจู 5 ููุงุท ุจุณุ ูู ููุทุฉ ู ููู ููููุฉ ุฅููุง ุชุจูุธ ุชุฌุฑุจุฉ ุงูู ุณุชุฎุฏู :
1. ููุช ุงูุชุญู ูู (Load Time)
ูู ู ุง ุงูู Bundle ุจูู ุฃูุจุฑุ ูู ู ุง ุงูู ุชุตูุญ ุฃุฎุฏ ููุช ุฃุทูู ูู ุชุญู ููู ู ู ุงูุณูุฑูุฑ.
ูุนูู ุงูู ุณุชุฎุฏู ูููุนุฏ ู ุณุชููุ ูุฏู ุจูุฒูุฏ ุงูู Time To Interactive (TTI) ู First Contentful Paint (FCP).
2. ุงูู Blocking
ุงูู JavaScript ู ููุงุชูุง Render-Blocking ุจุทุจุนูุง.
ูุนูู ุงูุตูุญุฉ ู ุด ูุชุนุฑู ุชูู ู ุชุญู ูู ุบูุฑ ูู ุง ุชุฎูุต ุชุญู ูู ูุชูููุฐ ุงูู JavaScript.
3. ุงูู Parsing ูุงูู Execution
ุงูู ุชุตูุญ ู ุด ุจุณ ุจูุญู ู ุงูู ูู... ุฏู ูู ุงู ูุงุฒู ูููู ููููู ู ููุดุบููู.
ูุฏู ุจูุงุฎุฏ ููุช ูู ุนุงูุฌุฉ (CPU)ุ ูุฎุตูุตูุง ุนูู ุงูู ูุจุงููุงุช ุงูุถุนููุฉ.
4. ุชุฃุซูุฑ ู ุจุงุดุฑ ุนูู SEO ู Core Web Vitals
ุฌูุฌู ุจุชููุณ ุณุฑุนุฉ ุงูู ููุนุ ููู ุงูู bundle ุชููู = ุงูู ููุน ุจุทูุก = ุชุฑุชูุจู ูู ุงูุจุญุซ ุจููู.
5. ุงูู Data Cost
ูู ููู ูุงุณ ุจุชุฒูุฑ ู ููุนู ู ู ู ูุจุงููุงุช ุฃู ุจุงูุงุช ุฅูุชุฑูุช ู ุญุฏูุฏุฉุ ููู ู ูุฌุง ุฒูุงุฏุฉ ูู ุงูู Bundle ุจุชููููู ุฃูุชุฑ ูุจุชุฒูุฏ ุงุญุชู ุงููุฉ ุฅููู ูุณูุจูุง ุงูู ููุน ูุจู ู ุง ูุญู ูู.
โโโ
๐ ุทูุจ ูุญู ุงูู ูุถูุน ุฏู ุฅุฒุงูุ
ููู ุฃูุซุฑ ู ู ุทุฑููุฉ...
1. ุงูู Code Splitting
ุจูุงุด ุชุญู ู ูู ุงูููุฏ ู ุฑุฉ ูุงุญุฏุฉุ ุฎููู ุนูู ุญุณุจ ุงูุตูุญุฉ ุฃู ุงูู component.
ุงุณุชุฎุฏู React.lazy ู Suspense ุฃู dynamic imports ูู Next.js.
2. ุงูู Tree Shaking
ูู ุจุชุณุชุฎุฏู ู ูุชุจุฉ ุฒู lodashุ ุจูุงุด ุชุณุชูุฑุฏ ูู ุญุงุฌุฉ:
import _ from 'lodash' โ
import debounce from 'lodash/debounce' โ
3. ุญุฐู ุงูููุฏ ุบูุฑ ุงูู ุณุชุฎุฏู (Unused Code)
ุดูู ุฅูู ุงููู ู ุด ู ุณุชุฎุฏู ูู ุงูููุฏ ูุดููู.
ุงุณุชุฎุฏู ุฃุฏูุงุช ุฒู PurgeCSS ุฃู Unused Export Detection ูู Webpack ุฃู Vite.
4. ุงุณุชุฎุฏู ู ูุชุจุงุช ุฎูููุฉ (Lighter Libraries)
ู ุซููุง: ุจูุงุด ุชุณุชุฎุฏู moment.js ูุงุณุชุฎุฏู date-fns ุฃู dayjs.
ุนุงูุฒ ุชุนู ู HTTP requestsุ ุจูุงุด ุชุณุชุฎุฏู axios ูู ู ุด ู ุญุชุงุฌ ูู ุงููู ูููุ ุงูู fetch ููุงูุฉ.
5. ุงูู Compress & Minify
ุณูุงุก ุจุงุณุชุฎุฏุงู Terser ุฃู Brotli ุฃู Gzipโฆ ูู ู ุง ุชุถุบุท ุงูููุฏ ุฃูุชุฑุ ูู ู ุง ุงูู bundle ุญุฌู ู ุจููู.
โโโ
ููู Tools ูุชูุฑ ุชูุฏุฑ ุชุฏูู ุฑุคูุฉ ูุงุถุญุฉ ุนู ุงูู Bundle:
- Webpack Bundle Analyzer
- source-map-explorer
- Bundlephobia
โโโ
ุงูู Bundle Size ุจููุฑู ุฌุฏูุงุ ูุฃู optimization ูู ุญุฌู ู ู ู ูู ูุนู ู ูุฑู ุถุฎู ูู:
- ุณุฑุนุฉ ุชุญู ูู ุงูู ููุน
- ุชุฌุฑุจุฉ ุงูู ุณุชุฎุฏู
- ุชุฑุชูุจู ูู SEO
- ุฃุฏุงุก ุงูู ูุจุงููุงุช ุงูุถุนููุฉ
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค6
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู Buffer ูู Node.js ๐ฏ
.
.
ุฃุบูุจ ุงูููุช ูุฅุญูุง ุจููุชุจ ููุฏ ูู Node.jsุ ุจูุชุนุงู ู ู ุน ุงูุจูุงูุงุช ุงููู ุฑุงุฌุนู ู ู ุงูู APIs ุฃู ู ู ุงูู Database ุฃู ู ู ุงูู Files ุนูู ููุฆุฉ Strings ุฃู JSON. ุชู ุงู ูุฏูุ ูููุ ูู ููุชุนุงู ู ู ุน ุญุงุฌุงุช ุฒู ุงูุตูุฑุ ุงูู ููุงุช ุงูุตูุชูุฉุ ุงูููุฏููุ ุฃู ุฃู Data ุบูุฑ ูุตููุฉ (non-text)ุ ููุชูุง ุงูู JavaScript ู ุง ุชุนุฑู ุชุชุนุงู ู ู ุน ุงูููุน ุฏู ุจุดูู ู ุจุงุดุฑ. ูููุง ููุฌู ุฏูุฑ ุงูู Buffer.
โโโ
๐ ุฅูู ูู ุงูู Bufferุ
ุงูู Buffer ูู ุจุจุณุงุทุฉ ุทุฑููุฉ Node.js ููุชุนุงู ู ู ุน ุงูุจูุงูุงุช ุงูุฎุงู (Raw Binary Data) ุงููู ุฑุงุฌุนุฉ ู ู ุฃู ุฑุงูุญุฉ ูู ุตุฏุฑ ุฎุงุฑุฌูุ ุฒู ู ุซููุง File System ุฃู TCP Streamุ ุฃู ุญุชู ู ู HTTP Response.
ูุนูู ูู ุนูุฏู ูุงูู MP3ุ ุฃูุช ู ุด ูุชูุฑุฃู ูู "ูุต"ุ ุฃูุช ูุชูุฑุฃู ูู ุณูุณูุฉ ู ู ุงูุฃุฑูุงู (bytes). ูุงูู Buffer ุจูุณู ุญูู ุชู ุณู ุงูุณูุณูุฉ ุฏูุ ูุชุชุนุงู ู ู ุนุงูุง ูู ุงูุฐุงูุฑุฉ.
โโโ
๐ฆ ููู Node.js ุจุชุณุชุฎุฏู Buffersุ
ุนูุดุงู Node.js ู ุจููุฉ ุญูู ุงูู Streams. ูุงูู Streams ูู ุงูุบุงูุจ ู ุด ุจุชุฏููู ุงูุจูุงูุงุช ูููุง ู ุฑุฉ ูุงุญุฏุฉุ ุจุชุจุนุชูุง ูู ุฌุฒุก ุฌุฒุก.
ู ุซุงู ุจุณูุท:
ูู ุจุชูุฑุฃ ูุงูู ูุจูุฑ ู ู ุนูู ุงููุงุฑุฏุ ุงูู Node.js ู ุด ูุชุญู ูู ุงููุงูู ููู ูู RAM ู ุฑุฉ ูุงุญุฏุฉ (ุนุดุงู ุฏู ู ุด ุนู ูู ูู ู ูู ูู ูุช ุงูุณูุณุชู ูู ุงููุงูู ูุจูุฑ ุฌุฏูุง)ุ ูู ุจุชูุฑุฃ Chunk ุจู Chunk. ูู Chunk ู ู ุฏูู ูู ุนุจุงุฑุฉ ุนู Buffer.
โโโ
๐ก ู ุซุงู ุนู ูู
ูู ุงูู ุซุงู ุฏูุ ูู ู ุฑุฉ ุงูู Stream ุจูุจุนุช Dataุ ุจูุณุชูุจููุง ุนูู ููุฆุฉ Buffer. ุชูุฏุฑ ุชุชุนุงู ู ู ุนุงูุงุ ุชุฎุฒููุงุ ุชุจุนุชูุงุ ุฃู ุญุชู ุชุนุฏูู ูููุง.
โโโ
โจ ุดููุฉ ุญุงุฌุงุช ู ูู ุฉ ุนู Buffer:
- ุงูู Buffer.from: ุจูุญููู ุฃู String ุฃู Array ุฃู ุญุชู ArrayBuffer ูู Buffer.
- ุงูู Buffer.alloc(size): ุจูุนู ู Buffer ูุงุถู ุจุงูุญุฌู ุงููู ุชุญุฏุฏู.
- ุงูู buffer.toString: ูู ุนุงูุฒ ุชุฑุฌูุน ุงูู Buffer ูุตูุบุฉ String (ูู ุฃุตููุง ูุงูุช Text).
โโโ
ูุงุฒู ุชููู ูุงูู ูุนูู ุฅูู Buffer ูู ุงูุญุงูุงุช ุฏู:
- ูู ุจุชุชุนุงู ู ู ุน ุงูู ููุงุช ุงููุจูุฑุฉ.
- ูู ุดุบุงู ุนูู ุชุทุจูู ุจูุณุชูุจู ุตูุฑ ุฃู ููุฏูููุงุช ุฃู ุฃุตูุงุช.
- ูู ุดุบุงู ู ุน Streams (ุฒู HTTP Requests ุฃู TCP Connections).
- ูู ุจุชุจุนุช ุฃู ุจุชุณุชูุจู Binary Data ู ู API ุฃู ุฌูุงุฒ ุชุงูู.
โโโ
ุงูู Buffers ุจุชุดุชุบู ุนูู ู ุณุชูู ุงูู Memory ู ุจุงุดุฑุฉุ ูุนูู ูู ู ุนุฑูุชุด ุชุชุนุงู ู ู ุนุงูู ุตุญุ ู ู ูู ุชูุน ูู ู ุดุงูู ุฒู memory leaks ุฃู inefficient data handling.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุฃุบูุจ ุงูููุช ูุฅุญูุง ุจููุชุจ ููุฏ ูู Node.jsุ ุจูุชุนุงู ู ู ุน ุงูุจูุงูุงุช ุงููู ุฑุงุฌุนู ู ู ุงูู APIs ุฃู ู ู ุงูู Database ุฃู ู ู ุงูู Files ุนูู ููุฆุฉ Strings ุฃู JSON. ุชู ุงู ูุฏูุ ูููุ ูู ููุชุนุงู ู ู ุน ุญุงุฌุงุช ุฒู ุงูุตูุฑุ ุงูู ููุงุช ุงูุตูุชูุฉุ ุงูููุฏููุ ุฃู ุฃู Data ุบูุฑ ูุตููุฉ (non-text)ุ ููุชูุง ุงูู JavaScript ู ุง ุชุนุฑู ุชุชุนุงู ู ู ุน ุงูููุน ุฏู ุจุดูู ู ุจุงุดุฑ. ูููุง ููุฌู ุฏูุฑ ุงูู Buffer.
โโโ
๐ ุฅูู ูู ุงูู Bufferุ
ุงูู Buffer ูู ุจุจุณุงุทุฉ ุทุฑููุฉ Node.js ููุชุนุงู ู ู ุน ุงูุจูุงูุงุช ุงูุฎุงู (Raw Binary Data) ุงููู ุฑุงุฌุนุฉ ู ู ุฃู ุฑุงูุญุฉ ูู ุตุฏุฑ ุฎุงุฑุฌูุ ุฒู ู ุซููุง File System ุฃู TCP Streamุ ุฃู ุญุชู ู ู HTTP Response.
ูุนูู ูู ุนูุฏู ูุงูู MP3ุ ุฃูุช ู ุด ูุชูุฑุฃู ูู "ูุต"ุ ุฃูุช ูุชูุฑุฃู ูู ุณูุณูุฉ ู ู ุงูุฃุฑูุงู (bytes). ูุงูู Buffer ุจูุณู ุญูู ุชู ุณู ุงูุณูุณูุฉ ุฏูุ ูุชุชุนุงู ู ู ุนุงูุง ูู ุงูุฐุงูุฑุฉ.
โโโ
๐ฆ ููู Node.js ุจุชุณุชุฎุฏู Buffersุ
ุนูุดุงู Node.js ู ุจููุฉ ุญูู ุงูู Streams. ูุงูู Streams ูู ุงูุบุงูุจ ู ุด ุจุชุฏููู ุงูุจูุงูุงุช ูููุง ู ุฑุฉ ูุงุญุฏุฉุ ุจุชุจุนุชูุง ูู ุฌุฒุก ุฌุฒุก.
ู ุซุงู ุจุณูุท:
ูู ุจุชูุฑุฃ ูุงูู ูุจูุฑ ู ู ุนูู ุงููุงุฑุฏุ ุงูู Node.js ู ุด ูุชุญู ูู ุงููุงูู ููู ูู RAM ู ุฑุฉ ูุงุญุฏุฉ (ุนุดุงู ุฏู ู ุด ุนู ูู ูู ู ูู ูู ูุช ุงูุณูุณุชู ูู ุงููุงูู ูุจูุฑ ุฌุฏูุง)ุ ูู ุจุชูุฑุฃ Chunk ุจู Chunk. ูู Chunk ู ู ุฏูู ูู ุนุจุงุฑุฉ ุนู Buffer.
โโโ
๐ก ู ุซุงู ุนู ูู
const fs = require('fs');
const readableStream = fs.createReadStream('video.mp4');
readableStream.on('data', (chunk) => {
console.log('Received chunk:', chunk);
console.log('Chunk is a buffer?',
Buffer.isBuffer(chunk)); // true
});ูู ุงูู ุซุงู ุฏูุ ูู ู ุฑุฉ ุงูู Stream ุจูุจุนุช Dataุ ุจูุณุชูุจููุง ุนูู ููุฆุฉ Buffer. ุชูุฏุฑ ุชุชุนุงู ู ู ุนุงูุงุ ุชุฎุฒููุงุ ุชุจุนุชูุงุ ุฃู ุญุชู ุชุนุฏูู ูููุง.
โโโ
โจ ุดููุฉ ุญุงุฌุงุช ู ูู ุฉ ุนู Buffer:
- ุงูู Buffer.from: ุจูุญููู ุฃู String ุฃู Array ุฃู ุญุชู ArrayBuffer ูู Buffer.
- ุงูู Buffer.alloc(size): ุจูุนู ู Buffer ูุงุถู ุจุงูุญุฌู ุงููู ุชุญุฏุฏู.
- ุงูู buffer.toString: ูู ุนุงูุฒ ุชุฑุฌูุน ุงูู Buffer ูุตูุบุฉ String (ูู ุฃุตููุง ูุงูุช Text).
โโโ
ูุงุฒู ุชููู ูุงูู ูุนูู ุฅูู Buffer ูู ุงูุญุงูุงุช ุฏู:
- ูู ุจุชุชุนุงู ู ู ุน ุงูู ููุงุช ุงููุจูุฑุฉ.
- ูู ุดุบุงู ุนูู ุชุทุจูู ุจูุณุชูุจู ุตูุฑ ุฃู ููุฏูููุงุช ุฃู ุฃุตูุงุช.
- ูู ุดุบุงู ู ุน Streams (ุฒู HTTP Requests ุฃู TCP Connections).
- ูู ุจุชุจุนุช ุฃู ุจุชุณุชูุจู Binary Data ู ู API ุฃู ุฌูุงุฒ ุชุงูู.
โโโ
ุงูู Buffers ุจุชุดุชุบู ุนูู ู ุณุชูู ุงูู Memory ู ุจุงุดุฑุฉุ ูุนูู ูู ู ุนุฑูุชุด ุชุชุนุงู ู ู ุนุงูู ุตุญุ ู ู ูู ุชูุน ูู ู ุดุงูู ุฒู memory leaks ุฃู inefficient data handling.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค5
ุฅุฒุงู ุชุนุฑุถ ุดุบูู ูู Backend Developerุ
.
.
ุจุชูุนุฏ ุณุงุนุงุช ุชูุชุจ ูู codeุ ุชุจูู APIsุ ุชุธุจุท ุงูู Authุ ุชุชุนุงู ู ู ุน Databases ู Logging ู Queuesุ ููู ุงู ู ู ูู ุชููู ุจุชุดุชุบู ุนูู Microservices ู Event-driven architectureโฆ
ุจุณ ูู ุง ุชูุฌู ุชูุฏู ุนูู ุดุบู ุฃู ุชุนุฑุถ ุดุบูู ูุญุฏุ ุจุชูู ูู ุด ุนุงุฑู ุชููู ุฅูู...
ุงูู ุดููุฉ ู ุด ุฅู ุดุบูู ููููุ ุงูู ุดููุฉ ุฅูู ู ุด ุนุงุฑู "ุชุนุฑุถู" ุจุดูู ูุฎูู ุงููู ูุฏุงู ู ูุนุฑู ุฎุจุฑุชู ูุงูู ุนููู ุงุช ุงููู ุนูุฏู.
ุงูู Backend ุฃุตุนุจ ุดููุฉ ูู ุงูููุทุฉ ุฏู ุนู ุงูู Frontendุ ูุฃู ุงููุงุณ ู ุด ุจุชุดูู ุดุบูู ุจุนูููู ุ ูุฃูุช ุงููู ูุงุฒู "ุชุฎูููู ูุดูููู".
ุชุนุงู ุฃูููู ุฅุฒุงู ุชุนุฑุถ ุดุบูู ูู Backend Developer ุจุทุฑููุฉ ู ุญุชุฑู ุฉ...
โโโ
โจ ุฃูู ุญุงุฌุฉ: ุฃูุช ุจุชุดุชุบู ุนูู ุฅููุ
ุงูุชุจ ุงูููุงู ุฏู ูู ุดูู ููุงุท ูุงุถุญุฉุ ูุจูุบุฉ ุจุณูุทุฉ. ุญุงูู ุชุฌุงูุจ ุนูู ุงูุฃุณุฆูุฉ ุฏู:
- ุฅูู ููุน ุงูู systems ุงููู ุงุดุชุบูุช ุนูููุงุ (E-commerce, CMS, Booking systemโฆ)
- ูุงู ูููุง ูุงู userุ ุฃู traffic ุนุงู ู ุฅุฒุงูุ
- ูู ูุงูุช Monolith ููุง Microservicesุ
- ูู ุงุดุชุบูุช ุนูู ุญุงุฌุงุช ุฒู Authentication, Payments, Notificationsุ
- ูู ููู Challenges ู ุนููุฉ ุญููุชูุงุ (scalability, performance, data integrityโฆ)
โ ู ุซุงู:
ุงุดุชุบูุช ุนูู ูุธุงู E-commerce ุจูุฎุฏู 200K user ุดูุฑููุงุ ุจููุช ููู REST APIs ุจู Node.js ูExpressุ ูุนู ูุช Integration ู ุน Stripe ููู payments.
ุณุงูู ุช ูู refactor ู ู Monolith ูู Microservicesุ ูุงุดุชุบูุช ุนูู Service ุฎุงุตุฉ ุจุงูู Orders ุจุงุณุชุฎุฏุงู MongoDB ูRabbitMQ.
โโโ
โจ ุซุงูู ุญุงุฌุฉ: ุชููู ุนู ูุฑุงุฑุงุชู ุงูุชูููุฉ
ุจูุงุด ุชููู "ุงุดุชุบูุช ุจู Node.js ูุฎูุงุต"ุ ูููู ุงุญูู ููู ุงุณุชุฎุฏู ุชูุงุ
ุฅุฒุงู ุงุฎุชุงุฑุช Database ู ุนููุฉุ ููู ุงุณุชุฎุฏู ุช Redis ุฃู Kafkaุ
ุงููู ุจููุฑู ุฃู ุญุฏ ุดุงุทุฑ ู ุด ุจุณ ุฅูู ุจูุนุฑู ูุณุชุฎุฏู toolsโฆุฅูู ุง ุจูุนุฑู ุฅู ุชู ูุณุชุฎุฏู ุฅููุ ููููุ ูุฅูู ุงูุจุฏุงุฆู ุงููู ูุงูุช ู ุชุงุญุฉุ
โ ู ุซุงู:
ุงุณุชุฎุฏู ูุง Redis ุนูุดุงู ูุนู ู caching ูุจูุงูุงุช ุงูู ูุชุฌุงุช ุนุดุงู ูุญู ู ุดููุฉ ุงูู latency ุงูุนุงููุฉ ูู ุงูู product listing. ุฏู ููู ุงูู response time ุจูุณุจุฉ 60%.
โโโ
โจ ุซุงูุซ ุญุงุฌุฉ: ุชููู ุจูุบุฉ ุงูู Impact
ุจูุงุด ุชููู "ุงุดุชุบูุช ุนูู ูุฐุงโฆ"ุ ุงููุงุณ ุจุชุญุจ ุชุณู ุน ุงูุชุฃุซูุฑ - "ุจุณุจุจ ุดุบููุ ุญุตู ูุฐุง ููุฐุงโฆ"
ุชุชููู ุนู ุงููุชุงุฆุฌ:
- ุงูู API response time ูู ุจูุณุจุฉ ูุงู ุ
- ูู bug ุงุชุตูุญุชุ
- ุงูู revenue ุฒุงุฏุ retention ุงุชุญุณูุ
- ุงูู system ุจูู ูุณุชุญู ู ูุงู request ูู ุงูุซุงููุฉุ
โ ู ุซุงู:
ุนู ูุช ุชุญุณูู ููู queries ูู MySQL ุฎููู ุงูู checkout process ุฃุณุฑุน ุจูุณุจุฉ 40%ุ ูููู ุงูู cart abandonment ุจูุณุจุฉ ู ูุญูุธุฉ.
โโโ
โจ ุฑุงุจุน ุญุงุฌุฉ: ุงูู Showcase ุงูุญูููู
- ุงุนู ู repos ุนูู GitHub ูููุง ู ุดุงุฑูุน ุญููููุฉ (ู ุด ู ุดุงุฑูุน ุงูู Hello World)
- ุงุนุฑุถ Postman Collection ุฃู OpenAPI Spec
- ูู ุงุดุชุบูุช ุนูู ุญุงุฌุงุช Open Source ุฃู ุนูุฏู Blog ุจูุดุฑุญ ุงููู ุจุชุนู ูู ู ู ูู ุชุถููู.
โโโ
โจ ุฎุงู ุณ ุญุงุฌุฉ: ุฎูู ุดุบูู "ู ูููู " ูููุงุณ ุงููู ู ุด ูู ููุณ ุงูุชุฎุตุต
ุฎูู ุฏุงูู ูุง ุงูุทุฑููุฉ ุงููู ุจุชุชููู ุจูุง ุณููุฉุ ููููุง ุฃุฑูุงู .
ุจุฏู ู ุง ุชููู:
โBuilt scalable APIs using Node.js.โ
ู ู ูู ุชููู:
โBuilt RESTful APIs using Node.js to handle 20K+ daily requests, with response time under 200ms.โ
ุชููู ุนู ุงููุงุฆุฏุฉุ ู ุด ุจุณ ุงูุชูุงุตูู ุงูุชูููุฉ.
ุจุฏู ู ุง ุชููู:
โุงุดุชุบูุช ุนูู ุชุญุณูู ุงูู indexing strategy ูู MongoDB ุจุงุณุชุฎุฏุงู compound indexes.โ
ู ู ูู ุชููู:
โูููุช ููุช ุชุญู ูู ุตูุญุฉ ุงูู ูุชุฌุงุช ู ู 5 ุซูุงูู ูุฃูู ู ู ุซุงููุฉ ุจุนุฏ ุชุญุณูู ุงูู indexing ูู MongoDB.โ
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุจุชูุนุฏ ุณุงุนุงุช ุชูุชุจ ูู codeุ ุชุจูู APIsุ ุชุธุจุท ุงูู Authุ ุชุชุนุงู ู ู ุน Databases ู Logging ู Queuesุ ููู ุงู ู ู ูู ุชููู ุจุชุดุชุบู ุนูู Microservices ู Event-driven architectureโฆ
ุจุณ ูู ุง ุชูุฌู ุชูุฏู ุนูู ุดุบู ุฃู ุชุนุฑุถ ุดุบูู ูุญุฏุ ุจุชูู ูู ุด ุนุงุฑู ุชููู ุฅูู...
ุงูู ุดููุฉ ู ุด ุฅู ุดุบูู ููููุ ุงูู ุดููุฉ ุฅูู ู ุด ุนุงุฑู "ุชุนุฑุถู" ุจุดูู ูุฎูู ุงููู ูุฏุงู ู ูุนุฑู ุฎุจุฑุชู ูุงูู ุนููู ุงุช ุงููู ุนูุฏู.
ุงูู Backend ุฃุตุนุจ ุดููุฉ ูู ุงูููุทุฉ ุฏู ุนู ุงูู Frontendุ ูุฃู ุงููุงุณ ู ุด ุจุชุดูู ุดุบูู ุจุนูููู ุ ูุฃูุช ุงููู ูุงุฒู "ุชุฎูููู ูุดูููู".
ุชุนุงู ุฃูููู ุฅุฒุงู ุชุนุฑุถ ุดุบูู ูู Backend Developer ุจุทุฑููุฉ ู ุญุชุฑู ุฉ...
โโโ
โจ ุฃูู ุญุงุฌุฉ: ุฃูุช ุจุชุดุชุบู ุนูู ุฅููุ
ุงูุชุจ ุงูููุงู ุฏู ูู ุดูู ููุงุท ูุงุถุญุฉุ ูุจูุบุฉ ุจุณูุทุฉ. ุญุงูู ุชุฌุงูุจ ุนูู ุงูุฃุณุฆูุฉ ุฏู:
- ุฅูู ููุน ุงูู systems ุงููู ุงุดุชุบูุช ุนูููุงุ (E-commerce, CMS, Booking systemโฆ)
- ูุงู ูููุง ูุงู userุ ุฃู traffic ุนุงู ู ุฅุฒุงูุ
- ูู ูุงูุช Monolith ููุง Microservicesุ
- ูู ุงุดุชุบูุช ุนูู ุญุงุฌุงุช ุฒู Authentication, Payments, Notificationsุ
- ูู ููู Challenges ู ุนููุฉ ุญููุชูุงุ (scalability, performance, data integrityโฆ)
โ ู ุซุงู:
ุงุดุชุบูุช ุนูู ูุธุงู E-commerce ุจูุฎุฏู 200K user ุดูุฑููุงุ ุจููุช ููู REST APIs ุจู Node.js ูExpressุ ูุนู ูุช Integration ู ุน Stripe ููู payments.
ุณุงูู ุช ูู refactor ู ู Monolith ูู Microservicesุ ูุงุดุชุบูุช ุนูู Service ุฎุงุตุฉ ุจุงูู Orders ุจุงุณุชุฎุฏุงู MongoDB ูRabbitMQ.
โโโ
โจ ุซุงูู ุญุงุฌุฉ: ุชููู ุนู ูุฑุงุฑุงุชู ุงูุชูููุฉ
ุจูุงุด ุชููู "ุงุดุชุบูุช ุจู Node.js ูุฎูุงุต"ุ ูููู ุงุญูู ููู ุงุณุชุฎุฏู ุชูุงุ
ุฅุฒุงู ุงุฎุชุงุฑุช Database ู ุนููุฉุ ููู ุงุณุชุฎุฏู ุช Redis ุฃู Kafkaุ
ุงููู ุจููุฑู ุฃู ุญุฏ ุดุงุทุฑ ู ุด ุจุณ ุฅูู ุจูุนุฑู ูุณุชุฎุฏู toolsโฆุฅูู ุง ุจูุนุฑู ุฅู ุชู ูุณุชุฎุฏู ุฅููุ ููููุ ูุฅูู ุงูุจุฏุงุฆู ุงููู ูุงูุช ู ุชุงุญุฉุ
โ ู ุซุงู:
ุงุณุชุฎุฏู ูุง Redis ุนูุดุงู ูุนู ู caching ูุจูุงูุงุช ุงูู ูุชุฌุงุช ุนุดุงู ูุญู ู ุดููุฉ ุงูู latency ุงูุนุงููุฉ ูู ุงูู product listing. ุฏู ููู ุงูู response time ุจูุณุจุฉ 60%.
โโโ
โจ ุซุงูุซ ุญุงุฌุฉ: ุชููู ุจูุบุฉ ุงูู Impact
ุจูุงุด ุชููู "ุงุดุชุบูุช ุนูู ูุฐุงโฆ"ุ ุงููุงุณ ุจุชุญุจ ุชุณู ุน ุงูุชุฃุซูุฑ - "ุจุณุจุจ ุดุบููุ ุญุตู ูุฐุง ููุฐุงโฆ"
ุชุชููู ุนู ุงููุชุงุฆุฌ:
- ุงูู API response time ูู ุจูุณุจุฉ ูุงู ุ
- ูู bug ุงุชุตูุญุชุ
- ุงูู revenue ุฒุงุฏุ retention ุงุชุญุณูุ
- ุงูู system ุจูู ูุณุชุญู ู ูุงู request ูู ุงูุซุงููุฉุ
โ ู ุซุงู:
ุนู ูุช ุชุญุณูู ููู queries ูู MySQL ุฎููู ุงูู checkout process ุฃุณุฑุน ุจูุณุจุฉ 40%ุ ูููู ุงูู cart abandonment ุจูุณุจุฉ ู ูุญูุธุฉ.
โโโ
โจ ุฑุงุจุน ุญุงุฌุฉ: ุงูู Showcase ุงูุญูููู
- ุงุนู ู repos ุนูู GitHub ูููุง ู ุดุงุฑูุน ุญููููุฉ (ู ุด ู ุดุงุฑูุน ุงูู Hello World)
- ุงุนุฑุถ Postman Collection ุฃู OpenAPI Spec
- ูู ุงุดุชุบูุช ุนูู ุญุงุฌุงุช Open Source ุฃู ุนูุฏู Blog ุจูุดุฑุญ ุงููู ุจุชุนู ูู ู ู ูู ุชุถููู.
โโโ
โจ ุฎุงู ุณ ุญุงุฌุฉ: ุฎูู ุดุบูู "ู ูููู " ูููุงุณ ุงููู ู ุด ูู ููุณ ุงูุชุฎุตุต
ุฎูู ุฏุงูู ูุง ุงูุทุฑููุฉ ุงููู ุจุชุชููู ุจูุง ุณููุฉุ ููููุง ุฃุฑูุงู .
ุจุฏู ู ุง ุชููู:
โBuilt scalable APIs using Node.js.โ
ู ู ูู ุชููู:
โBuilt RESTful APIs using Node.js to handle 20K+ daily requests, with response time under 200ms.โ
ุชููู ุนู ุงููุงุฆุฏุฉุ ู ุด ุจุณ ุงูุชูุงุตูู ุงูุชูููุฉ.
ุจุฏู ู ุง ุชููู:
โุงุดุชุบูุช ุนูู ุชุญุณูู ุงูู indexing strategy ูู MongoDB ุจุงุณุชุฎุฏุงู compound indexes.โ
ู ู ูู ุชููู:
โูููุช ููุช ุชุญู ูู ุตูุญุฉ ุงูู ูุชุฌุงุช ู ู 5 ุซูุงูู ูุฃูู ู ู ุซุงููุฉ ุจุนุฏ ุชุญุณูู ุงูู indexing ูู MongoDB.โ
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค20