DevGuide ๐Ÿ‡ต๐Ÿ‡ธ
10.9K subscribers
2.51K photos
17 videos
127 files
3.52K links
Join our channel for top-notch programming hacks, epic discussions, and brilliant career moves. ๐Ÿš€

โšก๏ธ Stay connected with me: linktr.ee/AliSamir

๐Ÿ“ To advertise on the channel: https://telega.io/c/the_developer_guide
Download Telegram
The Intelligent Terminal. ๐Ÿ”ฅ


Become a command line power user on day one.

Warp combines AI and your dev teamโ€™s knowledge in one fast, intuitive terminal.

https://www.warp.dev
โค8
State of JS 2024: Top Backend Frameworks Reshaping the JavaScript Ecosystem ๐Ÿ’ฏ
โค3
ุงู„ู€ุฏูŽูŠู’ู€ู† ุงู„ุชู€ู‚ู€ู†ู€ูŠ .. Technical Debt ๐Ÿ’ฐ
.
.
ุนุงุฑู ู„ู…ุง ุชุจู‚ู‰ ู…ุณุชุนุฌู„ ุชุฎู„ุต ุดุบู„ุŒ ูุชู‚ูˆู„ "ู…ุง ุนู„ูŠู†ุงุŒ ุฎู„ูŠู†ุง ู†ุนุฏูŠู‡ุง ุฏู„ูˆู‚ุชูŠุŒ ูˆุจุนุฏูŠู† ู†ุฑุฌุน ู†ุตู„ุญู‡ุง"ุŸ ุงู„ู…ุดูƒู„ุฉ ุฅู† "ุจุนุฏูŠู†" ุฏูŠ ุบุงู„ุจู‹ุง ู…ุด ุจุชูŠุฌูŠุŒ ูˆุจุชู„ุงู‚ูŠ ู†ูุณูƒ ููŠ ุฏูˆุงู…ุฉ ู…ุดุงูƒู„ ู…ู„ู‡ุงุด ู†ู‡ุงูŠุฉ! ๐Ÿ‘€

ููŠ ุนุงู„ู… ุงู„ุจุฑู…ุฌุฉุŒ ููŠู‡ ุญุงุฌุฉ ุงุณู…ู‡ุง Technical Debt ุฃูˆ ุงู„ุฏูŠู† ุงู„ุชู‚ู†ูŠุŒ ูˆุฏู‡ ุจุจุณุงุทุฉ ุงู„ูƒูˆุฏ ุงู„ู„ูŠ ุจูŠุชู… ูƒุชุงุจุชู‡ ุจุณุฑุนุฉ ุฃูˆ ุจุฏูˆู† ุงู‡ุชู…ุงู… ุจุงู„ุฌูˆุฏุฉุŒ ุนู„ุดุงู† ู†ู†ุฌุฒ ุญุงุฌุฉ ู…ุนูŠู†ุฉ ุนู„ู‰ ุงู„ู…ุฏู‰ ุงู„ู‚ุตูŠุฑุŒ ู„ูƒู† ุนู„ู‰ ุงู„ู…ุฏู‰ ุงู„ุทูˆูŠู„ ุจูŠุชุญูˆู„ ู„ูƒุงุจูˆุณ! ๐Ÿ˜จ

โ€”โ€”โ€”

๐Ÿ“ LinkedIn

https://www.linkedin.com/posts/dev-alisamir_devabrguide-activity-7302372227067310080-ReYE

๐Ÿ“ Qabilah

https://qabilah.com/posts/VZC8RNt70Xo
โค5๐Ÿ‘1๐Ÿคฏ1
10 Best GitHub Repositories to Learn Node.js (2025) ๐Ÿ’ฏ


1- Learn Node.js โ€“ A Beginner-Friendly Guide
https://github.com/manthanank/learn-nodejs

2- Node.js Best Practices
https://github.com/goldbergyoni/nodebestpractices

3- Node.js Projects
https://github.com/MAshrafM/NodeJS_Projects

4- JavaScript Algorithms
https://github.com/trekhleb/javascript-algorithms

5- Awesome Node.js
https://github.com/sindresorhus/awesome-nodejs

6- Node.js Full Stack Tutorial
https://github.com/Subham-Maity/node-js-full-stack-tutorial

7- The Node.js Master Class
https://github.com/pirple/The-NodeJS-Master-Class

8- Learn You Node
https://github.com/workshopper/learnyounode

9- Express.js Boilerplate
https://github.com/hagopj13/node-express-boilerplate

10- GraphQL Starter Kit
https://github.com/kriasoft/graphql-starter-kit
โค3๐Ÿ‘1
Operating Systems Course for Beginners ๐Ÿš€


This course will give you a comprehensive understanding of how operating systems function and manage resources.

https://youtu.be/yK1uBHPdp30
๐Ÿ‘3
Professional English for Software Engineer

This program is designed to provide you with the knowledge, skills, and tools necessary to become a highly effective professional communicator.

https://app.manara.tech/learning/36
โค5
ู„ูŠู‡ ู„ุงุฒู… ุชุณุชุฎุฏู… ุงู„ู€ Module BundlerุŸ ๐Ÿค”
.
.
ู„ู…ุง ุชุจุฏุฃ ู…ุดุฑูˆุน ูˆูŠุจ ุฌุฏูŠุฏุŒ ุงู„ุฃู…ูˆุฑ ููŠ ุงู„ุฃูˆู„ ุจุชูƒูˆู† ุจุณูŠุทุฉ ูˆุณู‡ู„ุฉุŒ ู…ุฌุฑุฏ ูƒุงู… ู…ู„ู HTML ูˆ CSS ูˆ JavaScriptุŒ ูˆูƒู„ ุญุงุฌุฉ ุดุบุงู„ุฉ ุชู…ุงู….

ู„ูƒู† ู…ุน ุงู„ูˆู‚ุชุŒ ูˆู…ุน ุฅุถุงูุฉ ู…ูŠุฒุงุช ุฌุฏูŠุฏุฉุŒ ุจุชุจุฏุฃ ุงู„ุฃู…ูˆุฑ ุชุชุนู‚ุฏ ุชุฏุฑูŠุฌูŠู‹ุงุŒ ูˆุชู„ุงู‚ูŠ ู†ูุณูƒ ุจุชูˆุงุฌู‡ ู…ุดุงูƒู„ ุฒูŠ ุจุทุก ุงู„ุชุญู…ูŠู„ ุฃูˆ ุตุนูˆุจุฉ ููŠ ุชู†ุธูŠู… ุงู„ูƒูˆุฏ...

ูˆุงู„ุญู„ ุงู„ุณุญุฑูŠ ู„ูƒู„ ุงู„ู…ุดุงูƒู„ ุฏูŠ ู‡ูˆ ุงู„ู€ Module Bundler... ุชุนุงู„ ู†ูˆุถุญ ุงู„ู…ูˆุถูˆุน ุจุจุณุงุทุฉ...๐Ÿ’ฏ

โ€”โ€”โ€”

ุฅูŠู‡ ู‡ูˆ ุงู„ู€ Module BundlerุŸ ๐Ÿ› 

ุจุจุณุงุทุฉุŒ ู‡ูˆ ุฃุฏุงุฉ ุจุชุงุฎุฏ ูƒู„ ุงู„ู…ู„ูุงุช ุงู„ู„ูŠ ุจุชุณุชุฎุฏู…ู‡ุง ููŠ ู…ุดุฑูˆุนูƒ (JS, CSS, Images... ุฅู„ุฎ)ุŒ ูˆุชุธุจุทู‡ุง ูˆุชุฌู…ุนู‡ู… ููŠ ู…ู„ู ูˆุงุญุฏ ุฃูˆ ู…ุฌู…ูˆุนุฉ ู…ู„ูุงุช ุตุบูŠุฑุฉ ูˆู…ู†ุธู…ุฉุŒ ุจุญูŠุซ ุชูƒูˆู† ุฌุงู‡ุฒุฉ ู„ู„ุชุดุบูŠู„ ุนู„ู‰ ุงู„ู…ุชุตูุญ ุจูƒูุงุกุฉ ุนุงู„ูŠุฉ.

ู…ู† ุฃุดู‡ุฑ ุงู„ู€ Bundlers ุงู„ู„ูŠ ู…ู…ูƒู† ุชุณุชุฎุฏู…ู‡ู…:

- Webpack
- Vite
- Parcel
- Rollup

โ€”โ€”โ€”

ู„ูŠู‡ ุชุณุชุฎุฏู… ุงู„ู€ Module BundlerุŸ ๐Ÿคทโ€โ™‚๏ธ

1- ุชุญุณูŠู† ุงู„ุฃุฏุงุก (Performance Optimization) ๐Ÿš€

