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
Reach Thousands of Devs with DevGuide! ๐Ÿš€

Are you looking to promote your tech-related products, services, or job openings? ๐Ÿ“ข

Now you can advertise directly on DevGuide and reach a highly engaged community of developers through Telega.io!


๐ŸŽฏ Why advertise with us?

โœ… Targeted audience of developers and tech enthusiasts
โœ… High engagement and interaction rates
โœ… Affordable and flexible advertising options

Start your campaign today and boost your visibility! ๐Ÿ“ˆ

๐Ÿ”— Book your Ad NOW
๐Ÿ‘3
Code Review Etiquette โ€“ Hard-earned Lessons ๐Ÿ’ฏ

As a Reviewer


โœ… Doโ€™s:


- Review the code within 24 hours โ€“ blocking teammates kills productivity.

- Start with โ€œWhat problem is this code solving?โ€

- Look for security vulnerabilities first, then architecture, then style.

- Ask questions instead of making accusations (โ€œWhatโ€™s the reason for...?โ€ vs โ€œThis is wrongโ€).

- Suggest alternatives with code examples when possible.

- Acknowledge good patterns and clever solutions.


โŒ Donโ€™ts:

- Donโ€™t nitpick about style if thereโ€™s an automated linter.

- Donโ€™t rewrite the code in your preferred style.

- Never make it personal โ€“ critique the code, not the coder.

- Donโ€™t approve without actually reviewing.

- Donโ€™t block PRs for minor issues.

โ€”โ€”โ€”

As a Code Author


โœ… Doโ€™s:


- Keep PRs small (under 400 lines when possible).

- Add context in PR description (screenshots for UI changes).

- Self-review before requesting others (Tools like CodeRabbit help here).

- Respond to comments within one business day.

- Add tests for new code.

- Document non-obvious decisions.


โŒ Donโ€™ts:

- Donโ€™t take feedback personally.

- Donโ€™t push back without explanation.

- Donโ€™t mark conversations resolved without addressing them.

- Donโ€™t submit PRs without testing locally.

- Donโ€™t expect instant reviews for massive changes.
โค3
What Is the Virtual DOM, and Why Does It Make React So Fast? ๐Ÿš€


If youโ€™re diving into React or curious why itโ€™s known for its speed, youโ€™ve probably heard the term โ€œVirtual DOMโ€ thrown around. But what exactly is it, and why does it matter?

Letโ€™s examine it and see why the Virtual DOM is one of the secret ingredients that make React so powerful.

https://medium.com/p/420fdc24a13b
โค5
Node.js 24 is here and it's looking good ๐Ÿ˜Ž๐Ÿš€


Featuring updates to V8 v13.6, npm v11, improved Permission Model and more new features in the blog.

Check it out: https://hubs.ly/Q03lfLDC0
โค5๐Ÿ‘1
CSS Practices to avoid as Developer ๐Ÿ’ก
โค4
ู…ุญุฑุฑ CLion ู…ู† Jerbrains ุฃุตุจุญ ู…ุฌุงู†ูŠ ู„ู„ุงุณุชุฎุฏุงู… ุบูŠุฑ ุงู„ุชุฌุงุฑูŠ ู„ูƒู„ ุงู„ู…ุณุชุฎุฏู…ูŠู†.

ุงู„ู…ุญุฑุฑ ุจูŠุฆุฉ ูƒุงู…ู„ุฉ ู„ู„ุชุทูˆูŠุฑ ูˆุงู„ุจุฑู…ุฌุฉ ุจุงุณุชุฎุฏุงู… ู„ุบุชูŠ C ูˆ ++C.
โค11
ู…ูู‡ูˆู… ุงู„ู€ OAuth 2.0 ๐Ÿ’ก
.
.
ุชุฎูŠู„ ุฅู†ูƒ ุฏุงุฎู„ ุชุณุฌู‘ู„ ููŠ ุชุทุจูŠู‚ ุฌุฏูŠุฏ ุนู„ุดุงู† ุชุชุงุจุน ูƒูˆุฑุณุงุชุŒ ูˆู„ู…ุง ุฌูŠุช ุชุณุฌู‘ู„ุŒ ุงู„ุชุทุจูŠู‚ ู‚ุงู„ูƒ:
"ุชู‚ุฏุฑ ุชุณุฌู‘ู„ ุจุญุณุงุจ Google ุฃูˆ GitHub ุจุฏู„ ู…ุง ุชุนู…ู„ ุฃูƒูˆู†ุช ุฌุฏูŠุฏ"

