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
ุฅูŠู‡ ุงู„ูุฑู‚ ุจูŠู† ุงู„ู€ JWT ูˆุงู„ู€ SessionsุŸ ๐Ÿค”
.
.
ุงู„ุงุชู†ูŠู† ุจูŠุณุชุฎุฏู…ูˆุง ุนู„ุดุงู† ู†ุนุฑู ุงู„ู…ุณุชุฎุฏู…ูŠู† ุงู„ู„ูŠ ุฏุฎู„ูˆุง ุนู„ู‰ ุงู„ู…ูˆู‚ุนุŒ ุจุณ ูƒู„ ูˆุงุญุฏ ู„ู‡ ุทุฑูŠู‚ุฉ ู…ุฎุชู„ูุฉ ุชู…ุงู…ู‹ุง ููŠ ุงู„ุชุนุงู…ู„.

ููŠ ุงู„ู…ู‚ุงู„ ุฏู‡ุŒ ู‡ุชูู‡ู… ุงู„ูุฑู‚ ุจูŠู†ู‡ู… ุจุดูƒู„ ุจุณูŠุท ูˆุณู‡ู„ุŒ ุนู„ุดุงู† ุชุนุฑู ุชุฎุชุงุฑ ุงู„ุฃูุถู„ ู„ู…ุดุฑูˆุนูƒ.

โ€”โ€”โ€”

JWT vs Sessions: The Real Difference in Simple Words ๐Ÿ’ก


If youโ€™ve ever built or used a web app, youโ€™ve probably logged in at some point. Maybe you checked your email, browsed Twitter, or paid a bill online. But have you ever wondered how these websites remember who you are?

Thatโ€™s where authentication comes in. In web development, there are two big players in handling user sessions: JWT (JSON Web Tokens) and Sessions.

This article breaks down the difference between JWT and Sessions in simple, no-fluff words.

โ€”โ€”โ€”

๐Ÿ“ DEV Community
https://dev.to/alisamir/jwt-vs-sessions-the-real-difference-in-simple-words-51c0

๐Ÿ“ Medium
https://medium.com/@dev.alisamir/jwt-vs-sessions-the-real-difference-in-simple-words-184e1e0d9e8d
โค9๐Ÿ‘1
PREACT RUNS FAST โšก๏ธ


Why Preact is winning:

๐Ÿ“ฆ Only 3kB vs React's 30+kB
๐Ÿ”ฅ Dramatically faster load times
โ™ป๏ธ Direct DOM connection
โš™๏ธ Works with React libraries


Perfect for:

๐Ÿš€ Fast PWAs
๐Ÿ“ฑ Mobile-first experiences
๐Ÿงฉ Lightweight components
โค6๐Ÿ‘1
SQL Zero To Hero Mindmap
โค5
ุงู„ูุฑู‚ ุจูŠู† ุงู„ู€ Primary Key ูˆุงู„ู€ Foreign Key
.
.
ุฎู„ูŠู†ุง ู†ุชุฎูŠู„ ู‚ูˆุงุนุฏ ุงู„ุจูŠุงู†ุงุช ูƒุฃู†ู‡ุง ุดูŠุช ุฅูƒุณูŠู„ ูƒุจูŠุฑ ููŠู‡ ุฌุฏุงูˆู„ (Tables)ุŒ ูˆูƒู„ ุฌุฏูˆู„ ููŠู‡ ุตููˆู (Rows) ูˆุฃุนู…ุฏุฉ (Columns)ุŒ ุฅุฒุงูŠ ู†ู‚ุฏุฑ ู†ู…ูŠู‘ุฒ ูƒู„ ุตู ู„ูˆุญุฏู‡ุŸ ุฃูˆ ู†ุฑุจุท ุจูŠู† ุฌุฏูˆู„ ูˆุฌุฏูˆู„ุŸ ู‡ู†ุง ุจู‚ู‰ ุจูŠูŠุฌูŠ ุฏูˆุฑ ุงู„ู€ Primary Key ูˆุงู„ู€ Foreign Key.

โ€”โ€”โ€”

๐Ÿ”ธ ุฃูˆู„ู‹ุง: ุงู„ู€ Primary Key โ€“ ุงู„ู…ูุชุงุญ ุงู„ุฃุณุงุณูŠ


ุฏู‡ ุฒูŠ ุฑู‚ู… ุงู„ุจุทุงู‚ุฉ ุฃูˆ ุฑู‚ู… ุงู„ุฌู„ูˆุณ ูƒุฏู‡ุŒ ูƒู„ ุตู ููŠ ุงู„ุฌุฏูˆู„ ู„ุงุฒู… ูŠูƒูˆู† ุนู†ุฏู‡ ู‚ูŠู…ุฉ ู…ู…ูŠุฒุฉ ููŠ ุงู„ุนู…ูˆุฏ ุฏู‡ุŒ ุนู„ุดุงู† ู†ุนุฑู ู†ูˆุตู„ู‡ ุจุณู‡ูˆู„ุฉ ู…ู† ูˆุณุท 1000 ุตู ุชุงู†ูŠ.

- ู„ุงุฒู… ูŠูƒูˆู† Unique: ูŠุนู†ูŠ ูƒู„ ุตู ู„ู‡ ุฑู‚ู… ู…ุฎุชู„ู ุนู† ุงู„ุชุงู†ูŠ.
- ู„ุง ูŠุณู…ุญ ุจู€ null: ูŠุนู†ูŠ ู„ุงุฒู… ุชูƒูˆู† ุงู„ู‚ูŠู…ุฉ ู…ูˆุฌูˆุฏุฉ ูˆู…ุด ูุงุถูŠุฉ.


๐ŸŽฏ ู…ุซุงู„ ุจุณูŠุท: ู„ูˆ ุนู†ุฏูƒ ุฌุฏูˆู„ ุงุณู…ู‡ StudentsุŒ ู…ู…ูƒู† ุชุถูŠู ุนู…ูˆุฏ ุงุณู…ู‡ student_id ูƒู€ Primary Key. ูŠุนู†ูŠ ูƒู„ ุทุงู„ุจ ู„ู‡ ID ู…ุฎุชู„ูุŒ ุฏู‡ ุจูŠุณุงุนุฏู†ุง ู†ู…ูŠู‘ุฒู‡ ูˆู†ุชุนุงู…ู„ ู…ุน ุจูŠุงู†ุงุชู‡ ุจุณู‡ูˆู„ุฉ.

โ€”โ€”โ€”

๐Ÿ”ธ ุซุงู†ูŠู‹ุง: ุงู„ู€ Foreign Key โ€“ ุงู„ู…ูุชุงุญ ุงู„ุฃุฌู†ุจูŠ ุฃูˆ ุงู„ู…ูุชุงุญ ุงู„ุฑุงุจุท


ู‡ู†ุง ุจู‚ู‰ ุงู„ู…ูˆุถูˆุน ู„ู‡ ุนู„ุงู‚ุฉ ุจุงู„ุนู„ุงู‚ุงุช (Relationships) ุจูŠู† ุงู„ุฌุฏุงูˆู„.

ุงู„ู€ Foreign Key ู‡ูˆ ุนู…ูˆุฏ ู…ูˆุฌูˆุฏ ููŠ ุฌุฏูˆู„ุŒ ุจุณ ุจูŠุฑุฌุน ูŠุดุงูˆุฑ ุนู„ู‰ ุงู„ู€ Primary Key ุจุชุงุน ุฌุฏูˆู„ ุชุงู†ูŠ.
ูŠุนู†ูŠ ุจูŠู‚ูˆู„ูƒ: "ุงู„ู‚ูŠู…ุฉ ุงู„ู„ูŠ ู‡ู†ุงุŒ ู„ุงุฒู… ุชูƒูˆู† ู…ูˆุฌูˆุฏุฉ ู‡ู†ุงูƒ"


โœ… ุงุณุชุฎุฏุงู…ู‡ ุงู„ุฃุณุงุณูŠ:

- ุจูŠุฑุจุท ุงู„ุฌุฏุงูˆู„ ุจุจุนุถ.
- ุจูŠุณุงุนุฏู†ุง ู†ุญุงูุธ ุนู„ู‰ "ุณู„ุงู…ุฉ ุงู„ุจูŠุงู†ุงุช" (Data Integrity)ุŒ ูŠุนู†ูŠ ู…ูŠุจู‚ุงุด ููŠู‡ ุจูŠุงู†ุงุช ู…ู„ู‡ุงุด ู…ุนู†ู‰ ุฃูˆ ู…ู„ู‡ุงุด ุนู„ุงู‚ุฉ.


๐ŸŽฏ ู…ุซุงู„: ู„ูˆ ุนู†ุฏู†ุง ุฌุฏูˆู„ ุงุณู…ู‡ OrdersุŒ ูˆุนุงูŠุฒูŠู† ู†ุนุฑู ูƒู„ ุฃูˆุฑุฏุฑ ุงุชุนู…ู„ ู…ู† ู…ูŠู†ุŒ ู‡ู†ุถูŠู ุนู…ูˆุฏ ุงุณู…ู‡ user_id ูƒู€ Foreign KeyุŒ ุงู„ู„ูŠ ุจูŠุฑุจุท ุงู„ุฃูˆุฑุฏุฑ ุฏู‡ ุจุงู„ู…ุณุชุฎุฏู… ุงู„ู„ูŠ ู…ูˆุฌูˆุฏ ููŠ ุฌุฏูˆู„ Users.

โ€”โ€”โ€”

๐Ÿง  ุงู„ุฎู„ุงุตุฉ ููŠ ูƒู„ู…ุชูŠู†:

- ุงู„ู€ Primary Key: ุจูŠู…ูŠุฒ ูƒู„ ุตู ููŠ ุฌุฏูˆู„ ู„ูˆุญุฏู‡.
- ุงู„ู€ Foreign Key: ุจูŠุฑุจุท ุงู„ุตู ุฏู‡ ุจุตู ุชุงู†ูŠ ููŠ ุฌุฏูˆู„ ุชุงู†ูŠ.