- ุจูŠุนู…ู„ Minification ู„ู„ูƒูˆุฏุŒ ูŠุนู†ูŠ ุจูŠุดูŠู„ ุงู„ู…ุณุงูุงุช ูˆุงู„ุชุนู„ูŠู‚ุงุช ุงู„ุฒุงูŠุฏุฉุŒ ูุญุฌู… ุงู„ู…ู„ู ุจูŠุตุบุฑ ูˆูŠุชุญู…ู‘ู„ ุฃุณุฑุน.
- ุจูŠุนู…ู„ Tree ShakingุŒ ูŠุนู†ูŠ ุจูŠุดูŠู„ ุฃูŠ ูƒูˆุฏ ู…ุด ู…ุณุชุฎุฏู… ู…ู† ุงู„ู…ุดุฑูˆุน ุนู„ุดุงู† ูŠุจู‚ู‰ ุฎููŠู.


2- ุชู‚ู„ูŠู„ ุนุฏุฏ ุงู„ู€ Requests ๐Ÿ“ฆ

ุจุฏู„ ู…ุง ุงู„ู…ุชุตูุญ ูŠุทู„ุจ 100 ู…ู„ู JavaScript ูˆ CSSุŒ ุงู„ู€ Bundler ุจูŠุญุทู‡ู… ููŠ ู…ู„ู ูˆุงุญุฏ ุฃูˆ ูƒุงู… ู…ู„ู ู‚ู„ูŠู„ูŠู†ุŒ ูุงู„ุตูุญุฉ ุชูุชุญ ุฃุณุฑุน.


3- ุงู„ุชุนุงู…ู„ ู…ุน ุงู„ู€ Dependencies ุจุณู‡ูˆู„ุฉ ๐Ÿ”—

ู„ูˆ ุจุชุณุชุฎุฏู… ู…ูƒุชุจุงุช ุฒูŠ React ุฃูˆ VueุŒ ุงู„ู€ Bundler ุจูŠู†ุธู…ู‡ุง ูˆูŠุฏู…ุฌู‡ุง ููŠ ุงู„ูƒูˆุฏ ุจุฐูƒุงุก.


4- ุงู„ุชูˆุงูู‚ ู…ุน ุฌู…ูŠุน ุงู„ู…ุชุตูุญุงุช ๐ŸŒ

ุจูŠุญูˆู„ ุงู„ูƒูˆุฏ ุงู„ุญุฏูŠุซ ู„ูƒูˆุฏ ู‚ุฏูŠู… ู…ูู‡ูˆู… ู„ู„ู…ุชุตูุญุงุช ุงู„ู‚ุฏูŠู…ุฉ ุจุงุณุชุฎุฏุงู… ุฃุฏูˆุงุช ุฒูŠ Babel.


5- ุณู‡ูˆู„ุฉ ุชู‚ุณูŠู… ุงู„ูƒูˆุฏ (Code Splitting) ๐Ÿงฉ

ู…ู…ูƒู† ุชุญู…ู„ ุฃุฌุฒุงุก ู…ุนูŠู†ุฉ ู…ู† ุงู„ูƒูˆุฏ ู„ู…ุง ุชุญุชุงุฌู‡ุง ุจุณุŒ ุจุฏู„ ู…ุง ุชุญู…ู„ ูƒู„ ุญุงุฌุฉ ู…ุฑุฉ ูˆุงุญุฏุฉุŒ ูˆุฏู‡ ุจูŠุณุฑู‘ุน ุงู„ุตูุญุฉ.


6- ุฏุนู… ุงู„ู€ Hot Reloading ๐Ÿ”„

ู…ุน ุฃุฏูˆุงุช ุงู„ุชุทูˆูŠุฑ ุงู„ู„ูŠ ุจุชูŠุฌูŠ ู…ุน ุงู„ู€ Bundler (ุฒูŠ Vite ุฃูˆ Webpack Dev Server)ุŒ ู„ู…ุง ุชุนุฏู„ ุงู„ูƒูˆุฏ ุงู„ุตูุญุฉ ุจุชุชุญุฏุซ ู„ูˆุญุฏู‡ุง ู…ู† ุบูŠุฑ ู…ุง ุชุนู…ู„ Refresh.


7- ุณู‡ูˆู„ุฉ ุงู„ุชุนุงู…ู„ ู…ุน ุงู„ู…ู„ูุงุช ุงู„ู…ุฎุชู„ูุฉ ๐ŸŽจ

ุชู‚ุฏุฑ ุชุณุชุฎุฏู… CSS ูˆ SCSS ูˆุชุถูŠู ุตูˆุฑ ูˆุฎุทูˆุท ุจุณู‡ูˆู„ุฉ ุนู† ุทุฑูŠู‚ ุฅุนุฏุงุฏุงุช ุงู„ู€ Bundler ุฒูŠ ุงู„ู€ Loaders ููŠ Webpack.

โ€”โ€”โ€”

ุงู…ุชู‰ ู…ู…ูƒู† ุชุณุชุบู†ู‰ ุนู† ุงู„ู€ BundlerุŸ โŒ

ู„ูˆ ู…ุดุฑูˆุนูƒ ุตุบูŠุฑ ุฌุฏู‹ุงุŒ ุฒูŠ ุตูุญุฉ HTML ุจุณูŠุทุฉ ู…ุน ุดูˆูŠุฉ CSS ูˆ JSุŒ ู…ู…ูƒู† ุชุดุชุบู„ ู…ู† ุบูŠุฑ Bundler. ู„ูƒู† ู„ูˆ ุงู„ู…ุดุฑูˆุน ูƒุจุฑ ูˆุฏุฎู„ ููŠู‡ ู…ูƒุชุจุงุช ุฃูˆ ุฃูƒูˆุงุฏ ูƒุชูŠุฑุŒ ู‡ุชุญุชุงุฌู‡ ุฌุฏู‹ุง.

โ€”โ€”โ€”

ุฎู„ุงุตุฉ ุงู„ูƒู„ุงู… ๐ŸŽฏ

ุงุณุชุฎุฏุงู… Module Bundler ุจูŠุณุงุนุฏูƒ ููŠ:

โœ… ุชุญุณูŠู† ุงู„ุฃุฏุงุก ูˆุชุณุฑูŠุน ุงู„ุชุญู…ูŠู„.
โœ… ุชู†ุธูŠู… ุงู„ู…ุดุฑูˆุน ูˆุชู‚ู„ูŠู„ ุงู„ู…ุดุงูƒู„.
โœ… ุชูˆุงูู‚ ุฃูุถู„ ู…ุน ุงู„ู…ุชุตูุญุงุช.
โœ… ุชุฌุฑุจุฉ ุชุทูˆูŠุฑ ุฃุณู‡ู„ ูˆุฃุณุฑุน.

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค12๐Ÿ‘5๐Ÿ‘2
ู„ูˆ ุดุบุงู„ ุจู€ ReactุŒ ุฃูƒูŠุฏ ุณู…ุนุช ุนู† useCallbackุŒ ุจุณ ู‡ู„ ูุนู„ู‹ุง ู…ุญุชุงุฌ ุชุณุชุฎุฏู…ู‡ุŸ ๐Ÿค”

ููŠ ุงู„ู…ู‚ุงู„ ุฏู‡ุŒ ู‡ุชูู‡ู… ุงู„ู€ useCallback ุจุทุฑูŠู‚ุฉ ุจุณูŠุทุฉุŒ ูˆุฅุฒุงูŠ ุชุณุชุฎุฏู…ู‡ ุตุญ ุนุดุงู† ุชุญุณู† ุฃุฏุงุก ุงู„ูƒูˆุฏ ุจุชุงุนูƒ ุจุฏูˆู† ุชุนู‚ูŠุฏ. ๐Ÿš€

โ€”โ€”-

Simplifying React Hooks: useCallback ๐Ÿ’ฏ


๐Ÿ“ Dev Community
https://dev.to/alisamir/simplifying-react-hooks-usecallback-46pp

๐Ÿ“ Medium
https://medium.com/@dev.alisamir/simplifying-react-hooks-usecallback-bb03cf54a641
โค4
25 JavaScript String Methods Cheat Sheet - Part 1.pdf
891.6 KB
ุฃู‡ู… 25 ุฏุงู„ุฉ ู„ู„ุชุนุงู…ู„ ู…ุน ุงู„ู€ Strings ููŠ JavaScript ๐Ÿ’ฏ
.
.
25 JavaScript String Methods Cheat Sheet - Part 1 ๐Ÿ’ก


