Why React Query?
Let me show you how React Query makes data fetching, caching, and syncing ridiculously easy.
Smarter state. Fewer bugs. Cleaner code.
Still juggling useEffect and loading spinners? ๐ค
Let me show you how React Query makes data fetching, caching, and syncing ridiculously easy.
Smarter state. Fewer bugs. Cleaner code.
โค4
Laravel launches Laravel Learn with two free mini-courses ๐
Kickstart your journey with two mini video courses:
- Getting Started with Laravel
- PHP Fundamentals
https://laravel.com/learn
โค4
ููู ุชููู ู
ููุฏุณ ุนููู
ุจูุงูุงุช - ุนู
ุฑู ุตุงูุญ | Data Engineer in 2025
https://youtu.be/UmAakop7Be8
https://youtu.be/UmAakop7Be8
YouTube
ุฃูู
ุจูุฏูุงุณุช ูุชุณู
ุนู ุนู ุนููู
ุงูุจูุงูุงุช - ุนู
ุฑู ุตุงูุญ | ููุงู
ูู ุงูุจุฑู
ุฌุฉ (41) | AI in Data Engineering
ุงุญุฌุฒ ููุฑุณ Data Engineering ู
ุน ุนู
ุฑู ุตุงูุญ ุจุฎุตู
ุญุตุฑู 30% ู
ู ุงููููู ุฏู ๐
http://tiny.cc/DataEngSpecialDeal
===
ููููุงุช ุงูุชูุงุตู ู ุน ุงูู ููุฏุณ ุนู ุฑู ุตุงูุญ
https://www.linkedin.com/in/amr-saleh/
https://www.instagram.com/amrsaleh.official
https://amrsaleh.com/
http://www.kiwiโฆ
http://tiny.cc/DataEngSpecialDeal
===
ููููุงุช ุงูุชูุงุตู ู ุน ุงูู ููุฏุณ ุนู ุฑู ุตุงูุญ
https://www.linkedin.com/in/amr-saleh/
https://www.instagram.com/amrsaleh.official
https://amrsaleh.com/
http://www.kiwiโฆ
โค3
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู Vector Database ๐ก
.
.
ูู ุฑูุฒุช ุดููุฉ ูู ู ุนุธู ุงูุชุทุจููุงุช ุงูุฐููุฉ ุงููู ู ูุฌูุฏุฉ ูู ุงูููุช ุงูุญุงูู โ ู ู Google Search ูุญุฏ ChatGPT ู Netflix โ ูุชูุงูู ุฅู ููู ุญุงุฌุฉ ู ุดุชุฑูุฉ ุจูููู : ุงููุฏุฑุฉ ุฅููู "ูููู ูุง" ุงููู ุฃูุช ุจุชุฏูุฑ ุนููู ู ุด ุจุณ ูุทุงุจููุง ุงูููู ุงุช.
ุงูู ูุถูุน ุฏู ุนู ุฑู ู ุง ูุงู ููุจูู ุณูู ุจุงูู Databases ุงูุชูููุฏูุฉ ุงููู ุชุนูุฏูุง ุนูููุง ุฒู SQL ุฃู NoSQL. ูุนูุดุงู ูุฏู ุธูุฑ ููุน ุฌุฏูุฏ ู ู ููุงุนุฏ ุงูุจูุงูุงุช ุงุณู ู: Vector Database.
ุงูู Vector Database ุงุชุนู ูุช ู ุฎุตูุต ุนุดุงู ุชุญู ู ุดููุฉ ุงูุจุญุซ ุจุงูู "ู ุนูู" ู ุด ุจุงูู "ููู ุฉ"ุ ูุฏู ุงููููุฉ ุงููู ุฎูุช ุฃู ูุธุงู ุฐูู ููุฏุฑ ูุชุนุงู ู ู ุน ุงูู Data ุจุทุฑููุฉ ุดุจู ุชูููุฑูุง ูุจุดุฑ.
โโโ
๐ ูุนูู ุฅูู Vector Databaseุ
ุงูู AI Models (ุฒู NLP ุฃู Computer Vision) ูู ุง ุชูุฌู ุชู ุซู ุฃู ู ุนููู ุฉ โ ุณูุงุก ูุตุ ุตูุฑุฉุ ุฃู ุตูุช โ ู ุด ุจุชุฎุฒููุง ุจุดูููุง ุงูุฎุงู . ูู ุจุชุญูููุง ูุญุงุฌุฉ ุงุณู ูุง Embedding Vector.
ุงูู Vector ุจุจุณุงุทุฉ ุนุจุงุฑุฉ ุนู Array ุฃุฑูุงู (ุฒู [0.23, -0.44, 0.91, โฆ]) ูุงูุฃุฑูุงู ุฏู ุจุชุนุจุฑ ุนู ุงูู ุนูู.
ู ุซุงู:
- ููู ุฉ "cat" ู "dog" ูุชูุงูู ุงูู Vectors ุจุชูุนูู ูุฑูุจูู ุฌุฏูุง ูู ุงูู Space.
- ููู ููู ุฉ "car" ูุชููู ุจุนูุฏุฉ ุนููู .
ุจุงูุชุงูู ุงูุจุญุซ ููุง ุจูุจูู ู ุด ุจุงูููู ุฉ ููุณูุงุ ุจุงูู Similarity ูู ุงูู ุนูู.
โโโ
โก๏ธ ุฅูู ุงูู ุดููุฉ ู ุน ุงูู Databases ุงูุนุงุฏูุฉุ
- ุงูู MySQL ุฃู MongoDB ู ุตู ู ูู ููู Keyword Search. ูุนูู ุชุฏูุฑ ุนูู ููู ุฉ "cat" ูุฌูุจูู Data ูููุง ุงูููู ุฉ ุฏู ุจุงูุญุฑู.
- ููู ูู ุนุงูุฒ ุชุจุญุซ ุนู ุญุงุฌุฉ ุดุจู "cat" ุจุงูู ุนูู (ุฒู "kitten" ุฃู "cute animal")โฆ ููุง ุงูู Databases ุงูุชูููุฏูุฉ ู ุด ูุชุณุงุนุฏู.
โโโ
๐ก ุฅูู ูุธููุฉ ุงูู Vector Databaseุ
1- ุชุฎุฒู ุงูู Vectors ุจุดูู efficient.
2- ุชุชูุญูู ุชุนู ู Similarity Search ุฃู Nearest Neighbor Search ุจุณุฑุนุฉ ูุจูุฑุฉ ุฌุฏูุง.
3- ุชุฎููู ุชูุฏุฑ ุชุณุฃู ุจุงูู natural language ูุชุงุฎุฏ ูุชูุฌุฉ ุฏูููุฉ ุจุงูู ุนูู.
โโโ
๐ ุฃู ุซูุฉ ุนู ููุฉ:
- ุงูู Recommendation Systems: ุฒู Netflix ุฃู Spotify ูู ุง ููุชุฑุญูุง ุญุงุฌุฉ ุดุจู ุงููู ุจุชุญุจูุง.
- ุงูู Semantic Search: ุชุฏูุฑ ูู Documents ุฃู Emails ุนู "meeting" ููุฌูุจูู ุญุงุฌุงุช ูููุง ุนูุงูุฉ ุญุชู ูู ุงูููู ุฉ ู ุด ู ูุชูุจุฉ ุจุงูุญุฑู.
- ุงูู Chatbots: ุฒู ChatGPT ูู ุง ูุฑุฏ ุนููู ู ู Knowledge Base ุจุงุณุชุฎุฏุงู ุฃูุฑุจ ุฅุฌุงุจุฉ ุจุงูู ุนูู ู ุด ุจุงูููู ุฉ.
โโโ
๐ ุฃู ุซูุฉ ุนูู Vector Databases:
- Pinecone
- Weaviate
- Milvus
- Qdrant
ูู ุงู ููู Extensions ููู Databases ุงูุชูููุฏูุฉ ุฒู PostgreSQL (pgvector).
โโโ
ุงูู Vector Database ู ุด ุจุฏูู ููู SQL ุฃู NoSQLุ ููููุง ุฅุถุงูุฉ ูููุฉ ุฌุฏูุง ููุฃูุธู ุฉ ุงููู ุจุชุนุชู ุฏ ุนูู ุงูุฐูุงุก ุงูุงุตุทูุงุนู.
ูู ุงูุณุจุจ ุฅู ุฃู ุชุทุจูู ุฐูู ุงูููุงุฑุฏู ููุฏุฑ ูุชุนุงู ู ู ุน ุงูู Data ุจุงูู ุนูู ู ุด ุจุงูููู ุฉ.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ูู ุฑูุฒุช ุดููุฉ ูู ู ุนุธู ุงูุชุทุจููุงุช ุงูุฐููุฉ ุงููู ู ูุฌูุฏุฉ ูู ุงูููุช ุงูุญุงูู โ ู ู Google Search ูุญุฏ ChatGPT ู Netflix โ ูุชูุงูู ุฅู ููู ุญุงุฌุฉ ู ุดุชุฑูุฉ ุจูููู : ุงููุฏุฑุฉ ุฅููู "ูููู ูุง" ุงููู ุฃูุช ุจุชุฏูุฑ ุนููู ู ุด ุจุณ ูุทุงุจููุง ุงูููู ุงุช.
ุงูู ูุถูุน ุฏู ุนู ุฑู ู ุง ูุงู ููุจูู ุณูู ุจุงูู Databases ุงูุชูููุฏูุฉ ุงููู ุชุนูุฏูุง ุนูููุง ุฒู SQL ุฃู NoSQL. ูุนูุดุงู ูุฏู ุธูุฑ ููุน ุฌุฏูุฏ ู ู ููุงุนุฏ ุงูุจูุงูุงุช ุงุณู ู: Vector Database.
ุงูู Vector Database ุงุชุนู ูุช ู ุฎุตูุต ุนุดุงู ุชุญู ู ุดููุฉ ุงูุจุญุซ ุจุงูู "ู ุนูู" ู ุด ุจุงูู "ููู ุฉ"ุ ูุฏู ุงููููุฉ ุงููู ุฎูุช ุฃู ูุธุงู ุฐูู ููุฏุฑ ูุชุนุงู ู ู ุน ุงูู Data ุจุทุฑููุฉ ุดุจู ุชูููุฑูุง ูุจุดุฑ.
โโโ
๐ ูุนูู ุฅูู Vector Databaseุ
ุงูู AI Models (ุฒู NLP ุฃู Computer Vision) ูู ุง ุชูุฌู ุชู ุซู ุฃู ู ุนููู ุฉ โ ุณูุงุก ูุตุ ุตูุฑุฉุ ุฃู ุตูุช โ ู ุด ุจุชุฎุฒููุง ุจุดูููุง ุงูุฎุงู . ูู ุจุชุญูููุง ูุญุงุฌุฉ ุงุณู ูุง Embedding Vector.
ุงูู Vector ุจุจุณุงุทุฉ ุนุจุงุฑุฉ ุนู Array ุฃุฑูุงู (ุฒู [0.23, -0.44, 0.91, โฆ]) ูุงูุฃุฑูุงู ุฏู ุจุชุนุจุฑ ุนู ุงูู ุนูู.
ู ุซุงู:
- ููู ุฉ "cat" ู "dog" ูุชูุงูู ุงูู Vectors ุจุชูุนูู ูุฑูุจูู ุฌุฏูุง ูู ุงูู Space.
- ููู ููู ุฉ "car" ูุชููู ุจุนูุฏุฉ ุนููู .
ุจุงูุชุงูู ุงูุจุญุซ ููุง ุจูุจูู ู ุด ุจุงูููู ุฉ ููุณูุงุ ุจุงูู Similarity ูู ุงูู ุนูู.
โโโ
โก๏ธ ุฅูู ุงูู ุดููุฉ ู ุน ุงูู Databases ุงูุนุงุฏูุฉุ
- ุงูู MySQL ุฃู MongoDB ู ุตู ู ูู ููู Keyword Search. ูุนูู ุชุฏูุฑ ุนูู ููู ุฉ "cat" ูุฌูุจูู Data ูููุง ุงูููู ุฉ ุฏู ุจุงูุญุฑู.
- ููู ูู ุนุงูุฒ ุชุจุญุซ ุนู ุญุงุฌุฉ ุดุจู "cat" ุจุงูู ุนูู (ุฒู "kitten" ุฃู "cute animal")โฆ ููุง ุงูู Databases ุงูุชูููุฏูุฉ ู ุด ูุชุณุงุนุฏู.
โโโ
๐ก ุฅูู ูุธููุฉ ุงูู Vector Databaseุ
1- ุชุฎุฒู ุงูู Vectors ุจุดูู efficient.
2- ุชุชูุญูู ุชุนู ู Similarity Search ุฃู Nearest Neighbor Search ุจุณุฑุนุฉ ูุจูุฑุฉ ุฌุฏูุง.
3- ุชุฎููู ุชูุฏุฑ ุชุณุฃู ุจุงูู natural language ูุชุงุฎุฏ ูุชูุฌุฉ ุฏูููุฉ ุจุงูู ุนูู.
โโโ
๐ ุฃู ุซูุฉ ุนู ููุฉ:
- ุงูู Recommendation Systems: ุฒู Netflix ุฃู Spotify ูู ุง ููุชุฑุญูุง ุญุงุฌุฉ ุดุจู ุงููู ุจุชุญุจูุง.
- ุงูู Semantic Search: ุชุฏูุฑ ูู Documents ุฃู Emails ุนู "meeting" ููุฌูุจูู ุญุงุฌุงุช ูููุง ุนูุงูุฉ ุญุชู ูู ุงูููู ุฉ ู ุด ู ูุชูุจุฉ ุจุงูุญุฑู.
- ุงูู Chatbots: ุฒู ChatGPT ูู ุง ูุฑุฏ ุนููู ู ู Knowledge Base ุจุงุณุชุฎุฏุงู ุฃูุฑุจ ุฅุฌุงุจุฉ ุจุงูู ุนูู ู ุด ุจุงูููู ุฉ.
โโโ
๐ ุฃู ุซูุฉ ุนูู Vector Databases:
- Pinecone
- Weaviate
- Milvus
- Qdrant
ูู ุงู ููู Extensions ููู Databases ุงูุชูููุฏูุฉ ุฒู PostgreSQL (pgvector).
โโโ
ุงูู Vector Database ู ุด ุจุฏูู ููู SQL ุฃู NoSQLุ ููููุง ุฅุถุงูุฉ ูููุฉ ุฌุฏูุง ููุฃูุธู ุฉ ุงููู ุจุชุนุชู ุฏ ุนูู ุงูุฐูุงุก ุงูุงุตุทูุงุนู.
ูู ุงูุณุจุจ ุฅู ุฃู ุชุทุจูู ุฐูู ุงูููุงุฑุฏู ููุฏุฑ ูุชุนุงู ู ู ุน ุงูู Data ุจุงูู ุนูู ู ุด ุจุงูููู ุฉ.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค9
๐ฏ ูุงูู
ูุนูู ุฅูู Observer Patternุ
.
.
"ุฅุฒุงู ุฃุฎูู ุงูุฃุฌุฒุงุก ุงูู ุฎุชููุฉ ูู ุงููุธุงู (system) ุชุชูุงุตู ู ุน ุจุนุถ ูุชุนุฑู ุฅู ููู ุชุบููุฑ ุญุตูโฆ ู ู ุบูุฑ ู ุง ุฃุฑุจุท ูู ุญุงุฌุฉ ุจุจุนุถูุง ูุฃุฎูู ุงูููุฏ ู ุนูุฏ ูู ููุงู dependenciesุ"
ุงูู ูุถูุน ูุจุงู ุจุณูุท ูู ุงูุฃููุ ุจุณ ุฃูู ู ุง ุชุฏุฎู ูู ู ุดุฑูุน ูุจูุฑุ ุชูุงูู ุงูุฏููุง ุจูุช spaghetti codeโฆ ูู function ู ุฑุจูุทุฉ ุจุงูุชุงููุฉุ ูุฃู ุชุนุฏูู ุตุบูุฑ ู ู ูู ูุจูุธูู ุฃุฌุฒุงุก ุชุงููุฉ ูู ุงูู app.
ูู ููุฏุณุฉ ุงูุจุฑู ุฌูุงุชุ ููู ุจุนุถ ุงูุญููู ูุงูุทุฑู ู ุชูู ุนูููุง ุจุชุฎููู ุงูุณูุณุชู modularุ ุณูู ุงูุตูุงูุฉุ ูุณูู ุงูุชูุณุน. ุงูุญููู ุฏู ุจูุณู ููุง Design Patterns.
ูุงุญุฏ ู ู ุฃูู ูุฃุดูุฑ ุงูู patterns ุงููู ุจูุชูุฑุฑ ูุฌูุฏู ูู ู ุฌุงูุงุช ู ุฎุชููุฉ ูู:
Observer Pattern
ุงูู pattern ุฏู ููุฑุชู ุนุงู ุฉ ุฌุฏูุงุ ูู ู ูู ุชูุงููู ู ุณุชุฎุฏู ูู ุงูู events ุฃู real-time updates ุฃู distributed systemsุ ุฃู ุญุชู ูู ุฃู application ู ุญุชุงุฌ ูุชุนุงู ู ู ุน ุชุบููุฑุงุช ูู state ููุดุงุฑููุง ู ุน ุฃุฌุฒุงุก ุชุงููุฉ...
โโโ
๐ข ุงูููุฑุฉ ุจุจุณุงุทุฉ:
ุงูู Observer Pattern ุจูุดุชุบู ูุฏู:
- ุนูุฏู Subject: ุฏู ุงูู object ุงููู ุจูู ุชูู ุงูู state.
- ุนูุฏู Observers: ู ุฌู ูุนุฉ objects ุนุงูุฒูู ูุชุจูุบูุง ุจุฃู ุชุบููุฑ ูู ุงูู state.
ุฃูู ู ุง ุงูู Subject ูุชุบูุฑุ ูุจุนุช notification ููู Observersุ ููู ูุงุญุฏ ูููู ูุนู ู update ูููุณู ุจุทุฑููุชู.
ุงูู ูู ุฅู ุงูู Subject ู ุด ู ุญุชุงุฌ ูุนุฑู ุงูุชูุงุตูู ุนู ูู Observerโฆ ู ุฌุฑุฏ ูููู "ุฃูุง ุงุชุบูุฑุช" ูุฎูุงุต.
โโโ
๐ข ู ุซุงู ู ู ุฃุฑุถ ุงููุงูุน:
ุชุฎูู ุฅูู ุนุงู ู subscribe ูููุงุฉ ุนูู YouTube:
- ุงูููุงุฉ = Subject
- ุงูู ุดุชุฑููู = Observers
ุฃูู ู ุง ุงูููุงุฉ ุชูุฒู ููุฏูู ุฌุฏูุฏุ ููุชููุจ ุจูุจุนุช Notification ูููู. ุงูููุงุฉ ู ุด ุจุชุณุฃู "ููุงู ุนุงูุฒ notification ุฅุฒุงู"โฆ ูู ุจุณ ุจุชุจุนุช ูุงููู ูุชุตุฑู.
โโโ
๐ข ููู ุงูู Observer Pattern ู ูู ุ
1- ุจูููู ุงูู tight coupling: ุงูู Subject ู ุด ุจูุนุฑู ุงูุชูุงุตูู ุนู Observers.
2- ุจูููู ููู flexibility: ุชูุฏุฑ ุชุถูู ุฃู ุชุดูู Observers ุจุณูููุฉ.
3- ุจูุณูู maintenance: ุฃู ุชุนุฏูู ุจูุจูู localizedุ ู ุด ููุจูุธ ุจุงูู ุงูู code.
โโโ
ูู React: ูู ุง ุงูู state ุชุชุบูุฑุ ุงูู component ุชุนู ู re-renderโฆ ุฏู ููุณ ููุฑุฉ ุงูู Observer.
ูู Angular (RxJS): ุงูู Observables streams ูู abstraction ูููุฉ ูููุฑุฉ ุงูู Observer.
ูู JavaScript Events: ูู ู ุง ุชุนู ู element.addEventListenerุ ุฃูุช ูุนูููุง ุจุชุณุฌู Observer.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
"ุฅุฒุงู ุฃุฎูู ุงูุฃุฌุฒุงุก ุงูู ุฎุชููุฉ ูู ุงููุธุงู (system) ุชุชูุงุตู ู ุน ุจุนุถ ูุชุนุฑู ุฅู ููู ุชุบููุฑ ุญุตูโฆ ู ู ุบูุฑ ู ุง ุฃุฑุจุท ูู ุญุงุฌุฉ ุจุจุนุถูุง ูุฃุฎูู ุงูููุฏ ู ุนูุฏ ูู ููุงู dependenciesุ"
ุงูู ูุถูุน ูุจุงู ุจุณูุท ูู ุงูุฃููุ ุจุณ ุฃูู ู ุง ุชุฏุฎู ูู ู ุดุฑูุน ูุจูุฑุ ุชูุงูู ุงูุฏููุง ุจูุช spaghetti codeโฆ ูู function ู ุฑุจูุทุฉ ุจุงูุชุงููุฉุ ูุฃู ุชุนุฏูู ุตุบูุฑ ู ู ูู ูุจูุธูู ุฃุฌุฒุงุก ุชุงููุฉ ูู ุงูู app.
ูู ููุฏุณุฉ ุงูุจุฑู ุฌูุงุชุ ููู ุจุนุถ ุงูุญููู ูุงูุทุฑู ู ุชูู ุนูููุง ุจุชุฎููู ุงูุณูุณุชู modularุ ุณูู ุงูุตูุงูุฉุ ูุณูู ุงูุชูุณุน. ุงูุญููู ุฏู ุจูุณู ููุง Design Patterns.
ูุงุญุฏ ู ู ุฃูู ูุฃุดูุฑ ุงูู patterns ุงููู ุจูุชูุฑุฑ ูุฌูุฏู ูู ู ุฌุงูุงุช ู ุฎุชููุฉ ูู:
Observer Pattern
ุงูู pattern ุฏู ููุฑุชู ุนุงู ุฉ ุฌุฏูุงุ ูู ู ูู ุชูุงููู ู ุณุชุฎุฏู ูู ุงูู events ุฃู real-time updates ุฃู distributed systemsุ ุฃู ุญุชู ูู ุฃู application ู ุญุชุงุฌ ูุชุนุงู ู ู ุน ุชุบููุฑุงุช ูู state ููุดุงุฑููุง ู ุน ุฃุฌุฒุงุก ุชุงููุฉ...
โโโ
๐ข ุงูููุฑุฉ ุจุจุณุงุทุฉ:
ุงูู Observer Pattern ุจูุดุชุบู ูุฏู:
- ุนูุฏู Subject: ุฏู ุงูู object ุงููู ุจูู ุชูู ุงูู state.
- ุนูุฏู Observers: ู ุฌู ูุนุฉ objects ุนุงูุฒูู ูุชุจูุบูุง ุจุฃู ุชุบููุฑ ูู ุงูู state.
ุฃูู ู ุง ุงูู Subject ูุชุบูุฑุ ูุจุนุช notification ููู Observersุ ููู ูุงุญุฏ ูููู ูุนู ู update ูููุณู ุจุทุฑููุชู.
ุงูู ูู ุฅู ุงูู Subject ู ุด ู ุญุชุงุฌ ูุนุฑู ุงูุชูุงุตูู ุนู ูู Observerโฆ ู ุฌุฑุฏ ูููู "ุฃูุง ุงุชุบูุฑุช" ูุฎูุงุต.
โโโ
๐ข ู ุซุงู ู ู ุฃุฑุถ ุงููุงูุน:
ุชุฎูู ุฅูู ุนุงู ู subscribe ูููุงุฉ ุนูู YouTube:
- ุงูููุงุฉ = Subject
- ุงูู ุดุชุฑููู = Observers
ุฃูู ู ุง ุงูููุงุฉ ุชูุฒู ููุฏูู ุฌุฏูุฏุ ููุชููุจ ุจูุจุนุช Notification ูููู. ุงูููุงุฉ ู ุด ุจุชุณุฃู "ููุงู ุนุงูุฒ notification ุฅุฒุงู"โฆ ูู ุจุณ ุจุชุจุนุช ูุงููู ูุชุตุฑู.
โโโ
๐ข ููู ุงูู Observer Pattern ู ูู ุ
1- ุจูููู ุงูู tight coupling: ุงูู Subject ู ุด ุจูุนุฑู ุงูุชูุงุตูู ุนู Observers.
2- ุจูููู ููู flexibility: ุชูุฏุฑ ุชุถูู ุฃู ุชุดูู Observers ุจุณูููุฉ.
3- ุจูุณูู maintenance: ุฃู ุชุนุฏูู ุจูุจูู localizedุ ู ุด ููุจูุธ ุจุงูู ุงูู code.
โโโ
ูู React: ูู ุง ุงูู state ุชุชุบูุฑุ ุงูู component ุชุนู ู re-renderโฆ ุฏู ููุณ ููุฑุฉ ุงูู Observer.
ูู Angular (RxJS): ุงูู Observables streams ูู abstraction ูููุฉ ูููุฑุฉ ุงูู Observer.
ูู JavaScript Events: ูู ู ุง ุชุนู ู element.addEventListenerุ ุฃูุช ูุนูููุง ุจุชุณุฌู Observer.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค10
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู Monolithic Architecture ๐ฏ
.
.
ูู ุง ุจูุณู ุน ููู ุฉ Monolithic Architecture ู ู ูู ููุฌู ูู ุฏู ุงุบูุง ุฅููุง ุญุงุฌุฉ ูุฏูู ุฉ ุฎูุงุต ูู ุจูุชุด ุชุณุชุฎุฏู . ุจุณ ุงูุญูููุฉ ุฅู ุงูุดูู ุฏู ู ู ุงูู architecture ูุณู ู ูุฌูุฏ ูู ู ุดุงุฑูุน ูุชูุฑุ ูุณุงุนุงุช ูู ุงู ุจูููู ูู ุงูุญู ุงูุฃู ุซู ูู ุจุฏุงูุงุช ุฃู ู ุดุฑูุน.
โโโ
๐ LinkedIn:
https://www.linkedin.com/posts/mentoor-io_softwaredevelopment-softwareengineering-softwaredeveloper-activity-7376275845306343426-xLsS
๐ Facebook:
https://www.facebook.com/share/p/17K79YsdgW
.
.
ูู ุง ุจูุณู ุน ููู ุฉ Monolithic Architecture ู ู ูู ููุฌู ูู ุฏู ุงุบูุง ุฅููุง ุญุงุฌุฉ ูุฏูู ุฉ ุฎูุงุต ูู ุจูุชุด ุชุณุชุฎุฏู . ุจุณ ุงูุญูููุฉ ุฅู ุงูุดูู ุฏู ู ู ุงูู architecture ูุณู ู ูุฌูุฏ ูู ู ุดุงุฑูุน ูุชูุฑุ ูุณุงุนุงุช ูู ุงู ุจูููู ูู ุงูุญู ุงูุฃู ุซู ูู ุจุฏุงูุงุช ุฃู ู ุดุฑูุน.
โโโ
๐ LinkedIn:
https://www.linkedin.com/posts/mentoor-io_softwaredevelopment-softwareengineering-softwaredeveloper-activity-7376275845306343426-xLsS
๐ Facebook:
https://www.facebook.com/share/p/17K79YsdgW
โค5
Clone Wars - Open Source Clones of Popular Sites
100+ open-source clones and alternatives of popular sites like Airbnb, Amazon, Instagram, Netflix, TikTok, Spotify, WhatsApp, YouTube, etc.
List contains source code, tutorials, demo links, tech stack, and GitHub stars count. Great for learning purpose!
https://github.com/GorvGoyl/Clone-Wars
โค5
This media is not supported in your browser
VIEW IN TELEGRAM
Beautiful React Loaders Collection ๐ฏ
React Loadly is a modern, high-performance library of React loaders, spinners, and loading indicators.
Itโs built with TypeScript, optimized for Next.js / SSR, and designed with accessibility and developer experience in mind.
โโโ
๐ npm: https://www.npmjs.com/package/react-loadly
๐ GitHub: https://github.com/Mostafashadow1/react-loadly
๐ Showcase: https://mostafashadow1.github.io/react-loadly-showCases
โค7
ู
ู ุฃูู
ุงูู
ูุงููู
ุงููู ูุงุฒู
ุชุชุนูู
ูุง ูู React ๐ฏ
.
.
ุจูุถู ุงูููุ ุชู ูุดุฑ ุฃูู ู ูุงู ุนูู ู ุฏููุฉ JavaScript in Plain English ุนูู ู ูุตุฉ Medium ๐
.
.
The React Context API is a powerful feature for managing global state across a component tree, eliminating the need for prop drilling. Introduced in React 16.3, itโs beneficial for sharing data such as themes, authentication status, or user preferences.
โโโ
Read Full Article ๐
https://medium.com/javascript-in-plain-english/mastering-react-context-api-best-practices-patterns-and-pitfalls-655e3410cae5
.
.
ุจูุถู ุงูููุ ุชู ูุดุฑ ุฃูู ู ูุงู ุนูู ู ุฏููุฉ JavaScript in Plain English ุนูู ู ูุตุฉ Medium ๐
.
.
Mastering React Context API: Best Practices, Patterns, and Pitfalls ๐ฏ
The React Context API is a powerful feature for managing global state across a component tree, eliminating the need for prop drilling. Introduced in React 16.3, itโs beneficial for sharing data such as themes, authentication status, or user preferences.
โโโ
Read Full Article ๐
https://medium.com/javascript-in-plain-english/mastering-react-context-api-best-practices-patterns-and-pitfalls-655e3410cae5
โค6
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู WebRTC โก๏ธ
.
.
ูู ุฑุฌุนูุง ูุฏู ุจุงูุฐุงูุฑุฉ ุดููุฉ ูุฃูู ู ุฑุฉ ุฌุฑุจุช ุชุนู ู ู ูุงูู ุฉ ููุฏูู ุฃูููุงููุ ุฃููุฏ ููุช ู ูุจูุฑ ุฅูู ุดุงูู ุงูุดุฎุต ูุฏุงู ู ุจุงูุตูุช ูุงูุตูุฑุฉ ูู ููุณ ุงูููุช. ูู ูู ู ุง ุณุฃูุชุด ููุณู ููุชูุง: ุฅูู ุงููู ุจูุญุตู ุฎูู ุงูููุงููุณ ุนุดุงู ุงูุชุฌุฑุจุฉ ุฏู ุชุจุงู ุณููุฉ ุจุงูุดูู ุฏูุ
ุชุฎููู ุฅูู ุจุชูููู ุญุฏ ูู ุฏููุฉ ุชุงููุฉโฆ ุฅุฒุงู ุงูุตูุช ูุทูุน ู ู ุนูุฏูุ ูุนุฏู ุนูู ุดุจูุฉ ุงูุฅูุชุฑูุช ุจูู ุชุนููุฏุงุชูุงุ ููุตู ูู ูู ุฃูู ู ู ุซุงููุฉุ ูู ู ุบูุฑ ู ุง ูุจูู ููู delay ูุงุถุญุ
ูุฅุฒุงู ุงูููุฏูู ุจูุชุจุนุช frame ูุฑุงุก ุงูุชุงูู ูุฃูู ุจุซ ู ุจุงุดุฑุ ุฑุบู ุฅู ูู ุงููุต ููู firewalls ู NATs ูุฑุงูุชุฑุงุชุ ููุงุจูุงุช ุจุญุฑูุฉ ุจุทูู ุขูุงู ุงูููููู ุชุฑุงุชุ
ูููุง ูุธูุฑ ุฏูุฑ ุงูู WebRTC...
โโโ
๐ LinkedIn:
https://www.linkedin.com/posts/mentoor-io_mentoor-softwaredevelopment-softwaredeveloper-activity-7377714952352112640-Cs_-
๐ Facebook:
https://www.facebook.com/share/p/1DUxGMUET3
๐ Qabilah:
https://qabilah.com/posts/ุงุณุชูุดู-ุณุฑ-ุงูู-webrtc-ููู-ุชุชูุงุตู-ูู-ุงูููุช-ุงูุญูููู-ุจุฏูู-ุชุฃุฎูุฑ~m8y4l4HD_0I
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ูู ุฑุฌุนูุง ูุฏู ุจุงูุฐุงูุฑุฉ ุดููุฉ ูุฃูู ู ุฑุฉ ุฌุฑุจุช ุชุนู ู ู ูุงูู ุฉ ููุฏูู ุฃูููุงููุ ุฃููุฏ ููุช ู ูุจูุฑ ุฅูู ุดุงูู ุงูุดุฎุต ูุฏุงู ู ุจุงูุตูุช ูุงูุตูุฑุฉ ูู ููุณ ุงูููุช. ูู ูู ู ุง ุณุฃูุชุด ููุณู ููุชูุง: ุฅูู ุงููู ุจูุญุตู ุฎูู ุงูููุงููุณ ุนุดุงู ุงูุชุฌุฑุจุฉ ุฏู ุชุจุงู ุณููุฉ ุจุงูุดูู ุฏูุ
ุชุฎููู ุฅูู ุจุชูููู ุญุฏ ูู ุฏููุฉ ุชุงููุฉโฆ ุฅุฒุงู ุงูุตูุช ูุทูุน ู ู ุนูุฏูุ ูุนุฏู ุนูู ุดุจูุฉ ุงูุฅูุชุฑูุช ุจูู ุชุนููุฏุงุชูุงุ ููุตู ูู ูู ุฃูู ู ู ุซุงููุฉุ ูู ู ุบูุฑ ู ุง ูุจูู ููู delay ูุงุถุญุ
ูุฅุฒุงู ุงูููุฏูู ุจูุชุจุนุช frame ูุฑุงุก ุงูุชุงูู ูุฃูู ุจุซ ู ุจุงุดุฑุ ุฑุบู ุฅู ูู ุงููุต ููู firewalls ู NATs ูุฑุงูุชุฑุงุชุ ููุงุจูุงุช ุจุญุฑูุฉ ุจุทูู ุขูุงู ุงูููููู ุชุฑุงุชุ
ูููุง ูุธูุฑ ุฏูุฑ ุงูู WebRTC...
โโโ
๐ LinkedIn:
https://www.linkedin.com/posts/mentoor-io_mentoor-softwaredevelopment-softwaredeveloper-activity-7377714952352112640-Cs_-
๐ Facebook:
https://www.facebook.com/share/p/1DUxGMUET3
๐ Qabilah:
https://qabilah.com/posts/ุงุณุชูุดู-ุณุฑ-ุงูู-webrtc-ููู-ุชุชูุงุตู-ูู-ุงูููุช-ุงูุญูููู-ุจุฏูู-ุชุฃุฎูุฑ~m8y4l4HD_0I
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค5
ููุฏูู ู
ูู
ุฌุฏูุง ๐ฏ
- ูุนูู ุฅูู Documentation ูููู ู ูู ุฉ ุฌุฏูุง.
- ุฃููุงุน ุงูู Documentation ุงูู ุฎุชููุฉ: README, Code Comments, API Docs, Architecture Docs, RFCs, OPDOCs.
- ุฅุฒุงู ุชูุชุจ Docs ูุนูุงูุฉ ูุณููุฉ ุชุชููู .
- ุงูุฃุฎุทุงุก ุงูุดุงุฆุนุฉ ุงููู ุจุชุจููุธ ุฃู Documentation.
โโโ
https://youtu.be/D92MZJboOxs
Documentation Best Practices | ุดุฑูุงุช ูุชูุฑ ุจุชูู ูู ุฑุบู ุฃูู ูุชู
- ูุนูู ุฅูู Documentation ูููู ู ูู ุฉ ุฌุฏูุง.
- ุฃููุงุน ุงูู Documentation ุงูู ุฎุชููุฉ: README, Code Comments, API Docs, Architecture Docs, RFCs, OPDOCs.
- ุฅุฒุงู ุชูุชุจ Docs ูุนูุงูุฉ ูุณููุฉ ุชุชููู .
- ุงูุฃุฎุทุงุก ุงูุดุงุฆุนุฉ ุงููู ุจุชุจููุธ ุฃู Documentation.
โโโ
https://youtu.be/D92MZJboOxs
YouTube
Documentation Best Practices | ุดุฑูุงุช ูุชูุฑ ุจุชูู
ูู ุฑุบู
ุฃูู
ูุชู
ุนู
ุฑู ุฏุฎูุช ู
ุดุฑูุน ุจุฑู
ุฌุฉ ูู
ุงููู
ุชุด ู
ูู ุญุงุฌุฉุ ุงูููุฏ ู
ูุฌูุฏุ ุจุณ ู
ููุด ุฃู ุชูุซูู (Documentation)... ุงููุชูุฌุฉุ ุถูุงุน ููุช ูู
ุฌููุฏุ ูุฃุฎุทุงุก ูุชูุฑ ูุงู ู
ู
ูู ุชุชุฌูุจ.
ูู ุงูููุฏูู ุฏู ูุดุงุฑู ู ุนุงูู :
- ูุนูู ุฅูู Documentation ูููู ู ูู ุฉ ุฌุฏูุง.
- ุฃููุงุน ุงูู Documentation ุงูู ุฎุชููุฉ: READMEโฆ
ูู ุงูููุฏูู ุฏู ูุดุงุฑู ู ุนุงูู :
- ูุนูู ุฅูู Documentation ูููู ู ูู ุฉ ุฌุฏูุง.
- ุฃููุงุน ุงูู Documentation ุงูู ุฎุชููุฉ: READMEโฆ
โค3
ู
ุฌู
ูุนุฉ ู
ูุงูุงุช ู
ู
ุชุงุฒุฉ ุชุฎุต Node.js ๐ฏ
.
.
https://www.builder.io/blog/visual-guide-to-nodejs-event-loop
https://www.builder.io/blog/NodeJS-visualizing-nextTick-and-promise-queues
https://www.builder.io/blog/visualizing-nodejs-timer-queue
https://www.builder.io/blog/visualizing-nodejs-io-queue
https://www.builder.io/blog/visualizing-nodejs-io-polling
https://www.builder.io/blog/visualizing-nodejs-check-queue
https://www.builder.io/blog/visualizing-nodejs-close-queue
.
.
Part 1: Visualizing the Node.js Event Loop
https://www.builder.io/blog/visual-guide-to-nodejs-event-loop
Part 2: Visualizing nextTick and Promise Queues in Node.js
https://www.builder.io/blog/NodeJS-visualizing-nextTick-and-promise-queues
Part 3: Visualizing Timer Queue in Node.js
https://www.builder.io/blog/visualizing-nodejs-timer-queue
Part 4: Visualizing the I/O Queue in the Node.js Event Loop
https://www.builder.io/blog/visualizing-nodejs-io-queue
Part 5: Visualizing I/O Polling in the Node.js Event Loop
https://www.builder.io/blog/visualizing-nodejs-io-polling
Part 6: Visualizing the Check Queue in the Node.js Event Loop
https://www.builder.io/blog/visualizing-nodejs-check-queue
Part 7: Visualizing the Close Queue in the Node.js Event Loop
https://www.builder.io/blog/visualizing-nodejs-close-queue
โค4
๐ ุงููุฑู ุจูู Hashing ู Encryption ู Salting ู Pepper
.
.
ุงูุฃุฑุจุน ู ุตุทูุญุงุช ูุฑูุจูู ู ู ุจุนุถ ูู ุฅู ูููู ูููู ุนูุงูุฉ ุจุชุฃู ูู ุงูู data. ุจุณ ุงูุญูููุฉ ุฅู ูู ูุงุญุฏ ูููู ููู ูุฏู ู ุฎุชูู ุชู ุงู ูุง ูุทุฑููุฉ ุงุณุชุฎุฏุงู ู ุฎุชููุฉุ ููู ุฎูุทุช ุจูููู ุฃู ุงุณุชุนู ูุช ุญุงุฌุฉ ู ูุงู ุงูุชุงููุฉ ูุชุนู ู ู ุดููุฉ ูุจูุฑุฉ ูู ุงูุณูุณุชู ุจุชุงุนู.
ุชุฎูู ู ุนุงูุง ุฅูู ุจุชุนู ู ู ูุตุฉ ูููุง ู ุณุชุฎุฏู ูู ุจูุณุฌููุง ุจุงูุฅูู ูู ูุงูุจุงุณูุฑุฏ. ุทุจูุนู ุฅูู ูุงุฒู ุชุฎุฒู ุงูุจุงุณูุฑุฏ ุจุดูู ุขู ูุ ุตุญุ ููุง ุจูู ุงูุณุคุงู:
- ูู ุฃุฎุฒู ุงูุจุงุณูุฑุฏ ุฒู ู ุง ูู plain textุ
- ุทุจ ูู ุฃุนู ูู Encryptionุ
- ููุง Hashing ููุงูุฉุ
- ุทุจ ุฅูู ูุงุฒู ุฉ ุงูู Saltุ ูุฅูู ุงููุฑู ุจูููุง ูุจูู ุงูู Pepperุ
โโโ
ุงูู Hashing ูู ุฅูู ุจุชุญูู ุงูู data (ุฒู ุงูุจุงุณูุฑุฏ) ูุณูุณูุฉ ู ู ุงูุฃุฑูุงู ูุงูุญุฑูู ู ููุงุด ู ุนูู.
ุงูู ูุฒุฉ ุงูุฃุณุงุณูุฉ: ุฏู one-wayุ ูุนูู ุชูุฏุฑ ุชุญูู ุงูุจุงุณูุฑุฏ ูู hashุ ููู ู ุณุชุญูู ุชุฑุฌุน ู ู ุงูู hash ููุจุงุณูุฑุฏ.
๐ ุงููุฏู: ุชุณุชุฎุฏู ู ุนุดุงู ุชุชุญูู ู ู ุงูุจูุงูุงุชุ ู ุด ุนุดุงู ุชุณุชุฑุฌุนูุง.
ู ุซุงู: ุงูู ุณุชุฎุฏู ูุฏุฎู ุงูุจุงุณูุฑุฏุ ูุฃูุช ุชุนู ูู hash ุจููุณ ุงูู algorithm ูุชูุงุฑู ู ุน ุงููู ู ุฎุฒูู.
โ ุงูู ุดููุฉ: ูู ุงุชููู ู ุณุชุฎุฏู ูู ุนูุฏูู ููุณ ุงูุจุงุณูุฑุฏุ ุงูู hash ุจุชุงุนูู ููุจูู ููุณ ุงููุชูุฌุฉ. ูุฏู ุจูุฎูู ุงูู ูุถูุน ุนุฑุถุฉ ููุฌู ุงุช ุฒู ุงูู Rainbow Tables.
โโโ
ุงูู Encryption ู ุฎุชูู ุชู ุงู ูุง. ููุง ุจุชุนู ู ุนู ููุฉ reversible (ูุนูู ูููุน ุชุฑุฌุน ููุจูุงูุงุช ุงูุฃุตููุฉ).
ุชุฎุฒู ุงูู data ู ุดูุฑุฉุ ูุชูุฏุฑ ุชูููุง ุจุงูู key.
๐ ุงููุฏู: ุญู ุงูุฉ ุงูุจูุงูุงุช ุงููู ูุงุฒู ุชุณุชุฑุฌุนูุง ุฒู ุงูุฑุณุงุฆูุ ุงูู ููุงุชุ ุจูุงูุงุช ุงููุฑูุฏุช ูุงุฑุฏโฆ ุฅูุฎ.
ู ุซุงู: ุชุดููุฑ ุฑุณุงูุฉ ูู ูุงุชุณุงุจุ ุงูู ุณุชูุจู ููุฏุฑ ููููุง ุจุงูู key ูุงูุฑุณุงูุฉ ุงูุฃุตููุฉ ุชุฑุฌุน.
โ ุงูู ุดููุฉ: ูู ุงูู key ุงุชุณุฑุจุ ูู ุญุงุฌุฉ ู ูุดููุฉ.
โโโ
ุงูู Salt ูู string ุนุดูุงุฆู ุจุชุถููู ููุจุงุณูุฑุฏ ูุจู ู ุง ุชุนู ูู hash.
ูููุ ุนุดุงู ุชู ูุน ุงููุฌู ุงุช ุงููู ุจุชุนุชู ุฏ ุนูู ุฅู ููุณ ุงูุจุงุณูุฑุฏ ุนูุฏู ููุณ ุงูู hash.
๐ ุงููุฏู: ุชุนู ู ูู hash ู ุฎุชูู ุญุชู ูู ููู ุงุช ุงูุณุฑ ู ุชุดุงุจูุฉ.
ู ุซุงู:
- ู ุณุชุฎุฏู 1 = "123456" + SaltA โ hash1
- ู ุณุชุฎุฏู 2 = "123456" + SaltB โ hash2
ุฑุบู ุฅู ุงูุจุงุณูุฑุฏ ูู ููุณูุ ููู ุงูู hash ู ุฎุชูู.
โโโ
ุงูู Pepper ุดุจู ุงูู Salt ููู ูู ููุทุฉ ู ุฎุชููุฉ: ุจูููู secret value ุจุชุถููู ููุจุงุณูุฑุฏ ูุจู ุงูู hashing.
ุจุนูุณ ุงูู Salt ุงููู ู ู ูู ูุชุฎุฒู ู ุน ุงูู hashุ ุงูู Pepper ู ุด ุจูุชุฎุฒู ูู ุงูุฏุงุชุงุจูุฒุ ุจูุชุฎุฒู ูู config ุขู ู ุฃู environment variable.
๐ ุงููุฏู: ุชุถูู ุทุจูุฉ ุญู ุงูุฉ ุฅุถุงููุฉ ุถุฏ ุฃู ุญุฏ ูุณุฑู ุงูุฏุงุชุงุจูุฒ. ุญุชู ูู ู ุนุงู ุงูู hashes + saltsุ ูุณู ูุงูุตู ุงูู pepper.
โโโ
ููู ุงุช ุงูุณุฑ ูุงุฒู ุชุชุญูุธ ุจุงูู Hashing + Salt + Pepperุ ู ุด ุจุงูู Encryption.
ุงูู Encryption ู ูุงูู ูู ุงูุจูุงูุงุช ุงููู ูุงุฒู ุชุณุชุฑุฌุนูุง ุฒู ุงูุฑุณุงุฆู ุฃู ุงูู ููุงุช.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุงูุฃุฑุจุน ู ุตุทูุญุงุช ูุฑูุจูู ู ู ุจุนุถ ูู ุฅู ูููู ูููู ุนูุงูุฉ ุจุชุฃู ูู ุงูู data. ุจุณ ุงูุญูููุฉ ุฅู ูู ูุงุญุฏ ูููู ููู ูุฏู ู ุฎุชูู ุชู ุงู ูุง ูุทุฑููุฉ ุงุณุชุฎุฏุงู ู ุฎุชููุฉุ ููู ุฎูุทุช ุจูููู ุฃู ุงุณุชุนู ูุช ุญุงุฌุฉ ู ูุงู ุงูุชุงููุฉ ูุชุนู ู ู ุดููุฉ ูุจูุฑุฉ ูู ุงูุณูุณุชู ุจุชุงุนู.
ุชุฎูู ู ุนุงูุง ุฅูู ุจุชุนู ู ู ูุตุฉ ูููุง ู ุณุชุฎุฏู ูู ุจูุณุฌููุง ุจุงูุฅูู ูู ูุงูุจุงุณูุฑุฏ. ุทุจูุนู ุฅูู ูุงุฒู ุชุฎุฒู ุงูุจุงุณูุฑุฏ ุจุดูู ุขู ูุ ุตุญุ ููุง ุจูู ุงูุณุคุงู:
- ูู ุฃุฎุฒู ุงูุจุงุณูุฑุฏ ุฒู ู ุง ูู plain textุ
- ุทุจ ูู ุฃุนู ูู Encryptionุ
- ููุง Hashing ููุงูุฉุ
- ุทุจ ุฅูู ูุงุฒู ุฉ ุงูู Saltุ ูุฅูู ุงููุฑู ุจูููุง ูุจูู ุงูู Pepperุ
โโโ
๐ข ุงูู Hashing
ุงูู Hashing ูู ุฅูู ุจุชุญูู ุงูู data (ุฒู ุงูุจุงุณูุฑุฏ) ูุณูุณูุฉ ู ู ุงูุฃุฑูุงู ูุงูุญุฑูู ู ููุงุด ู ุนูู.
ุงูู ูุฒุฉ ุงูุฃุณุงุณูุฉ: ุฏู one-wayุ ูุนูู ุชูุฏุฑ ุชุญูู ุงูุจุงุณูุฑุฏ ูู hashุ ููู ู ุณุชุญูู ุชุฑุฌุน ู ู ุงูู hash ููุจุงุณูุฑุฏ.
๐ ุงููุฏู: ุชุณุชุฎุฏู ู ุนุดุงู ุชุชุญูู ู ู ุงูุจูุงูุงุชุ ู ุด ุนุดุงู ุชุณุชุฑุฌุนูุง.
ู ุซุงู: ุงูู ุณุชุฎุฏู ูุฏุฎู ุงูุจุงุณูุฑุฏุ ูุฃูุช ุชุนู ูู hash ุจููุณ ุงูู algorithm ูุชูุงุฑู ู ุน ุงููู ู ุฎุฒูู.
โ ุงูู ุดููุฉ: ูู ุงุชููู ู ุณุชุฎุฏู ูู ุนูุฏูู ููุณ ุงูุจุงุณูุฑุฏุ ุงูู hash ุจุชุงุนูู ููุจูู ููุณ ุงููุชูุฌุฉ. ูุฏู ุจูุฎูู ุงูู ูุถูุน ุนุฑุถุฉ ููุฌู ุงุช ุฒู ุงูู Rainbow Tables.
โโโ
๐ต ุงูู Encryption
ุงูู Encryption ู ุฎุชูู ุชู ุงู ูุง. ููุง ุจุชุนู ู ุนู ููุฉ reversible (ูุนูู ูููุน ุชุฑุฌุน ููุจูุงูุงุช ุงูุฃุตููุฉ).
ุชุฎุฒู ุงูู data ู ุดูุฑุฉุ ูุชูุฏุฑ ุชูููุง ุจุงูู key.
๐ ุงููุฏู: ุญู ุงูุฉ ุงูุจูุงูุงุช ุงููู ูุงุฒู ุชุณุชุฑุฌุนูุง ุฒู ุงูุฑุณุงุฆูุ ุงูู ููุงุชุ ุจูุงูุงุช ุงููุฑูุฏุช ูุงุฑุฏโฆ ุฅูุฎ.
ู ุซุงู: ุชุดููุฑ ุฑุณุงูุฉ ูู ูุงุชุณุงุจุ ุงูู ุณุชูุจู ููุฏุฑ ููููุง ุจุงูู key ูุงูุฑุณุงูุฉ ุงูุฃุตููุฉ ุชุฑุฌุน.
โ ุงูู ุดููุฉ: ูู ุงูู key ุงุชุณุฑุจุ ูู ุญุงุฌุฉ ู ูุดููุฉ.
โโโ
๐ก ุงูู Salting
ุงูู Salt ูู string ุนุดูุงุฆู ุจุชุถููู ููุจุงุณูุฑุฏ ูุจู ู ุง ุชุนู ูู hash.
ูููุ ุนุดุงู ุชู ูุน ุงููุฌู ุงุช ุงููู ุจุชุนุชู ุฏ ุนูู ุฅู ููุณ ุงูุจุงุณูุฑุฏ ุนูุฏู ููุณ ุงูู hash.
๐ ุงููุฏู: ุชุนู ู ูู hash ู ุฎุชูู ุญุชู ูู ููู ุงุช ุงูุณุฑ ู ุชุดุงุจูุฉ.
ู ุซุงู:
- ู ุณุชุฎุฏู 1 = "123456" + SaltA โ hash1
- ู ุณุชุฎุฏู 2 = "123456" + SaltB โ hash2
ุฑุบู ุฅู ุงูุจุงุณูุฑุฏ ูู ููุณูุ ููู ุงูู hash ู ุฎุชูู.
โโโ
๐ด ุงูู Pepper
ุงูู Pepper ุดุจู ุงูู Salt ููู ูู ููุทุฉ ู ุฎุชููุฉ: ุจูููู secret value ุจุชุถููู ููุจุงุณูุฑุฏ ูุจู ุงูู hashing.
ุจุนูุณ ุงูู Salt ุงููู ู ู ูู ูุชุฎุฒู ู ุน ุงูู hashุ ุงูู Pepper ู ุด ุจูุชุฎุฒู ูู ุงูุฏุงุชุงุจูุฒุ ุจูุชุฎุฒู ูู config ุขู ู ุฃู environment variable.
๐ ุงููุฏู: ุชุถูู ุทุจูุฉ ุญู ุงูุฉ ุฅุถุงููุฉ ุถุฏ ุฃู ุญุฏ ูุณุฑู ุงูุฏุงุชุงุจูุฒ. ุญุชู ูู ู ุนุงู ุงูู hashes + saltsุ ูุณู ูุงูุตู ุงูู pepper.
โโโ
ููู ุงุช ุงูุณุฑ ูุงุฒู ุชุชุญูุธ ุจุงูู Hashing + Salt + Pepperุ ู ุด ุจุงูู Encryption.
ุงูู Encryption ู ูุงูู ูู ุงูุจูุงูุงุช ุงููู ูุงุฒู ุชุณุชุฑุฌุนูุง ุฒู ุงูุฑุณุงุฆู ุฃู ุงูู ููุงุช.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
โค12๐ฅ5
ุฏุฑุฏุดุฉ ุณุฑูุนุฉ ุนู ุงูู OAuth 2.0 ๐ก
.
.
ุชุฎูู ุฅูู ุฏุงุฎู ุชุณุฌูู ูู ุชุทุจูู ุฌุฏูุฏ ุนูุดุงู ุชุชุงุจุน ููุฑุณุงุชุ ููู ุง ุฌูุช ุชุณุฌููุ ุงูุชุทุจูู ูุงูู:
"ุชูุฏุฑ ุชุณุฌูู ุจุญุณุงุจ Google ุฃู GitHub ุจุฏู ู ุง ุชุนู ู ุฃูููุช ุฌุฏูุฏ"
ุถุบุทุช ุนูู ุฒุฑุงุฑ "Continue with Google"ุ ูGoogle ุทูุจุช ู ูู ุชุฎุชุงุฑ ุงูุฅูู ูู ูุชูุงูู ุนูู ุดููุฉ ุตูุงุญูุงุช.
ุจุนุฏูุง ุงูุชุทุจูู ูุชุญ ูุงุดุชุบู ููุฃูู ุนู ูุช sign up ูุนููุง...
ุฅูู ุงููู ุญุตู ููุงุ ๐ค
ุงููู ุญุตู ุจุงูุถุจุท ูู ุฅู Google ุงุณุชุฎุฏู ุช ุญุงุฌุฉ ุงุณู ูุง OAuth 2.0.
โโโ
ุจุจุณุงุทุฉุ ุงูู OAuth 2.0 ูู ุจุฑูุชูููู authorization (ู ุด authentication)ุ ุจูุฎููู ุงูุชุทุจููุงุช ุชูุฏุฑ ุชุงุฎุฏ ุฅุฐู ู ู ุงูู ุณุชุฎุฏู ุนุดุงู ุชุฏุฎู ุนูู ุฌุฒุก ู ู ู ุนููู ุงุชู ูู service ุชุงููุฉ (ุฒู Google, Facebook, GitHub) ู ู ุบูุฑ ู ุง ูุนุฑููุง ุงูุจุงุณูุฑุฏ ุจุชุงุนุชู.
ูุนูู ุงูุชุทุจูู ุงููู ุจุชุณุชุฎุฏู ู ู ุด ุจูุดูู ุงูุจุงุณูุฑุฏ ุจุชุงุนุชูุ ุจุณ ุจูุงุฎุฏ ุชููู ู ุคูุช ููุฏุฑ ูุณุชุฎุฏู ู ูุฏุฎู ุนูู ุงูู APIs ุงููู ุฃูุช ูุงููุช ุนูููุง.
ูุฏู ุจูุฎูู ุงูุนู ููุฉ ุขู ูุฉุ ูุจูุญุงูุธ ุนูู ุงูุฎุตูุตูุฉ ุจุชุงุนุชู.
โโโ
ุชุนุงู ูู ุดู ุฎุทูุฉ ุจุฎุทูุฉ ูู ุงูู 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 ุงููู ูุงููุช ุนููู.
โโโ
ูู ุนูุฏู API ูุนุงูุฒ ุชุฃู ููุงุ ู ู ูู ุชุณุชุฎุฏู OAuth 2.0 ุจุญูุซ:
- ุฃู Client ู ุด ูููุฏุฑ ููุตู ูู API ุบูุฑ ูู ุง ููุฏูู Access Token ุตุงูุญ.
- ุงูู Backend ุจุชุงุนู ููุฏุฑ ูุชุญููู ู ู ุงูุชููู (ู ุซููุง JWT ุฃู ุนู ุทุฑูู introspection endpoint).
- ุชูุฏุฑ ุชุชุญููู ูู ุงูุตูุงุญูุงุช ุนู ุทุฑูู ุงูู scope (ูุนูู ู ุซููุง ุชููู ู ุนูู ููุฏุฑ ููุฑุฃ ุจุณุ ูุชููู ุชุงูู ููุฏุฑ ููุชุจ ููุนุฏูู).
- ุชูุฏุฑ ุชุณุญุจ ุตูุงุญูุงุช ุงูุชููู ูู ุฃู ููุช (Revoke).
ุจุงูุชุงููุ OAuth 2.0 ุจูุฃู ูู ุงูู APIs ุนู ุทุฑูู ุฅูู:
โ ุจูููู ุงูุงุนุชู ุงุฏ ุนูู ููู ุงุช ุงูู ุฑูุฑ
โ ุจูุณู ุญ ุจุงูู delegation (ุชุทุจูู ูุงุฎุฏ ุฅุฐู ู ู ู ุณุชุฎุฏู ููุตู ูุญุงุฌุฉ ู ุด ุจุชุงุนุชู)
โ ุจูุฎูู ุงูู tokens ู ุคูุชุฉุ ูู ู ูู ุชุชุญูู ูู ุตูุงุญูุงุชูุง ูู ุฏูุชูุง
โโโ
- ุงูู 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 ู ู ุฅูู ูุชุณุฑู.
โโโ
ููููู ุงููู ููู ุฎูุฑ ๐ฟ
.
.
ุชุฎูู ุฅูู ุฏุงุฎู ุชุณุฌูู ูู ุชุทุจูู ุฌุฏูุฏ ุนูุดุงู ุชุชุงุจุน ููุฑุณุงุชุ ููู ุง ุฌูุช ุชุณุฌููุ ุงูุชุทุจูู ูุงูู:
"ุชูุฏุฑ ุชุณุฌูู ุจุญุณุงุจ 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