ุงู„ุงุชู†ูŠู† ู…ุน ุจุนุถ ุฒูŠ ุงู„ู…ูุชุงุญ ูˆุงู„ุจุงุจ... ูˆุงุญุฏ ูŠูุชุญู„ูƒ ุงู„ุตูุŒ ูˆุงู„ุชุงู†ูŠ ูŠุฎู„ูŠูƒ ุชูˆุตู„ ู„ุฌุฏูˆู„ ุชุงู†ูŠ ูˆุชุฑุจุท ุงู„ุจูŠุงู†ุงุช ุจุจุนุถู‡ุง ๐Ÿ’ก

โ€”โ€”โ€”

#ุฏู‚ูŠู‚ุฉ_ุจุฑู…ุฌุฉ
โค7๐Ÿ‘1
API Design 101: From Basics to Best Practices ๐Ÿ’ฏ


In this deep dive, weโ€™ll go through the API design, starting from the basics and advancing towards the best practices that define exceptional APIs.

โ€”โ€”โ€”

https://levelup.gitconnected.com/api-design-101-from-basics-to-best-practices-a0261cdf8886
โค6
ู…ูู‡ูˆู… ุงู„ู€ Index ููŠ ู‚ูˆุงุนุฏ ุงู„ุจูŠุงู†ุงุช ๐Ÿ”
.
.
ุชุฎูŠู„ ู…ุนุงูŠุง ุฃู†ูƒ ุฏุฎู„ุช ู…ูƒุชุจุฉ ููŠู‡ุง ู…ู„ูŠูˆู† ูƒุชุงุจุŒ ูˆุงู„ู…ุทู„ูˆุจ ุชุฏูˆุฑ ุนู„ู‰ ูƒุชุงุจ ุงุณู…ู‡ "ุชุนู„ู… ุงู„ุจุฑู…ุฌุฉ ุจู„ุบุฉ ุงู„ุฌุงูุง"ุŒ ูˆู…ููŠุด ุฃูŠ ุชุฑุชูŠุจ ุฃูˆ ูู‡ุฑุณ ู„ู„ู…ูƒุชุจุฉ.

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

ุทูŠุจุŒ ู„ูˆ ุงู„ู…ูƒุชุจุฉ ุฏูŠ ููŠู‡ุง "ูู‡ุฑุณ" ู…ุฑุชุจ ููŠู‡ ุฃุณู…ุงุก ุงู„ูƒุชุจ ูˆุฃุฑู‚ุงู… ูƒู„ ุงู„ุฑููˆู ุจุชุงุนุชู‡ุง... ูˆู‚ุชู‡ุง ุชูุชุญ ุงู„ูู‡ุฑุณุŒ ุชุฏูˆุฑ ุนู„ู‰ ุงู„ุงุณู…ุŒ ุชุนุฑู ู…ูƒุงู†ู‡ุŒ ูˆุชุฑูˆุญ ุชุงุฎุฏู‡ ููŠ ุซูˆุงู†ูŠ. ๐Ÿš€

โ€”โ€”โ€”

ู†ูุณ ุงู„ููƒุฑุฉ ุจุงู„ุถุจุท ุจุชุญุตู„ ุฏุงุฎู„ ู‚ูˆุงุนุฏ ุงู„ุจูŠุงู†ุงุช.

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

โ€”โ€”โ€”

๐Ÿค” ู„ูŠู‡ ุจู†ุณุชุฎุฏู… ุงู„ู€ IndexุŸ


ู„ู…ุง ุจุชุนู…ู„ ุงุณุชุนู„ุงู… (Query) ุนู„ุดุงู† ุชุฌูŠุจ ุจูŠุงู†ุงุช ู…ุนูŠู†ุฉุŒ ุฎุตูˆุตู‹ุง ู…ู† ุฌุฏุงูˆู„ ููŠู‡ุง ู…ู„ุงูŠูŠู† ุงู„ุตููˆูุŒ ุงู„ู€ Index ุจูŠู‚ู„ู„ ูˆู‚ุช ุงู„ุจุญุซ ุจุดูƒู„ ูƒุจูŠุฑ ุฌุฏู‹ุง. ุจุฏู„ ู…ุง ูŠู‚ู„ุจ ุงู„ุฌุฏูˆู„ ูƒู„ู‡ุŒ ุจูŠุฑูˆุญ ูŠุฏูˆุฑ ุฏุงุฎู„ ุงู„ู€ Index ูˆูŠูˆุตู„ูƒ ุจุงู„ุจูŠุงู†ุงุช ุฃุณุฑุน.

โ€”โ€”โ€”

๐Ÿ›  ุฃู†ูˆุงุน ุงู„ู€ Index ุงู„ู…ุดู‡ูˆุฑุฉ:


- ุงู„ู€ Single Column Index: ุจูŠูƒูˆู† ู…ุนู…ูˆู„ ุนู„ู‰ ุนู…ูˆุฏ ูˆุงุญุฏ ุจุณ.
- ุงู„ู€ Composite Index: ุจูŠูƒูˆู† ู…ุนู…ูˆู„ ุนู„ู‰ ุฃูƒุชุฑ ู…ู† ุนู…ูˆุฏ ู…ุน ุจุนุถ.
- ุงู„ู€ Unique Index: ุจูŠุถู…ู† ุฅู† ุงู„ู‚ูŠู… ุงู„ู„ูŠ ููŠ ุงู„ุนู…ูˆุฏ ุบูŠุฑ ู…ูƒุฑุฑุฉ.
- ุงู„ู€ Full-text Index: ุจูŠุณุชุฎุฏู… ู„ู„ุจุญุซ ุฏุงุฎู„ ู†ุตูˆุต ุทูˆูŠู„ุฉ ุฒูŠ ุงู„ู…ู‚ุงู„ุงุช.

โ€”โ€”โ€”

โš ๏ธ ู…ู„ุงุญุธุฉ ู…ู‡ู…ุฉ:


ุงุณุชุฎุฏุงู… Index ุจูŠุณุงุนุฏ ููŠ ุชุณุฑูŠุน ุงู„ู€ SELECT queries...

ู„ูƒู† ุฎู„ูŠ ุจุงู„ูƒุŒ ูƒู„ ู…ุง ุชุนู…ู„ Insert ุฃูˆ Update ุฃูˆ Delete ููŠ ุงู„ุฌุฏูˆู„ุŒ ู‚ุงุนุฏุฉ ุงู„ุจูŠุงู†ุงุช ู„ุงุฒู… ุชุญุฏุซ ุงู„ู€ Index ูƒู…ุงู†ุŒ ูˆุฏู‡ ู…ุนู†ุงู‡ ุดูˆูŠุฉ ุชูƒู„ูุฉ ุฅุถุงููŠุฉ. ูŠุนู†ูŠุŒ ู…ูŠู†ูุนุด ุชุญุท Index ุนู„ู‰ ูƒู„ ุงู„ุฃุนู…ุฏุฉ ูˆุฎู„ุงุตุŒ ู„ุงุฒู… ุชุฎุชุงุฑ ุนู„ู‰ ุญุณุจ ุฃูƒุชุฑ Queries ุจุชุณุชุฎุฏู…ู‡ุง.

โ€”โ€”โ€”

ุงู„ู€ Index = ูู‡ุฑุณ ุจูŠุณุฑุน ุงู„ุจุญุซ ุฏุงุฎู„ ู‚ูˆุงุนุฏ ุงู„ุจูŠุงู†ุงุช.

#ุฏู‚ูŠู‚ุฉ_ุจุฑู…ุฌุฉ
โค8๐Ÿ‘1
The 2025 Microservices Roadmap for Developers
โค7๐Ÿ‘1
Writing Clean, Secure Node.js APIs โ€“ A Checklist Youโ€™ll Actually Use โœ…


If youโ€™re building APIs with Node.js, youโ€™re not just writing code โ€” youโ€™re shaping the backbone of apps that people trust with their data, their businesses, and sometimes their lives.

Weโ€™ve all been there โ€” quick fixes, rushed deadlines, and messy endpoints that haunt us later.

Hereโ€™s your essential checklist for writing clean, secure Node.js APIs โ€” the one youโ€™ll want to print out, save, and stick on your second monitor.

โ€”โ€”โ€”

https://dev.to/alisamir/writing-clean-secure-nodejs-apis-a-checklist-youll-actually-use-3loc
โค2
๐ŸŽฏ ุงู„ูุฑู‚ ุจูŠู† ุงู„ู€ Client-side Validation ูˆุงู„ู€ Server-side Validation
.
.
ุฃูˆู„ ุญุงุฌุฉ ุชุนุงู„ ู†ุชูู‚ ุฅู† ุงู„ู€ "Validation" ูŠุนู†ูŠ ุงู„ุชุญู‚ู‚ ู…ู† ุตุญุฉ ุงู„ุจูŠุงู†ุงุช ุงู„ู„ูŠ ุงู„ู…ุณุชุฎุฏู… ุจูŠุฏุฎู„ู‡ุงุŒ ุฒูŠ ู…ุซู„ู‹ุง ู„ู…ุง ุชูŠุฌูŠ ุชุณุฌู„ ููŠ ู…ูˆู‚ุน ูˆุชุฏุฎู„ ุงู„ุฅูŠู…ูŠู„ ูˆุงู„ุจุงุณูˆุฑุฏุŒ ู„ุงุฒู… ุงู„ู…ูˆู‚ุน ูŠุชุฃูƒุฏ ุฅู† ุงู„ุจูŠุงู†ุงุช ุฏูŠ ุตุญ ูˆู…ุธุจูˆุทุฉ ู‚ุจู„ ู…ุง ูŠุญูุธู‡ุง ุฃูˆ ูŠุชุนุงู…ู„ ู…ุนุงู‡ุง.

ุงู„ุชุญู‚ู‚ ุฏู‡ ู…ู…ูƒู† ูŠุญุตู„ ููŠ ู…ูƒุงู†ูŠู†:

โ€”โ€”โ€”

๐Ÿ”น ุงู„ู€ Client-side Validation (ุงู„ุชุญู‚ู‚ ููŠ ุงู„ู…ุชุตูุญ):