1. length
2. charAt()
3. charCodeAt()
4. toUpperCase()
5. toLowerCase()
6. slice()
7. substring()
8. trim()
9. trimStart()
10. trimEnd()
11. String.concat()
12. endsWith()

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค5
ุฏุฑุฏุดุฉ ุณุฑูŠุนุฉ ุนู† ุงู„ู€ Shadow DOM ๐Ÿ’ก
.
.
ุชุฎูŠู„ ู…ุนุงูŠุง ุฃู†ูƒ ุดุบุงู„ ุนู„ู‰ ู…ุดุฑูˆุน ุถุฎู…ุŒ ูˆุนุงู…ู„ Components ModularุŒ ุจุณ ูุฌุฃุฉ ุญุตู„ุช ูƒุงุฑุซุฉ! ุงู„ู€ CSS ุงู„ู„ูŠ ูƒุชุจุชู‡ ู„ู€ู…ูƒูˆู† (Component) ู…ุนูŠู† ุจู‚ู‰ ุจูŠุฃุซุฑ ุนู„ู‰ ู…ูƒูˆู†ุงุช (Components) ุชุงู†ูŠุฉ ููŠ ุงู„ุตูุญุฉุŒ ูˆุงู„ู€ JavaScript ุจุฏุฃ ูŠุฏุฎู„ ููŠ ู…ุชุงู‡ุงุช ุจุณุจุจ ุงู„ู€ Global Scope. ุงู„ุญู„ุŸ ู‡ู†ุง ุจูŠูŠุฌูŠ ุฏูˆุฑ Shadow DOM!

ุชุนุงู„ ู†ุฏุฑุฏุด ุดูˆูŠุฉ ุนู† Shadow DOMุŒ ุฅุฒุงูŠ ุจูŠุดุชุบู„ุŒ ู„ูŠู‡ ู‡ูˆ ู…ู‡ู…ุŒ ูˆุฅุฒุงูŠ ุชุณุชุฎุฏู…ู‡ ุนู…ู„ูŠู‹ุง ููŠ ู…ุดุงุฑูŠุนูƒ...๐Ÿ”ฅ

โ€”โ€”โ€”

๐Ÿ“ LinkedIn

https://www.linkedin.com/posts/dev-alisamir_webdeveloper-webdevelopment-devabrguide-activity-7303859163757957121-bwdh

๐Ÿ“ Qabilah

https://qabilah.com/posts/pXMvwi8VKXk

๐Ÿ“ Facebook

https://www.facebook.com/share/p/1A8EL2kmMj

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค5
ุงู„ู€ Asynchronous Programming ููŠ JavaScript โš™๏ธ
.
.
ุงู„ุจุฑู…ุฌุฉ ููŠู‡ุง ู†ูˆุนูŠู† ุฃุณุงุณูŠูŠู†: Synchronous ูˆ AsynchronousุŒ ูˆู„ู…ุง ู†ูู‡ู… ุงู„ูุฑู‚ ุจูŠู†ู‡ู…ุŒ ู‡ูŠุจู‚ู‰ ุฃุณู‡ู„ ู†ุนุฑู ู„ูŠู‡ ุงู„ู€ Asynchronous ู…ู‡ู… ุฌุฏู‹ุง.

๐Ÿ“Œ ุงู„ู€ Synchronous Programming:

ุฏู‡ ูŠุนู†ูŠ ุฅู† ุงู„ูƒูˆุฏ ุจูŠุชู†ูุฐ ุฎุทูˆุฉ ุจุฎุทูˆุฉุŒ ุจู…ุนู†ู‰ ุฅู† ุงู„ูƒูˆุฏ ู…ุจูŠูƒู…ู„ุด ุชู†ููŠุฐ ุฃูŠ ุฎุทูˆุฉ ุชุงู†ูŠุฉ ุฅู„ุง ู„ู…ุง ุงู„ุฎุทูˆุฉ ุงู„ู„ูŠ ู‚ุจู„ู‡ุง ุชุฎู„ุต. ูŠุนู†ูŠ ู„ูˆ ุนู†ุฏูƒ ุนู…ู„ูŠุฉ ุจุชุงุฎุฏ ูˆู‚ุช ุฒูŠ ุฅู†ูƒ ุจุชุญู…ู„ ุจูŠุงู†ุงุช ู…ู† ุงู„ุณุฑูุฑ ุนู† ุทุฑูŠู‚ ุงู„ู€ APIุŒ ุงู„ูƒูˆุฏ ู‡ูŠูุถู„ ู…ุณุชู†ูŠ ู„ุญุฏ ู…ุง ุงู„ุจูŠุงู†ุงุช ุชุชุญู…ู„ ู‚ุจู„ ู…ุง ูŠูƒู…ู„ ุจุงู‚ูŠ ุงู„ุชู†ููŠุฐ.

๐Ÿ“Œ ุงู„ู€ Asynchronous Programming:

ุฃู…ุง ููŠ ุงู„ุจุฑู…ุฌุฉ ุงู„ู€ AsynchronousุŒ ุงู„ูƒูˆุฏ ูŠู‚ุฏุฑ ูŠู†ูุฐ ุญุงุฌุงุช ูƒุชูŠุฑ ููŠ ู†ูุณ ุงู„ูˆู‚ุช ู…ู† ุบูŠุฑ ู…ุง ูŠุณุชู†ู‰ ุงู„ุนู…ู„ูŠุฉ ุงู„ุทูˆูŠู„ุฉ ุชุฎู„ุต. ูŠุนู†ูŠ ู„ูˆ ุนู†ุฏูƒ ุนู…ู„ูŠุฉ ุฒูŠ ุชุญู…ูŠู„ ุงู„ุจูŠุงู†ุงุช ู…ู† ุงู„ุณุฑูุฑุŒ ุงู„ูƒูˆุฏ ู…ู…ูƒู† ูŠุณุชู…ุฑ ููŠ ุชู†ููŠุฐ ุฃูƒูˆุงุฏ ุชุงู†ูŠุฉุŒ ูˆู„ู…ุง ุงู„ุจูŠุงู†ุงุช ุชุชุญู…ู„ุŒ ุงู„ูƒูˆุฏ ู‡ูŠุนุฑู ูˆูŠุชุนุงู…ู„ ู…ุน ุงู„ู†ุชูŠุฌุฉ.

โ€”โ€”โ€”

๐Ÿ“Œ ุฅุฒุงูŠ ุงู„ูƒู„ุงู… ุฏู‡ ุจูŠุญุตู„ ููŠ JavaScriptุŸ


ููŠ JavaScriptุŒ ุนู†ุฏู†ุง ุทุฑูŠู‚ุชูŠู† ุฑุฆูŠุณูŠุชูŠู† ู„ู„ุชุนุงู…ู„ ู…ุน ุงู„ู€ asynchronous programming

๐Ÿ”ป ุงู„ู€ Callbacks
๐Ÿ”ป ุงู„ู€ Promises

(ูˆุทุจุนู‹ุง async/await ุงู„ู„ูŠ ู‡ูˆ ุชุญุณูŠู† ู„ู„ู€ Promises)

โ€”โ€”โ€”

๐Ÿ“Œ ุงู„ู€ Callbacks

ุฃูˆู„ ุทุฑูŠู‚ุฉ ู„ู„ุชุนุงู…ู„ ู…ุน ุงู„ู€ asynchronous programming ูƒุงู†ุช ุนู† ุทุฑูŠู‚ ุงู„ู€ Callbacks. ุงู„ููƒุฑุฉ ุจุจุณุงุทุฉ ุฅู†ูƒ ุจุชู…ุฑุฑ ุฏุงู„ุฉ ู…ุนูŠู†ุฉ ูƒู€ "callback" ู„ู„ูƒูˆุฏ ุงู„ู„ูŠ ุจูŠุชู†ูุฐุŒ ูˆู„ู…ุง ุงู„ูƒูˆุฏ ุฏู‡ ูŠุฎู„ุตุŒ ุงู„ุฏุงู„ุฉ ุฏูŠ ุจุชุดุชุบู„.

ู„ูƒู† ุงู„ู€ callbacks ุจุชุชุญูˆู„ ุจุณุฑุนุฉ ู„ูƒูˆุฏ ู…ุนู‚ุฏ ุฌุฏู‹ุง ู„ู…ุง ูŠูƒูˆู† ุนู†ุฏูƒ ุนู…ู„ูŠุงุช ูƒุชูŠุฑ ูˆุจุชุญุชุงุฌ ุชูƒุชุจ ุญุงุฌุงุช ูƒุชูŠุฑ ุฌูˆุฉ ุจุนุถู‡ุงุŒ ูˆุฏู‡ ุงู„ู„ูŠ ุจู†ุณู…ูŠู‡ Callback Hell.


๐Ÿ“Œ ุงู„ุญู„: ุงู„ู€ Promises

