ستحتاجها في اغلب مواضيع البرمجة تقريباً ولاسيما إذا كنت تسعى للعمل على مشاريع كبيرة أو معقدة فهي توفر مزايا مهمة مثل المرونة من خلال تعدد الأشكال الذي تقدمه والقابلية لإعادة استخدام الكود عن طريق ال inheritance و بناء التطبيق ك modules لتسهيل استكشاف الأخطاء. وإذا اردت التعرف اكثر عن مزاياها أنصح بالطلاع على النقاش التالي : https://academy.hsoub.com/questions/23005-%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9-%D9%83%D8%A7%D8%A6%D9%86%D9%8A%D8%A9-%D8%A7%D9%84%D8%AA%D9%88%D8%AC%D9%87-%D8%A8%D9%84%D8%BA%D8%A9-%D8%A7%D9%84%D8%AC%D8%A7%D9%81%D8%A7-%D8%B3%D9%83%D8%B1%D9%8A%D8%A8%D8%AA/#comment-68702
0
وعليكم السلام ورحمة الله، الرابط الذي شاركته لا يحتوي على اي جدول، ولكن يمكنك عمل الجدول باستخدام js حيث تقوم بإرسال طلب إلى الخادم الذي يقدم الـ api وتقوم بعرض البيانات التي يرسلها الخادم مثل : async function getGames() { let url = 'example.com/api/route'; try { let res = await fetch(url); return await res.json(); } catch (error) { console.log(error); } } وبعد ذلك تقوم بحقن المعلومات التي تحصل عليها داخل الـ html مثل : async function renderGames () { let
اشيع لغات الباك اند هي nodejs و php ويمكنك الاطلاع على مقارنة جيدة بينهما من خلال الاطلاع على الفيديو التالي : https://www.youtube.com/watch?v=dtsJyxajGpI أما بالنسبة لباقي لغات البرمجة فهي تعتمد على اللغات التي تعرفها بالفعل فإذا كنت على دراية جيدة ببايثون فقد يكون الاتجاه نحو Django هو الحل الامثل من اجلك. وفي حال كنت تريد ان تتعلم طريقة ما تساعدك في بناء هذا المشروع فقط ولا تريد اتعاب نفسك في تعلم الـ backend فيمكنك الاطلاع على firebase التي تقدم حلول لكل
اذا كنت قد انهيت react فهذا يعني انك مستعد للعمل كمبتدئ بالفعل، ولكن الخطوة التالي في مسيرة التعلم فهي تعتمد على المعلومات التي تعلمتها : لاحظ خريطة التعلم التالية انظر ما لذي لم تتقنه من الامور التي تأتي قبل تعلم اطار العمل وحاول اتقانها : https://suar.me/1POn2 وانصحك بالاطلاع على المقالة التالية من حسوب : https://academy.hsoub.com/programming/general/%D8%AA%D8%B9%D9%84%D9%85-%D8%AA%D8%B7%D9%88%D9%8A%D8%B1-%D8%A7%D9%84%D9%88%D9%8A%D8%A8/
اعتقد ان nodejs يقبل المسارات الـ relative ولكن الوظيفة sendFile هي التي لا تقبل المسارات الـ relative. وهنالك طريقة سهل لفعل ذلك وهي كالتالي : var path = require('path'); res.sendFile(path.join(__dirname, '../public', 'index1.html')); حيث dirname__ تعبر عن مسار المجلد الذي توجد فيه فإذا كان الملف الذي يحتوي الكود السابق في مجلد اسمه app سيكون الـ dirname__ هو المسار الـ absolute للمجلد app . ويمكنك تعديل المسار السابق ليطابق المسار الذي تريده وهو سيعمل على كل بيئات العمل حيث أن الخاصية path.join
هذا الكود المقدم من ويكبيديا uint32_t P[18]; uint32_t S[4][256]; uint32_t f (uint32_t x) { uint32_t h = S[0][x >> 24] + S[1][x >> 16 & 0xff]; return ( h ^ S[2][x >> 8 & 0xff] ) + S[3][x & 0xff]; } void blowfish_encrypt(uint32_t *L, uint32_t *R) { for (short r = 0; r < 16; r++) { *L = *L ^ P[r]; *R = f(*L) ^ *R; swap(L, R); } swap(L, R); *R = *R ^ P[16]; *L = *L
يمكنك فعل ذلك بالتأكيد، ولا اعتقد ان ربط قاعدة البيانات الرئيسية سيؤثر علي المواقع الآخرة والجدول، ولكن اعتقد انك بحاجة للتعمق اكثر في مجال التحقق و اعطاء الصلاحيات حتى لا يؤثر ذلك على الامان. كذلك فإنه يمكنك استخدام اكثر من قاعدة بيانات لكل من المهام المختلفة ولست بحاجة لاستخدام قاعدة بيانات واحدة لكل المهمات في كل المواقع. وكل هذا يعتمد على الموارد المتاحة لديك وعلى حجم المشروع الذي تعمل عليه.
في البداية لا يوجد مطور ويب ماهر في مجاله لا يأخذ html و CSS على محمل الجد. ولا يمكنك بناء موقع تفاعلي بالـ JavaScript بدون ان تستخدم كل من html و CSS أو بدائلهما في JavaScript وبالتالي عليك اتقان html و CSS حتى تبني هذا الموقع التفاعلي. ولكن استخدام JavaScript لا يعني دائماً ان الموقع سيكون بطيء بل على العكس تماماً فكتابة الاكواد باستخدام JavaScript فقط قد تكون هي الحل للكثير من المشاكل في الاداء ولاسيما استخدام المكاتب التي تتيح
قم بوضع الملف gitignore داخل المجلد MERN-ECOMMERCE مباشرةً، حيث ان best practices هي ان تضع ملف الـ gitignore داخل ملف الـ root مباشرةً وملف الـ root لديك هو MERN-ECOMMERCE. قد يفيد الاطلاع على النقاش التالي : https://stackoverflow.com/questions/5698148/where-does-the-gitignore-file-belong توثيق GitHub الخاب بملف الـ gitignore : https://docs.github.com/en/get-started/getting-started-with-git/ignoring-files بعد قول ذلك فإنه يمكنك وضع ملفي gitignore وسيتم دمجهما معاً بشكل تلقائي عندما يتعامل git معهم.
لا لست بحاجة للبدء من البداية، ولكن عليك مراجعه اساسيات الـ css ويمكنك فعل ذلك من كثير من المصادر وأفضلها هو الملخصات الخاصة بالـ css فيحال كنت قد قمت بالتلخيص سابقاً. أو يمكنك الاطلاع على الصفحة الرئيسية للـ css من موسوعة حسوب والتي تحتوي على شرح مختصر لكل عناصر css والهدف هنا ليس حفظ كل العناصر ولكن معرفتها ومعرفة ما تستطيع عمله وذلك حتى تستطيع العودة إليها فيحال احتجت لاستخدامها : https://wiki.hsoub.com/CSS ومع الممارسة ستجد نفسك قد حفظت اغلب هذه
بشكل عام فإن رفع الموقع على استضافة GoDaddy هو امر سهل، ولكن يعتمد على نوع الاستضافة وغالباً ما تكون الاستضافة عبارة عن استضافة مشتركة مع لوحة تحكم Cpanel. وكذلك فإن موضوع الرفع يعتمد على نوع المشروع الخاص بك وأسهل المواقع في عملية الرفع هي صفحات الويب الـ Frontend وهي تتطلب فقط وضع ملفات الموقع في ملف الـ public. والاصعب هي المواقع التي تحتوي backend ويجب عليك ان تتأكد من كون الاستضافة تدعم لغة الـ backend الذي تستخدمها وتختلف طريقة الاعداد
وعليكم السلام ورحمة الله، وجود اشخاص "تعلمت برمجه واتقنتها بس مش شغالين بيها او هما مكملوش" لا يعني ان المجال سيء فهنالك اشخصا من هذا النوع في كل المجالات. سوق البرمجة قوي جداً وفيه طلب كبير، وفي حال اصبحت لديك خبرة كافية فبالتأكيد ستحصل على عمل. والجميل هنا ان رأس المال لديك هو خبرتك و معلوماتك التقنية و ما يلزمك هو الحاسب والانترنت والكهرباء فقط، ولا يوجد مجال عمل بهذه السهولة للأشخاص المبدعين. واعتقد انك لن تحصل على الحافز الذي
دورات أكاديمية حسوب تضعك في مستوى متوسط إلى جيد في مجال الدورة بشكل عام، ومميزتها أنها تتطور باستمرار ويمكنك الرجوع إليها في اي وقت. أما بالنسبة لموضوع عدد الساعات القليل، فلا اعتقد أنه قليل للدرجة التي تعتقدها أنت حيث انه لا يحسب عدد ساعات المشاريع الاضافية التي تستطيع متابعتها في الدورة وموسوعة حسوب و المقالات التي تنشر في الأكاديمية و ساعات التطبيق خلف المدرب حيث انك ستطالب بالمشاريع التي طبقتها خلف المدرب حتى تستطيع التقدم للامتحان النهائي، كما ان الدورة
هنالك الكثير من الأسباب لبطء الموقع، وغالباً ما تكون المشكلة من الموقع نفسه. وافضل الاستضافات هي الموجودة في مكان قريب من المستخدمين، فثلاً : إذا كان مستخدمي الموقع امريكان فيفضل ان تكون الاستضافة أمريكية وهكذا. وأن تكون تدعم الـ cdn "وهذا يعتمد على الموقع أيضاً". اطلع على المقالات التالية : https://academy.hsoub.com/questions/21525-%D9%85%D8%B4%D8%A7%D9%83%D9%84-%D8%A7%D9%84%D8%AA%D8%B5%D9%85%D9%8A%D9%85-%D8%A7%D9%84%D8%AA%D9%8A-%D8%AA%D8%A4%D8%AF%D9%8A-%D8%A5%D9%84%D9%89-%D8%A8%D8%B7%D8%A6-%D8%AA%D8%AD%D9%85%D9%8A%D9%84-%D8%A7%D9%84%D9%85%D9%88%D9%82%D8%B9/#comment-63891 https://academy.hsoub.com/questions/16456-%D8%A7%D9%84%D8%A7%D8%B3%D8%AA%D8%B6%D8%A7%D9%81%D8%A9-%D9%88-%D8%A8%D8%B7%D8%A3-%D8%A7%D9%84%D9%85%D9%88%D9%82%D8%B9/#comment-47674
لحل المشكلة تحتاج إلى تعديل الخصائص المعطاة للـ container ، لاحظ : .bg .container { /* قم بإضافة السطر التالي */ transform: translateY(-50%); /* ********************* */ position: absolute; top: 50%; left: 0; width: 100%; text-align: center; color: white; } الانحراف للأعلى الذي تعاني منه، بحدث لأن اعطيت الـ container الخاصية top: 50%; وبالتالي سيكون هنالك 50% من طول الشاشة في الأعلى ثم يأتي العنصر container وبالتالي يبدأ العنصر بعد نصف الشاشة. والخاصية transform التي اعطيناها القيمة translateY(-50%) تقوم بإزاحة العنصر