ุถุบุทุช ุนู„ู‰ ุฒุฑุงุฑ "Continue with Google"ุŒ ูˆGoogle ุทู„ุจุช ู…ู†ูƒ ุชุฎุชุงุฑ ุงู„ุฅูŠู…ูŠู„ ูˆุชูˆุงูู‚ ุนู„ู‰ ุดูˆูŠุฉ ุตู„ุงุญูŠุงุช.
ุจุนุฏู‡ุง ุงู„ุชุทุจูŠู‚ ูุชุญ ูˆุงุดุชุบู„ ูˆูƒุฃู†ูƒ ุนู…ู„ุช sign up ูุนู„ู‹ุง...

ุฅูŠู‡ ุงู„ู„ูŠ ุญุตู„ ู‡ู†ุงุŸ ๐Ÿค”
ุงู„ู„ูŠ ุญุตู„ ุจุงู„ุถุจุท ู‡ูˆ ุฅู† Google ุงุณุชุฎุฏู…ุช ุญุงุฌุฉ ุงุณู…ู‡ุง OAuth 2.0.

โ€”โ€”โ€”

๐Ÿ“Œ ูŠุนู†ูŠ ุฅูŠู‡ OAuth 2.0ุŸ


ุจุจุณุงุทุฉุŒ ุงู„ู€ OAuth 2.0 ู‡ูˆ ุจุฑูˆุชูˆูƒูˆู„ authorization (ู…ุด authentication)ุŒ ุจูŠุฎู„ู‘ูŠ ุงู„ุชุทุจูŠู‚ุงุช ุชู‚ุฏุฑ ุชุงุฎุฏ ุฅุฐู† ู…ู† ุงู„ู…ุณุชุฎุฏู… ุนุดุงู† ุชุฏุฎู„ ุนู„ู‰ ุฌุฒุก ู…ู† ู…ุนู„ูˆู…ุงุชู‡ ููŠ service ุชุงู†ูŠุฉ (ุฒูŠ Google, Facebook, GitHub) ู…ู† ุบูŠุฑ ู…ุง ูŠุนุฑููˆุง ุงู„ุจุงุณูˆุฑุฏ ุจุชุงุนุชูƒ.

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

ูˆุฏู‡ ุจูŠุฎู„ูŠ ุงู„ุนู…ู„ูŠุฉ ุขู…ู†ุฉุŒ ูˆุจูŠุญุงูุธ ุนู„ู‰ ุงู„ุฎุตูˆุตูŠุฉ ุจุชุงุนุชูƒ.

โ€”โ€”โ€”

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


ุชุนุงู„ ู†ู…ุดูŠ ุฎุทูˆุฉ ุจุฎุทูˆุฉ ููŠ ุงู„ู€ flow ุงู„ู…ุดู‡ูˆุฑ ุจุชุงุน Authorization Code Grant FlowุŒ ูˆุงู„ู„ูŠ ุจูŠุณุชุฎุฏู… ููŠ web apps

1- ุงู„ู€ User Requests Login
ุงู„ุชุทุจูŠู‚ (Client) ูŠู‚ูˆู„ูƒ: "ุณุฌู‘ู„ ุจุญุณุงุจ Google ู…ุซู„ู‹ุง"ุŒ ูˆุงู„ู…ุณุชุฎุฏู… ูŠุถุบุท ุนู„ู‰ ุงู„ุฒุฑุงุฑุŒ ูˆูŠุชู… ุชูˆุฌูŠู‡ู‡ ุนู„ู‰ authorization server (ุฒูŠ Google).


2- ุงู„ู€ User Grants Permission
ุฌูˆุฌู„ ูŠุทู„ุจ ู…ู†ูƒ ุชุณุฌู‘ู„ ุฏุฎูˆู„ ูˆุชูˆุงูู‚ ุนู„ู‰ ุงู„ู€ permissions ุงู„ู„ูŠ ุงู„ุชุทุจูŠู‚ ุทุงู„ุจู‡ุง (ุฒูŠ ุงู„ุฅูŠู…ูŠู„ุŒ ุงู„ุงุณู…ุŒ ุฅู„ุฎ).


3- ุงู„ู€ Authorization Code
ู„ูˆ ูˆุงูู‚ุชุŒ Google ู‡ูŠุจุนุช authorization code ู„ู„ุชุทุจูŠู‚ (ุฃูˆ ุชุญุฏูŠุฏู‹ุง ู„ู„ู€ redirect URL ุงู„ู„ูŠ ุงู„ุชุทุจูŠู‚ ุญุฏุฏู‡ ู‚ุจู„ ูƒุฏู‡).


4- ุงู„ู€ Token Exchange
ุงู„ุชุทุจูŠู‚ ูŠุงุฎุฏ ุงู„ู€ authorization code ุฏู‡ ูˆูŠุจุนุช request ู„ู€ token endpoint ุนู„ุดุงู† ูŠุจุฏู„ู‡ ุจู€ access token (ูˆุณุงุนุงุช ูƒู…ุงู† refresh token).


5- ุงู„ู€ Access Protected APIs
ุจู…ุฌุฑุฏ ู…ุง ุงู„ุชุทุจูŠู‚ ูŠุงุฎุฏ ุงู„ู€ access tokenุŒ ูŠู‚ุฏุฑ ูŠุณุชุฎุฏู…ู‡ ูŠุทู„ุจ ุจูŠุงู†ุงุช ู…ู† Google APIsุŒ ุจุณ ููŠ ุญุฏูˆุฏ ุงู„ู€ scope ุงู„ู„ูŠ ูˆุงูู‚ุช ุนู„ูŠู‡.

โ€”โ€”โ€”

ุฅุฒุงูŠ ุจูŠุฃู…ู† ุงู„ู€ APIsุŸ ๐Ÿ”


ู„ูˆ ุนู†ุฏูƒ API ูˆุนุงูŠุฒ ุชุฃู…ู†ู‡ุงุŒ ู…ู…ูƒู† ุชุณุชุฎุฏู… OAuth 2.0 ุจุญูŠุซ:

- ุฃูŠ Client ู…ุด ู‡ูŠู‚ุฏุฑ ูŠูˆุตู„ ู„ู€ API ุบูŠุฑ ู„ู…ุง ูŠู‚ุฏู‘ู… Access Token ุตุงู„ุญ.
- ุงู„ู€ Backend ุจุชุงุนูƒ ูŠู‚ุฏุฑ ูŠุชุญู‚ู‘ู‚ ู…ู† ุงู„ุชูˆูƒู† (ู…ุซู„ู‹ุง JWT ุฃูˆ ุนู† ุทุฑูŠู‚ introspection endpoint).
- ุชู‚ุฏุฑ ุชุชุญูƒู‘ู… ููŠ ุงู„ุตู„ุงุญูŠุงุช ุนู† ุทุฑูŠู‚ ุงู„ู€ scope (ูŠุนู†ูŠ ู…ุซู„ู‹ุง ุชูˆูƒู† ู…ุนูŠู† ูŠู‚ุฏุฑ ูŠู‚ุฑุฃ ุจุณุŒ ูˆุชูˆูƒู† ุชุงู†ูŠ ูŠู‚ุฏุฑ ูŠูƒุชุจ ูˆูŠุนุฏู‘ู„).
- ุชู‚ุฏุฑ ุชุณุญุจ ุตู„ุงุญูŠุงุช ุงู„ุชูˆูƒู† ููŠ ุฃูŠ ูˆู‚ุช (Revoke).


ุจุงู„ุชุงู„ูŠุŒ OAuth 2.0 ุจูŠุฃู…ู‘ู† ุงู„ู€ APIs ุนู† ุทุฑูŠู‚ ุฅู†ู‡:

โœ… ุจูŠู‚ู„ู„ ุงู„ุงุนุชู…ุงุฏ ุนู„ู‰ ูƒู„ู…ุงุช ุงู„ู…ุฑูˆุฑ
โœ… ุจูŠุณู…ุญ ุจุงู„ู€ delegation (ุชุทุจูŠู‚ ูŠุงุฎุฏ ุฅุฐู† ู…ู† ู…ุณุชุฎุฏู… ูŠูˆุตู„ ู„ุญุงุฌุฉ ู…ุด ุจุชุงุนุชู‡)
โœ… ุจูŠุฎู„ูŠ ุงู„ู€ tokens ู…ุคู‚ุชุฉุŒ ูˆู…ู…ูƒู† ุชุชุญูƒู… ููŠ ุตู„ุงุญูŠุงุชู‡ุง ูˆู…ุฏู‘ุชู‡ุง

โ€”โ€”โ€”

๐Ÿ“Œ ุฃู†ูˆุงุน ุงู„ู€Grant Types ุงู„ู…ุดู‡ูˆุฑุฉ:


- ุงู„ู€ Authorization Code (with PKCE): ู„ู„ู…ูˆุจุงูŠู„ ูˆุงู„ูˆูŠุจ.
- ุงู„ู€ Client Credentials: ู„ู„ู€ machine-to-machine apps.
- ุงู„ู€ Password (deprecated): ูƒุงู† ุจูŠุณุชุฎุฏู… ู„ู…ุง ุงู„ู…ุณุชุฎุฏู… ูŠูƒุชุจ ุงู„ู€ username ูˆุงู„ุจุงุณูˆุฑุฏ ููŠ ู†ูุณ ุงู„ุชุทุจูŠู‚ (ุบูŠุฑ ุขู…ู†).
- ุงู„ู€ Implicit (deprecated): ุฒู…ุงู† ูƒุงู† ุจูŠุชุณุชุฎุฏู… ู„ู„ู€ SPA apps ู„ูƒู†ู‡ ุบูŠุฑ ู…ูˆุตู‰ ุจู‡.

โ€”โ€”โ€”

ู„ูˆ ูƒู†ุช ุจุชุณุชุฎุฏู… OAuth 2.0 ููŠ ู…ูˆุจุงูŠู„ ุฃูˆ SPA appุŒ ู„ุงุฒู… ุชุณุชุฎุฏู… ุญุงุฌุฉ ุงุณู…ู‡ุง PKCE (Proof Key for Code Exchange) ุนู„ุดุงู† ุชู…ู†ุน ุงู„ู€ authorization code ู…ู† ุฅู†ู‡ ูŠุชุณุฑู‚.

โ€”โ€”โ€”

ูˆูู‚ูƒู… ุงู„ู„ู‡ ู„ูƒู„ ุฎูŠุฑ ๐ŸŒฟ
โค11๐Ÿ‘2๐Ÿ‘1
This media is not supported in your browser
VIEW IN TELEGRAM
ู…ู‚ุงู„ ุณู‡ู„ ูˆุจุณูŠุท ุนู† ุงู„ู€ SOLID Principles ๐Ÿ’ก

Understanding SOLID Principles (Without Falling Asleep) ๐Ÿ’ฏ


Ever read about SOLID and felt your eyelids droop halfway through the โ€œSโ€? Letโ€™s fix that.

Whether you're debugging spaghetti code at 2 AM or trying to prevent future you from rage-quitting, SOLID principles are here to help. But let's be honestโ€”theyโ€™re often taught in the driest way possible.

In this article, Iโ€™ll walk you through the SOLID principles using TypeScript, real-world analogies, and some much-needed humor. No jargon. No hand-waving. Just clean, readable code examples youโ€™ll understand and remember.

โ€”โ€”โ€”

๐Ÿ“ DEV:
https://dev.to/alisamir/understanding-solid-principles-without-falling-asleep-17ai

๐Ÿ“ Medium:
https://medium.com/@dev.alisamir/understanding-solid-principles-without-falling-asleep-2375d4471944
โค3
ุฅุฒุงูŠ Node.js ุจุชุณุชุฎุฏู… ุงู„ู€ Event LoopุŸ ๐Ÿ’ก
.
.
ุชุฎูŠู„ ู…ุนุงูŠุง ุฅู† ุนู†ุฏูƒ ูƒุงููŠู‡ุŒ ูˆููŠู‡ ุฌุฑุณูˆู† ูˆุงุญุฏ ุจุณ ุจูŠุฎุฏู… ูƒู„ ุงู„ุฒุจุงูŠู†. ุงู„ุฌุฑุณูˆู† ุฏู‡ ุจูŠุนุฑู ูŠุฎู„ุต ุทู„ุจุงุช ูƒุชูŠุฑ ุฌุฏู‹ุง ููŠ ู†ูุณ ุงู„ูˆู‚ุชุŒ ู…ู† ุบูŠุฑ ู…ุง ุฃูŠ ุฒุจูˆู† ูŠุญุณ ุฅู†ู‡ ู…ุณุชู†ูŠ ูƒุชูŠุฑ.

ูˆุฏู‡ ุจุงู„ุถุจุท ุงู„ู„ูŠ ุจูŠุญุตู„ ุฏุงุฎู„ ุงู„ู€ Node.js. ูˆุงู„ุณุฑ ููŠ ุญุงุฌุฉ ุงุณู…ู‡ุง Event Loop...

ุฎู„ุงู„ ุฑุญู„ุชูƒ ููŠ ุนุงู„ู… ุงู„ู€ Node.jsุŒ ุฃูƒูŠุฏ ุณู…ุนุช ุนู† ุงู„ู€ Event Loopโ€ฆ ูˆุณู…ุนุช ุงู„ุฌู…ู„ุฉ ุงู„ุดู‡ูŠุฑุฉ ุฒูŠ:

"Node.js single-threaded but non-blocking and asynchronous"

โ€”โ€”โ€”

๐Ÿ“ LinkedIn:

https://www.linkedin.com/posts/mentoor-io_nodejs-nodejsdeveloper-javascript-activity-7327286056658059265-2Ovz

๐Ÿ“ Facebook:

https://www.facebook.com/share/p/18UMkAYLpY
โค4
Elevate your projects with Symbl, an essential tool for developers and designers that features responsive solutions, quick symbol searches, and easy icon access.

https://symbl.revend.group
โค3๐Ÿ”ฅ2
ู„ูŠู‡ React ุจุชุณุชุฎุฏู… Keys ููŠ ุงู„ู€ ListsุŸ ๐Ÿค”
.
.
ุนู…ุฑูƒ ุณุฃู„ุช ู†ูุณูƒ ู„ูŠู‡ React ุฏุงูŠู…ู‹ุง ุจุชุทู„ุจ ู…ู†ูƒ ุชุถูŠู Key ู„ูƒู„ ุนู†ุตุฑ ููŠ ListุŸ
ูˆู„ูŠู‡ ู„ุงุฒู… ู†ู‡ุชู… ุจู‡ ูˆุฅูŠู‡ ุงู„ู„ูŠ ู…ู…ูƒู† ูŠุญุตู„ ู„ูˆ ู…ุง ุถูู†ุง ุงู„ู€ keyุŸ

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

โ€”โ€”โ€”

๐Ÿ“ LinkedIn:
https://www.linkedin.com/posts/dev-alisamir_react-reactdeveloper-reactjs-activity-7327749421134200834-XYVc

๐Ÿ“ Qabilah:
https://qabilah.com/posts/XW04VJqYFz4
๐Ÿ‘5
Useful CSS Functions ๐Ÿ’ก
โค8