-
المساهمات
8752 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
117
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو محمد_عاطف
-
وعليكم السلام ورحمة الله وبركاته . يجب عليكى تنفيذ امر npm run dev لتوليد ملفات ال assets من js و css لتشغيل المشروع . لهذا يجب تشغيل موجه اوامر جديد "cmd" وتنفيذ الامر التالى . npm run dev واعادة تحديث الصفحة وكل شئ سيعمل جيدا ان شاء الله . واخبارى بالنتيجة
-
هل قمت برفع الملفات بعد تنفيذ امر build ام قمت بتنفيذ امر build على السيرفر ؟ حيث ان الخطأ 404 يعنى ان هذه الملفات ليست موجودة على السيرفر فتاكد من ان هذا المسار موجود لديك والملفات موجودة ايضا واذا لم تكن كذلك فقم برفع الملفات مرة اخرى . حيث ان هذه هى static اى ثابته لا تتغير فان السيرفر عند عمل build يقوم بجلب البيانات من ال apis و انشاء صفحات ثابته فحتى لو تم تغير البيانات فى قاعدة البيانات فان الملفات لن تتغير الا حينما يتم تنفيذ امر build من جديد
-
توجد عدة دورات تقدمها اكاديمة حسوب وكل دورة لها اكثر من مسمى وظيفى خاص بها على حسب الاقسام التى قم بالانتهاء منها. اولا دورة تطوير التطبيقات باستخدام لغة Python بعد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة بايثون و backend devolper باطار عمل django وايضا تهيئك لمجال تحليل البيانات والذكاء الاصطناعى وتعلم الالة . وهذه الدورة اذا اردت ان تصبح مطور واجهات خلفية . ثانيا دورة تطوير التطبيقات باستخدام JavaScript بعد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة جافاسكريبت وتمكنك من ان تصبح مطور واجهات خلفية MERN stack وايضا تمكنك من تطوير تطبيقات الهاتف ومن الممكن ان تستعملها لتصبح FULL STACK Developer ثالثا دورة تطوير تطبيقات الويب باستخدام لغة PHP بعد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة php باطار عمل لارافيل و ووردبريس وهذه الدورة تؤهلك لتصبح مطور واجهات خلفية بواسطة php. رابعا دورة تطوير تطبيقات الويب باستخدام لغة Ruby عد الانتهاء من هذه الدورة يمكنك ان تصبح مطور برمجيات بلغة ruby وهذه الدورة تؤهلك لتصبح مطور واجهات خلفية. خامسا دورة تطوير واجهات المستخدم بعد الانتهاء من هذه الدورة يمكنك ان تصبح مطور واجهات امامية . ولتصبح full stack يجب ان يكون لديك المعرفة بلغة او عدة لغات من الواجهات الخلفية و دورة تطوير الواجهات الامامية .
-
الخطأ يخبرك ان GET["time"]_$ غير معرف لذلك تاكد من انك تقوم بارساله فى العنوان url حتى لا يحدث هذا الخطا
- 9 اجابة
-
- 1
-
-
نعم لا مشكلة هل يمكنك ارسال رساله الخطا لاساعدك بشكل افضل
- 9 اجابة
-
- 1
-
-
الخطأ لديك هو انك تقوم بوضع رقم 0 دائما فى المصفوفة الاولى وبهذا سيتم ترجاع مصفوفة واحده فقط الى الخادم . والحل هو وضع ال id الخاص بالمستخدم row["teacher_number"]$ بدلا من ال 0
- 9 اجابة
-
- 1
-
-
يمكنك تحقيق ذلك عن طريق تسمية ال input كمصفوفة وسوف يتم ارساله الى الخادم كمصفوفة هكذا. <input type="checkbox" name="name=name[0][0]" value="0"> <input type="checkbox" name="name=name[0][0]" value="1"> <input type="checkbox" name="name=name[0][1]" value="0"> <input type="checkbox" name="name=name[0][1]" value="1"> <input type="checkbox" name="name=name[0][2]" value="0"> <input type="checkbox" name="name=name[0][2]" value="1"> حيث ستكون المصفوفة الاولى هى الخاصة بحفظ القيم للسمتخدم والمصفوفة الثانية هى الخاصة بالايام . وسوف تصلك النتيجة هكذا الى الخادم . $data = [ [1,1,1,0,0] , [1,1,1,0,0] , [1,1,1,0,0] ,[1,1,1,0,0] ] // حيث ان المصفوفة الداخلية هى القيم الخاصة بالايام والخارجية الخاصة بالمستخدمين .
- 9 اجابة
-
- 1
-
-
يبدو انك تريد ان تصل بموجه الاوامر الى جزء ال D لديك و الى مجلد بداخله . واسهل طريقة لذلك هى عن طريق كتابة كلمة cmd فى مكان عنوان الملف هكذا . او يمكنك الضغط على زر الفارة الايمن فى مكان فارغ بداخل المجلد واختيار Open in Windows Terminal هكذا . وسيتم فتح موجه الاوامر لديك فى المكان الذى تقف فيه .
-
هذا كود مختلف عن السابق الذى ارسلته حيث ان المشكلة السابقة تم حلها . قم باسبتدال هذا السطر بالسطر هذا 'password' => ['required'], حيث انه كان مطلوب ان يكون هناك حقل اخر لتاكيد كلمة السر وانت لا تقوم بارساله . وايضا هنا قواعد للتحق من كلمة السر مثل يجب ان تتكون من حروف وارقام ولا تقل عن 8 خانات ولذلك قد قمنا بحذفهم. ومن المفترض بعد هذا التعديل ان يتم حل المشكلة لديك ان شاء الله
-
اذا كما اخبرتك قم بحذف الجزء من الكود الخاص بالتحقق منهم الذى يتحقق من ان يجب ان يكونو موجودين . وقم بحذفهم . لاحظ هنا انك تضع انهم required اى اذا لم يتم ارسالهم من الواجهة الامامية فلن يتم انشاء المستخدم. وقم باستبدال الكود السابق بالكود الذى ارسلته له فى التعليق السابق.
-
اولا يجب على التسجيل ان يكون API وليس كما هو حاليا فى الكود فان 302 هو كود إعادة التوجيه لان التحقق من البيانات لم يتتحقق ولذلك يعيد توجيهك مع رسائل الخطأ . الخطأ لديك انك لا ترسل البيانات المطلوبة التى تحتاجها الواجهة الخلفية . فان حقل lName مطلوب و هو ليس موجود فى الواجهة الامامية . وايضا حقل occupation و gender و birthday فانت قمت بالتحقق فى الواجهة الخلفية منهم وان لم يكونوا موجودين فلن يتم انشاء المستخدم. والحل هو اما تمريرهم من الواجهة الامامية او اذا لم يكونو مطلوبين فى قاعدة البيانات فيمكنك حذف هذا الكود من الملف لديك .و اسبتدالة بالتالى . $incomingFields = $request->validate([ 'name' => ['required', 'min:2', 'max:10', Rule::unique('normal_users', 'name'), 'alpha'], 'email' => ['required', 'email', Rule::unique('normal_users', 'email')], 'password' => ['required', 'min:10', 'max:200'], ]);
-
وعليكم السلام ورحمة الله وبركاته . حسب الكود المرفق فانه لا يوجد اى مشاكل . وبما انه كان يعمل سابقا و لا يعمل الان فمن الممكن ان تكون المشكلة فى الواجهة الامامية او فى جزء اخر من الواجهة الخلفية . لذلك لمساعدتك بشكل افضل فيجب ارسال رسالة الخطأ سواء فى الواجهة الخلفية او فى المتصفح لمعرفة مكان ونوع الخطأ . وهل يمكنك ايضا ارسال نسخة من البيانات التى يتم ارسالها للواجهة الخلفية من الواجهة الامامية فمن الممكن انك ترسل بيانات ليست كاملة وبما انه يتم التحقق من البيانات اولا فمن اللمكن ان تكون هذه هى المشكلة
-
وعليكم السلام ورحمة الله وبركاته . المشكلة تكمن فى جزء الباك اند حيث ان هذه جزء من التقيديات الخاصة بال Cors. فعندما تستخدم Fetch API على ال CORS حيث لا يكون الطلب من نفس الموقع فانه يحدث تقيد للheaders التى بمكنك قرائتها . ويمكنك فقط قراءة التالى . Cache-Control Content-Language Content-Type Expires Last-Modified Pragma ولن يمكنك قراءة اى شئ اخر من ال headers . response.headers.forEach(function(val, key) { console.log(key + ' ----- ' + val); }); واذا قمت بتنفيذ هذا الكود الذى سيطبع ال headers المرسلة من الخادم لن تجد بداخلها ال jwt لان ليس لك الصلاحية لقرائته بسبب ال cors كما وضحت سابقا. والحل هو ارسال ال jwt فى ال body الخاص بال response و قراءته من ال body فى الواجهة الامامية وليس من ال headers . ويوجد حل اخر ولكنه ليس امن ومن الافضل عدم استخدامه . قم بالذهاب الى ملف config\cors.php تاكد من ان allowed_origins تساوى * . وبداخل exposed_headers قم باضافة Set-Cookie او على حسب الاسم الذى ستضع فيه ال jwt وذلك ليمكنك من قراءته فى الواجهة الامامية. ولكن كما وضحت لك فان هذه الطريقة ليست امنه وستصيب الموقع الخاص بثغرات تمكن المهاجمين من قراءة المعلومات الخاصة بالمستخدمين. لذلك الحل الاول هو الافضل وهو ما ارشحه لك لاستخدامه
- 1 جواب
-
- 1
-
-
ان Microsoft edge هو متصفح خاص بنظام ويندوز و هو تطوير للمتصفح القديم الخاص ب Microsoft internet explorer. وهو الان يعمل على المحرك Chromium مما يجعله افضل كثيرا واسرع من البرنامج القديم internet explorer. ويمكنك من خلاله تصفح الانترنت والمواقع وايضا ياتى بمحرك البحث الغنى عن التعريف Bing وهو محرك البحث المنافس ل google والخاص بشركة Microsoft. ويوجد العديد من المتصفحات خلاف Microsoft edge مثل google chrome و firefox و opera . ويمكنكى اختيار المتصفح المناسب لكى من حيث الاضافات التى يحتويها ومن حيث السرعه والملائمة .
-
وعليكم السلام ورحمة الله وبركاته . هل تقصد انك تريد توجيه منفذ الاوامر (cmd) داخل partion او مجلد ؟ اذا كان كذلك فاسهل طريقة هى بالذهاب الى المكان الذى تريد ان يبدا منه منفذ الاوامر و فى مكان مسار المجلد قم بكتابة كلمة cmd ثم اضغط على enter .
- 4 اجابة
-
- 1
-
-
ان المتغير employees هو من نوع قائمة "list" وهو data structure فى لغات البرمجة يحتوى على عدة عناصر بداخله وكل عنصر له ترتيب ورقم فى المصفوفة . وللوصول الى اى عنصر فى المصفوفة فنقوم بكتابة رقم العنصر بداخل [] بعد اسم المصفوفة مباشرة . لذلك قمنا بكتابة index وهو يشير الى رقم العنصر الذى نريد طباعته. ويمكنك قراءة هذا الشرح على موقع موسوعة حسوب لتعرف اكثر عن القوائم فى بايثون lists .
-
وعليكم السلام ورحمة الله وبركاته . الخطأ لديك هنا كما اشرت فى الصورة التالية . لاحظ انك قد اخطأت فى كتابة اسم المتغير gradients و قمت بكتابته gradinets لذلك فقط قم بتعديل الاسم وسيعمل معك.
- 3 اجابة
-
- 1
-
-
الكود يعمل جيدا ولا يوجد اخطاء فيه ففى المتغير الاول filteredcountry قمت بعمل ترشيح بالنسبة لل country وتقوم بالتحقق من المتغير country1 الذى قيمته "امريكا" . والمتغير الثانى filteredcountry2 تقوم بعمل ترشيح بالنسبة لل country كالذى فى السابق ولكن تقوم بالتحقق من المتغير place الذى يظهر من الصورة التى ارفقتها ان قيمته "اميركا" لذلك لاحظ ان "اميركا" != "امريكا" اذا المتغيرين country1 و place ليسو متساويين لهذا لا يظهر نتائج فى ال filteredcountry2 . فاعتقد فقط انك لم تنتبه للقيمة المرسلة للمتغير place .
-
يوجد بعض الاخطاء فى جملة الاستعلام لديك . اولا يفضل استخدام left join فى جميع الاماكن وعدم الجمع بين right join و left join الا اذا دعت الحاجة وهنا لا يجب استخدام right join فانت فقط تريد ملفات المشاريع جميعها سواء كان الربط صحيحا او خاطئا ولا تريد باقى الجداول كاملة . ثانيا هناك خطأ فى الربط بين جدول student و project فقد تم الربط بين Num_STD و id_std وليس Num_std . والاستعلام الصحيح هو التالى SELECT f.path_file , p.name_project, s.Num_std , s.Name_std , s.Email_STD , t.Name_teah, d.Name_dept FROM file_project f LEFT JOIN projects p on p.id_Pro = f.id_p LEFT JOIN student s ON p.Num_STD = s.id_std LEFT JOIN teachers t ON s.id_teah = t.id_teah LEFT JOIN departments d ON t.id_dept = d.id_dept;
- 6 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته . الامر بسيط ان شاء الله . ان نظام التشغيل هو المتحكم الرئيسى لديك فى الجهاز وهو ما يقوم بربط الهاردوير بالسوفتوير وينظم طريقة عملهم و التاكد من عدم حدوث اخطاء منهم او اى تداخل بينهم . وهو يوفر لك واجهات برمجية API للتحكم فى الاوامر و تنفيذ المعلومات . وبالفعل كما تقول فان جيمع المعالجات تفهم لغة الاله ولكن المشكلة ليست هنا . لنفرض مثلا ان لدينا شركة معينه . وهناك اكثر من مدير لهذه الشركة وجميعم يتحدثون لغه واحده والموظفين ايضا يتحدثون نفس اللغه . الان اذا جاء مشروع او امر للمدير فان كل مدير تفكيره او ذكاءه او ادارته للامور مختلفه طبعا وليست متشابهة وهناك مدير اكفاء من مدير اخر وهكذا. الان جيمع المديرين سينفذون نفس العمل ولكن بطرق مختلفه وكل مدير سيطلب او ينظم او يرتب العمل من الموظفين بطريقة مختلفه عن الاخر . وجيمعه سيصلون للنتيجة المرجوة ولكن سيكون هنا مدير افضل من مدير اخر فى اشياء معينة وهكذا . ونظام التشغيل فى المثال السابق هو المدير فكل نظام تشغيل يتميز عن الاخر فى شئ او يتعامل مع اشياء واخرى لا او اسرع من الاخر وهكذا . وبما ان كل نظام تشغيل (مدير) لديه طريقة عمل خاصة اذا يجب على من يعمل معه ان يتفهم هذا النظام ويسير عليه . وهكذا فان البرامج والسوفتوير يجب ان تستعمل ال API (النظام) الخاص الذى يوفره نظام التشغيل (المدير) . ولهذا فاذا جئنا ببرنامج مثلا يعمل على نظام Mac اذا فان هذا البرنامج يسير على النظم التى يطلبها المدير Mac واذا حاولنا تشغيل هذا البرنامج على windows مثلا فلن يعمل لان النظام الذى يسير عليه لا يتناسب مع النظام الخاص ب windows .
-
لاحظ ان القيمة التى تم عمل التكرار عليها فى for loop هى صف فى قائمة ( tuples in a list) وحيث ان الصف هو زوج من قيمة ومفتاح . [(1, 2), (3, 4), (5, 6)] حيث ان المفتاح هو الرقم فى يسار الصف اى 1 و 2 و 5 هم مفاتيح وهو المتغير الاول على اليسار i الذى تم تمريره ل for . والقيم هى الرقم فى يمين الصه اى 2 و 4 و 6 هم قيم وهو المتغير الثانى j الذى تم تمريره ل for . اذا نفهم من هذا ان for تقوم بالتكرار على القوائم واذا كانت القوائم تحتوى على صفوف من مفاتيح وقيم فيمكننا الحصول عليها بتمرير متغير ل for وسيصبح المتغير الاول من اليسار هو قيمة المفتاح والمتغير الثانى هو القيمة نفسها .
- 3 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته . يوجد العديد من الطرق والحلول لهذه المشكلة و الحل الاسهل والاسرع هو اولا ترتيب المصفوفة من الاصغر الى الاكبر ومن ثم التكرار عليها بعد الترتيب عن طريق حلقة التكرار و اختيار الرقم على حسب الشرط الذى تريده واذا كنت تريد الرقم الاصغر الثانى دائما اذا يمكنك فقط استخدام الرقم الثانى فى المصفوفة وسيكون هو دائما ثانى اقل رقم . ويمكنك تجربة حلول اخرى بنفسك والتفكير فى خوارزمية جيده واخبارنا بما وصلت اليه حتى نرى معك اذا كان ما قمت به صحيحا ام لا .حتى تحقق اقصى استفادة من التعلم . بالتوفيق لك
-
العفو لا شكر على واجب . واياكم اللهم امين
- 18 اجابة
-
- 1
-
-
- 18 اجابة
-
- 1
-