ู‡ู†ุง ุจูŠุฌูŠ ุฏูˆุฑ ุงู„ู€ PromisesุŒ ุงู„ู„ูŠ ู‡ูŠ ุทุฑูŠู‚ุฉ ุฌุฏูŠุฏุฉ ูˆุฃูƒุซุฑ ุชู†ุธูŠู…ู‹ุง ู„ู„ุชุนุงู…ู„ ู…ุน ุงู„ุนู…ู„ูŠุงุช ุงู„ู€ asynchronous. ุงู„ู€ Promise ู‡ูˆ ููŠ ุงู„ุฃุณุงุณ "ูˆุนุฏ" ุฅู† ุงู„ุนู…ู„ูŠุฉ ู‡ุชุฎู„ุต ููŠ ุงู„ู…ุณุชู‚ุจู„.

ุงู„ู€ Promise ุจูŠูƒูˆู† ู„ูŠู‡ 3 ุญุงู„ุงุช:

๐Ÿ”ป ุญุงู„ุฉ ุงู„ู€ Pending: ูŠุนู†ูŠ ุงู„ุนู…ู„ูŠุฉ ู„ุณู‡ ู…ุฎู„ุตุชุด.
๐Ÿ”ป ุญุงู„ุฉ ุงู„ู€ Fulfilled: ูŠุนู†ูŠ ุงู„ุนู…ู„ูŠุฉ ู†ุฌุญุช ูˆุทู„ุนุช ุงู„ู†ุชูŠุฌุฉ.
๐Ÿ”ป ุญุงู„ุฉ ุงู„ู€ Rejected: ูŠุนู†ูŠ ุงู„ุนู…ู„ูŠุฉ ูุดู„ุช ูˆููŠู‡ ุฎุทุฃ ุญุตู„.

ู„ู…ุง ุงู„ุนู…ู„ูŠุฉ ุชุฎู„ุต ุจู†ุฌุงุญุŒ ุงู„ู€ Promise ุจูŠุชุญูˆู„ ู„ุญุงู„ุฉ "fulfilled"ุŒ ูˆู„ูˆ ุงู„ุนู…ู„ูŠุฉ ูุดู„ุช ุจูŠุชุญูˆู„ ู„ุญุงู„ุฉ "rejected".

โ€”โ€”โ€”

ุฎู„ูŠู†ุง ู†ุดูˆู ู…ุซุงู„ ุนุดุงู† ู†ูู‡ู… ุงู„ูƒู„ุงู… ุฏู‡ ุจุดูƒู„ ุฃูˆุถุญ. ู‡ู†ูุชุฑุถ ุฅู†ู†ุง ุนุงูŠุฒูŠู† ู†ุญุงูƒูŠ ุนู…ู„ูŠุฉ ุงุณุชุฑุฌุงุน ุจูŠุงู†ุงุช ู…ู† ุงู„ู€ API.

const fetchData = () => {
return new Promise((resolve, reject) => {
setTimeout(() => {
const dataAvailable = true;

if (dataAvailable) {
resolve("Data retrieved successfully!");
} else {
reject("Error: Unable to retrieve data.");
}
}, 3000);
});
};

fetchData()
.then((result) => console.log(result))
.catch((error) => console.log(error));


ููŠ ุงู„ูƒูˆุฏ ุฏู‡ุŒ ุงู„ุฏุงู„ุฉ fetchData ุจุชุฑุฌุน Promise. ุฏุงุฎู„ ุงู„ู€ PromiseุŒ ุจู†ุณุชุฎุฏู… ุฅู…ุง resolve ู„ูˆ ุงู„ุนู…ู„ูŠุฉ ู†ุฌุญุช ุฃูˆ reject ู„ูˆ ุญุตู„ ุฎุทุฃ.

ุจุงุณุชุฎุฏุงู… thenุŒ ุจู†ู‚ุฏุฑ ู†ุชุนุงู…ู„ ู…ุน ุงู„ู†ุชูŠุฌุฉ ู„ูˆ ุงู„ุนู…ู„ูŠุฉ ู†ุฌุญุชุŒ ูˆู„ูˆ ุญุตู„ ุฎุทุฃุŒ ุงู„ู€ catch ุจุชุณุงุนุฏู†ุง ููŠ ุงู„ุชุนุงู…ู„ ู…ุนุงู‡.

โ€”โ€”โ€”

๐Ÿ“Œ ุงู„ู€ Async/Await

ุนู„ุดุงู† ู†ุฎู„ูŠ ุงู„ูƒูˆุฏ ุฃุจุณุท ูˆุฃูˆุถุญุŒ ุธู‡ุฑ ุญุงุฌุฉ ุงุณู…ู‡ุง async/await ุงู„ู„ูŠ ุจุชุดุชุบู„ ุนู„ู‰ ุงู„ู€ Promises ุจุณ ุจุดูƒู„ ู…ุจุณุท ุฌุฏู‹ุง ูˆุจุชุฎู„ูŠ ุงู„ูƒูˆุฏ ูŠุจุงู† ูƒุฃู†ู‡ synchronous.

ู†ูุณ ุงู„ู…ุซุงู„ ุงู„ู„ูŠ ุงู„ู„ูŠ ูุงุช ู†ู‚ุฏุฑ ู†ูƒุชุจู‡ ุจุทุฑูŠู‚ุฉ async/await ุจุงู„ุดูƒู„ ุฏู‡:

const fetchData = async () => {
try {
const result = await new Promise((resolve, reject) => {
setTimeout(() => {
const dataAvailable = true;
if (dataAvailable) {
resolve("Data retrieved successfully!");
} else {
reject("Error: Unable to retrieve data.");
}
}, 3000);
});
console.log(result);
} catch (error) {
console.log(error);
}
};

fetchData();


ุงู„ู…ูŠุฒุฉ ู‡ู†ุง ุฅู†ู†ุง ุงุณุชุฎุฏู…ู†ุง await ุนุดุงู† ู†ุณุชู†ู‰ ุงู„ู†ุชูŠุฌุฉ ู…ู† ุงู„ู€ Promise ูˆูƒุฃู† ุงู„ุนู…ู„ูŠุฉ ุฏูŠ synchronousุŒ ู„ูƒู† ููŠ ุงู„ุญู‚ูŠู‚ุฉ ุงู„ูƒูˆุฏ ุดุบุงู„ ุจุทุฑูŠู‚ุฉ asynchronous.

ูˆุจุฏู„ ู…ุง ู†ุณุชุฎุฏู… then ูˆ catchุŒ ุงุณุชุฎุฏู…ู†ุง try ูˆ catch ุนู„ุดุงู† ู†ุชุนุงู…ู„ ู…ุน ุงู„ู†ุฌุงุญ ุฃูˆ ุงู„ูุดู„.

โ€”โ€”โ€”

๐Ÿ“Œ ู„ูŠู‡ ุชุณุชุฎุฏู… ุงู„ู€ Promises ูˆุงู„ู€ Async/AwaitุŸ

โœ… ุชู†ุธูŠู… ุงู„ูƒูˆุฏ: ุงู„ูƒูˆุฏ ุจูŠุจู‚ู‰ ุฃู†ุถู ูˆุฃุจุณุท ููŠ ุงู„ูู‡ู… ู…ู‚ุงุฑู†ุฉ ุจุงู„ู€ Callbacks.
โœ… ุงู„ู€ Error Handling ุฃูุถู„: ุงู„ุชุนุงู…ู„ ู…ุน ุงู„ุฃุฎุทุงุก ุจู‚ู‰ ุฃุณู‡ู„ ุจุงุณุชุฎุฏุงู… try/catch.
โœ… ู„ู…ุง ูŠูƒูˆู† ุนู†ุฏูƒ ู…ุดุฑูˆุน ูƒุจูŠุฑุŒ ุงู„ู€ async/await ู‡ูŠุณุงุนุฏูƒ ููŠ ุฅุฏุงุฑุฉ ุงู„ุฃูƒูˆุงุฏ ุงู„ุทูˆูŠู„ุฉ ูˆุงู„ู…ุนู‚ุฏุฉ ุจุณู‡ูˆู„ุฉ.

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค12๐Ÿ”ฅ2
ูŠุนู†ูŠ ุฅูŠู‡ Bearer Token ูˆุฅุฒุงูŠ ุจูŠุดุชุบู„ุŸ ๐Ÿค”

