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

لوحة المتصدرين

  1. Mohamed Elnemr

    Mohamed Elnemr

    الأعضاء


    • نقاط

      6

    • المساهمات

      54


  2. Amer Abdallah

    Amer Abdallah

    الأعضاء


    • نقاط

      5

    • المساهمات

      150


  3. سامح أشرف

    سامح أشرف

    الأعضاء


    • نقاط

      5

    • المساهمات

      2934


  4. Bassel Jhr

    Bassel Jhr

    الأعضاء


    • نقاط

      3

    • المساهمات

      35


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 09/02/21 في كل الموقع

  1. أنا أستخدم الكائن GeoIP لكي أحصل على عنوان IP الخاص بالمستخدم في ملف العرض view التالي: from django.contrib.gis.utils import GeoIP from django.shortcuts import render_to_response def details(request): geoip = GeoIP() lat, long = geoip.lat_lon(request.META['REMOTE_ADDR']) return render_to_response('My_Details.html', locals()) لكن المشكلة أنه يظهر لي الخطأ التالي: KeyError at /mypage/ 'REMOTE_ADDR' Request Method: GET Request URL: http://localhost:8000/mypage/ Django Version: 1.2.4 Exception Type: KeyError Exception Value: 'REMOTE_ADDR' Exception Location: /mysite/details/views.py in home, line 9 Python Executable: /usr/bin/python Python Version: 2.7 Python Path: ['/mysite', '/usr/local/lib/python2.7/dist-packages/flup-1.0.2-py2.6.egg', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/pymodules/python2.7'] Server time: Thu, 2 Aug 2021 20:42:50 +0200 أعتقد أن الخطأ بسبب المفتاح REMOTE_ADDR، ولكن لا أعرف كيفية إصلاح هذا الخطأ. أستخدم جانغو Django الإصدار 1.2.4 وبايثون 2.7
    2 نقاط
  2. لدي حلقة for التالية في قالب Template في جانغو Django الذي يعرض الأيام. وأتساءل ما إذا كان من الممكن تكرار رقم معين (في هذه الحالة هو قيمة المتغير i أي رقم الحلقة) في الحلقة. أم يجب علي تخزينها في قاعدة البيانات ثم الاستعلام عنها في شكل days.day_number؟ <ul> {% for day in daysList %} <li># Day {{ i + 1 }} - From {{ day.from_location }} to {{ day.to_location }}</li> {% endfor %} </ul> لتصبح النتيجة كالتالي على سبيل المثال: # Day 1 - From (location) To (location) # Day 2 - From (location) To (location) # Day 3 - From (location) To (location) # Day 4 - From (location) To (location) ... كيف أقوم بذلك؟
    2 نقاط
  3. لدي بيانات على شكل dataframe كالتالي: itm Date Amount 420 2021-09-30 65211 421 2021-09-09 29424 421 2021-09-16 29877 421 2021-09-23 30990 421 2021-09-30 61303 485 2021-09-09 71781 485 2021-09-16 NaN 485 2021-09-23 11072 485 2021-09-30 113702 489 2021-09-09 64731 489 2021-09-16 NaN أود تحويل قيم NaN الى 0 ، لكن عندما أحاول يظهر لي الخطأ التالي: ValueError: cannot convert float NaN to integer كيف يمكنني حل تلك المشكلة؟
    2 نقاط
  4. أحاول إستخراج البيانات من موقع الكتروني (خرائط جوجل) كالتالي: from urllib2 import Request, urlopen import json path1 = '40,-81.1' request=Request('http://maps.googleapis.com/maps/api/elevation/json?locations='+path1+'&sensor=false') response = urlopen(request) elevations = response.read() لكن البيانات التي ترجع من هذا الموقع تكون على شكل json، حاولت أن أقوم بقراءتها بهذا الشكل: pd.read_json(elevations) لكن هذا لا يحولها الى dataframe، كيف يمكنني تحويل json الى dataframe
    2 نقاط
  5. لدي مشروع مبني باستخدام node.js وأقوم باستخدام express handlebars. وقمت بإضافة angular.js إلى المشروع أيضاً لإضافة بعض الخصائص من طرف المستخدم ولكن المشكلة بأن كل من angular و handlebars يستخدمان نفس الصيغة من الأقواس: {{hello}} لذلك يتم التعامل مع المحتوى من handlebars بدلاً من angular.js ويظهر العديد من الأخطاء بسبب ذلك. كيف يمكنني حل هذه المشكلة؟ وهل يمكن فعلاً استخدام express handlebars و angular معاً؟
    2 نقاط
  6. صممت تطبيق هاتف نقال باستخدام الاندرويد ستوديو كيف ممكن احول هذا التطبيق من شكل كود إلى تطبيق واقعي وارفعه في جوجل بلاي ؟
    1 نقطة
  7. كيف ممكن احول الكود الذي إشتغلت عليه في برنامج الاندرويد إلى واقع
    1 نقطة
  8. السلام عليكم اعمل على postgresql من خلال nodejs احتاج في بعض المرات عمل الاتي : ١- التأكد من بيانات المستخدم ٢- التأكد من عدم تكرار الاسم المراد اضافته في جدول A ٣- تحديث بيانات الجدول B بعد عمل الاضافة في جدول A …الخ هل يوجد طريقة بحيث لا يتم الذهاب والرجوع من والى قاعدة البيانات بثلاثة استعلامات ، بحيث يكون الذهاب واحد والرجوع واحد ومحمل بالنتيجة المطلوبة سواء تم المطلوب او فشل؟
    1 نقطة
  9. انا استخدم مكتبة React و لدية ملف json به معلومات الافلام مثل عنوان الفلم و سنة الاصدار و رابط صورة الفلم ,المشكلة اني استخدم رابط الصور من موقع خارجي و هذا الموقع قام بحذف بعض الصور لكن روابط هذه الصور موجودة في ملف json و لا اعرف اي الصور التي تم حذفها لان الملف كبير هل يوجد دالة او طريقة لتخطي الصور المحذوفة عند عمل تصفية filter لملف json و ارجاع المعلومات التي تحوي على صور موجودة فقط هذا الموقع الذي اخذ الصور منه https://developers.themoviedb.org/3/getting-started/images
    1 نقطة
  10. لدي dataframe أقوم بانشاءها بالشكل التالي: import numpy as np import pandas as pd df = pd.DataFrame(np.random.rand(10, 5)) وأريد أن أقوم باضافة عمود يقوم بحساب المتوسط كالتالي: df['mean'] = df.mean(1) اذا قمت بعرضها تظهر بالشكل التالي: In [1]: df Out[1]: 0 1 2 3 4 mean 0 0.445598 0.173835 0.343415 0.682252 0.582616 0.445543 1 0.881592 0.696942 0.702232 0.696724 0.373551 0.670208 2 0.662527 0.955193 0.131016 0.609548 0.804694 0.632596 3 0.260919 0.783467 0.593433 0.033426 0.512019 0.436653 4 0.131842 0.799367 0.182828 0.683330 0.019485 0.363371 5 0.498784 0.873495 0.383811 0.699289 0.480447 0.587165 6 0.388771 0.395757 0.745237 0.628406 0.784473 0.588529 7 0.147986 0.459451 0.310961 0.706435 0.100914 0.345149 8 0.394947 0.863494 0.585030 0.565944 0.356561 0.553195 9 0.689260 0.865243 0.136481 0.386582 0.730399 0.561593 كيف أجعل المتوسط mean يصبح أول عمود بدل من كونه الخامس؟
    1 نقطة
  11. أريد أن أعرف الفرق بين السطرين التاليين: example = ExampleModel() test = TestModel.objects.create() هل يقوم الثاني على الفور بإنشاء TestModel في قاعدة البيانات ، بينما بالنسبة لـ ExampleModel ، يجب استدعاء التابع save () بشكل صريح لإضافته إلى قاعدة البيانات؟ أم أن هناك إختلاف آخر؟
    1 نقطة
  12. كيفية حل هذه المشكلة لماذا تظهر عندما اقوم باضافة كود ادسنس او اي كود اريد الحل سريعا ومشكور جدا
    1 نقطة
  13. يوجد تعليق بصيغة خاطئة ستجد محارف زائدة خارج مجال التعليق بجانب الشيفرة المضافة <!-- داخل مجال التعليق --> خارج مجال التعليق محارف زائدة <-- قم بحذفها لحل المشكلة، اذا ما زلت تواجه المشكلة من فضلك قم بارفاق الشيفرة المصدرية للصفحة لأقوم بمساعدتك
    1 نقطة
  14. إستخدام المؤقت timer مع أزرار التنقل بشكل منفصل قد يسبب بعض المشاكل، لكن في حالة إستخدمت المؤقت داخل الدالة currentSlide كما وضحت سابقًا، سوف يحل هذه المشكلة، حيث يتم حذف المؤقت في كل مرة يتم الضغط على أحد الأزرار من خلال clearInterval وعمل مؤقت جديد ليبدأ عد خمس ثواني، كالتالي: var timer; // الدالة الخاصة برموز الاتجاهات function currentSlide(n) { showSlides(slideIndex = n); // حذف المؤقت القديم إن وجد if (timer) { clearInterval(timer); } // يتم تعديل قيمة المتغير timer بمؤقت جديد timer = setInterval(function () { showSlides(slideIndex); console.log(slideIndex); slideIndex++; }, 5000); } هذا مجرد تعليق comment لهذه الخاصية (يمكنك كتابة تعليقات CSS داخل الخاصية style بدون مشكلة)، ويمكنك حذف هذه الخاصية (text-align) إن أردت فكل ما تقوم به هو محاذات الأزرار إلى المنتصف.
    1 نقطة
  15. لدي بيانات على هيئة dataframe بحيث أن بها عمود به التاريخ. هل هناك طريقة لإختيار عدد من الأعمدة بين تاريخين معينين ، كالفترة بين 1/9/2021 و 10/9/2021؟
    1 نقطة
  16. ما المقصود بال normalization في الداتابيز
    1 نقطة
  17. أقوم باستخدام إطار العمل express.js على الخادم node.js في بناء مشروعي وأحتاج إضافة حزمة لإدارة القوالب في الموقع. لقد لاحظت وجود كل من الحزم التالية express-handlebars و express-hbs و hbs ويبدو أنها متشابهة من ناحية العمل ولم أجد فرق فيما بينها. ماهو الفرق بين هذه الحزم؟ وما الحزمة التي يجب علي استخدامها لتحقيق ذلك؟
    1 نقطة
  18. أثناء تعاملي مع مع ال placeholders في تنسرفلو، حصلت على الخطأ التالي: RuntimeError: tf.placeholderRuntimeError: tf.placeholder() is not compatible with eager execution وهو أمر منطقي لأن العناصر النائبة placeholders غير قابلة للتنفيذ على الفور. لذا كيف نقوم بإيقاف ال eager execution؟ << استخدم TF2>>
    1 نقطة
  19. يمكن الاعتماد على الدالة onError لتضع صورة من عندك (تدل على عدم وجود صورة مثلا/خطأ تحميل) this.state = ({ image:{uri: this.props.imageUrl} }) const setimage = () => { this.setState=({image: require('../images/logo.png') }) } <Image source={this.state.image} style={styles.imageThumbnail} onError={()=>setimage()} /> عند حدوث مشكلة في تحميل الصورة، سيتم تعويضها بصورة من عك مثلا اللوغو..
    1 نقطة
  20. أهلًا @Hartha Aloufi، الكتاب مشهور باسمه الأجنبي، لذا آثرنا استعمال التعريب، فإنك إن قرأت "إلكونت" فستعرف الكتاب مباشرةً (الأشهر من نار على علم) بينما لو قرأت للمرة الأولى "جافاسكربت البليغة" فقد لا تربط هذا الاسم بالاسم الأصلي للكتاب. أشكرك،
    1 نقطة
  21. السلام عليكم كما واضح من العنوان فلا أظن ان احدا يختلف بان التطبيق مهم جدا اثناء التعلم انا انهيت متابعة مسار اساسيات رياكت الآن ايهما افضل التطبيق على ما عملت عليه ان أأجله الى مراحل قادمه ؟ اي انتقل الى اساسيات النود ؟
    1 نقطة
  22. يفضل أن تستمر في أخذ المززيد من التطبيقات باستخدام رياكت , ما اخذته في المسار ممتاز جدا, ولكن بالتأكيد لن تغطي جميع الافكار, لذلك يفضل الاستمرار في البحث على المزيد من التطبيقات والاستفادة وتعلم المزيد من الافكار , ذلك سوف يساعدك كثيرا اثناء استخدام رياكت مع نود, وسوف يسهل عليك الامر بشكل كبير, اذا كنت بالفعل تنوي أن تكون full stack فيجب أن تستمر في التدريب على رياكت , بعد ان تشعر أنك تشبعت من رياكت يمكنك الانتقال الى اساسيات نود
    1 نقطة
  23. الطريقة الصحيحة للقيام بذلك باستخدام Django 3.2 أو أعلى هي باستخدام display decorator كالتالي class BookAdmin(admin.ModelAdmin): model = Post list_display = ['title', 'get_author_name'] @admin.display(description='Author Name', ordering='author__name') def get_author_name(self, obj): return obj.author.name
    1 نقطة
  24. لدي مجموعة بيانات في مصفوفة نمباي وأريد تحويلها إلى مجموعة بيانات tf.dataset لكن يوجد طريقتين: Dataset.from_tensors و Dataset.from_tensor_slices فما الفرق بينهما؟
    1 نقطة
  25. كيف احصل على الquery string في الرابط في next js الكويرى سترينج وليس الparams مثلا /id?query=dsad اريد الحصول على الquery ليس الid بإستخدام الgetStatic props وشكرا
    1 نقطة
  26. يمكنك القيام بذلك بالشكل التالي: # models.py ضمن الملف class Author(models.Model): name = models.CharField(max_length=255) class Book(models.Model): author = models.ForeignKey(Author) title = models.CharField(max_length=255) # هذه هي الطريقة التي تشير بها إلى اسم مفتاح خارجي في جانغو # admin.py ضمن الملف class BookAdmin(admin.ModelAdmin): model = Book list_display = ['title', 'get_name', ] def get_name(self, obj): return obj.author.name #يسمح بفرز ترتيب العمود get_name.admin_order_field = 'author' #إعادة تسمية رأس العمود get_name.short_description = 'Author Name' admin.site.register(Book, BookAdmin)
    1 نقطة
  27. لتستطيع مناداة حقل من الكائنات التي بينها علاقة يمكنك إنشاء دوال في الكائنات حتى تساعد على إرجاع الحقل المطلوب , فمثلاً في حالتك تريد أن تحصل على إسم المؤلف, إذا يمكنك أولا إنشاء دالة عند الكتاب تساعدك على ذلك class PostAdmin(admin.ModelAdmin): list_display = ['title', 'get_author', ] def get_name(self, obj): return obj.author.name get_name.short_description = 'author_name' #Renames column head ومن ثم يمكنك في ملف الPerson أن تضع إسم هذه الدالة في الlist_display class PersonAdmin(admin.ModelAdmin): list_display = ['post.author_name',]
    1 نقطة
  28. يتم إستعمال الصنف show لعرض الشرائح، يمكنك أن تقوم بفتح أدوات مطوري المواقع Dev Tools ومراقبة الشرايح في قائمة Elements أثناء تغير الشرائح وستجد أنه يتم إضافة هذا الصنف إلى الشريحة التي يتم تعرضها حاليًا، لذلك قمت بتغير الصنف show في حاوية الأزرار إلى dots بدلًا من show سبب حوث هذه المشكلة هو الضغط على أزرار التنقل أكثر من مرة مما يؤدي إلى تشغيل أكثر من مؤقت في نفس الوقت، لحل هذه المشكلة يجب أن نقوم بعمل متغير timer خارج الدالة currentSlide ونقوم بحذف هذا المؤقت وعمل آخر جديد، كالتالي: var timer; // الدالة الخاصة برموز الاتجاهات function currentSlide(n) { showSlides(slideIndex = n); // حذف المؤقت القديم إن وجد if (timer) { clearInterval(timer); } // يتم تعديل قيمة المتغير timer بمؤقت جديد timer = setInterval(function () { showSlides(slideIndex); console.log(slideIndex); slideIndex++; }, 5000); } كما يمكنك أنك تقوم بجعل المؤقت خارج الدالة currentSlide بدون مشكلة لكي يعمل بشكل إفتراضي، كالتالي: var timer = setInterval(function () { showSlides(slideIndex); console.log(slideIndex); slideIndex++; }, 5000); // الدالة الخاصة برموز الاتجاهات function currentSlide(n) { showSlides(slideIndex = n); } هذا الكود يعمل بشكل سليم ويقوم بتغير الخلفية كل ثلاث ثواني، لكن عليك فصل جملة var i = 0 عن المؤقتت نفسه من خلال وضع فاصلة منقوطة ; بعد تعريف المتغير، كالتالي: $(function () { var images = [ 'images/diagoona-bg-1.jpg', 'images/diagoona-bg-2.jpg', 'images/diagoona-bg-3.jpg']; var imageHead = document.getElementById('image-head'); var i = 0; setInterval(function () { imageHead.style.backgroundImage = 'url(' + images[i] + ')'; i = i + 1; if (i == images.length) { i = 0 } }, 3000); })
    1 نقطة
  29. CharField هو حقل خاص بالسلاسل النصية "string field"، ويستخد للسلاسل صغيرة إلى كبيرة الحجم. وهو مثل حقل السلسلة في C / C ++. و يستخدم CharField بشكل عام لتخزين سلاسل صغيرة مثل الاسم الأول واسم العائلة وما إلى ذلك. أما لتخزين نص أكبر يتم استخدام TextField. أداة النموذج الافتراضية لهذا الحقل هي TextInput. يحتوي CharField على وسيطة إضافية مطلوبة: CharField.max_length أقصى طول للحقل (بعدد المحارف). ويتم فرض هذا ال max_length على مستوى قاعدة البيانات وفي Django’s validation باستخدام MaxLengthValidator. وله الشكل التالي: field_name = models.CharField(max_length=200, **options) كما ذكرت يستخدم CharField لتخزين سلاسل صغيرة الحجم في قاعدة البيانات. يمكننا مثلاً تخزين الاسم الأول واسم العائلة وتفاصيل العنوان وما إلى ذلك. ويجب إعطاء CharField وسيطة max_length لتحديد الحد الأقصى لطول السلسلة المطلوب تخزينها. في ال production server ، بعد نشر تطبيق Django ، تكون المساحة محدودة للغاية. لذلك من الأفضل دائماً استخدام max_length وفقًا لمتطلبات الحقل. TextField عبارة عن حقل نصي كبير من أجل النصوص كبيرة الحجم. ويستخدم TextField بشكل عام لتخزين الفقرات وجميع البيانات النصية الأخرى (يستخدم لتخزين نص كبير في قاعدة البيانات أما في حال أردنا تخزين نص صغير نستخدم charfield). عنصر واجهة المستخدم الافتراضي لهذا الحقل هو TextArea. وله الشكل التالي: field_name = models.TextField( **options) أيضاً تستخدم CharFields عادةً للأشياء القابلة للبحث، مثل إذا كنت تريد البحث عن "one" في السلسلة "one plus two". نظرًا لأن السلسلة النصية تكون أقصر، فإنها تستغرق وقتاً أقل للمحرك للبحث من خلالها. أيضاً فإن أقصى حد لطول السلسلة فيه هو 255.
    1 نقطة
  30. الcharfield يحمل كحد أقصى 255 حرف, بينما الtextfield ليس لديه حد معين ويرجع ذلك إلى إختلاف الأنواع الموجودة في قواعد البيانات, حيث أنه يوجد varchar والتي يجب أن يكون لديه طول معين كحد أقصى ع عكس انواع مثل الText او الclob التي ليس لديها حد أقصى ,فعند إستخدام الtextfield يتم إنشاء تلك الأنواع التي ليس لها طول محدد, بينما عند إستخدام الcharfield يتم تحويله في قاعدة البيانات إلىvarchar(255) وعامةً متى وجدت البيانات لديها حد أقصى من الطول مثل الإسم أو العنوان فيفضل إستخدام الcharfield بينما البيانات الأخرى التي ليس لها طول ثابت مثل محتوى المقالة, وصف المنتج فيجب إستخدام الtextfield
    1 نقطة
  31. يبدو أن لديك خطأ في ملف webpack.config.js حيث أن webpack لم يتعرف على الخاصية writeToDisk ، هل يمكنك التأكد من تثبيت حزمة webpack-dev-server من خلال الأمر التالي: npm install webpack-dev-server --save-dev إن لم يتم حل المشكلة، فربما لديك مشكلة في إصدارات الحزم التي تستعمله، يمكنك معرفة إصدار كل حزمة من خلال ملف package.json إن كانت المشكلة متعلقة بأحد الدروس في أحد الدورات، فأرجو منك ذكر في المشكلة في تعليق أسفل الدرس المتعلق بها.
    1 نقطة
  32. تتيح لغة SQL الإستعلام عن مجموعة من السجلات من خلال جملة واحدة كالتالي: SELECT * FROM users WHERE id in (1, 2, 3, 4) كما يوفر Django نفس هذه الطريقة في الإستعلام من خلال المعامل in، كالتالي: User.objects.filter(pk__in=[1, 2, 3, 4]) أو يمكنك البحث من خلال شرط معين: User.objects.filter(pk__gt=4) الكود السابق سوف يقوم بإرجاع كل المستخدمين الذين لديهم معرف id أكبر من 4 كما يمكنك أن تستعمل التابع in_bulk أيضًا: User.objects.in_bulk([1, 2, 3, 4]) يأخذ هذا التابع قائمة بقيم الحقول و واسم الحقل الذي سيتم إستخدامه لفهرسة هذه القيم (يتم إستخدام الأرقام بشكل إفتراضي)، ويعيد قاموسًا يعين كل قيمة إلى instance من الكائن بقيمة الحقل المحددة.
    1 نقطة
  33. بالفعل، هذا هو السبب الأساسي الذي تم صنع Flutter من أجله، ونفس الشيء بالنسبة لـ React Native ليس هناك ترتيب معين لتعلم اللغات، حيث أن كل مجال تختلف فيه اللغات المستخدمه فيه، فعلى سبيل المثال، لتعلم إختبار إختراق الويب ستحتاج إلى تعلم HTML و JavaScript و PHP (لأنها الأكثر إستعمالًا في الوقت الحالي) أو لغة برمجة مشابهة (للـ Backend)، ولتعلم إختبار إختراق تطبيقات الهواتف الذكية، فستحتاج إلى تعلم Java و Kotlin (للأندرويد) أو Swift و object-c (للـ iOS) ... إلخ، لذلك لا يوجد ترتيب معين يمكن إتباعه. في حين إن لم تحدد بعد المجال الذي تريد التخصص فيه، فأنصحك بتعلم لغة Python لأنك ستستفيد منها في كل التخصصات، حيث تمكنك هذه اللغة من عمل Scripts تساعدك في عملك وتقوم بعمل أشياء بطريقة تلقائية بدلًا من عملها يدويًا مما يوفر الكثير من الوقت والجهد عليك.
    1 نقطة
  34. مجهود رائع بارك الله فيكي اختي لجين والشكر موصول للأخت يمنى على الإضافة موضوع كنت أبحث عنه من مدة شكراً لكم
    1 نقطة
  35. مرحبا إباء، أظن المشكلة تتعلق بمسار ملف CSS المضمن في صفحات HTML. ربما قد سبق و ووضعتي مسار مطلق للملفات CSS أي مسار يتضمن اسم القرص و المجلدات الفرعية .. مثل: D:/web/MyNwProject/MyHTML/index.html بدل وضع مسار نسبي يصف العلاقة المباشرة بين الملفين فإذا كان مثلا اسم ملف CSS هو style وموجود في مجلد MyHTML فيكتفى بوسع اسم الملف في مكان الرابط مثال <head> <link rel="stylesheet" href="style.css"> </head> أما في حال وجود ملف CSS ضمن مجلد مختلف لنفرض MyStyle موجود ضمن MyProject سيكون ربط الملف.. D:/web/MyNwProject/MyStyle/style.css فيكون تضمينه بشكل نسبي ضمن ملف HTML بالشكل التالي: <head> <link rel="stylesheet" href="../MyStyle/style.css"> </head> حيث تستعمل النقطتين للرجوع للمجلد الأب الذي يحوي مسارنا الحالي.. تأكدي من مسار الملفات و سيعمل المشروع بالتأكيد يمكنك البحث أكثر عن المسارات (مسار مطلق - مسار نسبي - Absolut path - relative path ) بالتوفيق
    1 نقطة
×
×
  • أضف...