ุฅุฒุงู ูุถู
ู ุฅู ุงูู
ุดุฑูุน ุดุบูุงู ุฒู ู
ุง ุงูุนู
ูู ู
ุชููุนุ ๐ฏ
.
.
ุงูู Testing ู ุด ู ุฌุฑุฏ ุฎุทูุฉ ุจูุนู ููุง ูู ุงูุขุฎุฑ "ุนูุดุงู ูุทู ู"ุ ููุง ูู ุดููุฉ Test Cases ุจููุชุจูู ูุงูุณูุงู .
ุงูู ูุถูุน ุฃุนู ู ู ู ูุฏู ุจูุชูุฑ...
ูุงููู ุจูุญุฏุฏ ุดููู ูุชูููุชู ูุทุฑููุชู ูู ููุน ุงูู Software Development Methodology ุงููู ุงูู ุดุฑูุน ุดุบุงู ุจูุง.
โโโ
๐ ุฃูููุง.. ูุนูู ุฅูู Software Testingุ
ุจุงุฎุชุตุงุฑุ ุงูู Testing ูู ุงูุทุฑููุฉ ุงููู ุจููุชุดู ุจูุง ุงูู bugs ูุจู ู ุง ุชูุตู ููู ุณุชุฎุฏู .
ููู ุงู ุจูููุณ ูู ุงูู software ุจูุญูู ุงูู requirements ููุง ูุงุ
ูู ูุงุจู ููุงุณุชุฎุฏุงู ุ
ูู ุจูุดุชุบู ูููุณ ุชุญุช ุงูุถุบุทุ
ูู ุงูู UI ุณูู ููุงุถุญุ
ูู ุฏู ุฃููุงุน ู ุฎุชููุฉ ู ู ุงูู Testing...
โโโ
๐ ุฅุฒุงู ุงูู Methodology ุจุชุฃุซุฑ ุนูู ุงูู Testingุ
ุชุนุงู ูุนุฑู ุงููุฑู...
1. ุงูู Waterfall Model:
ูู ุงูู Waterfallุ ุงูู Testing ุจููุฌู ูู ุงูุขุฎุฑ ุจุนุฏ ู ุง ูู ุญุงุฌุฉ ุชุฎูุต.
ูุนูู:
Requirements โก๏ธ Design โก๏ธ Development โก๏ธ Testing
๐ ุฏู ู ุนูุงู ุฅูู ู ุด ูุชุจุฏุฃ ุชุฎุชุจุฑ ุบูุฑ ูู ุง ุงูู ุดุฑูุน ููู ูููู ุฌุงูุฒ.
ูุฏู ุจูุฎูู ุงูู Testing ุนุจุงุฑุฉ ุนู Quality Gate: ูู ุงูููุฏ ููู ู ุดุงููุ ุจูุฑุฌุน ุฎุทูุฉ ูุฑุงุ ููุตูุญ.
โ ๏ธ ุงูุนูุจ ููุงุ ูู ููู bug ูู ุงูุจุฏุงูุฉุ ูุชูุชุดูู ู ุชุฃุฎุฑ ุฌุฏูุงุ ููุชูููู ูุชูุฑ.
โโโ
2. ุงูู Agile Methodology:
ู ูุฌูุฏ ูู ู ุนุธู ุงูุดุฑูุงุช ุฏูููุชู.
ููุง ุจูุดุชุบู ูู Sprints ูุตูุฑุฉุ ูุงูู Testing ุจูููู ุฌุฒุก ู ู ูู Sprint.
๐ ุงูู Testing ุจูุญุตู ู ุน ูู ู ูุฒุฉ ุฌุฏูุฏุฉ.
ูุงูู QA ุจูู ุฌุฒุก ู ู ุงูุชูู ู ู ุฃูู ููู .
๐ฏ ุงููุชูุฌุฉุ
- ุจุชูุฏุฑ ุชูุชุดู ุงูู Bugs ุจุฏุฑู
- ูู ุงู ุชูุฏุฑ ุชุงุฎุฏ Feedback ู ู ุงูุนู ูู ุจุดูู ู ุณุชู ุฑ ุนูุดุงู ูู ููู ุชุนุฏูู
- ูุทุจุนูุง ุงูุชูููุฉ ูุชููู ุฃูู
โโโ
3. ุงูู DevOps / Continuous Integration:
ููุง ุงูู testing ุจูููู ุฌุฒุก ู ู ุงูู pipeline ููุณูุง.
๐ ููุง ุจูุณุชุฎุฏู Tools ุฒู Jest ุฃู Cypress ุฃู Seleniumุ ูุบูุฑูุงุ ููุชุจ ุจูุง Automated Tests
ูุฃูู ู ุง ุงูู developer ูุนู ู Pushุ ุงูู Tests ุจุชุดุชุบู ุฃูุชูู ุงุชูู.
๐ฅ ุฏู ุจูุฎูู ุงูู Testing ุฌุฒุก ู ู ุญูุงุฉ ุงูููุฏุ ู ุด ุฎุทูุฉ ู ููุตูุฉ.
โโโ
โ ูุงุฒู ุชุจูู ูุงูู ููุน ุงูู methodology ุงููู ุงูู ุดุฑูุน ู ุงุดู ุจูุงุ ุนูุดุงู ุชุนุฑู ุฅู ุชู ูุฅุฒุงู ุชุฎุชุจุฑ.
โ ุจูุงุด ุชุนุชู ุฏ ุจุณ ุนูู ุงูู QAุ ุฃูุช ูู Developer ู ุณุคูู ุนู ูุชุงุจุฉ Unit Tests ุนูู ุงูุฃูู.
โ ูู ู ุง ุชูุชุจ Tests ุฃูุชุฑุ ูู ู ุง ุงูููุฏ ุจุชุงุนู ููุจูู ุฃุณูู ูู ุงูู Refactorุ ูุฃูู Bugs.
.
.
ุงูู Testing ู ุด ู ุฌุฑุฏ ุฎุทูุฉ ุจูุนู ููุง ูู ุงูุขุฎุฑ "ุนูุดุงู ูุทู ู"ุ ููุง ูู ุดููุฉ Test Cases ุจููุชุจูู ูุงูุณูุงู .
ุงูู ูุถูุน ุฃุนู ู ู ู ูุฏู ุจูุชูุฑ...
ูุงููู ุจูุญุฏุฏ ุดููู ูุชูููุชู ูุทุฑููุชู ูู ููุน ุงูู Software Development Methodology ุงููู ุงูู ุดุฑูุน ุดุบุงู ุจูุง.
โโโ
๐ ุฃูููุง.. ูุนูู ุฅูู Software Testingุ
ุจุงุฎุชุตุงุฑุ ุงูู Testing ูู ุงูุทุฑููุฉ ุงููู ุจููุชุดู ุจูุง ุงูู bugs ูุจู ู ุง ุชูุตู ููู ุณุชุฎุฏู .
ููู ุงู ุจูููุณ ูู ุงูู software ุจูุญูู ุงูู requirements ููุง ูุงุ
ูู ูุงุจู ููุงุณุชุฎุฏุงู ุ
ูู ุจูุดุชุบู ูููุณ ุชุญุช ุงูุถุบุทุ
ูู ุงูู UI ุณูู ููุงุถุญุ
ูู ุฏู ุฃููุงุน ู ุฎุชููุฉ ู ู ุงูู Testing...
โโโ
๐ ุฅุฒุงู ุงูู Methodology ุจุชุฃุซุฑ ุนูู ุงูู Testingุ
ุชุนุงู ูุนุฑู ุงููุฑู...
1. ุงูู Waterfall Model:
ูู ุงูู Waterfallุ ุงูู Testing ุจููุฌู ูู ุงูุขุฎุฑ ุจุนุฏ ู ุง ูู ุญุงุฌุฉ ุชุฎูุต.
ูุนูู:
Requirements โก๏ธ Design โก๏ธ Development โก๏ธ Testing
๐ ุฏู ู ุนูุงู ุฅูู ู ุด ูุชุจุฏุฃ ุชุฎุชุจุฑ ุบูุฑ ูู ุง ุงูู ุดุฑูุน ููู ูููู ุฌุงูุฒ.
ูุฏู ุจูุฎูู ุงูู Testing ุนุจุงุฑุฉ ุนู Quality Gate: ูู ุงูููุฏ ููู ู ุดุงููุ ุจูุฑุฌุน ุฎุทูุฉ ูุฑุงุ ููุตูุญ.
โ ๏ธ ุงูุนูุจ ููุงุ ูู ููู bug ูู ุงูุจุฏุงูุฉุ ูุชูุชุดูู ู ุชุฃุฎุฑ ุฌุฏูุงุ ููุชูููู ูุชูุฑ.
โโโ
2. ุงูู Agile Methodology:
ู ูุฌูุฏ ูู ู ุนุธู ุงูุดุฑูุงุช ุฏูููุชู.
ููุง ุจูุดุชุบู ูู Sprints ูุตูุฑุฉุ ูุงูู Testing ุจูููู ุฌุฒุก ู ู ูู Sprint.
๐ ุงูู Testing ุจูุญุตู ู ุน ูู ู ูุฒุฉ ุฌุฏูุฏุฉ.
ูุงูู QA ุจูู ุฌุฒุก ู ู ุงูุชูู ู ู ุฃูู ููู .
๐ฏ ุงููุชูุฌุฉุ
- ุจุชูุฏุฑ ุชูุชุดู ุงูู Bugs ุจุฏุฑู
- ูู ุงู ุชูุฏุฑ ุชุงุฎุฏ Feedback ู ู ุงูุนู ูู ุจุดูู ู ุณุชู ุฑ ุนูุดุงู ูู ููู ุชุนุฏูู
- ูุทุจุนูุง ุงูุชูููุฉ ูุชููู ุฃูู
โโโ
3. ุงูู DevOps / Continuous Integration:
ููุง ุงูู testing ุจูููู ุฌุฒุก ู ู ุงูู pipeline ููุณูุง.
๐ ููุง ุจูุณุชุฎุฏู Tools ุฒู Jest ุฃู Cypress ุฃู Seleniumุ ูุบูุฑูุงุ ููุชุจ ุจูุง Automated Tests
ูุฃูู ู ุง ุงูู developer ูุนู ู Pushุ ุงูู Tests ุจุชุดุชุบู ุฃูุชูู ุงุชูู.
๐ฅ ุฏู ุจูุฎูู ุงูู Testing ุฌุฒุก ู ู ุญูุงุฉ ุงูููุฏุ ู ุด ุฎุทูุฉ ู ููุตูุฉ.
โโโ
โ ูุงุฒู ุชุจูู ูุงูู ููุน ุงูู methodology ุงููู ุงูู ุดุฑูุน ู ุงุดู ุจูุงุ ุนูุดุงู ุชุนุฑู ุฅู ุชู ูุฅุฒุงู ุชุฎุชุจุฑ.
โ ุจูุงุด ุชุนุชู ุฏ ุจุณ ุนูู ุงูู QAุ ุฃูุช ูู Developer ู ุณุคูู ุนู ูุชุงุจุฉ Unit Tests ุนูู ุงูุฃูู.
โ ูู ู ุง ุชูุชุจ Tests ุฃูุชุฑุ ูู ู ุง ุงูููุฏ ุจุชุงุนู ููุจูู ุฃุณูู ูู ุงูู Refactorุ ูุฃูู Bugs.
โค8
ุฃููุฏ ุชุนุฑู npm install ุฃู npm i
.
.
ููู ูู ุชุนุฑู npm ciุ
ูู ุง ุชูุชุจ npm installุ ูู ุจูุจุต ุนูู ุงูู package.json ููุดูู ุฅูู ุงูู packages ุงูู ุทููุจุฉุ ูุจุนุฏูู:
- ูู ููู package-lock.json ุจูุญุงูู ูุทุงุจูู.
- ููู ู ุด ู ูุฌูุฏุ ุจูุจุฏุฃ ูุฑููุจ ุงููู ู ุญุชุงุฌู ููุนู ู ูุงุญุฏ ุฌุฏูุฏ.
- ููู ุงู ู ู ูู ูุญุฏุซ ุจุนุถ ุงูู packages ูู ุดุงู ุฅู ููู ุฅุตุฏุงุฑ ุฃุญุฏุซ ู ุชูุงูู ู ุน ุงูุดุฑูุท.
ูุทุจุนูุง ุฏู ูููุณ ููู ู ู ูู ูุญุตู ุงุฎุชูุงูุงุช ู ู ุฌูุงุฒ ููุชุงูู...
โโโ
ุงูู ci ู ุนูุงูุง "continuous integration"ุ ูุงูุฃู ุฑ ุฏู ู ุนู ูู ู ุฎุตูุต ุนุดุงู ุงูู automation ูุจูุดุชุบู ุจุดูู ุฃุณุฑุน ูุฃุณูู.
- ุจูู ุณุญ ูููุฏุฑ node_modules ุชู ุงู ูุง.
- ูุจุนุฏูู ูุฑููุจ ุงูู packages ุจุงูุถุจุท ุฒู ู ุง ูู ู ูุชูุจุฉ ูู package-lock.json.
- ูู ููู ูุฑู ุจูู package.json ู package-lock.json ุจููู ููุนู ู Error.
โ ุฏู ู ุนูุงู ุฅู npm ci:
- ุฃุณุฑุน ู ู install.
- ุจูุนู ู ููุณ ุงููุชุงุฆุฌ ูู ู ุฑุฉ.
- ู ู ุชุงุฒ ูู ุงูู CI/CD pipelines ุฃู ูู ุงูุดุฑูุงุช ุงููุจูุฑุฉ.
โโโ
ูู ุดุบุงู ููุญุฏู ููุณู ุจุชุถูู/ุชุญุฏุซ packages: ุงุณุชุฎุฏู npm install.
ูู ุจุชุดุชุบู ูู ุชูู ุฃู ุจุชุนู ู Deploy ุนูู ุณูุฑูุฑ: ุงุณุชุฎุฏู npm ci ุนุดุงู ุชุถู ู ุซุจุงุช ุงูุจูุฆุฉ.
.
.
ููู ูู ุชุนุฑู npm ciุ
ูู ุง ุชูุชุจ npm installุ ูู ุจูุจุต ุนูู ุงูู package.json ููุดูู ุฅูู ุงูู packages ุงูู ุทููุจุฉุ ูุจุนุฏูู:
- ูู ููู package-lock.json ุจูุญุงูู ูุทุงุจูู.
- ููู ู ุด ู ูุฌูุฏุ ุจูุจุฏุฃ ูุฑููุจ ุงููู ู ุญุชุงุฌู ููุนู ู ูุงุญุฏ ุฌุฏูุฏ.
- ููู ุงู ู ู ูู ูุญุฏุซ ุจุนุถ ุงูู packages ูู ุดุงู ุฅู ููู ุฅุตุฏุงุฑ ุฃุญุฏุซ ู ุชูุงูู ู ุน ุงูุดุฑูุท.
ูุทุจุนูุง ุฏู ูููุณ ููู ู ู ูู ูุญุตู ุงุฎุชูุงูุงุช ู ู ุฌูุงุฒ ููุชุงูู...
โโโ
ุงูู ci ู ุนูุงูุง "continuous integration"ุ ูุงูุฃู ุฑ ุฏู ู ุนู ูู ู ุฎุตูุต ุนุดุงู ุงูู automation ูุจูุดุชุบู ุจุดูู ุฃุณุฑุน ูุฃุณูู.
- ุจูู ุณุญ ูููุฏุฑ node_modules ุชู ุงู ูุง.
- ูุจุนุฏูู ูุฑููุจ ุงูู packages ุจุงูุถุจุท ุฒู ู ุง ูู ู ูุชูุจุฉ ูู package-lock.json.
- ูู ููู ูุฑู ุจูู package.json ู package-lock.json ุจููู ููุนู ู Error.
โ ุฏู ู ุนูุงู ุฅู npm ci:
- ุฃุณุฑุน ู ู install.
- ุจูุนู ู ููุณ ุงููุชุงุฆุฌ ูู ู ุฑุฉ.
- ู ู ุชุงุฒ ูู ุงูู CI/CD pipelines ุฃู ูู ุงูุดุฑูุงุช ุงููุจูุฑุฉ.
โโโ
ูู ุดุบุงู ููุญุฏู ููุณู ุจุชุถูู/ุชุญุฏุซ packages: ุงุณุชุฎุฏู npm install.
ูู ุจุชุดุชุบู ูู ุชูู ุฃู ุจุชุนู ู Deploy ุนูู ุณูุฑูุฑ: ุงุณุชุฎุฏู npm ci ุนุดุงู ุชุถู ู ุซุจุงุช ุงูุจูุฆุฉ.
โค5
๐ฐ How to Use Rem Units in CSS
Rem units in CSS can be used for setting font sizes, margins, padding, widths, and heights relative to the root element's font-size. ๐ฏ
โค1
๐ก Claude Tip
If you're frequently switching between Sonnet and Opus, try:
โข This uses Opus for planning and more complex tasks while falling back to Sonnet for regular work.
โข It's a useful setup when working on larger features, RFCs, architecture discussions, or multi-step tasks, while still keeping everyday interactions fast and efficient.
If you're frequently switching between Sonnet and Opus, try:
/model opusplanโข This uses Opus for planning and more complex tasks while falling back to Sonnet for regular work.
โข It's a useful setup when working on larger features, RFCs, architecture discussions, or multi-step tasks, while still keeping everyday interactions fast and efficient.
โค3๐2๐1
Infinite queries just got smarter in TanStack Query v5.83 โก๏ธ
Use server-sent metadata to control pagination and avoid messy cursor logic. Cleaner scroll experiences, fewer bugs.
โค2
๐ก Claude Tip
Run
โข Instead of giving you the full solution right away, Claude guides you step by step and asks you to write small pieces of code yourself.
โข It's a great way to learn new technologies, understand unfamiliar codebases, and improve your problem-solving skills.
Run
/config, search for Output Style, and select Learning.โข Instead of giving you the full solution right away, Claude guides you step by step and asks you to write small pieces of code yourself.
โข It's a great way to learn new technologies, understand unfamiliar codebases, and improve your problem-solving skills.
โค2๐1
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ู
ูููู
ุงูู Middleware ูู Express.js โก๏ธ
.
.
ูู ุจุชุดุชุบู ุจู Node.js ูุจุฏุฃุช ุชุณุชุฎุฏู Express.jsุ ุฃููุฏ ูุงุจูุช ู ุตุทูุญ ุงูู "Middleware" ูู ุงูููุฏ... ูู ู ูู ุชููู ุนุฏูุช ุนููู ู ู ุบูุฑ ู ุง ุชููู ูู ุจูุนู ู ุฅูู ุจุงูุถุจุท...
ุชุนุงู ูุฏุฑุฏุด ุดููุฉ ุนู ุฅุฒุงู ุงูู Middleware ุจูุดุชุบูุ ูููู ูู ุฃูู ุฌุฒุก ุชูุฑูุจูุง ูู ุฃู ุชุทุจูู ู ุจูู ุจู Expressุ
โโโ
๐ ุชุนุงู ูุจุฏุฃ ู ู ุงูุขุฎุฑ:
ุงูู Express.js ุนุจุงุฑุฉ ุนู ู ุฌู ูุนุฉ Middleware functions ู ุงุดูุฉ ูู ุฎุท ูุงุญุฏ...
ูุนูู ุงูู Request ุจูุฏุฎู ููุณูุฑูุฑุ ุจูุนุฏู ุนูู ุณูุณูุฉ Middleware functions ูุฑุง ุจุนุถุ ููู ูุงุญุฏุฉ ูููู ุชูุฏุฑ:
- ุชุนุฏู ุงูู Request ุฃู ุงูู Response
- ุชููู ุงูู flow
- ุชูู ู ููู Middleware ุงููู ุจุนุฏู
- ุฃู ุญุชู ุชุฑุฌุน Response ููู Client ูุชููู ุงูู ูุถูุน ุฎุงูุต
โโโ
๐ ูุนูู ุฅูู Middlewareุ
ูู function ุจุชุณุชูุจู 3 arguments:
(req, res, next)
- ุงูู req: ุงูู request ุงููู ุฌุงู ู ู ุงูู client
- ุงูู res: ุงูู response ุงููู ููุฑุฌุน ููู client
- ุงูู next: ูุฏู function ุจุชุณุชุฎุฏู ูุง ุนูุดุงู ุชูุชูู ููู middleware ุงููู ุจุนุฏู
โโโ
๐ ุฅูู ุงููู ููุญุตู ูู next ู ุด ู ูุฌูุฏุฉุ
ุงูู request ูููู ุนูุฏ ุงูู middleware ุฏูุ ูุงูู Express ู ุด ูููู ู ูุจุงูู ุงูู handlersุ ููููุถู ุงูู client ู ุณุชูู response ู ุด ูููุตู ุฃุจุฏูุง...
โโโ
๐ ุฃููุงุน ุงูู Middleware ูู Express:
1- ุงูู Application-level middleware
- ุจูุชูุชุจ ุจู app.use ุฃู app.get ุฃู app.post... ุฅูุฎ
- ุจูุชุทุจู ุนูู ูู ุฃู ุจุนุถ ุงูู routes
2- ุงูู Router-level middleware
- ุดุจู ุงูู application-level ุจุณ ุจูุชุทุจู ุฏุงุฎู ุงูู Router ุจุณ
- ู ููุฏ ูู ุง ูููู ุนูุฏู routes ูุชูุฑ ู ุชูุณู ุฉ
3- ุงูู Error-handling middleware
ุฏู ูุงุฒู ูุจูู ูู 4 arguments:
(err, req, res, next)
ุจูุณุชุฎุฏู ูู ุง ูููู ููู Error ูุนุงูุฒ ุชุชุนุงู ู ู ุนุงู ุจุทุฑููุฉ ุฃูุถู
4- ุงูู Built-in middleware
- ุฒู express.json ุฃู express.static
- ุงูู Express ุจููุฏู ู ุฌุงูุฒ ุชูุฏุฑ ุชุณุชุฎุฏู ู ุนูู ุทูู
5- ุงูู Third-party middleware
- ุฒู morgan, cors, helmet, body-parser...
- ุจุชุณุทุจู ุจู npm ูุชุณุชุฎุฏู ู ุนูุดุงู ุชุถูู ู ู ูุฒุงุช ู ุนููุฉ
โโโ
๐ ุงูู Request ุจูุนุฏู ุฅุฒุงูุ
ุชุฎูู ุงูู ูุถูุน ูุฃูู ุฎุท ุฅูุชุงุฌุ ููู Middleware ูุงูู ุนูู ู ุญุทุฉ ุจูุดุชุบู ุดุบูุชู:
Client Request
โฌ๏ธ
[ Logger Middleware ]
โฌ๏ธ
[ Authentication Middleware ]
โฌ๏ธ
[ Validation Middleware ]
โฌ๏ธ
[ Actual Route Handler ]
โฌ๏ธ
Server Response
ูู ุฃู Middleware ูู ุงููุต ูุฑุฑ ุฅูู ูุฑุฌุน Response ุจููุณูุ ุฎูุงุต ุงูุณูุฉ ุจุชูู ูู ุญุฏุด ุจุนุฏู ููุดุชุบู.
โโโ
๐ ุงูู Use-cases ุงูู ุดููุฑุฉ ููู Middleware:
- ุงูู Logging ูู ุงูู requests
- ุงูุชุญูู ู ู ุตูุงุญูุงุช ุงูู ุณุชุฎุฏู (Authentication/Authorization)
- ุงูุชุนุงู ู ู ุน ุงูู Errors
- ุงูู Parsing ุงูู body
- ุงูู Setting custom headers
- ุงูู Rate limiting
#nodejs #backend
.
.
ูู ุจุชุดุชุบู ุจู Node.js ูุจุฏุฃุช ุชุณุชุฎุฏู Express.jsุ ุฃููุฏ ูุงุจูุช ู ุตุทูุญ ุงูู "Middleware" ูู ุงูููุฏ... ูู ู ูู ุชููู ุนุฏูุช ุนููู ู ู ุบูุฑ ู ุง ุชููู ูู ุจูุนู ู ุฅูู ุจุงูุถุจุท...
ุชุนุงู ูุฏุฑุฏุด ุดููุฉ ุนู ุฅุฒุงู ุงูู Middleware ุจูุดุชุบูุ ูููู ูู ุฃูู ุฌุฒุก ุชูุฑูุจูุง ูู ุฃู ุชุทุจูู ู ุจูู ุจู Expressุ
โโโ
๐ ุชุนุงู ูุจุฏุฃ ู ู ุงูุขุฎุฑ:
ุงูู Express.js ุนุจุงุฑุฉ ุนู ู ุฌู ูุนุฉ Middleware functions ู ุงุดูุฉ ูู ุฎุท ูุงุญุฏ...
ูุนูู ุงูู Request ุจูุฏุฎู ููุณูุฑูุฑุ ุจูุนุฏู ุนูู ุณูุณูุฉ Middleware functions ูุฑุง ุจุนุถุ ููู ูุงุญุฏุฉ ูููู ุชูุฏุฑ:
- ุชุนุฏู ุงูู Request ุฃู ุงูู Response
- ุชููู ุงูู flow
- ุชูู ู ููู Middleware ุงููู ุจุนุฏู
- ุฃู ุญุชู ุชุฑุฌุน Response ููู Client ูุชููู ุงูู ูุถูุน ุฎุงูุต
โโโ
๐ ูุนูู ุฅูู Middlewareุ
ูู function ุจุชุณุชูุจู 3 arguments:
(req, res, next)
- ุงูู req: ุงูู request ุงููู ุฌุงู ู ู ุงูู client
- ุงูู res: ุงูู response ุงููู ููุฑุฌุน ููู client
- ุงูู next: ูุฏู function ุจุชุณุชุฎุฏู ูุง ุนูุดุงู ุชูุชูู ููู middleware ุงููู ุจุนุฏู
โโโ
๐ ุฅูู ุงููู ููุญุตู ูู next ู ุด ู ูุฌูุฏุฉุ
ุงูู request ูููู ุนูุฏ ุงูู middleware ุฏูุ ูุงูู Express ู ุด ูููู ู ูุจุงูู ุงูู handlersุ ููููุถู ุงูู client ู ุณุชูู response ู ุด ูููุตู ุฃุจุฏูุง...
โโโ
๐ ุฃููุงุน ุงูู Middleware ูู Express:
1- ุงูู Application-level middleware
- ุจูุชูุชุจ ุจู app.use ุฃู app.get ุฃู app.post... ุฅูุฎ
- ุจูุชุทุจู ุนูู ูู ุฃู ุจุนุถ ุงูู routes
2- ุงูู Router-level middleware
- ุดุจู ุงูู application-level ุจุณ ุจูุชุทุจู ุฏุงุฎู ุงูู Router ุจุณ
- ู ููุฏ ูู ุง ูููู ุนูุฏู routes ูุชูุฑ ู ุชูุณู ุฉ
3- ุงูู Error-handling middleware
ุฏู ูุงุฒู ูุจูู ูู 4 arguments:
(err, req, res, next)
ุจูุณุชุฎุฏู ูู ุง ูููู ููู Error ูุนุงูุฒ ุชุชุนุงู ู ู ุนุงู ุจุทุฑููุฉ ุฃูุถู
4- ุงูู Built-in middleware
- ุฒู express.json ุฃู express.static
- ุงูู Express ุจููุฏู ู ุฌุงูุฒ ุชูุฏุฑ ุชุณุชุฎุฏู ู ุนูู ุทูู
5- ุงูู Third-party middleware
- ุฒู morgan, cors, helmet, body-parser...
- ุจุชุณุทุจู ุจู npm ูุชุณุชุฎุฏู ู ุนูุดุงู ุชุถูู ู ู ูุฒุงุช ู ุนููุฉ
โโโ
๐ ุงูู Request ุจูุนุฏู ุฅุฒุงูุ
ุชุฎูู ุงูู ูุถูุน ูุฃูู ุฎุท ุฅูุชุงุฌุ ููู Middleware ูุงูู ุนูู ู ุญุทุฉ ุจูุดุชุบู ุดุบูุชู:
Client Request
โฌ๏ธ
[ Logger Middleware ]
โฌ๏ธ
[ Authentication Middleware ]
โฌ๏ธ
[ Validation Middleware ]
โฌ๏ธ
[ Actual Route Handler ]
โฌ๏ธ
Server Response
ูู ุฃู Middleware ูู ุงููุต ูุฑุฑ ุฅูู ูุฑุฌุน Response ุจููุณูุ ุฎูุงุต ุงูุณูุฉ ุจุชูู ูู ุญุฏุด ุจุนุฏู ููุดุชุบู.
โโโ
๐ ุงูู Use-cases ุงูู ุดููุฑุฉ ููู Middleware:
- ุงูู Logging ูู ุงูู requests
- ุงูุชุญูู ู ู ุตูุงุญูุงุช ุงูู ุณุชุฎุฏู (Authentication/Authorization)
- ุงูุชุนุงู ู ู ุน ุงูู Errors
- ุงูู Parsing ุงูู body
- ุงูู Setting custom headers
- ุงูู Rate limiting
#nodejs #backend
โค8
ูู ุนูุฏู ุณุคุงู ูู ุงูุจุฑู
ุฌุฉุ ุชูุฏุฑ ุชุจุนุชู ู
ู ุฎูุงู ู
ูุตุฉ ูุจููุฉ ๐ฏ
https://qabilah.com/profile/alisamir
https://qabilah.com/profile/alisamir
โค3