DevGuide ๐Ÿ‡ต๐Ÿ‡ธ
10.9K subscribers
2.68K photos
18 videos
127 files
3.56K 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
SQL Aggregate Functions ๐Ÿ’ฏ
โค5
ู…ูู‡ูˆู… ุงู„ู€ 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 ูˆู„ุง ู„ุงุŸ

ุงู„ุงุชู†ูŠู† ู…ูƒู…ู„ูŠู† ุจุนุถุŒ ุจุณ ู…ุด ู†ูุณ ุงู„ุญุงุฌุฉ.

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค10
Top 5 JavaScript Testing Frameworks of 2025 โœ…
โค5
ุฏุฑุฏุดุฉ ุณุฑูŠุนุฉ ุนู† ุงู„ู€ 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.

โ€”โ€”โ€”

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

โ€”โ€”โ€”

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