Ayoub Souad
-
المساهمات
33 -
تاريخ الانضمام
-
تاريخ آخر زيارة
إجابات الأسئلة
-
إجابة Ayoub Souad سؤال في كيفية إختبار إن كان عنصر معين يحتوي على خاصية attribute بإستخدام مكتبة react-testing-library؟ كانت الإجابة المقبولة
حدد سبان داخل الايقونة:
<span>Click me</span> ثم استعمل التابع toBeDisabled للتحقق من كونها disabled
import { render } from '@testing-library/react'; const { getByText } = render(Button); expect(getByText(/Click me/i).closest('button')).toBeDisabled(); //التحقق من الأيقونة للتعرف على مكتبة الاختبار ل React يمكنك زيارة الصفحة من هنا
-
إجابة Ayoub Souad سؤال في كيفية تقسيم نص باستخدام كلمة معينة في بايثون Python؟ كانت الإجابة المقبولة
ربما تكون أسهل طريقة هي مجرد تقسيم النص الى عبارات انطلاقا من كلمة محددة باستعمال وظيفة split. الوظيفة هي:
str.split(sep, maxsplit) استخدم الوسيطة sep لتحديد مكان حدوث الانقسام. استخدم وسيطة maxsplit لتحديد عدد الانقسامات. my_str = "hello,world! I'm a programmer" print(my_str.split("world",1)[1]) # قسمنا السلسلة عبر كلمة ة وورلد و حددنا عدد الانقسامات في واحد ثم أخذنا العنصر المحصل عليه الثاني لقراءة المزيد عن هذه الوظيفة من هنا
-
إجابة Ayoub Souad سؤال في كيفية حفظ كائن Object لإستخدامه في وقت لاحق في بايثون Python؟ كانت الإجابة المقبولة
لكتابة كائن إلى ملف ، يمكنك استخدام مكتبة Pickle عبر الطريقة التالية:
import pickle company1 = Company() company1.name = 'name' company1.fullValue = 230500000 filehandler = open(filename, 'w') # فتخ ملف بوضع الكتابة pickle.dump(object, filehandler) # تسجيل الكائن في الملف ثم تقرأه متى أردت:
filehandler = open(filename, 'r') # فتخ ملف بوضع القراءة company1 = pickle.load(filehandler) #تحميل الكائن من الملف لتثبيت Pickle
pip install pickle5 يمكنك قراءة المزيد عن هذه المكتبة من هنا.
-
إجابة Ayoub Souad سؤال في كيفية عرض رقمين فقط بعد العلامة العشرية في جافاسكريبت؟ كانت الإجابة المقبولة
يمكنك استعمال Math.round() و ربطها بدالة toFixed لتحديد العدد بعد الفاصلة:
(Math.round(finalPrice * 100) / 100).toFixed(2); //حفظ قيمة 84.99 أي رقمين بعد الفاصلة
-
إجابة Ayoub Souad سؤال في كيفية إقتصاص جزء من صورة بإستخدام OpenCV في بايثون Python؟ كانت الإجابة المقبولة
لا توجد في مكتبة OpenCv طريقة اقتصاص وغالبا يقترح المبرمجون طريقة numpy slicing الآتية:
crop_img = img[y:y+h, x:x+w] مع تعيينy و x في قيمة الصفر للقص من وسط الصورة.
نظرا لمشكلة أحجام الصور عندك يمكنك الحفاظ على جميع زواياها مع تغيير حجمها بحيث تصبح أصغر دون الاقتصاص منها. تتوفر OpenCv على وظيفة resize لتغيير الحجم و بالتالي يمكنك فعل ذلك عبر الكود:
import cv2 #قراء الصورة عبر مسارها filename = "./test2jpg" oriimage = cv2.imread(filename) print(oriimage.shape) newx,newy = 1280,720 #الابعاد الجديدة dim = (newx, newy) newimage = cv2.resize(oriimage,dim,interpolation = cv2.INTER_AREA) # تعيين الصورة حسب الابعاد الجديدة print(newimage.shape) cv2.imwrite("new image.jpg", newimage) #حفظ الصورة cv2.imshow("original image",oriimage)# عرض الصورة الاصلية cv2.imshow("resize image",newimage)#عرض الصورة الجديدة cv2.waitKey(0) الأحجام تصبح:
(1080, 1920, 3) # حجم الصورة الأصلية (720, 1280, 3) # حجم الصورة الجديدة
-
إجابة Ayoub Souad سؤال في ما الفرق بين auto_now و auto_now_add في جانغو Django؟ كانت الإجابة المقبولة
auto_now يقوم بتحديث الحقل في كل مرة ، بينما auto_now_add يقوم بتحديث الحقل عند الإنشاء فقط.
class DateField(auto_now=True, auto_now_add=False, **options) #تحديث الحقل في كل مرة class DateField(auto_now=False, auto_now_add=True, **options) #تحديث الحقل عند الإنشاء فقط وفقًا لوثائق django عند اعطاء قيمة True لكل من auto_now و auto_now_add في models الخاصة بك سيؤدي إلى حدوث خطأ لأن كلاهما متنافيان.
class DateField(auto_now=True, auto_now_add=True, **options) #يسبب في خطأ