Telegram Web
SQL Aggregate Functions ๐Ÿ’ฏ
โค6
ู…ูู‡ูˆู… ุงู„ู€ 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 ู„ูˆ ุญุตู„ ุฃูŠ ุฎุทุฃ.

ู…ุซุงู„:

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
Top 5 JavaScript Testing Frameworks of 2025 โœ…
โค6
ุฏุฑุฏุดุฉ ุณุฑูŠุนุฉ ุนู† ุงู„ู€ ACID ููŠ ุงู„ู€ Database โšก๏ธ
.
.
ุชุฎูŠู„ ุฅู†ูƒ ุดุบุงู„ ุนู„ู‰ 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.

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค10
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
- ุฃุฏุงุก ุงู„ู…ูˆุจุงูŠู„ุงุช ุงู„ุถุนูŠูุฉ

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ

โ€”โ€”โ€”

#frontend@the_developer_guide
โค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.

โ€”โ€”โ€”

๐Ÿ’ก ู…ุซุงู„ ุนู…ู„ูŠ

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.

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ

โ€”โ€”โ€”

#nodejs@the_developer_guide
โค5
2025/10/27 17:49:12
Back to Top
HTML Embed Code: