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

Wael Aljamal

الأعضاء
  • المساهمات

    6975
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    218

آخر يوم ربح فيه Wael Aljamal هو سبتمبر 21 2022

Wael Aljamal حاصل على أكثر محتوى إعجابًا!

المعلومات الشخصية

  • النبذة الشخصية
    وائل الجمل, مهندس برمجيات وماجستير علوم الويب/حاسب، سعيد بتقديم الحل لمختلف الأسئلة البرمجية في مختلف لغات البرمجة و أطر العمل. يمكنك توظيفي من موقع مستقل. linkedin.com/in/waelaljamal
  • الموقع

آخر الزوار

لوحة آخر الزوار معطلة ولن تظهر للأعضاء

إنجازات Wael Aljamal

عضو نشيط

عضو نشيط (3/3)

3.9k

السمعة بالموقع

874

إجابات الأسئلة

  1. إن عبارة عن مكتبة تصميم وبرمجة واجهات أمامية بلغة جافاسكربت، تساعد في بناء مكونات قابلة لإعادة الاستخدام و التحكم في تحديث أجزاء من الصفحة بكفاءة عالية، يتم تفسير الأكواد خاصتها في المتصفح بعد تحميلهم أي تحويلهم ل HTML والعملية تدعى render أما Next.js إطار عمل React لتطوير تطبيقات Javascript ذات الصفحة الواحدة. تتم عملية توليد الشيفرة بشكل مسبق أثناء البناء pre-rendered applications,أي يتم بناء الصفحات على الخادم و يتم إرسالها ك HTML للمتصفح الفروقات: بشكل أساسي NextJS يسرع التحميل الأولي الصفحات عند العميل حيث ان React يتوجب تحميل الجميع، ويساعد في تحسين SEO محسن محركات البحث عن الموقع
  2. ربما سبب الخطأ عملك على أكثر من حزمة لتوفير بيئة افتراضية من مشاريع مختلفة، فأصبح هنالك تضارب في مكتبات تم تثبيتها من خلال pip وفي الكاش الخاص به. يمكن البدء بحذف الكاش من خلال الأمر: pip cache purge أو يدوياً: نحذف ما داخل المجلد: %LocalAppData%\pip\Cache و يمكن التحقق من مسار الكاش: pip cache dir ➜ pip3 cache dir /home/tawanda/.cache/pip بعدها نعود للمشروع ونحاول تفعيل البيئة الافتراضية. كحل جذري للمشكلة، أرجو فتح python installer من جديد ثم من خلاله نحذف التثبيت وجميع البيانات والكاش من خلال تحديد ذلك ضمن الواجهة الرسومية (عمل check على الخيار) نعيد تشغيل الحاسوب تثبيت بايثون و pip ونعود لمشروعك الذي تعملين عليه، هنا نعيد تثبيت المكتبات التي كنت تعملين عليها بعد تفعيل البيئة الافتراضية لنفس الحزمة التي تم استخدامها من قبل هل كانت pipenv أو غيرها؟ و حاولي تشغيل المشروع
  3. من خلال جهاز mac يمكنك برمجة أي شيء ترغبن به، أما في حال شراء جهاز مختلف (نظام ويندوز أو لينكس) ، فيكون مشكلة في بناء تطبيقات IOS و mac نفسها لأن شركة أبل لا توفر المكتبات البرمجية الخاصة بها (مكتبات وبرامج التطوير swift - xcode ..) خارج نظام mac أما مثلاً android و react native فهي متاحة لجميع الأنظمة. وبالنسبة لتطوير تطبيقات أندرويد وجود جهاز أندرويد هو شيء مفيد و جيد، بالرغم من القدرة على تثبيت برنامج emulator من خلال android studio يعمل كنظام تشغيل أندرويد على الحاسوب (تطبيق ضمن ويندوز حيث يصبح له نافذة) يمكنك البحث بشكل موسع عن المفردات المذكورة في الإجابة للمطالعة. ملخص: وجود حاسب mac يسهل عمليات بناء تطبيقات IOS لكن كلفته أغلى من حاسوب ويندوز في حال استخدام إطار EXPO مع react native لا يوجد دع لجهاز mac لأن لهم طريقة في تشغيل التطبيق على الهاتف بدون بناءه على الحاسوب
  4. مرحبا اسماعيل، ضمن دورة PHP يوجد مسار تطبيق مشاركة فيدوهات هل اطلعت عليه؟ ربما فيه إجابة لتساؤلاتك فهو يحوي نفس الأمور التي طرحتها في السؤال مثل التخزين السحابي مثلاً خدمات أمازون مع توفير الفيديو بأكثر من دقة مختلفة حجم و سرعة تحميل الفيديو مرتبط بسرعة الانترنت في الاستضافة / حسب عدد المستخدمين للتطبيق في نفس الوقت يمكن من خلال خصائص خادم الويب زيادة مدة Timeout (فترة انتظار انتهاء رفع/تحميل الفيديو) لقيمة مناسبة للمستخدمين أي أكثر من القيم الافتراضية مثل إعداد PHP *** PHP configuration /etc/php/<phpversion>/fpm/php.ini => max_execution_time = 1800 # 30 min /etc/php/<phpversion>/fpm/pool.d/www.conf => request_terminate_timeout = 0 # no timeout و إعاداد خادم Nginx configuration /etc/nginx/sites-available/yoursite.conf location ~ \.php$ { # ... fastcgi_read_timeout 300; # ... } /etc/nginx/sites-available/yoursite.conf fastcgi_read_timeout = 2000; # 2000 secs وفي حال استخدام مكتبة في الواجهة الأمامية مثل dropzonejs لها خاصية timeout لزيادة وقت الانتظار var myDropzone = new Dropzone("#uploader", { // ... timeout: "4321", // ... });
  5. هذا لأن لغة جافا تقوم بإنشاء دالة بانية افتراضية بدون وسطاء كحالة افتراضية لعدم إضافة أي دالة بانية من المبرمج. الدالة البانية الافتراضية تقوم بإنشاء كائن فارغ، أي الخواص فيه لاتحوي أي قيمة لكن هيكليته من نفس الصنف الذي تم إنشائه منه
  6. مرحبا الياس، أرجو التواصل مع مركز المساعدة و طرح المشكلة أو ما تريده لهم فهم مخولين بهكذا مواضيع support.academy.hsoub.com شكرا لك
  7. ذكرت انه على فرض لديك قائمة أغراض، عند النرور على القائمة سيمثل i الغرض الحالي (مثل حلقة for).. و يمكن منه الوصول لخواض العنصر الحالي (حسب دليل التكرار في الحلقة) where. نعم، إن كانت عناصر القائمة تحوي الخاصية name يمكن عمل فلترة حسبها. أنا ذكرت color حسب سؤالك، فأنت أرفقت خواص العناصر في القائمة و منها السعر أيضا، أي هو مثال يمكنك طباعة أول عنصر في القائمة ب print ل list[0] مثلا و سيتم عرض بنية هذه العناصر وهي نفسها ستكون نفس جدولك في قاعدة البيانات mysql
  8. يمكنك طرح المشكلة مباشرة فأغلب المدربين درسوا علوم الحاسب والرياضيات
  9. البرنامج يرمي استثناء عند إدخال نص، بسبب فشل تحويل المدخلات النصية إلى رقم في الدالة int يمكن نقل try إلى داخل الحلقة، وفي حال حصول استثناء نتابع تنفيذ الحلقة while ب continue userInput = 0 while True: try: userInput = int(input("Enter something: ")) except ValueError: print("Not an integer!") continue يمكن أيضا استخدام الدوال isdigit و isnumeric لاختبار هل المدخل هو رقم أم لا if userinput.isdigit(): #do stuff ولا ختبار أن المدخل حرف نستخدم الدالة isalpha على المتغير بنفس الطريقة
  10. السبب أنها تعمل return ضمن الحلقة وبذلك يتوقف تنفيذها، يمكنك عمل تجميع للنتائج $final_result = ""; while ($rows = mysqli_fetch_assoc($result)){ $final_result .= $rows[$data] . '<br>'; } return $final_result;
  11. التعليمة echo $result; غير ضرورية يمكنك حذفها
  12. على الأغلب لايوجد بيانات في الجدول user تأكد من اسمه، فيعيد الاستعلام result = false $result= mysqli_query($connect, $q); echo $result; // أضف هذا السطر if (!$result) { printf("Error: %s\n", mysqli_error($con)); exit(); } while ($rows = mysqli_fetch_assoc($result)){ return $rows[$data]; }
  13. المتغيرات التي يتم تعريفها داخل دالة غير مرئية خارجها، ما أقصده كالتالي: <?php function getData($table,$data){ $connect = mysqli_connect('localhost','root','','moh'); $q = "select * from $table"; echo $q; $result= mysqli_query($connect, $q); echo $result; while ($rows = mysqli_fetch_assoc($result)){ return $rows[$data]; } } echo 'result: ' . getData('user','id');
  14. سوف أضع أمثلة، بناء كائن واحد من صنف Computer Computer computer = new Computer(); class object class constructor دالة بانية عند بناء كائن من صنف نقوم باستدعاء الدالة البانية له. هذا الكلام لكائن واحد، نلاحظ أولاً تعريف نوع المتغير computer على اليسار وعلى اليمن عملية البناء الفعلي التي تقوم بإنشاء الكائن و حجز الذاكرة. مقدمة لمصفوفة الكائنات: مثال لتعريف مصفوفة أرقام: بناء المصفوفة بتحديد نوعها المرور على عناصر المصفوفة وإسناد قيمة لها int[] arr = new int[10]; for (int i = 0; i < arr.length; i++) arr[i] = i; } في مثال مصفوفة كائنات Computer الفرق هو أن كل عنصر عبارة عن كائن، لذلك يتوجب بناؤه بشكل منفصل Computer[] list = new Computer[5]; بناء المصفوفة | نوع المصفوفة for(int i=0; i<list.length; i++) list[i] = new Computer(); // بناء العناصر بشكل فردي
×
×
  • أضف...