- ูŠุนู†ูŠ ุงู„ุชุญู‚ู‚ ุจูŠุญุตู„ ู‚ุจู„ ู…ุง ุงู„ุจูŠุงู†ุงุช ุชุฑูˆุญ ู„ู„ุณูŠุฑูุฑ.
- ุงู„ูƒูˆุฏ ุงู„ู„ูŠ ุจูŠุนู…ู„ ุงู„ุชุญู‚ู‚ ุฏู‡ ุจูŠูƒูˆู† ุดุบุงู„ ุนู†ุฏ ุงู„ู…ุณุชุฎุฏู… ู†ูุณู‡ุŒ ุบุงู„ุจู‹ุง ุจุงุณุชุฎุฏุงู… JavaScript ุฃูˆ HTML5 Validation.

ู…ุซู„ู‹ุง ู„ูˆ ุฃู†ุช ุจุชุฏุฎู„ ุจูŠุงู†ุงุชูƒ ููŠ ููˆุฑู… ุชุณุฌูŠู„ุŒ ูˆุงู„ู…ุชุตูุญ ุทู„ุน ู„ูƒ ุฑุณุงู„ุฉ ุจุชู‚ูˆู„ูƒ "ุงู„ุฅูŠู…ูŠู„ ู…ุด ู…ูƒุชูˆุจ ุจุทุฑูŠู‚ุฉ ุตุญูŠุญุฉ" ุฃูˆ "ุงู„ุจุงุณูˆุฑุฏ ู‚ุตูŠุฑ"ุŒ ู‚ุจู„ ุญุชู‰ ู…ุง ุชุถุบุท ุนู„ู‰ Submit... ุฏู‡ ูƒุฏู‡ Client-side Validation.

ูˆู„ูƒู† ุงู„ู†ูˆุน ุฏู‡ ู…ุด ุขู…ู† ุจู†ุณุจุฉ ูกู ู ูชุŒ ูˆู…ูŠู†ูุนุด ู†ุนุชู…ุฏ ุนู„ูŠู‡ ู„ูˆุญุฏู‡.

โ€”โ€”โ€”

๐Ÿ”น ุงู„ู€ Server-side Validation (ุงู„ุชุญู‚ู‚ ุนู†ุฏ ุงู„ุณูŠุฑูุฑ):


- ู‡ู†ุง ุงู„ุชุญู‚ู‚ ุจูŠุญุตู„ ุจุนุฏ ู…ุง ุงู„ุจูŠุงู†ุงุช ุชุชุจุนุช ู„ู„ุณูŠุฑูุฑ.
- ุงู„ุณูŠุฑูุฑ ู‡ูˆ ุงู„ู„ูŠ ุจูŠุชุฃูƒุฏ ุจู†ูุณู‡ ู…ู† ูƒู„ ุญุงุฌุฉ: ุงู„ุฅูŠู…ูŠู„ ุตุญุŸ ุงู„ุจุงุณูˆุฑุฏ ู‚ูˆูŠุŸ ูˆู‡ูƒุฐุง.

ุจุบุถ ุงู„ู†ุธุฑ ุงู„ู…ุณุชุฎุฏู… ุนู…ู„ ุฅูŠู‡ ุนู„ู‰ ุฌู‡ุงุฒู‡ุŒ ุงู„ุณูŠุฑูุฑ ุจูŠุณุชู„ู… ุงู„ุฏุงุชุง ูˆูŠุชุฃูƒุฏ ู…ู†ู‡ุง ุจู†ูุณู‡.

ุงู„ู†ูˆุน ุฏู‡ ู…ู…ูƒู† ูŠุญู…ูŠูƒ ู…ู† ู‡ุฌู…ุงุช ุฒูŠ SQL Injection ูˆุบูŠุฑู‡ุงุŒ ูˆู„ูƒู† ุฏู‡ ุจูŠุฒูˆุฏ ุงู„ุญู…ู„ ุนู„ู‰ ุงู„ุณูŠุฑูุฑ.

โ€”โ€”โ€”

โœ… ุฅูŠู‡ ุงู„ุตุญุŸ


ุงู„ุตุญ ูˆุงู„ู…ูุชุจุน ููŠ ุฃูŠ ู…ุดุฑูˆุน ู…ุญุชุฑู… ุฅู†ูƒ ุชุณุชุฎุฏู… ุงู„ู†ูˆุนูŠู† ู…ุน ุจุนุถ:

- ุชุนู…ู„ Client-side Validation ุนุดุงู† ุชุญุณู† ุชุฌุฑุจุฉ ุงู„ู…ุณุชุฎุฏู… ูˆุชุธู‡ุฑ ู„ู‡ Feedback ุณุฑูŠุน.
- ูˆุชุนู…ู„ ูƒู…ุงู† Server-side Validation ุนุดุงู† ุชุฃู…ู† ู†ูุณูƒ ูˆุชุญุงูุธ ุนู„ู‰ ุงู„ุณูŠุฑูุฑ ูˆุงู„ุฏุงุชุง ุจุชุงุนุชูƒ.

โ€”โ€”โ€”

#ุฏู‚ูŠู‚ุฉ_ุจุฑู…ุฌุฉ
โค9
ูŠุนู†ูŠ ุฅูŠู‡ AgileุŸ ๐Ÿ“ˆ
.
.
ุงู„ู€ Agile ุจุจุณุงุทุฉ ู‡ูˆ ุทุฑูŠู‚ุฉ ุชููƒูŠุฑ ูˆุฅุฏุงุฑุฉ ู„ู…ุดุงุฑูŠุน ุงู„ุจุฑู…ุฌุฉ (ุฃูˆ ุฃูŠ ู…ุดุงุฑูŠุน ุชุงู†ูŠุฉ) ู‡ุฏูู‡ุง ุงู„ุฃุณุงุณูŠ ุฅู†ูƒ ุชุทูˆุฑ ุงู„ู…ู†ุชุฌ ุจุดูƒู„ ุณุฑูŠุน ูˆู…ุฑู†ุŒ ูˆุชุนุฏู„ ุนู„ูŠู‡ ุจุณู‡ูˆู„ุฉ ุญุณุจ ุงุญุชูŠุงุฌุงุช ุงู„ุนู…ูŠู„ ุฃูˆ ุงู„ุณูˆู‚.

ุฒู…ุงู† ูƒุงู† ุงู„ุดุบู„ ููŠ ุงู„ุจุฑู…ุฌุฉ ุจูŠุชู… ุจุทุฑูŠู‚ุฉ ุงุณู…ู‡ุง WaterfallุŒ ูŠุนู†ูŠ ู†ู…ุดูŠ ุฎุทูˆุฉ ุฎุทูˆุฉ ุจุงู„ุชุฑุชูŠุจ (ู†ุฎุทุทุŒ ู†ุตู…ู…ุŒ ู†ุจุฑู…ุฌุŒ ู†ุฎุชุจุฑุŒ ู†ุณู„ู…)ุŒ ูˆู„ูˆ ุญุตู„ุช ู…ุดูƒู„ุฉ ูˆุฅุญู†ุง ููŠ ุงู„ู†ุตุŒ ุจู†ุถุทุฑ ู†ุฑุฌุน ู„ู„ุฎุทูˆุฉ ุฏูŠ ูˆู†ุฎุณุฑ ูˆู‚ุช ูˆู…ุฌู‡ูˆุฏ ูƒุชูŠุฑ. โŒ

ู„ูƒู† ุงู„ู€ Agile ู‚ุงู„ูƒ: ุจุฏู„ ู…ุง ู†ุนู…ู„ ูƒู„ ุฏู‡ ู…ุฑุฉ ูˆุงุญุฏุฉ ูˆู†ุฎุงุทุฑุŒ ู†ุดุชุบู„ ุจุทุฑูŠู‚ุฉ ุชุงู†ูŠุฉ:

- ู†ู‚ุณู… ุงู„ู…ุดุฑูˆุน ู„ุฃุฌุฒุงุก ุตุบูŠุฑุฉ ุงุณู…ู‡ุง Sprints (ู…ุฏุฉ ุงู„ู€ Sprint ุจุชูƒูˆู† ุบุงู„ุจู‹ุง ู…ู† ุฃุณุจูˆุนูŠู† ู„ุดู‡ุฑ).
- ููŠ ูƒู„ SprintุŒ ู†ุฎู„ุต ุฌุฒุก ุตุบูŠุฑ ุดุบุงู„ ูุนู„ูŠู‹ุง ู…ู† ุงู„ู…ุดุฑูˆุน (ู…ู…ูƒู† ุตูุญุฉุŒ ู…ูŠุฒุฉุŒ ุฃูˆ ูˆุธูŠูุฉ ู…ุนูŠู†ุฉ).
- ูƒู„ Sprint ุจูŠุฎู„ุตุŒ ุจู†ุนุฑุถ ุงู„ู„ูŠ ุนู…ู„ู†ุงู‡ ุนู„ู‰ ุงู„ุนู…ูŠู„ ุฃูˆ ุงู„ุชูŠู…ุŒ ูˆู†ุดูˆู ุฑุฃูŠู‡ู….
- ุจู†ุงุกู‹ ุนู„ู‰ ุงู„ููŠุฏุจุงูƒ ุฏู‡ุŒ ู†ุนุฏู‘ู„ ูˆู†ูƒู…ู„ Sprint ุฌุฏูŠุฏ.

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

โ€”โ€”โ€”

๐Ÿ“Œ ุทูŠุจ ู„ูŠู‡ ุงู„ู€ Agile ู…ู‡ู…ุŸ


- ุจูŠุฎู„ูŠูƒ ุชุชุนุงู…ู„ ู…ุน ุงู„ุชุบูŠูŠุฑุงุช ุงู„ู„ูŠ ุจุชุญุตู„ ููŠ ุงู„ู…ุดุฑูˆุน ุจุณู‡ูˆู„ุฉ ูˆุจุดูƒู„ ู…ุฑู†.
- ุจูŠู‚ู„ู„ ุงุญุชู…ุงู„ูŠุฉ ุฅู† ุงู„ู…ุดุฑูˆุน ูƒู„ู‡ ูŠูุดู„.
- ุจูŠุฎู„ูŠ ุงู„ุนู…ูŠู„ ุดุงูŠู ูƒู„ ุญุงุฌุฉ ุดุบุงู„ุฉ ุฎุทูˆุฉ ุจุฎุทูˆุฉ.