.
.
ุฎู„ูŠู†ูŠ ุฃุณุฃู„ูƒ ุณุคุงู„... ู„ู…ุง ุชุฏุฎู„ ุฃูŠ ู…ูˆู‚ุน ูˆูŠุทู„ุจ ู…ู†ูƒ ุชุณุฌูŠู„ ุงู„ุฏุฎูˆู„ุŒ ู‡ู„ ูƒู„ ู…ุฑุฉ ุจุชูุชุญ ุงู„ู…ูˆู‚ุน ุจูŠุทู„ุจ ู…ู†ูƒ ุงุณู… ุงู„ู…ุณุชุฎุฏู… ูˆุงู„ุจุงุณูˆุฑุฏ ู…ู† ุงู„ุฃูˆู„ุŸ "ููŠ ุงู„ุบุงู„ุจ" ู„ุงุŒ ู„ุฃู†ู‡ ุจุนุฏ ู…ุง ุจุชุณุฌู‘ู„ ุฏุฎูˆู„ ุจูŠุชู… ุฅุตุฏุงุฑ Token ุชุณุชุฎุฏู…ู‡ ุจุฏู„ ู…ุง ุชุฏุฎู„ ุจูŠุงู†ุงุชูƒ ูƒู„ ู…ุฑุฉ.

ู‡ู†ุง ุจู‚ู‰ ุจูŠูŠุฌูŠ ุฏูˆุฑ ุงู„ู€ Bearer Token... ุฏู‡ ูˆุงุญุฏ ู…ู† ุฃุดู‡ุฑ ุฃู†ูˆุงุน ุงู„ู€ Access Tokens ูˆุงู„ู„ูŠ ุจูŠุชู… ุงุณุชุฎุฏุงู…ู‡ ููŠ ุงู„ู€ authentication (ูˆุบุงู„ุจู‹ุง ู…ุน ู…ุนูŠุงุฑ OAuth 2.0)ุŒ ูˆุฏู‡ ู…ุนู†ุงู‡ ุฅู†ูƒ ู„ู…ุง ุชุจุนุช request ู„ุฃูŠ API ู…ุญู…ูŠ (Protected)ุŒ ุจุฏู„ ู…ุง ุชุจุนุช ุจูŠุงู†ุงุช ุชุณุฌูŠู„ ุงู„ุฏุฎูˆู„ ูƒู„ ู…ุฑุฉุŒ ุจุชุจุนุช ุงู„ู€ Token ุจูŠุฃูƒุฏ ุฅู†ูƒ ุดุฎุต ู…ูˆุซูˆู‚.

ุจุณ ุฎู„ูŠู†ูŠ ุฃู‚ูˆู„ูƒ ุฅู† ุงุณุชุฎุฏุงู… Bearer Token ู…ุญุชุงุฌ ุดูˆูŠุฉ ุชูุงุตูŠู„ ู„ุงุฒู… ุชุจู‚ู‰ ูุงู‡ู…ู‡ุง ูƒูˆูŠุณุŒ ู„ุฃู† ุฃูŠ ุบู„ุทุฉ ููŠ ุงู„ุชุนุงู…ู„ ู…ุนุงู‡ ู…ู…ูƒู† ุชุฎู„ูŠ ุจูŠุงู†ุงุชูƒ ุนุฑุถุฉ ู„ู„ุฅุฎุชุฑุงู‚.
.
.
ู„ุง ุชู†ุณูˆุง ุฃู‡ู„ู†ุง ุงู„ู…ุณุชุถุนููŠู† ู…ู† ุงู„ุฏุนุงุก.
โ€”โ€”โ€”

๐Ÿ“Œ ุฅุฒุงูŠ ุงู„ู€ Bearer Token ุจูŠุดุชุบู„ุŸ


ุงู„ู…ูˆุถูˆุน ุจูŠุชู… ุนู„ู‰ 3 ู…ุฑุงุญู„:

1- ุชุณุฌูŠู„ ุงู„ุฏุฎูˆู„: ู„ู…ุง ุงู„ู…ุณุชุฎุฏู… ุจูŠุฏุฎู„ ุจูŠุงู†ุงุชู‡ ุงู„ุตุญุŒ ุงู„ุณูŠุฑูุฑ ุจูŠุนู…ู„ู‡ authenticateุŒ ูˆุจุนุฏู‡ุง ุจูŠุตุฏุฑู„ู‡ Bearer Token (ู…ู…ูƒู† ูŠูƒูˆู† ู…ุดูุฑ ุฒูŠ JWT).

2- ุงุณุชุฎุฏุงู… ุงู„ู€ Token: ููŠ ูƒู„ request ุจุนุฏ ูƒุฏู‡ุŒ ุงู„ู€ Token ุจูŠุชุจุนุช ู…ุน ุงู„ู‡ูŠุฏุฑ (Header) ููŠ ุงู„ู€ Authorization ุจุงู„ุดูƒู„ ุฏู‡:

Authorization: Bearer YOUR_ACCESS_TOKEN


ูˆุฏู‡ ู…ุนู†ุงู‡ ุฅู† ุฃูŠ ุญุฏ ู…ุนุงู‡ ุงู„ู€ Token ูŠู‚ุฏุฑ ูŠุณุชุฎุฏู…ู‡ ู„ู„ูˆุตูˆู„ ู„ู„ู€ API

3- ุงู„ุชุญู‚ู‚ ู…ู† ุงู„ู€ Token: ุงู„ุณูŠุฑูุฑ ุจูŠุณุชู„ู… ุงู„ู€ Token ูˆูŠุดูˆู ุฅุฐุง ูƒุงู† ุตุงู„ุญ ูˆู„ุง ู„ุง (ู…ู…ูƒู† ุจู…ูุชุงุญ ุชุดููŠุฑ ู„ูˆ ู…ุดูุฑ)ุŒ ูˆู„ูˆ ูƒุงู† ุตุญูŠุญุŒ ุจูŠูƒู…ู„ ุชู†ููŠุฐ ุงู„ุทู„ุจุŒ ูˆู„ูˆ ูƒุงู† ู…ู†ุชู‡ูŠ ุฃูˆ ุบูŠุฑ ุตุญูŠุญุŒ ุจูŠุฑุฏ ุจุฎุทุฃ Unauthorized (401).

โ€”โ€”โ€”

๐Ÿ“Œ ุทุจ ู„ูŠู‡ ุงุณู…ู‡ Bearer TokenุŸ


ูƒู„ู…ุฉ Bearer ู…ุนู†ุงู‡ุง "ุญุงู…ู„"ุŒ ูˆุฏู‡ ู„ุฃู† ุฃูŠ ุญุฏ ู…ุนุงู‡ ุงู„ู€ Token ุฏู‡ ูŠู‚ุฏุฑ ูŠุณุชุฎุฏู…ู‡ ู…ู† ุบูŠุฑ ู…ุง ูŠุซุจุช ู‡ูˆูŠุชู‡ ุจุฃูŠ ุญุงุฌุฉ ุชุงู†ูŠุฉ. ุจู…ุนู†ู‰ ุฅู† ุงู„ู€ Token ู„ูˆ ุงุชุณุฑู‚ุŒ ุงู„ู„ูŠ ุณุฑู‚ู‡ ู‡ูŠู‚ุฏุฑ ูŠุณุชุฎุฏู…ู‡ ูƒุฃู†ู‡ ุฃู†ุช ุจุงู„ุถุจุท.

โ€”โ€”โ€”

๐Ÿ“Œ ุฅูŠู‡ ุงู„ู…ุดุงูƒู„ ุงู„ุฃู…ู†ูŠุฉ ุงู„ู„ูŠ ู…ู…ูƒู† ุชูˆุงุฌู‡ูƒ ู…ุน Bearer TokenุŸ


๐Ÿ’€ ุงู„ู€ Token Theft: ู„ูˆ ุญุฏ ู‚ุฏุฑ ูŠุญุตู„ ุนู„ู‰ ุงู„ู€ Token ุจุชุงุนูƒุŒ ูŠู‚ุฏุฑ ูŠุณุชุฎุฏู…ู‡ ูƒุฃู†ู‡ ุฃู†ุชุŒ ูˆู…ููŠุด extra verification ุฒูŠ ุงู„ู€ refresh tokens ุฃูˆ OAuth flows ุงู„ู„ูŠ ุจุชุชุฃูƒุฏ ุฅู† ุงู„ุดุฎุต ูุนู„ู‹ุง ู‡ูˆ ุงู„ู…ุณุชุฎุฏู… ุงู„ุญู‚ูŠู‚ูŠ.

