السلام عليكم ورحمة الله وبركاته 👋🏻
.
.
لو ناوي تبدأ في مجال الفرونت إند أو بدأت والدنيا مش أفضل حاجة معاك فإن شاء الله البوست هيفيدك. 💯
جمعتلك أفضل المصادر اللي هتساعدك في رحلة التعلم وكمان هضيفلك بعض المواضيع اللي محتاج تركز عليها سواء في مجال الفرونت إند أو في مجال الويب بشكل عام علشان تبقى محترف بإذن الله تعالى. 🚀
———
📌 رابط الجزء الأول:
https://www.linkedin.com/posts/dev-alisamir_devguide-frontenddeveloper-frontenddevelopment-activity-7174767846806216704-seF5
———
📌 رابط الجزء الثاني:
https://www.linkedin.com/posts/dev-alisamir_devguide-frontenddeveloper-frontenddevelopment-activity-7175782913542635523-on8f
———
📌 رابط الجزء الثالث:
https://www.linkedin.com/posts/dev-alisamir_devguide-frontenddeveloper-frontenddevelopment-activity-7176532222290661376-5_gu
———
📌 رابط الجزء الرابع:
https://www.linkedin.com/posts/dev-alisamir_devguide-frontenddeveloper-frontenddevelopment-activity-7177015197805518849-7ax2
———
بالتوفيق يا صديقي. 🌿
.
.
لو ناوي تبدأ في مجال الفرونت إند أو بدأت والدنيا مش أفضل حاجة معاك فإن شاء الله البوست هيفيدك. 💯
جمعتلك أفضل المصادر اللي هتساعدك في رحلة التعلم وكمان هضيفلك بعض المواضيع اللي محتاج تركز عليها سواء في مجال الفرونت إند أو في مجال الويب بشكل عام علشان تبقى محترف بإذن الله تعالى. 🚀
———
📌 رابط الجزء الأول:
https://www.linkedin.com/posts/dev-alisamir_devguide-frontenddeveloper-frontenddevelopment-activity-7174767846806216704-seF5
———
📌 رابط الجزء الثاني:
https://www.linkedin.com/posts/dev-alisamir_devguide-frontenddeveloper-frontenddevelopment-activity-7175782913542635523-on8f
———
📌 رابط الجزء الثالث:
https://www.linkedin.com/posts/dev-alisamir_devguide-frontenddeveloper-frontenddevelopment-activity-7176532222290661376-5_gu
———
📌 رابط الجزء الرابع:
https://www.linkedin.com/posts/dev-alisamir_devguide-frontenddeveloper-frontenddevelopment-activity-7177015197805518849-7ax2
———
بالتوفيق يا صديقي. 🌿
❤6
مفهوم الـ MERN Stack 💡
.
.
الـMERN اختصار لـ
- MongoDB
- Express.js
- React.js
- Node.js
خلينا نتعمق شوية...
https://www.linkedin.com/posts/dev-alisamir_aliabrsamir-fullstackwebdeveloper-fullstackdevelopment-activity-7030517717812031488-J2On
———
وهتلاقي هنا مصادرة كويسة هتساعدك في مذاكرة الـ MERN Stack
https://www.youtube.com/@The_Dev_Guide
.
.
الـMERN اختصار لـ
- MongoDB
- Express.js
- React.js
- Node.js
خلينا نتعمق شوية...
https://www.linkedin.com/posts/dev-alisamir_aliabrsamir-fullstackwebdeveloper-fullstackdevelopment-activity-7030517717812031488-J2On
———
وهتلاقي هنا مصادرة كويسة هتساعدك في مذاكرة الـ MERN Stack
https://www.youtube.com/@The_Dev_Guide
❤2
مسار مسك المهارات 💯
.
.
مسار مسك المهارات هو مسار شامل يضم مجموعة متنوعة من الدورات التي تهدف إلى مساعدة طلاب الجامعة والخريجين والمحترفين ذوي الخبرة القصيرة على تطوير أنفسهم وتحسين مهاراتهم على المستوى المهني والشخصي. ⚡️
يشمل هذا المسار دورات تغطي مختلف الجوانب المهنية والشخصية التي تساعد الشباب على بناء مسار مهني ناجح وتحقيق التميز في سوق العمل من خلال تعزيز فرص النجاح في مجال عملهم وتطوير مهاراتهم لتحقيق النجاح المستقبلي. ✅
———
📌 الدورات المشمولة في التخصص:
- فهم سوق العمل
- التخطيط لبناء مسار مهني
- البحث واكتشاف الفرص
- دورة الاستعداد للمقابلة الشخصية
- دورة استخدام لينكد إن للوصول للفرص المهنية
- مهارات الاستعداد الجامعي
- دورة بناء السيرة الذاتية
———
https://www.edraak.org/programs/specialization/miskskill-v1
.
.
مسار مسك المهارات هو مسار شامل يضم مجموعة متنوعة من الدورات التي تهدف إلى مساعدة طلاب الجامعة والخريجين والمحترفين ذوي الخبرة القصيرة على تطوير أنفسهم وتحسين مهاراتهم على المستوى المهني والشخصي. ⚡️
يشمل هذا المسار دورات تغطي مختلف الجوانب المهنية والشخصية التي تساعد الشباب على بناء مسار مهني ناجح وتحقيق التميز في سوق العمل من خلال تعزيز فرص النجاح في مجال عملهم وتطوير مهاراتهم لتحقيق النجاح المستقبلي. ✅
———
📌 الدورات المشمولة في التخصص:
- فهم سوق العمل
- التخطيط لبناء مسار مهني
- البحث واكتشاف الفرص
- دورة الاستعداد للمقابلة الشخصية
- دورة استخدام لينكد إن للوصول للفرص المهنية
- مهارات الاستعداد الجامعي
- دورة بناء السيرة الذاتية
———
https://www.edraak.org/programs/specialization/miskskill-v1
❤3
خلي بالك الموضوع مش بعدد المشاريع...
.
.
أهلًا بيك صديقي المبرمج، الكلام ممكن يبقى صعب شويتين لكن هو ده الواقع ودي الحقيقة اللي لازم تعرفها وتبقى فاهمها كويس...
———
خليني أمشي معاك في سيناريو ولنختار مجال الويب مثلًا (لكن الكلام عام على كل مجالات البرمجة)... تعلمت أساسيات الويب ووصلت عند إطار العمل وعملت 50 مشروع ورفعتهم على GitHub والدنيا بقت لذيذة...
هات الـ 50 مشروع وتعال...
- هل الـ 50 مشروع تقدر تبيعهم لعميل أو لشركة أو على الأقل ترفعهم على أي موقع لبيع المواقع؟
- هل الـ 50 مشروع اتعملوا بأفضل طريقة من حيث هيكل المشروع وتنظيم الملفات والـ Clean Code ولا الدنيا سايحة؟
- هل الـ 50 مشروع فاهمهم كويس وعارف كل حاجة فيهم ولا ناقلهم ورا الفيديوهات وخلاص؟
- هل الـ 50 مشروع مختلفين ولا كلهم نفس الفكرة؟
- هل لو بعت مشروع منهم لمبرمج تاني يقدر يكمل شغل في المشروع بدون صعوبة ولا هيضطر يقرفك كل شوية؟
———
لو الإجابة نعم متكملش البوست... أنت كده في السليم 💯
لو لا، خليني أوضحلك شوية حاجات تاخد بالك منها في المشاريع...
حاول تعمل مشاريع حقيقية لها علاقة بسوق العمل... في البداية هتعمل مشاريع صغيرة زي Weather App وكمان مشروع آلة حاسبة، وغيرهم وده طبيعي جدًا لكن التاسكات دي متنفعش تبقى في الـ CV بتاعك وأنت بتقدم... خليها على GitHub وأنت في الطبيعي بتضيف لينك GitHub في الـ CV لو حد مهتم يشوفهم هيشوفهم وفي الغالب محدش بيركز عليهم وبيدور على المشاريع الكبيرة اللي فيها شغل لوجيك كتير مش مجرد UI وخلاص...
وده بيختلف من شركة للتانية حسب طبيعة الشركة فخلي بالك من النقطة دي.
———
بالنسبة لطريقة عمل المشروع وتنفيذه بأفضل طريقة... في البداية هتكون بتكتب أي حاجة وخلاص وده طبيعي لكن مينفعش تبقى بتقدم على شغل خبرة سنة مثلًا وأنت الكود بتاعك معجنة في بعضه... علشان كده يفضل تهتم بالموضوع ده من بداية التعلم وتبحث وتدور إزاي تكتب وتنظم المشروع بتاعك بأفضل طريقة حتى لو شغال HTML, CSS, JS فقط...
———
نيجي لفهم المشاريع... فيه بعض الشركات أثناء الإنترفيو بتفتح GitHub بتاعك وتجيب مشروع معين وليكن E-Commerce ويبدأ الشخص تبع الشركة يسألك عن إزاي عملت دي وليه فصلت دي عن التانية وهكذا... فلو أنت مش فاهم أو لقاك بتهبد يبقى أنت كده بالسلامة وهيعرف إنك بصمجي...
طيب تعمل إيه وأنت بتطبق مع الفيديو؟
= عندك أكتر من أداة تقدر تسألها إذا الكود ده معمول بأفضل طريقة ولا ممكن يتعمل بطريقة أفضل من كده وأقل تعقيدًا زي ChatGPT وغيره وكمان حاول تغير بعض الحاجات في المشروع اللي في الفيديو (زود حاجة - أو حسّن حاجة موجودة وهكذا)
———
طيب هل المشاريع كلها شبه بعضها ولا مختلفة؟
يعني متبقاش عامل 20 Landing Page ومعتبر كل واحدة منهم على إنها مشروع مستقل وهي أصلًا صفحة أو اتنين...
حاول تخلي المشاريع مختلفة عن بعضها وقريبة من المشاريع الموجودة في الشركات زي E-Commerce و Real Estate مثلًا وحاول تخلي المشاريع أغلبها لوجيك مش UI لأنك في الغالب هتستخدم مكتبات UI جاهزة هتسهل عليك الدنيا كتير... ولو عاوز أفكار مشاريع اسأل الـ AI...
———
بعد ما تخلص المشروع اقفل الجهاز وارجع بعد كام ساعة وحاول تفهم الكود اللي أنت كاتبه... لو مكتوب بطريقة كويسة هتفهمه بسهولة... ودي حاجة أساسية في البرمجة لأنك هتشتغل في تيم في الشركة وأكتر من واحد هيعدل على الكود فلازم تبقى منظم الكود بتاعك سواء من خلال كتابة التعليقات أو من خلال الـ Documentation...
———
طبعًا الكلام اللي فوق ده ينطبق على كل مجالات البرمجة مش الويب فقط...
———
بالتوفيق يا صديقي 🌿
.
.
أهلًا بيك صديقي المبرمج، الكلام ممكن يبقى صعب شويتين لكن هو ده الواقع ودي الحقيقة اللي لازم تعرفها وتبقى فاهمها كويس...
———
خليني أمشي معاك في سيناريو ولنختار مجال الويب مثلًا (لكن الكلام عام على كل مجالات البرمجة)... تعلمت أساسيات الويب ووصلت عند إطار العمل وعملت 50 مشروع ورفعتهم على GitHub والدنيا بقت لذيذة...
هات الـ 50 مشروع وتعال...
- هل الـ 50 مشروع تقدر تبيعهم لعميل أو لشركة أو على الأقل ترفعهم على أي موقع لبيع المواقع؟
- هل الـ 50 مشروع اتعملوا بأفضل طريقة من حيث هيكل المشروع وتنظيم الملفات والـ Clean Code ولا الدنيا سايحة؟
- هل الـ 50 مشروع فاهمهم كويس وعارف كل حاجة فيهم ولا ناقلهم ورا الفيديوهات وخلاص؟
- هل الـ 50 مشروع مختلفين ولا كلهم نفس الفكرة؟
- هل لو بعت مشروع منهم لمبرمج تاني يقدر يكمل شغل في المشروع بدون صعوبة ولا هيضطر يقرفك كل شوية؟
———
لو الإجابة نعم متكملش البوست... أنت كده في السليم 💯
لو لا، خليني أوضحلك شوية حاجات تاخد بالك منها في المشاريع...
حاول تعمل مشاريع حقيقية لها علاقة بسوق العمل... في البداية هتعمل مشاريع صغيرة زي Weather App وكمان مشروع آلة حاسبة، وغيرهم وده طبيعي جدًا لكن التاسكات دي متنفعش تبقى في الـ CV بتاعك وأنت بتقدم... خليها على GitHub وأنت في الطبيعي بتضيف لينك GitHub في الـ CV لو حد مهتم يشوفهم هيشوفهم وفي الغالب محدش بيركز عليهم وبيدور على المشاريع الكبيرة اللي فيها شغل لوجيك كتير مش مجرد UI وخلاص...
وده بيختلف من شركة للتانية حسب طبيعة الشركة فخلي بالك من النقطة دي.
———
بالنسبة لطريقة عمل المشروع وتنفيذه بأفضل طريقة... في البداية هتكون بتكتب أي حاجة وخلاص وده طبيعي لكن مينفعش تبقى بتقدم على شغل خبرة سنة مثلًا وأنت الكود بتاعك معجنة في بعضه... علشان كده يفضل تهتم بالموضوع ده من بداية التعلم وتبحث وتدور إزاي تكتب وتنظم المشروع بتاعك بأفضل طريقة حتى لو شغال HTML, CSS, JS فقط...
———
نيجي لفهم المشاريع... فيه بعض الشركات أثناء الإنترفيو بتفتح GitHub بتاعك وتجيب مشروع معين وليكن E-Commerce ويبدأ الشخص تبع الشركة يسألك عن إزاي عملت دي وليه فصلت دي عن التانية وهكذا... فلو أنت مش فاهم أو لقاك بتهبد يبقى أنت كده بالسلامة وهيعرف إنك بصمجي...
طيب تعمل إيه وأنت بتطبق مع الفيديو؟
= عندك أكتر من أداة تقدر تسألها إذا الكود ده معمول بأفضل طريقة ولا ممكن يتعمل بطريقة أفضل من كده وأقل تعقيدًا زي ChatGPT وغيره وكمان حاول تغير بعض الحاجات في المشروع اللي في الفيديو (زود حاجة - أو حسّن حاجة موجودة وهكذا)
———
طيب هل المشاريع كلها شبه بعضها ولا مختلفة؟
يعني متبقاش عامل 20 Landing Page ومعتبر كل واحدة منهم على إنها مشروع مستقل وهي أصلًا صفحة أو اتنين...
حاول تخلي المشاريع مختلفة عن بعضها وقريبة من المشاريع الموجودة في الشركات زي E-Commerce و Real Estate مثلًا وحاول تخلي المشاريع أغلبها لوجيك مش UI لأنك في الغالب هتستخدم مكتبات UI جاهزة هتسهل عليك الدنيا كتير... ولو عاوز أفكار مشاريع اسأل الـ AI...
———
بعد ما تخلص المشروع اقفل الجهاز وارجع بعد كام ساعة وحاول تفهم الكود اللي أنت كاتبه... لو مكتوب بطريقة كويسة هتفهمه بسهولة... ودي حاجة أساسية في البرمجة لأنك هتشتغل في تيم في الشركة وأكتر من واحد هيعدل على الكود فلازم تبقى منظم الكود بتاعك سواء من خلال كتابة التعليقات أو من خلال الـ Documentation...
———
طبعًا الكلام اللي فوق ده ينطبق على كل مجالات البرمجة مش الويب فقط...
———
بالتوفيق يا صديقي 🌿
❤14
What is Next.js Middleware?
Let’s explore how middleware can handle auth, redirects, A/B tests, and more—right at the edge.
❤2
التطبيق العملي من أفضل الطرق اللي هتساعدك جدًا في مجال البرمجة. 💯
.
.
موقع DevProjects هتلاقي فيه مشاريع ممتازة تقدر تشتغل عليها بنفسك، وتتعلم خطوة بخطوة لحد ما توصل لمستوى احترافي.🚀
———
📌 أنواع المشاريع المتاحة على الموقع:
- Web Development
- Mobile App
- Automation Or Tools
- HTML/CSS
- JavaScript
- React
- Vue
- Angular
- Node.js
- Python
- Ruby
- Java
- PHP
- Swift
- React Native
———
📌 رابط الموقع:
https://www.codementor.io/projects
.
.
موقع DevProjects هتلاقي فيه مشاريع ممتازة تقدر تشتغل عليها بنفسك، وتتعلم خطوة بخطوة لحد ما توصل لمستوى احترافي.🚀
———
📌 أنواع المشاريع المتاحة على الموقع:
- Web Development
- Mobile App
- Automation Or Tools
- HTML/CSS
- JavaScript
- React
- Vue
- Angular
- Node.js
- Python
- Ruby
- Java
- PHP
- Swift
- React Native
———
📌 رابط الموقع:
https://www.codementor.io/projects
❤11
8 خطوات لتحسين أداء الموقع 🚀
.
.
في عالم الفرونت إند، يعتبر أداء الموقع (Performance) من أهم الحاجات اللي لازم تركز عليها علشان تضمن تجربة مستخدم سلسة وسريعة وتضمن إن الـ SEO يكون كويس وترتيب الموقع معقول. 💯
.
.
تعال ندردش شوية عن أهم التقنيات اللي ممكن تستخدمها لتحسين أداء الموقع بطريقة سهلة وبسيطة 👇
———
1- الـ Selective Rendering
ببساطة، مش لازم تعمل (Rendering) لكل حاجة مرة واحدة. استخدم تقنيات زي Virtual DOM أو Intersection Observer علشان تعمل rendering بس للعناصر اللي ظاهرة للمستخدم، وده هيقلل من استهلاك الموارد بشكل كبير.
———
2- الـ Code Splitting
بدل ما تدي للمستخدم ملف JavaScript ضخم، قسم الكود لمجموعة من الملفات الصغيرة باستخدام React.lazy أو Webpack Code Splitting. مثال:
بدل ما يكون عندك ملف app.js حجمه 5MB، ممكن تقسّمه إلى:
- home.js (1.5MB)
- product.js (3MB)
- about.js (0.5MB)
كده الصفحة هتحمل أسرع وهيتم تحميل الجزء المطلوب بس لما المستخدم يحتاجه.
———
3- الـ Prefetching
لو عندك صفحات متوقع المستخدم هيزورها، استخدم الـ Prefetching علشان تحمل الملفات في الـ cache قبل ما يحتاجها. ده بيخلي الانتقال بين الصفحات أسرع بكتير.
———
4- الـ Priority-Based Loading
حدد الأولويات في تحميل الملفات، يعني الـ HTML والـ CSS يحملوا الأول علشان الصفحة تظهر بسرعة، وبعد كده تحمل الـ JavaScript والـ images حسب الأهمية.
———
5- الـ Compression
قبل ما تبعت أي حاجة للمتصفح، لازم تضغط الملفات باستخدام Gzip أو Brotli علشان تقلل حجمها وتحسن سرعة التحميل، وده بيخلي وقت التحميل (Load Time) أقل بكتير.
———
6- الـ Loading Sequence
رتب تحميل الملفات بطريقة صحيحة بحيث يتم تحميل العناصر المهمة اللي بتظهر في الـ "Above-the-fold" الأول زي HTML & CSS، وبعد كده الملفات اللي مش مهمة في البداية زي الـ noscripts وغيرها.
———
7- الـ Dynamic Imports
بدل ما تحمل كل الكود في الأول، استخدم الـ Dynamic Imports لتحميل الملفات عند الحاجة فقط. مثلًا لما المستخدم يضغط على زرار معين تحمل ملفات معينة dynamically باستخدام import() function
———
8- الـ Tree Shaking
وأخيرًا، لازم تتأكد إن الـ bundle بتاعك مفيهوش أكواد غير مستخدمة. أدوات زي الـ Webpack والـ Rollup بتساعدك على إزالة الأكواد الزيادة وتحسين حجم الملفات اللي بتوصل للمستخدم.
———
📌 ده مقال شرحت فيه كل الخطوات بالتفصيل وبطريقة سهلة
https://dev.to/alisamir/frontend-performance-optimization-a-comprehensive-guide-2bfk
.
.
في عالم الفرونت إند، يعتبر أداء الموقع (Performance) من أهم الحاجات اللي لازم تركز عليها علشان تضمن تجربة مستخدم سلسة وسريعة وتضمن إن الـ SEO يكون كويس وترتيب الموقع معقول. 💯
.
.
تعال ندردش شوية عن أهم التقنيات اللي ممكن تستخدمها لتحسين أداء الموقع بطريقة سهلة وبسيطة 👇
———
1- الـ Selective Rendering
ببساطة، مش لازم تعمل (Rendering) لكل حاجة مرة واحدة. استخدم تقنيات زي Virtual DOM أو Intersection Observer علشان تعمل rendering بس للعناصر اللي ظاهرة للمستخدم، وده هيقلل من استهلاك الموارد بشكل كبير.
———
2- الـ Code Splitting
بدل ما تدي للمستخدم ملف JavaScript ضخم، قسم الكود لمجموعة من الملفات الصغيرة باستخدام React.lazy أو Webpack Code Splitting. مثال:
بدل ما يكون عندك ملف app.js حجمه 5MB، ممكن تقسّمه إلى:
- home.js (1.5MB)
- product.js (3MB)
- about.js (0.5MB)
كده الصفحة هتحمل أسرع وهيتم تحميل الجزء المطلوب بس لما المستخدم يحتاجه.
———
3- الـ Prefetching
لو عندك صفحات متوقع المستخدم هيزورها، استخدم الـ Prefetching علشان تحمل الملفات في الـ cache قبل ما يحتاجها. ده بيخلي الانتقال بين الصفحات أسرع بكتير.
———
4- الـ Priority-Based Loading
حدد الأولويات في تحميل الملفات، يعني الـ HTML والـ CSS يحملوا الأول علشان الصفحة تظهر بسرعة، وبعد كده تحمل الـ JavaScript والـ images حسب الأهمية.
———
5- الـ Compression
قبل ما تبعت أي حاجة للمتصفح، لازم تضغط الملفات باستخدام Gzip أو Brotli علشان تقلل حجمها وتحسن سرعة التحميل، وده بيخلي وقت التحميل (Load Time) أقل بكتير.
———
6- الـ Loading Sequence
رتب تحميل الملفات بطريقة صحيحة بحيث يتم تحميل العناصر المهمة اللي بتظهر في الـ "Above-the-fold" الأول زي HTML & CSS، وبعد كده الملفات اللي مش مهمة في البداية زي الـ noscripts وغيرها.
———
7- الـ Dynamic Imports
بدل ما تحمل كل الكود في الأول، استخدم الـ Dynamic Imports لتحميل الملفات عند الحاجة فقط. مثلًا لما المستخدم يضغط على زرار معين تحمل ملفات معينة dynamically باستخدام import() function
———
8- الـ Tree Shaking
وأخيرًا، لازم تتأكد إن الـ bundle بتاعك مفيهوش أكواد غير مستخدمة. أدوات زي الـ Webpack والـ Rollup بتساعدك على إزالة الأكواد الزيادة وتحسين حجم الملفات اللي بتوصل للمستخدم.
———
📌 ده مقال شرحت فيه كل الخطوات بالتفصيل وبطريقة سهلة
https://dev.to/alisamir/frontend-performance-optimization-a-comprehensive-guide-2bfk
❤7
Next.js 16 RLS for Partial Prerendring 💯
Secure your streams. Use RLS and server-side tokens to keep partial prerenders correct and private in Next.js 16
❤3