اذهب إلى المحتوى

بلال زيادة

الأعضاء
  • المساهمات

    4657
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    30

آخر يوم ربح فيه بلال زيادة هو مايو 1 2023

بلال زيادة حاصل على أكثر محتوى إعجابًا!

آخر الزوار

لوحة آخر الزوار معطلة ولن تظهر للأعضاء

إنجازات بلال زيادة

عضو نشيط

عضو نشيط (3/3)

2k

السمعة بالموقع

175

إجابات الأسئلة

  1. صحيح ، تستطيع تعلم react بدون أي مشكلة و يمكنك مراجعة التوثيق الرسمي للreact من خلال موقعها الرسمي.
  2. Bootstrap هو إطار عمل (framework) يبني على HTML وCSS، ويجعل تصميم المواقع أسرع وأكثر استجابة (responsive). إذا كنت قد أتقنت HTML/CSS/JS بالفعل، فتعلم Bootstrap يأخذ عادةً 1-2 أسابيع إذا كنت تدرس 2-4 ساعات يومياً. يركز على فهم المكونات مثل الشبكة (grid system)، الأزرار، والنماذج. يمكنك البدء بموقع Bootstrap الرسمي أو دورات مجانية على freeCodeCamp أو Udemy. افتراضاً إذا كانت الدورة تحتوي على مشاريع بسيطة فسيأخذ ذلك 2-4 أسابيع إضافية، مع تخصيص وقت للتصحيح والتحسين. المشاريع تساعد في تطبيق Bootstrap عملياً، مثل استخدام classes جاهزة للتصميم السريع. يمكنك التقدم فوراً أو بعد مراجعة سريعة (1-2 أيام). إجمالي الوقت المتوقع: 3-6 أسابيع كاملة، مع التركيز على الممارسة العملية لتجنب النظرية فقط.
  3. CSR (Client-Side Rendering) - الرندر على جانب العميل في CSR، يتم إرسال ملفات JavaScript الأساسية (مثل bundle.js) إلى متصفح العميل (الكلاينت). ثم يقوم المتصفح بتنفيذ الكود لإنشاء الـHTML والمحتوى ديناميكياً. هذا يعني أن السيرفر يرسل صفحة فارغة أو هيكل أساسي، والرندر الحقيقي يحدث على جهاز المستخدم. المستخدم يطلب الصفحة. السيرفر يرسل ملف HTML فارغ مع روابط لـJS/CSS. المتصفح يحمّل الـJS ويبدأ في الرندر (مثل جلب بيانات من API). الصفحة تظهر بعد تنفيذ الـJS (قد يكون هناك تأخير إذا كان الإنترنت بطيئاً). تفاعلية عالية (مثل SPA - Single Page Applications)، تحديثات ديناميكية بدون إعادة تحميل الصفحة، أقل حمل على السيرفر. وقت تحميل أولي أطول (Time to First Paint)، سيء لـSEO لأن محركات البحث قد لا ترى المحتوى إذا لم يتم تنفيذ الـJS. // index.js (الرندر على الكلاينت) import React from 'react'; import ReactDOM from 'react-dom'; function App() { // هنا يحدث الرندر على الكلاينت: جلب بيانات ديناميكية const [data, setData] = React.useState(null); React.useEffect(() => { fetch('https://api.example.com/data') // جلب بيانات من API .then(response => response.json()) .then(json => setData(json)); }, []); return ( <div> <h1>مرحبا، هذا CSR!</h1> {data ? <p>البيانات: {data.message}</p> : <p>جاري التحميل...</p>} </div> ); } ReactDOM.render(<App />, document.getElementById('root')); // الرندر يحدث هنا على الكلاينت SSR (Server-Side Rendering) - الرندر على جانب السيرفر في SSR، يقوم السيرفر بإنشاء الـHTML الكامل (مع البيانات) قبل إرسالها إلى العميل. هذا يعني أن الصفحة جاهزة للعرض فوراً عند الوصول. المستخدم يطلب الصفحة. السيرفر ينفذ الكود (مثل جلب بيانات من DB أو API) ويبني الـHTML. يرسل الـHTML الجاهز إلى المتصفح. المتصفح يعرض الصفحة فوراً، ثم يمكن إضافة تفاعلية عبر JS (Hydration). تحميل أسرع (Time to First Contentful Paint أفضل)، جيد لـSEO لأن المحتوى موجود في الـHTML الخام، مناسب للمحتوى الديناميكي. حمل أكبر على السيرفر (يجب أن يرندر كل طلب)، قد يكون بطيئاً إذا كان السيرفر مزدحماً. // pages/index.js (SSR في Next.js) import React from 'react'; function Home({ data }) { return ( <div> <h1>مرحبا، هذا SSR!</h1> <p>البيانات من السيرفر: {data.message}</p> </div> ); } // هذه الدالة تعمل على السيرفر لكل طلب export async function getServerSideProps() { const res = await fetch('https://api.example.com/data'); // جلب بيانات على السيرفر const data = await res.json(); return { props: { data } }; // إرسال البيانات إلى الكومبوننت } export default Home; SSG (Static Site Generation) - توليد الموقع الثابت في SSG، يتم بناء الصفحات الثابتة (Static) أثناء عملية البناء (Build Time)، ثم يتم تخزينها كملفات HTML جاهزة على السيرفر أو CDN. لا يحدث رندر ديناميكي لكل طلب. أثناء البناء (npm run build)، يتم جلب البيانات وإنشاء الـHTML. السيرفر يخزن الملفات الثابتة. عند الطلب، يرسل السيرفر الـHTML الجاهز فوراً. أسرع تحميل ممكن (من CDN)، أقل حمل على السيرفر، أمان عالي (لا كود يعمل على السيرفر)، ممتاز لـSEO. غير مناسب للمحتوى الديناميكي المتغير كثيراً (يجب إعادة البناء للتحديثات)، لا يدعم تخصيص لكل مستخدم. // pages/index.js (SSG في Next.js) import React from 'react'; function Home({ data }) { return ( <div> <h1>مرحبا، هذا SSG!</h1> <p>البيانات الثابتة: {data.message}</p> </div> ); } // هذه الدالة تعمل أثناء البناء فقط export async function getStaticProps() { const res = await fetch('https://api.example.com/data'); // جلب بيانات أثناء البناء const data = await res.json(); return { props: { data } }; // الصفحة تُبنى مرة واحدة } export default Home; SEO (Search Engine Optimization) - تحسين محركات البحث SEO هو مجموعة من التقنيات لجعل موقعك يظهر أعلى في نتائج البحث (مثل Google). يتعلق بالمحتوى، السرعة، الهيكل، والوصولية. كيف يرتبط بالآخرين: CSR: سيء لـSEO لأن محركات البحث قد لا تنفذ الـJS، فترى صفحة فارغة. SSR/SSG: جيد لـSEO لأن الـHTML يحتوي على المحتوى الكامل، مما يسهل على الـCrawlers قراءته. استخدم meta tags، alt للصور، هيكل HTML جيد (h1, h2)، وأدوات مثل Google Search Console. في SSR/SSG، أضف getStaticPaths في Next.js للصفحات الديناميكية. // pages/index.js (مع SEO) import Head from 'next/head'; function Home() { return ( <> <Head> <title>عنوان الصفحة لـSEO</title> // يساعد في نتائج البحث <meta name="description" content="وصف الصفحة هنا" /> <meta name="keywords" content="SSR, SSG, CSR" /> </Head> <h1>مرحبا!</h1> </> ); } export default Home; نعم، يمكن استخدام SSR في تطبيقات الفرونت إند، لكن ليس بشكل مباشر "على الفرونت إند" لأن SSR يحدث على السيرفر. ومع ذلك، في إطارات مثل Next.js (لـReact) أو Nuxt.js (لـVue)، يمكنك دمج SSR مع الفرونت إند الديناميكي. الفرونت إند يتلقى الـHTML الجاهز من السيرفر، ثم يضيف التفاعلية عبر JS (Hydration). هذا يجعل التطبيق هجيناً: سريع مثل الثابت، وتفاعلي مثل CSR. إذا كنت تستخدم Vanilla JS بدون إطار، فSSR يتطلب سيرفر مثل Node.js/Express للرندر.
  4. رسائل الخطأ والتحذير التي تظهر عند استدعاء مكتبة TensorFlow وKeras في الكود الخاص بك مرتبطة بمحاولة تسجيل مكونات CUDA (cuFFT، cuDNN، وcuBLAS) أكثر من مرة داخل بيئة التشغيل. هذه المشكلة تحدث عادةً عند استخدام TensorFlow مع وحدات معالجة الرسوميات (GPU) بسبب تضارب في تهيئة المكتبات أو إعدادات البيئة. الرسائل تشير إلى أن TensorFlow يحاول تسجيل مكونات CUDA (مثل cuFFT، cuDNN، وcuBLAS) لدعم العمليات على GPU، ولكن هذه المكونات قد تم تسجيلها مسبقًا. هذا قد يحدث إذا كنت تستخدم إصدارات متعددة من TensorFlow أو مكتبات أخرى تعتمد على CUDA في نفس الجلسة. قد يكون هناك عدم توافق بين إصدار TensorFlow وإصدارات مكتبات CUDA/cuDNN المثبتة على جهازك. على سبيل المثال، كل إصدار من TensorFlow يتطلب إصدارات محددة من CUDA وcuDNN. استيراد keras و tensorflow بشكل منفصل قد يسبب تضاربًا، خاصة إذا كنت تستخدم Keras كمكتبة مستقلة (وليس من خلال tensorflow.keras). في الإصدارات الحديثة، يُفضل استخدام tensorflow.keras لأن Keras مدمج الآن داخل TensorFlow.
  5. بما أنك تقول إنك نسيت أساسيات HTML على الرغم من كتابتك لها وفهمها سابقًا، فمن الأفضل أن تراجع أساسيات HTML قبل الانتقال إلى CSS. السبب هو أن HTML هو الأساس الذي يُبنى عليه CSS، وإذا لم تكن مرتاحًا تمامًا مع HTML، قد تجد صعوبة في فهم كيفية تطبيق CSS بشكل صحيح. لكن لا داعي للقلق، المراجعة لن تأخذ وقتًا طويلاً إذا كنت قد فهمت المادة من قبل، وستساعدك على استعادة الثقة.
  6. ترتيبك منطقي لأنك تبدأ بأساسيات تطوير الواجهات الأمامية (Front-end) مع HTML, CSS, وJavaScript، وهي اللبنات الأساسية لبناء أي تطبيق ويب. الانتقال إلى React بعد إتقان JavaScript هو خيار ممتاز، لأن React يعتمد بشكل كبير على مفاهيم JS مثل الدوال، الكائنات، ومعالجة الحدث. دراسة MongoDB ثم Express وAPIs بعد ذلك مناسبة، لأنك تنتقل من الواجهة الأمامية إلى الخلفية (Back-end). تعلم MongoDB أولاً يساعدك على فهم قواعد البيانات قبل الخوض في بناء الـ APIs باستخدام Express. ربط الـ Front-end مع الـ Back-end هو الخطوة المنطقية الأخيرة لإكمال فهمك لمسار MERN.
  7. حسنا، اخبرنا بالدورة التي انتهيت منها و تريد الدروس التدريبية أو المشاريع و سوف نعمل على طرح العديد من الدروس التدريبية و المشاريع لك و سوف نقوم بمراجعتها لك بعد تنفيذها .
  8. سوف يجيبون على اسئلتك في أقرب وقت ممكن ، راجع صفحة الدعم كل فترة قصيرة و ستجد بأن مركز المساعدة قد رد عليك و عمل على حل مشكلتك
  9. راجع الاجابة السابقة
  10. يمكنك التواصل مع مركز المساعدة من هنا و اخبارهم بمشكلتك و سوف يعملون على حلها.
  11. إذا كنت تدرس 2-3 ساعات يوميًا باجتهاد، فإن معظم الدورات قد تستغرق من 2 إلى 6 أسابيع و لكن يمكنك إكمال دورة متوسطة في 1-3 أسابيع إذا كنت مكثفًا (4-6 ساعات يوميًا)، قد تحتاج إلى 1-2 شهر إذا درست بوتيرة معتدلة (2-3 ساعات يوميًا)، لكن مع الاجتهاد يمكن تقليصها إلى 2-4 أسابيع. خصص وقتًا يوميًا ثابتًا: 3-5 ساعات يوميًا مع التركيز يمكن أن يختصر المدة. ركز على التطبيق العملي: الدورات التي تتضمن مشاريع عملية تساعدك على فهم أسرع. استخدم مصادر إضافية: إذا واجهت صعوبة، شاهد دروسًا مجانية على يوتيوب أو اقرأ مقالات لتوضيح المفاهيم. حدد أهدافًا يومية: مثل إكمال درس أو قسم معين يوميًا.
  12. الفيديوهات مشروحة مسبقاً لن يكون أي شخص قادر على تخصيص وقته للدخول معك وشرح الدورة لك و بالتالي يجب عليك مشاهدة الفيديوهات تدريجياً ستجد الأمور أصبحت سهلة.
  13. الدورة عبارة عن فيديوهات مشروحة مسبقاً و بالتالي يجب على الطالب الدخول و حضور الدورة بالترتيب و اي مشكلة تواجهك يجب عليك طرحها في أسفل الفيديو الذي واجهت فيه مشكلة عبر صندوق التعليقات سوف تجد الكثير من المدربين الذين سيعملون على حل مشكلتك.
  14. يرجى ارفاق نص المشكلة و صورة لها.
  15. تحقق مما إذا كان Python مثبتًا على جهازك. يمكنك تحميل أحدث إصدار من الموقع الرسمي وتأكد من اختيار خيار "Add Python to PATH" أثناء التثبيت. إضافة Python إلى PATH يدويًا ابحث عن "Environment Variables" في البحث على نظام Windows. افتح "Edit the system environment variables" واضغط على "Environment Variables". في قسم "System variables" أو "User variables"، ابحث عن متغير Path وأضف المسار إلى مجلد Python (مثل C:\Python39 و C:\Python39\Scripts). بعد تحديث المسار، أغلق وأعد فتح نافذة موجه الأوامر (Command Prompt) ثم جرب كتابة python --version مرة أخرى.
×
×
  • أضف...