โŒ›๏ธ ุงู„ู€ Expiration Issues: ู„ูˆ ุงู„ู€ Token ู…ุด ุจูŠุฎู„ุต ุจุณุฑุนุฉุŒ ูŠุจู‚ู‰ ุนู†ุฏูƒ ู…ุดูƒู„ุฉุŒ ู„ุฃู† ุฃูŠ ุญุฏ ูŠุณุฑู‚ู‡ ูŠู‚ุฏุฑ ูŠุณุชุฎุฏู…ู‡ ู„ู…ุฏุฉ ุทูˆูŠู„ุฉุŒ ุนุดุงู† ูƒุฏู‡ ุงู„ู€ Tokens ุจุชุจู‚ู‰ ู„ู‡ุง expiry timeุŒ ูˆุจุนุฏู‡ุง ู„ุงุฒู… ุชุนู…ู„ refresh.

๐Ÿ“ก ุงู„ู€ Man-in-the-Middle Attacks: ู„ูˆ ุงู„ู€ Token ุจูŠุชุจุนุช ู…ู† ุบูŠุฑ encryptionุŒ ู…ู…ูƒู† ุญุฏ ูŠุนุชุฑุถู‡ ูˆูŠุณุชุฎุฏู…ู‡ุŒ ุนุดุงู† ูƒุฏู‡ ู„ุงุฒู… ุชุชุฃูƒุฏ ุฅู† ูƒู„ ุญุงุฌุฉ ุจุชุชู… ุชุญุช HTTPS ู…ุด HTTP

๐Ÿ”„ ุงู„ู€ Replay Attacks: ู„ูˆ ู…ูƒู†ุด ููŠู‡ ุญู…ุงูŠุฉ ุฒูŠ timestampsุŒ ู…ู…ูƒู† ุญุฏ ูŠุณุชุฎุฏู… ุงู„ู€ Token ุงู„ู…ุณุฑูˆู‚ ุฃูƒุชุฑ ู…ู† ู…ุฑุฉ.

โ€”โ€”โ€”

๐Ÿ“Œ ุฅุฒุงูŠ ุชุฃู…ู† ุงู„ู€ Bearer TokenุŸ


โœ… ุงุณุชุฎุฏู… HTTPS: ุนุดุงู† ุชู…ู†ุน ุฃูŠ ุญุฏ ู…ู† ุงู„ุชุฌุณุณ ุนู„ู‰ ุงู„ู€ Token ุฃุซู†ุงุก ู†ู‚ู„ู‡.

โœ… ุญุฏุฏ ู…ุฏุฉ ุตู„ุงุญูŠุฉ ู‚ุตูŠุฑุฉ ู„ู„ู€ Token: ุฎู„ูŠ ุงู„ู€ Token ูŠุฎู„ุต ุจุนุฏ ูุชุฑุฉ ู‚ุตูŠุฑุฉ ุนุดุงู† ู„ูˆ ุงุชุณุฑู‚ุŒ ูŠุจู‚ู‰ ู…ู„ูˆุด ู„ุงุฒู…ุฉ.

โœ… ุงุณุชุฎุฏู… Refresh Tokens: ุนุดุงู† ุงู„ู…ุณุชุฎุฏู… ูŠู‚ุฏุฑ ูŠุญุตู„ ุนู„ู‰ Token ุฌุฏูŠุฏ ู„ู…ุง ุงู„ู€ Token ุงู„ู‚ุฏูŠู… ูŠุฎู„ุต.

โœ… ุฎุฒู† ุงู„ู€ Token ููŠ ู…ูƒุงู† ุขู…ู†: ููŠ ุงู„ู…ุชุตูุญุŒ ุจู„ุงุด ุชุฎุฒู†ู‡ ููŠ localStorage ู„ุฃู†ู‡ ู…ู…ูƒู† ูŠุชุณุฑู‚ ุจุณู‡ูˆู„ุฉุŒ ุงุณุชุฎุฏู… HttpOnly Cookies ู„ูˆ ุฃู…ูƒู†.

โœ… ุงุณุชุฎุฏู… Scopes: ู„ูˆ ุจุชุณุชุฎุฏู… APIุŒ ู…ุชุฏูŠุด ุงู„ู€ Token ุตู„ุงุญูŠุงุช ุฃูƒุชุฑ ู…ู† ุงู„ู…ุทู„ูˆุจุŒ ู…ุซู„ู‹ุง ู…ุชุฏูŠู„ูˆุด ุตู„ุงุญูŠุฉ ุฅู†ู‡ ูŠู…ุณุญ ุฏุงุชุง ู„ูˆ ู‡ูˆ ุจุณ ู‡ูŠู‚ุฑุฃ ุจูŠุงู†ุงุช.

โœ… ุธุจุท CORS ูƒูˆูŠุณ: ุนุดุงู† ุชู…ู†ุน ุฃูŠ ู…ุตุฏุฑ ู…ุด ู…ูˆุซูˆู‚ ู…ู† ุงุณุชุฎุฏุงู… ุงู„ู€ Token.

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค11๐Ÿ‘2
ุจุฑู†ุงู…ุฌ ITIDA Gigs ู„ุชุฃู‡ูŠู„ ุงู„ุดุจุงุจ ู„ู„ุนู…ู„ ุงู„ุญุฑ

https://landing.eyouthlearning.com/index.php/digital-freelancing-placement-program
๐Ÿ’ก ุงู„ุญู„ ู‡ูˆ ุงู„ุชุทุจูŠู‚ ุงู„ุนู…ู„ูŠ


ููŠ ุงู„ู€ Front-EndุŒ ู…ู…ูƒู† ุชุจุฏุฃ ุจู…ุดุงุฑูŠุน ุจุณูŠุทุฉ ุฒูŠ ุตูุญุฉ ูˆูŠุจ ุดุฎุตูŠุฉ ุฃูˆ ุขู„ุฉ ุญุงุณุจุฉุŒ ูˆุจุนุฏูŠู† ุชุทูˆุฑ ู†ูุณูƒ ุจู…ุดุงุฑูŠุน ุฒูŠ ุชุทุจูŠู‚ ุฅุฏุงุฑุฉ ู…ู‡ุงู… ุฃูˆ ู…ูˆู‚ุน ุฅุฎุจุงุฑูŠ ุจูˆุงุฌู‡ุฉ ุงุญุชุฑุงููŠุฉ.

ุฃู…ุง ููŠ ุงู„ู€ Back-EndุŒ ุงุจุฏุฃ ุจู…ุดุงุฑูŠุน ุฒูŠ API ุจุณูŠุทุฉุŒ ูˆู…ุน ุงู„ูˆู‚ุช ุงุดุชุบู„ ุนู„ู‰ ุญุงุฌุงุช ุฒูŠ ู†ุธุงู… ุฅุฏุงุฑุฉ ู…ุณุชุฎุฏู…ูŠู† ุฃูˆ ุชุทุจูŠู‚ ุดุงุช ู…ุชูƒุงู…ู„.

ุงู„ู…ู‡ู… ุชูุถู„ ุชุทุจู‚ ุนู…ู„ูŠ ุนุดุงู† ุงู„ู…ู‡ุงุฑุงุช ุงู„ู„ูŠ ุจุชุชุนู„ู…ู‡ุง ุชุจู‚ู‰ ุซุงุจุชุฉุŒ ูˆูƒู„ ู…ุดุฑูˆุน ู‡ุชุนู…ู„ู‡ ู‡ูŠุฑูุน ู…ู† ู…ุณุชูˆุงูƒ ูˆุงุญุฏุฉ ูˆุงุญุฏุฉ ู„ุญุฏ ู…ุง ุชุจู‚ู‰ ู…ุญุชุฑู.

ุฏูŠ ู…ุฌู…ูˆุนุฉ ู…ุดุงุฑูŠุน ููŠ ู…ุฌุงู„ ุงู„ู€ Front-End ูˆู…ุฌุงู„ ุงู„ู€ Back-End ู‡ุชู†ู‚ู„ูƒ ู…ู† ุงู„ู…ุณุชูˆู‰ ุงู„ู…ุจุชุฏุฆ ู„ู„ู…ุณุชูˆู‰ ุงู„ุงุญุชุฑุงููŠ


โšก๏ธ ู…ุดุงุฑูŠุน ุงู„ู€ Front-End

https://roadmap.sh/frontend/projects

โšก๏ธ ู…ุดุงุฑูŠุน ุงู„ู€ Back-End

