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

كل الأنشطة

تحدث تلقائيًا

  1. الساعة الماضية
  2. اليوم
  3. وعليكم السلام ورحمة الله وبركاته . أولا لا يمكن المقارنة بين ال objects و بين data structures فهما شيئان منفصلان ولنشرح كل منهما : إن الكائنات (Objects) تُستخدم الكائنات في البرمجة الكائنية التوجه (Object-Oriented Programming)، وهي منهجية برمجية تركز على تنظيم البرامج حول الكائنات التي تتفاعل مع بعضها البعض حيث يتم إنشاء صنف (class) يعبر عن سلوك هذه الكائنات مثل السيارة أو الكتاب أو المستخدم ...... إلخ , ويتم توظيف هذا السلوك عن طريق إنشاء خصائص وسمات هذا الصنف . ويتم إنشاء كائن من هذا الصنف أى ان الكائن هو هذا العنصر الذى يتم إنشاءه من الصنف . ويمكنك قراءة هذا الدرس لنفهم أكثر عن الكائنات . أما عن هياكل البيانات (Data Structures): فهو علم مهتم بكيفية تنظيم وتخزين البيانات بشكل منظم لتحقيق أداء معين أو تلبية احتياجات معينة , حيث تشمل هياكل البيانات مجموعة متنوعة من الطرق لتنظيم البيانات مثل القوائم المتسلسلة، الأشجار، الجداول، إلخ. غالبًا ما تستخدم لتخزين وإدارة مجموعات كبيرة من البيانات وتوفير عمليات فعالة للبحث والإدخال والحذف ويتم غالبا إنشاء تلك الهياكل عن طريق الأصناف والكائنات . تلخيصا للسابق يمكننا القول إن الكائنات تمثل مفاهيم وكيانات في البرمجة تحتوي على بيانات وسلوك ، بينما تعتبر هياكل البيانات ترتيبا وتنظيما للبيانات لتحقيق أهداف معينة مثل الفعالية أو السهولة في الوصول إلى البيانات.
  4. السلام عليكم هو اي الفرق بين الobjects و بين data structures ؟
  5. البارحة
  6. شكرا اخي الكريم لتوضح المشكله لي لقد عدلت كل شيء والان هو يعمل ❤
  7. يوجد لديك عدة أخطاء . اولا في ملف web.php فى السطر الذى تقزم بتحديده هذا السطر زائد ولا يجب كتابته حيث انك قمت بتعريف resource لل blog ولهذا فإن هذا السطر لا يجب كتابته . اما الخطأ الذى يظهر لديك هو انه يستقبل en وليس ١ لانك قمت بكتابة prefix ووضعت local parameter لهذا يجب على الدالة show ان تستقبل معاملين الاول هو اللغه local والثانى هو id لذلك قم بإضافة معامل قبل ال id يسمى lang .
  8. السلام عليكم التكلفه مشروع تحسب التكلفه بناء على الاشياء التي تطلبها تواصل معي على +972567013418 لتزويدك المزيد من التفاصيل اذا اردت
  9. App\Http\Controllers\BlogController::show(): Argument #1 ($id) must be of type int, string given, called in F:\AjeelAlSalam\vendor\laravel\framework\src\Illuminate\Routing\ControllerDispatcher.php on line 46 ما زاله المشكله موجوده يستقبل ال id من رابط هذا http://127.0.0.1:8000/en/blog/1 ال ar لا اعرف يجب ان يستقبل 1
  10. السلام عليكم انا اعمل على مشروع بلغه برمجه php وهناك جزئيه في الموقع تحتاج الى استخدام سكريبت بايثون وهي انه يوجد لدي صور كثيرة (dataset images) وأريد ان ارفع صورة او اختار صورة ومن خلال سكريبت بايثون يخرج لي الصور المشابهة لهذه الصورة وانا ساقوم بعرضها باستخدام php كيف يمكنني تنفيذ هذا الاسكريبت وهل يوجد مكتبه جاهزة يمكن استخدامها وشكرا..
  11. هل من الممكن ان توضح اكثر بالكود لو سمحت؟
  12. لا يتم إعادة مصفوفة في خاصية data، قم بطباعة data وتفقد ما الذي يتم إعادته، فأنت حاليًا تحاول استخدام ميثود map على مصفوفة لكن data ليست مصفوفة، لذا map غير متاحة.
  13. شكرا لك تم حل المشكلة ولكنى عندى سؤال اخر لو تكرمت ظهرت مشكلة اخرى عن اضافة عنوان جديد والضغط هنا يحولنى لصفحة بيضاء وهنا الخطأ فى inspect انا لا افهمة صرحة
  14. نعم أحسنتي الكود جيد ولكن توجد بعض المشاكل و بعض التعليقات . أولا إن المطلوب هو إستقبال عناصر المصفوفة من المستخدم ومن ثم طباعة جميع العناصر ما عدى العنصر رقم 3 في المصفوفة . وما قمتى به هو طباعة المصفوفة بأكملها مع جميع العناصر وقمتي فقط بالتاكد من ان القيمة المدخلة هى 3 وليس مكان عنصر المصفوفة . أما بالنسبة لمستوى الكود فهو جيد لا مشكلة به و لا يمكن إختصاره أكثر من هذا . والآن لنصلح الأخطاء معا : بالنسبة لهذا السطر c+=1 انتي تقومين بتنفيذه مرتين وهكذا فإن المستخدم إذا ادخل مثلا حجم المصفوفة 4 سيتم سؤاله مرتين فقط وستصبح المصفوفة يوجد بها عنصرين فقط أى ان نصف المصفوفة لن يتم إنشاءه والحل هو إدخال c+=1 بداخل هذا الشرط قبل سطر continue والخطأ الثانى هو أننا يجب أن نتاكد من المتغير c وليس value لانه كما أخبرتك يريد طباعة المصفوفة ما عدا العنصر الثالث وليس رقم 3 . وايضا بما أنكى قمتى بوضع المتغير c ب 0 إبتداءا إذا فإن العنصر الثالث سيكون ترتيبه 2 . ليصبح الكود الصحيح كالتالي : def func(): size=int(input("enter the number of your array's size")) c=0 array=[] while c < size: value=int(input("enter one items")) if c == 2: c+=1 continue array.append(value) c+=1 for i in array: print(i) func()
  15. # # // قم بكتابة دالة تستقبل مصفوفة من المستخدم وتقوم بطباعة جميع عناصر المصفوفة ماعدا العنصر رقم 3 def func(): size=int(input("enter the number of your array's size")) c=0 array=[] while c <size: value=int(input("enter one items")) c+=1 if value ==3: continue array.append(value) c+=1 print(array) func() الكود بعد تنفيذ التعليمات مع العلم انا لم ادخل للامتحان بعد ولكن كنت ارغب في الحصول على المساعدة لحل السؤال اعلاه السؤال الان هذا الكود نفذ لي المطلوب ولكن ارغب معرفة مستوى الكود وهل يوجد اختصار او حل افضل للحصول على نفس النتيجة للاستفادة فقط
  16. مرحبا أحمد . يجب أن تتعلم كيفية تتبع الأخطاء حتى يكون مستواك متقدما وتستطيع إكتشاف الأخطاء بمفردك . والآن لنكتشف الأخطاء معا : اولا إن الطلب لا يتم عند إتمام الشراء حيث يخبرك أنه مطلوب عنوان وأنت بالفعل إخترت العنوان . ولاحظ أنك عند إختيار العنوان تتاكد أولا منه فى قاعدة البيانات . حيث حينما تقوم بإختيار عنوان يتم إرسال طلب إلى الخادم . والآ لنقم بفتح تبويبة network فى ادوات المطورين لنكتشف الخطأ ستجد أن الخطأ الذى يظهر لك هو أن المسار غير معرف . ستجد أنك لم تقم بتعريف ال Route الذى يقوم بإرجاع العنوان بال id فى الخادم . لذلك لنقم بإنشاءه . في ملف back-end\services\addressService.js لنقم بإنشاء الدالة التى تقوم بإرجاع العنوان بناء على ال id كالتالي : exports.getAddresse = asyncHandler(async (req, res, next) => { const user = await User.findById(req.user._id).populate('addresses'); let address=[]; user.addresses.forEach(element => { if(element._id == req.params.addressId) return address.push(element); }); res.status(200).json({ status: 'success', results: address.length, data: address, }); }); و الآن في ملف back-end\routes\addressRoute.js لنقم بتعريف مسار جديد وتمرير الدالة السابقة له هكذا .: const express = require('express'); const authService = require('../services/authService'); const { addAddress, removeAddress, getLoggedUserAddresses, getAddresse } = require('../services/addressService'); const router = express.Router(); router.use(authService.protect, authService.allowedTo('user')); router.route('/').post(addAddress).get(getLoggedUserAddresses); router.get('/:addressId',getAddresse); router.delete('/:addressId', removeAddress); module.exports = router; وهكذا تم حل أول مشكلة و ستجد أنك تستطيع الآن ان تتم عملية الشراء . نأتى للخطأ الثانى وهو عدم اضافة التعليق والتقيم : لنقم بفتح خانة Network كما في السابق وعند إرسال الطلب الخاص بإضافة التعليق ستجد رسالة الخطأ تخبرك ان ratings لم يتم إرسالها و هى مطلوبة وإذا نظرنا إلى ما تقوم بإرساله ستجد أنك تقوم بإرسال rating بدلا من ratings لهذا هو يعتبر أنك لم تقم بإرسال أى تقيم وحل تلك المشكلة في ملف front-end\src\hook\review\add-rate-hook.js سطر رقم 38 قم فقط بإضافة حرف s هكذا : ratings: rateValue والآن سيعمل معك بشكل جيد وتستطيع إضافة أى تقيم . وقد قمت بإرفاق الملفات السابقى بعد التعديل . addressRoute.js addressService.js
  17. لا نجيب هنا في الأكاديمية على أسئلة الإختبارات ولكن يمكننى توضيح فكرة الحل لكي . يمكنكي إستخدام حلقة التكرار while لتحقيق ذلك. أولا يجب سؤال المستخدم عن عدد العناصر إذا أردتي أن يقوم هو بتحديد عدد العناصر أو يمكنك أنتي تحديد عدد العناصر فى المصفوفة وبعد ذلك وضع هذه القيمة في متغير يشير إلى حجم المصفوفة. ثم بعد ذلك نقوم بإنشاء متغير يحوى قيمة صفر , ثم بعد ذلك ننشأ مصفوفة فارغة . ثم نقوم بعمل while loop وجعل الشرط هو التاكد من أن المتغير الذى قمنا بوضع قيمة إبتدائية له ليس اكبر من المتغير size الذى قام المستخدم بإدخاله وفي كل مرة داخل ال loop نقوم بسؤال المستخدم عن الرقم الجديد الذى يريد إضافته للمصفوفة وبعد ذلك نقم بوضعه داخل المصفوفة وبعد ذلك لا ننسى أن نقوم بزيادة قيمة المتغير ب 1 حتى لا يتم تنفيذ ال loop دائما . وهكذا قد تم إنشاء القائمة لدينا . يمكنك كتابة الكود بنفسك وإذا واجهتك أى مشكلة به فقط أخبرينى
  18. هذا الخطأ في بايثون ينتج عندما تحاولين تحويل سلسلة نصية تحتوى على أرقام عشرية وليست رقم صحيح . مثل هذا الكود . print(int('1.5')) الكود السابق سيظهر نفس الخطأ الذى ظهر لديكي . ولحل تلك المشكلة يمكنك إستخدام split ولكن الأفضل هو تحويل الرقم إلى float ثم بعد ذلك int هكذا . print(int(float('1.5'))) وهكذا فإن الكود السابق سيقوم بطباعة رقم 1 ويمكنك إستخدامه وتمرير القيمة التى أدخلها المستخدم لأنه إذا قام بإدخال رقم عشرى و لم يتم التعامل معه سيظل يظهر الخطأ السابق
  19. كيف ممكن اسمح للمستخدم ادخال اكثر من قيمة باستخدام int(input("")) لعمل مصفوفة من قبل المستخدم ؟؟
  20. invalid literal for int() with base 10: ما المقصود بهذا الخطأ ؟؟؟ وكيف ممكن احل او اتعامل معه ؟ ما هو نوع هذا الخطأ؟ وهل ممكن استخدم .split() مع (int(input
  21. تلك أمور بنكية، لذا أنت بحاجة إلى إختيار بنك به شروط تناسبك في بلدك، ثم التوجه لأقرب فرع منه إليك، ثم التحدث إلى خدمة العملاء في الفرع وسيتم فتح حساب وإنشاء بطاقة إئتمانية إن كانت الشروط متوافقة معك. وتستطيع التحدث إلى خدمة العملاء عبر الهاتف لمعرفة الشروط المطلوبة أو تصفح موقع البنك عبر الإنترنت.
  22. وعليكم السلام اهم شيء قبل جميع النصائح هو الاستمرارية والفضول حول تعلم كل ما هو جديد والان سأعطيك بعض الخطوات : حاول حل تحديات يومياً أو بانتظام لتحسين مهاراتك تدريجيا بدأ بحل التحديات السهلة وتدرج في الصعوبة بمرور الوقت. حل الكثير من التحديات السهلة سيساعدك على بناء أساس قوي. عد حل أي تحدٍ، انظر إلى الحلول المقدمة من الآخرين. هذا سيساعدك على معرفة طرق مختلفة لحل المشكلة ويمكن أن يقدم لك أفكار جديدة. شارك في المنتديات والأسئلة والنقاشات على Codewars. للاستفادة من نصائح من المبرمجين الأكثر خبرة. حاول حل تحديات في مواضيع مختلفة (مثل الخوارزميات، هياكل البيانات، الرياضيات، إلخ) لتوسيع معرفتك ومهاراتك. إذا واجهت صعوبة في حل تحدٍ معين، راجع المواد التعليمية ذات الصلة وحاول مرة أخرى. التكرار هو مفتاح التعلم. وبالتوفيق إن شاء الله ...
  23. يمكنك الانتقال إلى المستوى المتقدم أي (Kyu 1 - Kyu 2) عند تحقيقك لمستوى معين من المهارات والخبرة، في العادة تتبع هذه العملية بناء على التقدم التدريجي من المستويات السهلة إلى المستويات الأكثر صعوبة، حيث يجب عليك كسب نقاط كافية من خلال حل التحديات، و يتم تصنيف التحديات بناء على مستوى صعوبتها، والمستويات الأسهل تمنحك نقاطا أقل بينما تمنحك المستويات الأصعب نقاطا أكثر، فكلما حليت عددا أكبر من التحديات وخصوصا التحديات المتوسطة والصعبة ، زادت فرصتك أكثر للانتقال إلى المستويات المتقدمة.
  24. السلام عليكم امتي اتنقل لمستوي المتقدم في موقع codewars ؟ ملحوظ ان بتدا من اسهل حاجه
  1. عرض المزيد
×
×
  • أضف...