โ€”โ€”โ€”

๐Ÿ’ฏ ุฃุดู‡ุฑ ุงู„ุทุฑู‚ ุงู„ู„ูŠ ุจุชุทุจู‚ ุงู„ู€ Agile:


- ุงู„ู€ Scrum: ูˆุฏูŠ ุนุจุงุฑุฉ ุนู† ุทุฑูŠู‚ุฉ ู…ู†ุธู…ุฉ ุฃูƒุชุฑ ููŠู‡ุง ุฃุฏูˆุงุฑ ุฒูŠ Scrum Master ูˆ Product Owner.
- ุงู„ู€ Kanban: ูˆุฏูŠ ู†ุธุงู… ุจูŠุนุชู…ุฏ ุนู„ู‰ ุจูˆุฑุฏ ููŠู‡ ู…ู‡ุงู… ุชุชุญุฑูƒ ู…ุง ุจูŠู† To do โ†’ Doing โ†’ Done.

โ€”โ€”โ€”

#ุฏู‚ูŠู‚ุฉ_ุจุฑู…ุฌุฉ
โค7๐Ÿ‘4๐Ÿ‘1
This media is not supported in your browser
VIEW IN TELEGRAM
ู…ุณุงุฑ ุชุนู„ู… Spring Boot ู„ุนุงู… 2025 ๐Ÿ”ฅ

Spring Boot Roadmap 2025: The Complete Guide for Backend Developers ๐Ÿš€


Learn how to master Spring Boot in 2025 with this complete roadmap covering Java fundamentals, REST APIs, Spring Security, Data Access, and more.

https://www.amigoscode.com/blogs/spring-boot-roadmap-2025
โค4๐Ÿ‘2
ุงู„ู€ HTTPS Certificate ๐Ÿ’ฏ
.
.
ู‚ุจู„ ู…ุง ู†ุฏุฎู„ ููŠ ุงู„ุชูุงุตูŠู„ุŒ ุชุนุงู„ ู†ุนุฑู ูŠุนู†ูŠ ุฅูŠู‡ HTTPSุŸ

ุงู„ู€ HTTPS ุฏูŠ ุงุฎุชุตุงุฑ ู„ู€ HyperText Transfer Protocol SecureุŒ ูˆุฏู‡ ุงู„ุจุฑูˆุชูˆูƒูˆู„ ุงู„ู„ูŠ ุจูŠุฎู„ูŠ ุงู„ุชุตูุญ ุจูŠู†ูƒ ูˆุจูŠู† ุงู„ู…ูˆู‚ุน "ู…ูุดูŽูู‘ูŽุฑ" ูˆุขู…ู† ๐Ÿ”.

โ€”โ€”โ€”

ููŠ ุงู„ุทุจูŠุนูŠุŒ ู„ู…ุง ุจุชุฏุฎู„ ุนู„ู‰ ู…ูˆู‚ุนุŒ ุจุชุจุนุช ูˆุชุณุชู‚ุจู„ ุจูŠุงู†ุงุช ุจูŠู† ุฌู‡ุงุฒูƒ ูˆุจูŠู† ุงู„ุณูŠุฑูุฑ ุจุชุงุน ุงู„ู…ูˆู‚ุน ุฏู‡. ู„ูˆ ุงู„ู…ูˆู‚ุน ุดุบู‘ุงู„ ุจู€ HTTP ุงู„ุนุงุฏูŠุŒ ุฃูŠ ุญุฏ ู‚ุงุนุฏ ููŠ ุงู„ู†ุต โ€“ ุฒูŠ Wi-Fi ุบูŠุฑ ุขู…ู† ุฃูˆ ู‡ุงูƒุฑ โ€“ ู…ู…ูƒู† ูŠุชุฌุณุณ ุนู„ู‰ ุงู„ุจูŠุงู†ุงุช ุงู„ู„ูŠ ุฑุงูŠุญุฉ ุฌุงูŠุฉุŒ ุฒูŠ ูƒู„ู…ุงุช ุงู„ู…ุฑูˆุฑุŒ ุงู„ุฅูŠู…ูŠู„ุงุชุŒ ุฃูˆ ุญุชู‰ ุฑู‚ู… ุงู„ูƒุฑูŠุฏุช ูƒุงุฑุฏ ุจุชุงุนูƒ.

ู„ูƒู† ู„ู…ุง ุงู„ู…ูˆู‚ุน ูŠุจู‚ู‰ ุดุบู‘ุงู„ ุจู€ HTTPSุŒ ุงู„ุจูŠุงู†ุงุช ุงู„ู„ูŠ ุฑุงูŠุญุฉ ุฌุงูŠุฉ ุจุชูƒูˆู† ู…ุดูุฑุฉุŒ ูˆู…ููŠุด ุญุฏ ูŠู‚ุฏุฑ ูŠูู‡ู…ู‡ุง ุญุชู‰ ู„ูˆ ู‚ุฏุฑ ูŠุดูˆูู‡ุง.

โ€”โ€”โ€”

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