https://roadmap.sh/backend/projects
โค8๐Ÿ”ฅ2
ุงู„ูุฑู‚ ุจูŠู† ุงู„ู€ Monorepo ูˆุงู„ู€ Multirepo ๐Ÿ’ฏ
.
.
ุชุฎูŠู„ ุฃู†ูƒ ุดุบุงู„ ุนู„ู‰ ู…ุดุฑูˆุน ุถุฎู…ุŒ ุนู†ุฏูƒ ุฃูƒุชุฑ ู…ู† ูุฑูŠู‚ุŒ ูˆูƒู„ ูุฑูŠู‚ ุจูŠุดุชุบู„ ุนู„ู‰ ุฌุฒุก ู…ุฎุชู„ู. ูุฌุฃุฉุŒ ุชุจุฏุฃ ุงู„ู…ุดุงูƒู„ ุชุธู‡ุฑ: ูƒูˆุฏ ู…ูƒุฑุฑุŒ ุตุนูˆุจุฉ ููŠ ุงู„ุชุนุฏูŠู„ุงุชุŒ ุชุนุงุฑุถ ุจูŠู† ุงู„ูุฑู‚ุŒ ูˆุฃูˆู‚ุงุช ุถุงูŠุนุฉ ุนู„ู‰ ุงู„ู€ builds ูˆุงู„ู€ pipelines.

ุงู„ู…ุดูƒู„ุฉ ู‡ู†ุง ู…ู…ูƒู† ุชูƒูˆู† ููŠ ุงู„ุทุฑูŠู‚ุฉ ุงู„ู„ูŠ ุจุชู†ุธู… ุจู‡ุง ุงู„ูƒูˆุฏ ุจุชุงุนูƒ. ๐Ÿ’ก

ู‡ู†ุง ุชุจุฏุฃ ุชุณุฃู„ ู†ูุณูƒ: ุชุฎุชุงุฑ Monorepo ูˆู„ุง MultirepoุŸ

ูƒู„ ุทุฑูŠู‚ุฉ ู„ู‡ุง ู…ูŠุฒุงุชู‡ุง ูˆุนูŠูˆุจู‡ุงุŒ ูˆุงุฎุชูŠุงุฑูƒ ู…ู…ูƒู† ูŠุญุณู† ุดุบู„ูƒ ุจู†ุณุจุฉ ูƒุจูŠุฑุฉ ุฃูˆ ูŠุนู‚ุฏ ุญูŠุงุชูƒ ู„ูˆ ุงุฎุชุงุฑุช ุงู„ุบู„ุท.

ุชุนุงู„ ู†ูˆุถุญ ุงู„ูุฑู‚ ุจูŠู†ู‡ู… ูˆุงู…ุชู‰ ุชุฎุชุงุฑ ุงู„ุทุฑูŠู‚ุฉ ุงู„ู…ู†ุงุณุจุฉ...

โ€”โ€”โ€”

๐Ÿ“Œ ุฃูˆู„ู‹ุง: ูŠุนู†ูŠ ุฅูŠู‡ MonorepoุŸ

ุงู„ู€ Monorepo ุจุจุณุงุทุฉ ู‡ูŠ ุฅู†ูƒ ุชุญุท ูƒู„ ุงู„ูƒูˆุฏ ุงู„ุฎุงุต ุจุงู„ู…ุดุฑูˆุน ุจุชุงุนูƒุŒ ุจูƒู„ ุงู„ู€ components ุฃูˆ ุงู„ู€ modules ุงู„ู„ูŠ ููŠู‡ุŒ ุฏุงุฎู„ Repository ูˆุงุญุฏ.

ูŠุนู†ูŠ ุญุชู‰ ู„ูˆ ุนู†ุฏูƒ ุฃูƒุชุฑ ู…ู† ุฎุฏู…ุฉ (microservices) ุฃูˆ ุฃูƒุชุฑ ู…ู† ู…ูƒุชุจุฉ ุฃูˆ ุฃูƒุชุฑ ู…ู† ุชุทุจูŠู‚ ู…ุฑุชุจุทูŠู† ุจุจุนุถุŒ ูƒู„ู‡ ุจูŠูƒูˆู† ููŠ ู…ูƒุงู† ูˆุงุญุฏ.

โ€”โ€”โ€”

๐Ÿ“ ู…ู…ูŠุฒุงุช ุงู„ู€ Monorepo:

- ุณู‡ูˆู„ุฉ ุฅุฏุงุฑุฉ ุงู„ูƒูˆุฏ: ูƒู„ ุญุงุฌุฉ ููŠ ู…ูƒุงู† ูˆุงุญุฏุŒ ูู„ูˆ ุนุงูŠุฒ ุชุนู…ู„ ุชุบูŠูŠุฑุงุช ุนู„ู‰ ุฃูƒุชุฑ ู…ู† ุฌุฒุกุŒ ู‡ุชุจู‚ู‰ ุดุงูŠู ุงู„ุตูˆุฑุฉ ุงู„ูƒุจูŠุฑุฉ ุจุณู‡ูˆู„ุฉ.

- ุฅุนุงุฏุฉ ุงุณุชุฎุฏุงู… ุงู„ูƒูˆุฏ (Code Reusability): ู„ูˆ ููŠ ู…ูƒุชุจุฉ ุฃูˆ ุฌุฒุก ู…ุนูŠู† ู…ู† ุงู„ูƒูˆุฏ ู…ุญุชุงุฌ ุชุณุชุฎุฏู…ู‡ ููŠ ุฃูƒุชุฑ ู…ู† ู…ูˆุฏูŠูˆู„ุŒ ุชู‚ุฏุฑ ุชุนู…ู„ู‡ ุจุณู‡ูˆู„ุฉ ู…ู† ุบูŠุฑ duplication.

- ุชู†ุณูŠู‚ ุฃูุถู„ ุจูŠู† ุงู„ูุฑู‚: ูƒู„ ูุฑูŠู‚ ุดุงูŠู ุงู„ูƒูˆุฏ ุจุชุงุน ุจุงู‚ูŠ ุงู„ูุฑู‚ุŒ ูุฏู‡ ุจูŠุณู‡ู„ ุงู„ุชุนุงูˆู† ุจูŠู†ู‡ู… ูˆุจูŠู‚ู„ู„ ุชุนุงุฑุถ ุงู„ุชุนุฏูŠู„ุงุช (conflicts).

- ุชูƒุงู…ู„ ุฃูุถู„ ุจูŠู† ุงู„ุฃุฏูˆุงุช: ุฒูŠ ุงู„ู€ CI/CD (Continuous Integration/Continuous Deployment) ุงู„ู„ูŠ ุจูŠุดุชุบู„ ุจุณู‡ูˆู„ุฉ ุนู„ู‰ ู…ุดุฑูˆุน ูˆุงุญุฏ ุจุฏู„ ู…ุง ูŠุชู‚ุณู… ุนู„ู‰ ุฃูƒุชุฑ ู…ู† repository.

โ€”โ€”โ€”

๐Ÿ“ ุนูŠูˆุจ ุงู„ู€ Monorepo:

- ุงู„ุญุฌู… ุงู„ูƒุจูŠุฑ ู„ู„ู€ repo: ู…ุน ู…ุฑูˆุฑ ุงู„ูˆู‚ุช ูˆุนุฏุฏ ุงู„ู…ุณุงู‡ู…ูŠู† ุงู„ูƒุจูŠุฑุŒ ุญุฌู… ุงู„ู€ repo ุจูŠูƒุจุฑ ูˆุฏู‡ ู…ู…ูƒู† ูŠุจุทู‘ุฃ ุงู„ุนู…ู„ูŠุงุช ุฒูŠ cloning ุฃูˆ ุญุชู‰ ุงู„ู€ builds.

- ุงู„ุชุนู‚ูŠุฏ ููŠ ุฅุฏุงุฑุฉ ุงู„ุตู„ุงุญูŠุงุช: ุตุนุจ ุชู‚ูˆู„ ุฅู† ูู„ุงู† ูŠู‚ุฏุฑ ูŠุดุชุบู„ ุนู„ู‰ ุฌุฒุก ู…ุนูŠู† ุจุณ ู…ู† ุบูŠุฑ ู…ุง ูŠุดูˆู ุงู„ุจุงู‚ูŠ.

- ู…ุดุงูƒู„ ู…ุน ุงู„ู€ Tools: ู„ูˆ ู…ุด ุนู†ุฏูƒ ุฃุฏูˆุงุช ู‚ูˆูŠุฉ ู„ุฅุฏุงุฑุฉ ุงู„ู€ monorepoุŒ ู…ู…ูƒู† ุชูˆุงุฌู‡ ู…ุดุงูƒู„ ููŠ ุงู„ุชู†ุธูŠู… ูˆุนู…ู„ูŠุฉ ุงู„ู€ build.

โ€”โ€”โ€”

๐Ÿ“Œ ุซุงู†ูŠู‹ุง: ูŠุนู†ูŠ ุฅูŠู‡ MultirepoุŸ

