Ali Samir
@dev_alisamir
Followers
218
Following
8K
Media
324
Statuses
641
Software Engineer 🔻 Building innovative web applications 🚀 Sharing technical tutorials, tips, and coding insights ✍️
Joined June 2020
1500+ Free HTML Templates 🔥 For Websites, Landing Pages, Blogs, Portfolios, E-commerce And Admin Dashboards. https://t.co/qtKPiOf74D
htmlrev.com
Free HTML CSS templates and themes for websites, landing pages, blogs, portfolios, ecommerce and admin dashboards
0
0
0
React Hooks Simplified ✅ This course covers every single React hook you need to know in order to create any application. https://t.co/Xh3JJyLD27
0
0
0
Remote-Friendly Companies 💯 A list of semi to fully remote-friendly companies (jobs) in tech. https://t.co/hkjOesp1wK
0
0
0
Lifelong Learning: 88+ Resources You Won't Regret as a Senior Software Engineer https://t.co/MmRUaEuhQU
0
0
0
Your Journey to DevOps Mastery 💯 Follow this comprehensive roadmap to become a skilled DevOps engineer. Each stage includes interactive skills with curated resources and hands-on learning paths. https://t.co/CS642sz4ye
1
1
3
💡 الخلاصة: - لو data كبيرة: استخدم IndexedDB. - لو data بسيطة ومؤقتة: sessionStorage. - لو عايز data تتبعت للـ server: استخدم Cookies. - لو بتبني PWA أو محتاج caching قوي: استخدم Service Workers + Cache API.
0
0
0
📌 الـ Service Workers + Cache API - حل متقدم شوية، بيستخدم الـ Service Workers مع Cache API. - بيخليك تخزن responses كاملة من الـ network. - ممتاز للـ PWA عشان تشتغل offline. - تقدر تتحكم في caching strategy. - مفيد جدًا للأداء (performance) وتحسين تجربة المستخدم.
1
0
0
📌 الـ Cookies - أقدم وأشهر طريقة لتخزين البيانات في المتصفح. - ميزتها إنها بتتبعت تلقائي مع كل HTTP Request للـ server. - مناسبة جدًا للـ authentication. - عيبها إنها صغيرة (حوالي 4KB) وأي data زيادة ممكن تقلل سرعة الـ requests. - لازم تستخدمها للحاجات الخفيفة والمهمة بس.
1
0
0
📌 الـ sessionStorage - نفس فكرة localStorage بالضبط لكن الفرق إنها بتتمسح أول ما الـ tab تتقفل. - مناسبة لحاجات temporary زي tokens أثناء الـ session أو data مش مهمة تحتفظ بها بعد ما اليوزر يقفل الصفحة. - حجمها برضه محدود زي localStorage.
1
0
0
📌 الـ IndexedDB - عبارة عن database كاملة داخل المتصفح. - بتخليك تخزن structured data (objects، arrays…) مش مجرد strings. - بتتعامل معاها عن طريق APIs أو libraries زي Dexie.js عشان تسهّل الموضوع. - مناسبة جدًا لو عندك data كبيرة أو offline apps.
1
0
0
ليه؟ 👇 - الـ size محدود (تقريبًا 5MB). - كل حاجة بتتخزن كـ string. - مفيهاش أي نوع من الـ security (ممكن أي حد يقرأها). - مش scalable لو بتتعامل مع data كبيرة. علشان كده تعال ندردش شوية عن 4 بدائل للـ localStorage ممكن تساعدك في بعض السيناريوهات المختلفة...
1
0
0
أهم بدائل الـ localStorage 💡 خلال رحلتك في عالم الفرونت إند ممكن تحتاج تخزن بيانات عند الـ Client Side (يعني عند المستخدم). أبسط حاجة كلنا عرفناها في الأول هي الـ localStorage. سهلة جدًا والكود بسيط، وكمان عبارة عن key/value، بس الحقيقة إن localStorage مش دايمًا أحسن حل.
1
0
0
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. https://t.co/TDKgj6VIGS (@inPlainEngHQ - @JS_PlainEnglish)
0
0
0
⚡ Rule of thumb: Use them when you actually face performance issues, not everywhere.
0
0
0
✅ Quick Summary: - memo: Stops re-render if props don’t change. - useMemo: Stops re-calculating heavy operations unnecessarily. - useCallback: Keeps function reference stable between renders.
0
0
0
const App = () => { const [count, setCount] = useState(0); const handleClick = useCallback(() => { setCount((c) => c + 1); }, []); return <Button onClick={handleClick} />; };
0
0
0
🔹 useCallback Memoizes a function reference so it doesn’t get recreated on every render (useful with memo components).
1
0
0