ู‡ู†ุง ุจู‚ู‰ ุจูŠูŠุฌูŠ ุฏูˆุฑ HTTPS CertificateุŒ ุฃูˆ ุฒูŠ ู…ุง ุจู†ุณู…ูŠู‡ SSL Certificate (ู…ุน ุฅู† ุงู„ุงุณู… ุงู„ุฃุฏู‚ ุฏู„ูˆู‚ุชูŠ TLS Certificate ุจุณ ู…ุด ู…ุดูƒู„ุฉ).

ุงู„ู€ Certificate ุฏู‡ ุนุจุงุฑุฉ ุนู† ู…ู„ู ุฅู„ูƒุชุฑูˆู†ูŠ ุจูŠูƒูˆู† ู…ุชุณุฌู„ ููŠู‡ ุดูˆูŠุฉ ู…ุนู„ูˆู…ุงุช ุนู† ุงู„ู…ูˆู‚ุน:

- ุงุณู… ุงู„ู…ูˆู‚ุน (ุงู„ุฏูˆู…ูŠู†)
- ุงู„ุดุฑูƒุฉ ุฃูˆ ุงู„ุฌู‡ุฉ ุงู„ู„ูŠ ุนู†ุฏู‡ุง ุงู„ู…ูˆู‚ุน
- ุชูˆู‚ูŠุน ู…ู† ุฌู‡ุฉ ุงุณู…ู‡ุง Certificate Authority (CA)ุŒ ูˆุฏูŠ ุฌู‡ุฉ ู…ูˆุซูˆู‚ุฉ ุจุชู‚ูˆู„ูƒ "ุฅู† ุงู„ู…ูˆู‚ุน ุฏู‡ ุญู‚ูŠู‚ูŠ ูˆู…ูˆุซูˆู‚".

ูŠุนู†ูŠ ุชู‚ุฏุฑ ุชุนุชุจุฑ ุงู„ู€ HTTPS Certificate ู‡ูŠ ุจุทุงู‚ุฉ ุงู„ุชุนุฑูŠู ูˆุงู„ุถู…ุงู† ู„ู„ู…ูˆู‚ุน.

โ€”โ€”โ€”

ู„ู…ุง ุชุฏุฎู„ ุนู„ู‰ ู…ูˆู‚ุน ุจูŠุณุชุฎุฏู… HTTPSุŒ ุงู„ู…ุชุตูุญ ุจูŠุฑูˆุญ ูŠุณุฃู„:

"ู‡ู„ ุฃู†ุช ู…ุนุงูƒ ุดู‡ุงุฏุฉ ู…ูˆุซูˆู‚ุฉ ุชุซุจุช ุฅู†ูƒ ุงู„ู…ูˆู‚ุน ุงู„ุตุญุŸ"

ู„ูˆ ุงู„ุฅุฌุงุจุฉ ู†ุนู…ุŒ ุงู„ู…ุชุตูุญ ุจูŠูƒู…ู‘ู„ ุงู„ุงุชุตุงู„ ูˆูŠุจุฏุฃ ุงู„ุชุดููŠุฑ.

ูˆู„ูˆ ุงู„ู…ูˆู‚ุน ู…ููŠู‡ูˆุด ุดู‡ุงุฏุฉ ุฃูˆ ุงู„ุดู‡ุงุฏุฉ ู…ู†ุชู‡ูŠุฉุŸ

ุงู„ู…ุชุตูุญ ู‡ูŠุทู„ุน ู„ูƒ ุฑุณุงู„ุฉ ุชุญุฐูŠุฑ ุชู‚ูˆู„ูƒ:

"ุงู„ู…ูˆู‚ุน ุฏู‡ ู…ุด ุขู…ู†ุŒ ุฃู†ุช ู…ุชุฃูƒุฏ ุฅู†ูƒ ุนุงูˆุฒ ุชูƒู…ู„ุŸ"

โ€”โ€”โ€”

ุงู„ู€ HTTPS Certificate ู‡ูŠ ุงู„ู„ูŠ ุจุชุฃู…ู† ุงู„ุงุชุตุงู„ ุจูŠู†ูƒ ูˆุจูŠู† ุฃูŠ ู…ูˆู‚ุนุŒ ุจุชุญู…ูŠ ุจูŠุงู†ุงุชูƒ ู…ู† ุงู„ุณุฑู‚ุฉุŒ ูˆุจุชุทู…ู† ุงู„ู…ุชุตูุญ ุฅู† ุงู„ู…ูˆู‚ุน ู…ูˆุซูˆู‚.

#ุฏู‚ูŠู‚ุฉ_ุจุฑู…ุฌุฉ
โค8
Understanding Observer Pattern in React: A Complete Guide ๐Ÿ’ฏ


If you've been building React applications for a while, you've likely encountered moments where components need to stay in sync โ€” like when a sidebar needs to update when a user changes a setting in the main content area.

This is where the Observer Pattern can shine. In this guide, we'll break down what the Observer Pattern is, how it works, and how to implement it in React with TypeScript.

โ€”โ€”โ€”

https://dev.to/alisamir/understanding-observer-pattern-in-react-a-complete-guide-omf
โค4