-
المساهمات
9365 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
133
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو محمد_عاطف
-
إذا نظرت إلى ال console ستجد أنه يتم طباعة وتنفيذ ال API الخاص بالتحقق مرتين وهذا هو سبب المشكلة الرئيسية . ففي أول مرة يتم تنفيذ المكون يتم إرسال التحقق مما يسبب نجاح العملية ولكن مع الإرسال الثاني يظهر الخطأ لأن بالفعل المستخدم تم التحقق من حسابه وتم حذف رمز ال token من قاعدة البيانات. وهذه المشكلة بسبب انك تعمل في وضع React الصارم (React.StrictMode) أثناء التطوير. حيث في وضع التطوير (Development Mode) يقوم React.StrictMode بعرض كل مكون مرتين (mount -> unmount -> mount) بشكل متعمد والهدف من ذلك هو مساعدتك في اكتشاف الأخطاء والآثار الجانبية (Side Effects) غير المرغوب فيها في الكود الخاص بك. ولذلك يوجد عدة حلول لديك : أولا يمكنك حذف الوضع الصارم من ملف frontend\src\main.jsx . ثانيا يمكنك حاليا عدم حذف ال token من قاعدة البيانات وذلك في وضع التطوير أما في وضع النشر production يمكنك حذفه . ثالثا يمكنك إستخدام useRef هكذا : import React, { useEffect, useRef } from "react"; import { Link, useParams } from "react-router-dom"; import { useVerifyEmail } from "../lib/queries/auth.queries"; import { AiOutlineCheckCircle, AiOutlineWarning } from "react-icons/ai"; import Spinner from "../components/loaders/Spinner"; const VerifyEmail = () => { const { userId, token } = useParams(); const { mutate, data, isError, isPending } = useVerifyEmail(); const effectRan = useRef(false); useEffect(() => { if (effectRan.current === false) { if (userId && token) { mutate({ userId, token }); } } return () => { effectRan.current = true; }; }, []); if (!effectRan.current) { return <Spinner />; } return ( <section className="flex items-center justify-center min-h-[calc(100vh-2rem)] px-4"> <div className="w-full max-w-md bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-2xl shadow-md p-6 text-center transition-all duration-300"> {isError ? ( <> <AiOutlineWarning className="text-red-500 dark:text-red-400 text-6xl mx-auto animate-pulse mb-4" /> <h1 className="text-xl font-semibold text-gray-800 dark:text-white"> Error Verifying Email </h1> <p className="text-sm text-gray-600 dark:text-gray-300 mt-2"> Please check your verification link or request a new one. </p> </> ) : ( <> <AiOutlineCheckCircle className="text-teal-600 dark:text-teal-400 text-6xl mx-auto animate-bounce mb-4" /> <h1 className="text-xl md:text-2xl font-semibold text-gray-800 dark:text-white mb-2"> {data?.message || "Email Verified Successfully!"} </h1> <Link to="/login" className="inline-block bg-teal-600 hover:bg-teal-700 text-white font-medium py-2 px-6 rounded-full transition-colors duration-300" > Login </Link> </> )} </div> </section> ); }; export default VerifyEmail;
- 12 اجابة
-
- 1
-
-
الإجابة هى يجب أن نقوم بتطبيق ال Scaling على العمود (w) فقط. فالهدف الأساسي من عملية ال Scaling مثل Standardization أو Normalization هو جعل جميع أعمدة البيانات Features في نطاق متقارب للقيم وهذا يمنع أي عمود من التأثير بشكل مفرط على أداء النموذج لمجرد أن قيمه العددية أكبر من قيم الأعمدة الأخرى. وبما أنكِ ذكرتِ أن جميع الأعمدة تم تطبيعها بالفعل ما عدا العمود (w) فهذا يعني أنها بالفعل في نطاق متقارب. لذلك: لا حاجة لإعادة المعالجة وتطبيق الـ Scaling مرة أخرى على الأعمدة التي تم تطبيعها بالفعل فهي خطوة غير ضرورية وقد تؤدي إلى نتائج غير متوقعة أو تفسد التوزيع الأصلي للبيانات الذي نتج عن التطبيع الأول. وبتطبيق الـ Scaling على العمود (w) وحده فإنكِ تجعلينه متناسق مع بقية الأعمدة وهذا هو الهدف الأساسي من العملية.
- 2 اجابة
-
- 1
-
-
هذا لأنك يجب أن تقوم بتنفيذ أمر تحويل الملفات إلى js كما وضحت لك في البداية . يمكنك تنفيذ الأمر التالي وهذا الأمر سيقوم بمشاهدة التعديلات وتحويلها مباشرة : tsc -b -w
-
لاحظ انك في ال session storage وليس local storage يرجى اتباع الخطوات في الصورة السابقة
-
المشروع يعمل المشكلة لديك في التخزين المحلي يجب حذفه كما أخبرتك . يجب الذهاب إلى تبويبة application في ادوات المطور وحذفه من خلال الزر التالي :
-
ما هي الأوامر التي تقوم بها لتشغيل المشروع ؟ حاليا المشكلة نعم لا تظهر الصور ولكن لو قمت بتنفيذ أمر tsc -b ستجد أن المشكلة قد تم حلها ولكن يجب أن يتم حذف التخزين المحلي أولا . لهذا يجب تنفيذ الأمر التالي هكذا لتحويل ملفات tsx بعد تعديلها إلى ملفات js: tsc -b
-
وعليكم السلام ورحمة الله وبركاته. إن NumPy هي مكتبة أساسية للتعامل مع المصفوفات والعمليات الرياضية عالية الكفاءة وهي مكتوبة في الأساس بلغة C ولهذا حساباتها أسرع بكثير من الحلقات العادية في بايثون حيث تقدم أدوات كثيرة جاهزة مثل: عمليات الجبر الخطي (Linear Algebra). والتحويلات الفورييه. والدوال الإحصائية. ةالتعامل مع الأعداد الكبيرة في الحجم. أى يمكننا أن نقول أنها أداة رياضية تعطيك واجهة في لغة بايثون سهلة لكنها تعمل بكود مكتبة بلغى C في الخلفية. أما Numba فهي مكتبة مختلفة ووظيفتها تسريع كود بايثون نفسه عن طريق التحويل إلى كود آلة (JIT Compilation) . وأنت تقوم بكتابة دالة عادية وتضيف decorator هكذا مثلا : from numba import jit @jit(nopython=True) def add(x, y): return x + y والنتيجة أن الكود يتحول عند التشغيل إلى لغة منخفضة المستوى (Assembly) ويصبح قريب في الأداء من لغة C . وهو مفيد عندما تكتب حلقات for أو عمليات متكررة معقدة لا يمكن أن تكتبها كلها بدوال NumPy الجاهزة. إذا يمكننا التخليص بأن NumPy هي مكتبة رياضية جاهزة تعطيك دوال وأدوات أما Numba فهو مسرع يحول كود بايثون البطيء إلى كود سريع
- 4 اجابة
-
- 1
-
-
إذا أردت تنزيل ويندوز 10 فلا مشكلة في ذلك فلن يتوقف عن العمل بعد شهر اكتوبر من العام الحالي ولكن الدعم سيتوقف عنه أى لن تحصل على أى تحديثات من النظام سواء للأمان أو غيرها لهذا إذا لم يكن هذا الأمر مهما لك فيمكنك تنزيله دون أى مشكلة. ولكن الأفضل التحويل لإصدار 11 ولمعرفة كيفية تنزيله وتثبيته والتحقق من ما إذا كان جهازك يدعمه أم لا يمكنك قراءة المقال التالي :
-
النسيان أمر طبيعي جدا لا مشكلة في ذلك ولكن الأهم هو أن تكون قد قمت بالتطبيق جيدا ودراسة الدروس بشكل جيد ومع التطبيق كثيرا ستجد حل لمشكلة النسيان تلك . وإليك المزيد من النصائح التالية :
-
أولا بعد الإنتهاء من دورة تطوير واجهات المستخدم والحصول على الشهادة وكنت قد قمت بالفعل بالتطبيق وإنشاء المشاريع مع نفسك فنعم ستكون مؤهلا بالفعل للحصول على وظيفة سواء من خلال العمل في شركة أو من خلال الحصول على وظائف من العمل الحر . وفي الأكاديمية هناك ضمان إسترداد أموال إذا لم تحصل على وظيفة خلالهم . ولا أريدك أن تشعر بالإحباط ولكن مجال البرمجة ليس سهل وحاليا إزداد صعوبة لذا على الأقل ستحتاج 6 أشهر قبل البحث عن عمل حسب مستواك. ودورة تطوير واجهات المستخدم مخصصة لتخصص الـ Front-End أي الواجهة الأمامية وعلى منصات العمل الحر ستجد مشاريع كثيرة تتطلب HTML, CSS, JS وبوتستراب وjQuery ولكن هناك منافسة شديدة في هذا المجال. ولكن أيضا مجال الواجهة الأمامية أعقد من ذلك حيث سيتطلب منك على الأقل تعلم إطار أو مكتبة مثل React و Vue.js و Angular لتستطيع المنافسة بشكل جيد في هذا الأمر فمن خلالهم ستتمكن من بناء واجهة ديناميكية أكثر تعقيدًا، وذلك ما تتطلبه الشركات. وبعد الإختبار والإنتهاء من الدورة سيتم توجيهك خلال الـ 6 أشهر التالية. أما بخصوص الرواتب يمكنك فتح موقع مستقل ومواقع العمل الحر والنظر إلى المشاريع ومدى أسعارها المتفاوت بناء على الخبرة ولكن لو إستطعت المنافسة وقمت بتحسين حسابك وقاعدة عملائك فعلى الأقل ستقوم بإدخال 1000 دولار شهريا بناء على مستواك وسيزداد هذا المبلغ مع المشاريع التي ستقوم بها.
- 4 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. نعم بالطبع أغلب الشركات لها أدواتها الخاصة بها والتي تتميز بها عن غيرها من الشركات الأخرى والمنافسين لها . ولا تقوم بتوفير تلك الأدوات إلا الأدوات العامة والتي يتم بيعها للأخرين. وبالطبع المعلومات عن تلك الأدوات ستكون قليلة لأنه سرية أو لا يعلم بها إلى بعض الموظفين في تلك الشركات.
- 3 اجابة
-
- 1
-
-
يمكنك محادثة مركز المساعدة فهم المسؤولون عن الأمور المالية والخاصة بالدورات ويمكنك إخبارهم برغبتك في تبديل الدورة وسوف يقومون بمساعدتك ويمكنك محادثتهم من خلال الرابط التالي. ويرجى الإنتظار قليلا لحين الرد عليك لأنه حاليا يوجد ضغط على مركز المساعدة ومن الممكن أن يتأخر الرد قليلا لهذا لا داعي للإنتظار وسيتم الرد عليكم في أقرب وقت.
- 2 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. الأمر نفس فكرة السؤال السابقة بخصوص ال Data Preparation تنطبق أيضا هنا على ال EDA ولكن تختلف الطريقة حسب نوع البيانات. فال EDA ليس مقتصرا على البيانات الجدولية فهو مجرد اسم لمجموعة خطوات نستكشف بها البيانات ونفهم خصائصها ونرى الأنماط أو المشاكل. إذا فال EDA هو نظرة أولية على البيانات حتى نفهمها جيدا وهو ليس مقتصر على الجداول ولكن الأدوات والأساليب تختلف حسب طبيعة الداتا.
- 3 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. إن فكرة ال Data Preparation & Preprocessing لا تقتصر على البيانات الجدولية (Tabular Data) فقط بل هي موجودة في أي نوع من أنواع البيانات ولكن شكلها وطريقة تنفيذها هي التي تختلف حسب كل نوع. فالبيانات الجدولية (Tabular): هنا الأمر يكون من خلال تنظيف الأعمدة و معالجة القيم المفقودة والتعامل مع القيم المتطرفة وتحويل البيانات النصية لأرقام وتوحيد المقاييس. البيانات النصية (Text / NLP): هنا مرحلة التحضير تكون مختلفة حيث يتم إزالة الرموز الغير مهمة وتحويل النصوص لحروف صغيرة وإزالة ال stop words وعمل stemming أو lemmatization وأحيانا بناء القواميس أو تحويل الكلمات ل embeddings. الصور (Images): هنا نقوم بتغيير حجم الصور resizing وتحسين جودة الصورة مثل تطبيع الألوان (normalization) وتحويلها لتنسيق رقمي مناسب للشبكات العصبية. الصوت (Audio): يتم إزالة الضوضاء وقص أو تقطيع المقاطع وضبط معدل العينة . إذا فإن الأمر واحد نقوم بتجهيز البيانات للنموذج حتى يستطيع فهمها والتعلم منها ولكن الأدوات والأساليب تختلف حسب طبيعة البيانات نفسها.
- 3 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. إذا قمت بتفعيل آلية الإيقاف المبكر (Early Stopping) واستمر التدريب حتى اكتمال جميع ال epochs دون تفعيل التوقف المبكر فهذا الأمر يحدث بسبب عدة احتمالات: أولا لم يتم استيفاء شرط التوقف: فلم يتحقق تحسن كاف في المقياس مثل الخسارة أو الدقة. لم يتجاوز عدد ال epochs الصبر (patience) المحدد. ثانيا إعدادات غير مناسبة: مثلا قيمة ال patience كبيرة جدا. أو قيمة ال min_delta صغيرة جدا. أو لم يتحسن الأداء بما يكفي . ثالثا مشكلة في التهيئة: التهيئة الجيدة للنموذج جعلته يتعلم بشكل مستمر أو أن البيانات سهلة التعلم ولم يصل النموذج لمرحلة overfitting لذلك يجب عليك : التأكد من أن ال monitor يشير إلى المقياس الصحيح. التحقق من قيم patience و min_delta. يجب فحص منحنى التعلم لترى إذا كان هناك تحسن مستمر أم لا . وتأكد من أن آلية Early Stopping مفعلة بشكل صحيح
- 3 اجابة
-
- 1
-
-
بالنسبة إلى دورة تطوير التطبيقات بإستخدام جافاسكريبت وبما أنك تريد أن تصبح مطور MERN Stack فالترتيب الذي أخبرته جيد جدا وهو الترتيب الموجود في الدورة بالفعل فبعد دراسة جافاسكريبت بشكل جيد يجب عليك دراسة React ومن ثم Nodeمع قواعد البيانات وإطار Express . أما بخصوص دورة واجهات المستخدم فالمشاريع في هذه الدورة هي مشاريع ثابته لا تتغير أى ليس من الأفضل إنشاءها بإستخدام React أو أطر العمل الأخرى لأنها ستكون بلا داعي وستكون أصعب بإستخدام React . ولكن لا مشكلة إذا أردت ذلك للتدريب عليها ويمكنك جعل تلك المواقع الثابتة ديناميكية لتعمل بشكل أفضل مع React. ولكن يجب عليك الإنتباه أنه لإتمام الدورة والحصول على الشهادة يجب إتمام تلك المشاريع ورفعها على git .
-
هل تقصد إشتركت هنا في الدورة في الإكاديمية أم ماذا ؟ إذا كان كذلك فستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
-
بالنسبة إلى هذا السؤال فإن مركز المساعدة هم الذين سيستطيعون إفادتك ومساعدتك في هذا الشأن حيث أنهم هم المسؤولون عن الأموار المالية في الأكاديمية هنا . يمكنك محادثتهم من خلال الرابط التالي وإخبارهم بسؤالك هذا : https://support.academy.hsoub.com/conversations ويرجى الإنتظار قليلا لحين الرد عليك حيث من الممكن أن يتأخر الرد قليلا فيوجد ضغط حاليا على مركز المساعدة لذا لا يجب القلق سيتم الرد عليكم في أقرب وقت.
-
أولا إن مدة الدورة هي 72 ساعة كاملة من الدروس . ولإكمال الدورة كاملة فهذا الأمر يختلف من شخص إلى أخر فكل شخص مختلف في الإستيعاب وأيضا في سرعة التطبيق وغيره فمن الممكن أن هناك شخص يفهم الدرس من أول مشاهدة وهناك شخص يحتاج إلى إعادة الدرس أكثر من مرة لهذا لا يمكن تحديد عدد الساعات اللازمة لإتمام الدورة ولكن تقريبيا يمكنك ضرب عدد ساعات الدورة في 3 أو 5 وسيعطيك عدد الساعات المقدرة لإنهاء تلك الدورة مع التطبيق ويمكنك قسمة تلك الساعات على عدد الساعات التي تذاكرها في كل يوم وحينها ستعرف عدد الأيام المقدر إنهاء الدورة فيها. ولكن أنصحك بالتركيز أكثر على الدروس وفهمها والتطبيق مع المدرب وليس الإنشغال بالتركيز على الوقت لتستطيع الدراسة بشكل جيد . ويمكنك مشاهدة الرابط التالي لتعرف مدة كل قسم في الدورة وتفاصيل أكثر حولها : https://academy.hsoub.com/learn/front-end-web-development/ وإليك الرابط التالي لمزيد من التفاصيل والنصائح حول الوقت المقدر لإتمام الدورة وأفضل طريقة لمذاكرتها : بالتوفيق.
-
لا داعي للقلق فهذا أمر طبيعي ويحدث مع الجميع وليس أنت فقط . وهذا الأمر يحدث بسبب إما أنك لم تقم بالتطبيق جيدا مع المدرب أثناء مشاهدة الدروس أو أنك لم تفهم الأساسيات بشكل كامل . ولهذا ينبغي عليك إذا كنت تقوم بتخطي الدروس دون فهمها بشكل كامل أن تقوم بإعادة الدروس سريعا للتأكد من الفهم بشكل كامل . ويجب عليك عند مذاكرة الدروس أن تقوم بالتطبيق بنفسك وليس فقط المشاهدة فهكذا ستنسى المعلومات بشكل سريع . يمكنك حاليا الإكمال في CSS ولا حاجة لإعادة HTML ولكن لو وجدت أثناي الشرح أنك لا تتذكر أى شئ من HTML فحينها سيتوجب عليك إعادة مشاهدة الدروس. ويمكنك قراءة الإجابات التالية لمزيد من النصائح :
-
إن تلك الرسائل تشير إلى أن TensorFlow يحاول تسجيل مكتبات CUDA مثل cuFFT و cuDNN و cuBLAS أكثر من مرة و هذا الأمر يحدث غالبا عندما يتم استدعاء TensorFlow أو Keras في بيئة تحتوي على إصدارات متعددة من المكتبات أو عند وجود تضارب في إعدادات النظام . وأيضا من الممكن أن المشكلة بسبب أنك حاولت إستدعاء المكتبة أكثر من مرة عن طريق تشغيل الخلية عدة مرات أو قمت مسبقا بإستيرادها في خلية أخرى. ولكن بشكل عام فإن هذه الرسائل ليست مشكلة كبيرة ولا تؤثر على وظائف الكود الأساسية فهي مجرد تحذيرات (Warnings) تخبرك بأن المكتبة لم تتمكن من تسجيل المكونات مرة أخرى لأنها مسجلة بالفعل ولكنها لا تمنع الكود من العمل أو الاستفادة من GPU. ويمكنك تجربة الحلول التالية لمحاولة حل تلك التحذيرات : وأبسط حل هو إعادة تشغيل ال kernel لديك ف ال Notebook قبل تشغيل الكود مرة أخرى وهذا يضمن أن البيئة نظيفة وأن المكتبات لم يتم تحميلها مسبقا أيضا تأكد من أن لديك إصدار واحد فقط من TensorFlow و Keras مثبت في بيئتك حيث يمكنك استخدام الأوامر التالية لإلغاء تثبيت الإصدارات القديمة : pip uninstall tensorflow pip uninstall keras pip install tensorflow keras
- 3 اجابة
-
- 1
-
-
إذا كان موقعك يتغير محتواه بشكل دائم أى أنه شبه ثابت مثلا موقع أخبار يتجدد كل 5 دقائق فهنا ال ISR أفضل من ال SSR لأنه أسرع . أما إذا كان موقعك يحتاج بيانات لحظية وديناميكية فإن ال SSR أفضل. أما إذا كان موقعك محتواه ثابت بشكل كامل فإن SSG جيد.
-
أولا CSR (Client-Side Rendering): هنا الصفحة تعود من الخادم فارغة تقريبا أى ملف HTML بسيط به عنصر div فقط. والمتصفح يقوم بجلب ملفات JavaScript ويبدأ بتنفيذها ويقوم ببناء واجهة المستخدم والمستخدم لا يستطيع رؤية المحتوى إلا بعد تحميل وتنفيذ كود الجافاسكريبت. ومن مميزاته أنه سريع بعد أول تحميل لأن البيانات يتم جلبها بدون إعادة تحميل الصفحة ولكن من عيوبه أنه يأخذ وقتا كبيرا عند التحميل الأولي للصفحة وأيضا في ال SEO ضعيف لأن محركات البحث لا تتعامل مع جافاسكريبت بل محتوى ال HTML المعاد من الخادم. ثانيا SSR (Server-Side Rendering) : هنا الخادم بقوم بتوليد كود HTML كامل بالبيانات ويرسله للمتصفح والمستخدم يرى المحتوى مباشرة بدون انتظار. ومن مميزاته انه سريع في التحميل الأولي وأيضا في ال SEO قوي لأن محركات البحث تجد كود ال HTML جاهز. ولكن من عيوبه أنه يقوم بالضغط على الخادم لأن كل طلب يحتاج لمعالجة كبيرة . ثالثا SSG (Static Site Generation) : هنا الصفحات يتم توليدها مرة واحدة وقت البناء build وتتحول إلى كود HTML ثابت و المستخدم يحصل على كود ال HTML جاهز مثل SSR لكن بدون ضغط على الخادم فالملفات جاهزة بالفعل و هو يستخدم للمدونات وللصفحات الثابتة. ومن مميزاته أنه سريع جدا وفي ال SEO يعمل بشكل أفضل. رابعا SEO (Search Engine Optimization) : ال SEO هو عبارة عن تحسين ظهور موقعك في محركات البحث أى كيف ترى محركات البحث موقعك وهو يعتمد على وجود محتوى في HTML و استخدام ال meta tags وسرعة تحميل الصفحة وأن يكون مناسب للهواتف . وإخيرا إن ال SSR لا ينفذ في المتصفح مباشرة بل هو عملية تحدث في الخادم ولكن النتيجة أن ال HTML يتم توليده من ال Frontend.
-
إن pool.query() هذا ينفذ استعلام (SQL query) على قاعدة البيانات والإستعلام الموجود في الكود لديك يقوم ب : إضافة صف جديد إلى جدول todo. والعمود description يأخذ قيمة description المرسلة من الطلب request. والعمود completed يأخذ قيمة completed أو false إذا لم يتم إرسالها في الطلب. أما RETURNING * فمعناها بعد الإضافة نقوم بإعادة الصف الجديد كاملا. وما يعيده pool.query() هو كائن يكون فيه خاصية rows وهي Array أى مصفوفة تحتوي الصفوف التي تم إعادتها من قاعدة البيانات مثلا: newTodo.rows // سيكون شئ كالتالي [ { id: 1, description: "description", completed: false } ] ولهذا إستخدمنا rows[0] لأننا هنا قمنا بإضافة صف واحد فقط وأعدنا صف واحد من خلال RETURNING . إذا كما في المثال السابق rows ستعيد مصفوفة بها صف واحد وللحصول على هذا الصف إستخدمنا rows[0] وهو الصف الأول في المصفوفة. ولو لم نستخدم rows[0] سيتم إعادة مصفوفة كاملة بها عنصر واحد.
-
هذا الأمر سيصيبك بالتشتت ولن تتعلم بشكل جيد . حينما تبدأ بدراسة لغة أو تقنية لا تتجه إلى غيرها قبل فهم الأولى بشكل جيد منعا لتشتتك ومنعا لنسيان الدروس التي قمت بمذاكرتها أو تداخل المعلومات معا . وبما أن React Native هي مبنية على إطار عمل React فيجب أولا دراسة أساسيات React بشكل جيد والتطبيق عليها قليلا . وبعد الإنتهاء يمكنك ال تعلم React Navtie وستجد سهولة في الأمر لتعلمك React. ويجب عليك معرفة أن React Native هو إطار عمل لإنشاء تطبيقات الهواتف المحمولة أما React فهو خاص بتطبيقات الويب . لذلك ضع أمامك الهدف الذي تريده حتى لا تتشتت وقم بدراسة التقنيات المناسبة للهدف الذي وضعته.
- 3 اجابة
-
- 1
-