ุนู„ู‰ ุงู„ุนูƒุณ ุชู…ุงู…ู‹ุงุŒ ุงู„ู€ Multirepo ู…ุนู†ุงู‡ุง ุฅู† ูƒู„ ุฌุฒุก ุฃูˆ ู…ูˆุฏูŠูˆู„ ู…ู† ุงู„ู…ุดุฑูˆุน ูŠูƒูˆู† ููŠ Repository ุฎุงุต ุจู‡. ูŠุนู†ูŠ ูƒู„ ู…ูˆุฏูŠูˆู„ ุจูŠุจู‚ู‰ ู…ุณุชู‚ู„ ุจุฐุงุชู‡ ูˆูƒุฃู†ู‡ ู…ุดุฑูˆุน ู„ูˆุญุฏู‡.

โ€”โ€”โ€”

๐Ÿ“ ู…ู…ูŠุฒุงุช ุงู„ู€ Multirepo:

- ูƒู„ ู…ูˆุฏูŠูˆู„ ู„ูŠู‡ ุญูŠุงุชู‡ ุงู„ุฎุงุตุฉุŒ ูˆุฏู‡ ุจูŠุฎู„ูŠ ุฅุฏุงุฑุฉ ูƒู„ ุฌุฒุก ู…ุณุชู‚ู„ุฉ ูˆุฃุณู‡ู„ ู„ุจุนุถ ุงู„ูุฑู‚.

- ุชู‚ุฏุฑ ุชุญุฏุฏ ู…ูŠู† ูŠุดุชุบู„ ุนู„ู‰ ุฅูŠู‡ ุจู†ุงุกู‹ ุนู„ู‰ ุงู„ู€ repo ุงู„ู„ูŠ ุนู†ุฏู‡ู… ุฃูƒุณุณ ุนู„ูŠู‡.

- ู„ูˆ ููŠู‡ ู…ูˆุฏูŠูˆู„ ุฃูˆ ุฎุฏู…ุฉ ู…ุด ู…ุฑุชุจุท ุจุดูƒู„ ู…ุจุงุดุฑุŒ ู…ุด ู…ุญุชุงุฌ ุชุจู†ูŠ ูƒู„ ุงู„ู…ุดุฑูˆุนุŒ ุจุณ ุชุจู†ูŠ ุงู„ุฌุฒุก ุงู„ู„ูŠ ู…ุญุชุงุฌู‡.

- ูƒู„ ุฌุฒุก ุจูŠูƒูˆู† ุตุบูŠุฑ ูˆู…ุณุชู‚ู„ุŒ ูุฏู‡ ุจูŠุฎู„ูŠ ุงู„ุนู…ู„ูŠุงุช ุฒูŠ cloning ุฃุณุฑุน ูˆุฃุณู‡ู„.

โ€”โ€”โ€”

๐Ÿ“ ุนูŠูˆุจ ุงู„ู€ Multirepo:

- ุชูƒุฑุงุฑ ุงู„ูƒูˆุฏ: ู„ูˆ ููŠู‡ ุฃูƒุชุฑ ู…ู† ู…ูˆุฏูŠูˆู„ ุจูŠุญุชุงุฌ ู†ูุณ ุงู„ูƒูˆุฏุŒ ู…ู…ูƒู† ุชุถุทุฑ ุชูƒุฑุฑู‡ ุฃูˆ ุชุญุท ู…ูƒุชุจุฉ ู…ู†ูุตู„ุฉ ู„ูŠู‡.

- ุชุนู‚ูŠุฏ ููŠ ุงู„ุชู†ุณูŠู‚ ุจูŠู† ุงู„ูุฑู‚: ุงู„ุชุนุงูˆู† ุจูŠู† ุงู„ูุฑู‚ ุจูŠุจู‚ู‰ ุฃุตุนุจุŒ ูˆุฎุตูˆุตู‹ุง ู„ู…ุง ูŠูƒูˆู† ููŠู‡ dependencies ูƒุชูŠุฑ ุจูŠู† ุงู„ู€ modules.

- ุชูƒุงู…ู„ ู…ุนู‚ุฏ ู„ู„ู€ CI/CD: ุนุดุงู† ูƒู„ ุฌุฒุก ููŠ Repository ู…ุฎุชู„ูุŒ ู‡ุชุญุชุงุฌ ุฅุนุฏุงุฏุงุช ุฃูƒุชุฑ ู„ู„ู€ pipelines ุนุดุงู† ูƒู„ ุญุงุฌุฉ ุชุดุชุบู„ ู…ุน ุจุนุถ.

- ุตุนูˆุจุฉ ููŠ ุฅุฏุงุฑุฉ ุงู„ุชุบูŠูŠุฑุงุช ุงู„ูƒุจูŠุฑุฉ: ู„ูˆ ุนู†ุฏูƒ ุชุบูŠูŠุฑ ุถุฎู… ุจูŠุฃุซุฑ ุนู„ู‰ ุฃูƒุชุฑ ู…ู† ู…ูˆุฏูŠูˆู„ุŒ ู‡ุชุญุชุงุฌ ุชุฏุฎู„ ุนู„ู‰ ูƒุฐุง repo ูˆุชุนุฏู„ ููŠ ูƒู„ ูˆุงุญุฏ ู„ูˆุญุฏู‡.

โ€”โ€”โ€”

๐Ÿ“Œ ุงู…ุชู‰ ุชุฎุชุงุฑ ู…ูŠู†ุŸ

โœ… ุงุฎุชุฑ Monorepo ู„ูˆ:

1- ู…ุดุฑูˆุนูƒ ุนุจุงุฑุฉ ุนู† ู…ุฌู…ูˆุนุฉ modules ู…ุฑุชุจุทุฉ ุจุจุนุถู‡ุง.

2- ุนู†ุฏูƒ ูุฑูŠู‚ ุตุบูŠุฑ ุฃูˆ ู…ุชูˆุณุท.

3- ุจุชุญุชุงุฌ ุชุนู…ู„ ุชุบูŠูŠุฑุงุช ุจุดูƒู„ ู…ุชูƒุฑุฑ ุนู„ู‰ ุฃูƒุชุฑ ู…ู† ู…ูˆุฏูŠูˆู„ ููŠ ู†ูุณ ุงู„ูˆู‚ุช.

4- ุงู„ุฃุฏูˆุงุช ุงู„ู„ูŠ ุจุชุณุชุฎุฏู…ู‡ุง ุจุชุฏุนู… ุฅุฏุงุฑุฉ monorepos ุจุดูƒู„ ูƒูˆูŠุณ.


โœ… ุงุฎุชุฑ Multirepo ู„ูˆ:

1- ู…ุดุฑูˆุนูƒ ูƒุจูŠุฑ ุฌุฏู‹ุง ูˆู…ุนู‚ุฏุŒ ูˆูƒู„ ุฌุฒุก ููŠู‡ ู…ุณุชู‚ู„ ุชู…ุงู…ู‹ุง.

2- ุจุชุญุชุงุฌ ุชุชุญูƒู… ููŠ ุงู„ุตู„ุงุญูŠุงุช ุนู„ู‰ ู…ุณุชูˆู‰ ูƒู„ ู…ูˆุฏูŠูˆู„.

3- ุนู†ุฏูƒ ูุฑู‚ ู…ุฎุชู„ูุฉ ูƒู„ ูุฑูŠู‚ ุดุบุงู„ ุนู„ู‰ ู…ูˆุฏูŠูˆู„ ุฎุงุต ุจู‡.

4- ุนุงูŠุฒ ุชุชุฌู†ุจ ุงู„ู…ุดุงูƒู„ ุงู„ู„ูŠ ุจุชุณุจุจู‡ุง ุฃุญุฌุงู… ุงู„ู€ repos ุงู„ูƒุจูŠุฑุฉ.

โ€”โ€”โ€”

ุงู„ู‚ุฑุงุฑ ููŠ ุงู„ุขุฎุฑ ุจูŠุฑุฌุน ู„ุทุจูŠุนุฉ ู…ุดุฑูˆุนูƒ ูˆุงุญุชูŠุงุฌุงุช ูุฑูŠู‚ูƒ. ู…ููŠุด ุทุฑูŠู‚ุฉ "ุตุญ" ูˆุทุฑูŠู‚ุฉ "ุบู„ุท"ุŒ ู„ูƒู† ููŠู‡ ุทุฑูŠู‚ุฉ ู…ู†ุงุณุจุฉ ุฃูƒุชุฑ ุญุณุจ ุธุฑูˆููƒ. ุฃู‡ู… ุญุงุฌุฉ ุฅู†ูƒ ุชูƒูˆู† ูุงู‡ู… ูƒู„ ุทุฑูŠู‚ุฉ ุจุชู‚ุฏู… ุฅูŠู‡ ูˆุนูŠูˆุจู‡ุง ุฅูŠู‡. ๐Ÿ’ก

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค9
Keys In SQL With Tables Well Explained ๐Ÿ’ฏ
โค3๐Ÿ”ฅ1