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

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

  1. Muthanna Alqaisi

    Muthanna Alqaisi

    الأعضاء


    • نقاط

      6

    • المساهمات

      81


  2. عبد الوهاب بومعراف

    • نقاط

      5

    • المساهمات

      2092


  3. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      4

    • المساهمات

      18969


  4. Abdulazeez Altameemi

    Abdulazeez Altameemi

    الأعضاء


    • نقاط

      3

    • المساهمات

      90


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

المحتوى الأعلى تقييمًا في 05/15/24 in أجوبة

  1. اواجهة مشكلة عدم ارسال ايميل من الاستضافة و في localhost يقوم بالارسال بدون اي مشكلة views.py تحتوي على ثنين من form و اضفت لهم captcha ... انا قمت بازالة المفتاح السري للcaptcha def home(request): if request.method == 'POST': form_type = request.POST.get('form_type', '') # Common reCAPTCHA validation for both forms recaptcha_response = request.POST.get('g-recaptcha-response') data = { 'secret': '**********************', 'response': recaptcha_response } r = requests.post('https://www.google.com/recaptcha/api/siteverify', data=data) result = r.json() if result['success']: if form_type == 'contact_form': # Fetch data from Contact Us page name = request.POST.get('name', '') email = request.POST.get('email', '') subject = request.POST.get('subject', '') message = request.POST.get('message', '') # Save in database data = Contact(name=name, email=email, subject=subject, message=message) data.save() # Send an email send_mail( f'New Contact: {subject}', f'From: {name}, Email: {email}\n\nMessage:\n{message}', email, ['support@webside.ca'], fail_silently=False, ) messages.success(request, 'Your message has been sent. Thank you!') return redirect('home') elif form_type == 'application_form': first_name = request.POST.get('firstName', '') last_name = request.POST.get('lastName', '') status = request.POST.get('status', '') phone = request.POST.get('phone', '') email = request.POST.get('email', '') postal_code = request.POST.get('postalCode', '') province = request.POST.get('province', '') agreement = request.POST.get('flexCheckIndeterminate') == 'on' data = Apply(first_name=first_name, last_name=last_name, status=status, phone=phone, email=email, postal_code=postal_code, province=province, agreement=agreement) data.save() send_mail( f'New Apply', f'From: {first_name} {last_name}, Status: {status}, Phone: {phone}, Email: {email}, Postal Code: {postal_code}, Province: {province}\n\nHas agreed to contact: {"Yes" if agreement else "No"}', email, ['admin@webside.ca'], fail_silently=False, ) return JsonResponse({'success': True}) else: # Handle the case where CAPTCHA is not successfully completed messages.error(request, 'Invalid reCAPTCHA. Please try again.') return JsonResponse({'success': False}, status=400) return render(request, 'pages/home.html') كود html: هذه form تكون على شكل نافذة منبثقة عند النقر على زر معين تعرض form <div class="modal fade" id="formModal" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title" id="exampleModalLabel">Apply Now</h5> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> </div> <div class="modal-body"> <form method="post" id="applyForm"> {% csrf_token %} <div class="mb-3"> <input type="hidden" name="form_type" value="application_form"> <label for="firstName" class="form-label">First Name*</label> <input type="text" class="form-control" id="firstName" name="firstName" required> </div> <div class="mb-3"> <label for="lastName" class="form-label">Last Name*</label> <input type="text" class="form-control" id="lastName" name="lastName" required> </div> <div class="mb-3"> <label for="status" class="form-label">Status*</label> <select class="form-control" id="status" name="status" required> <option value="">Select Status</option> <option value="Canadian Citizen">Canadian Citizen</option> <option value="Permanent Resident">Permanent Resident</option> <option value="Refugee">Refugee</option> <option value="Work Permit">Work Permit</option> <option value="Visitor Visa">Visitor Visa</option> <option value="International Student">International Student</option> </select> </div> <div class="mb-3"> <label for="userPhone" class="form-label">Phone</label> <input type="number" class="form-control" id="userPhone" name="phone"> </div> <div class="mb-3"> <label for="userEmail" class="form-label">Email*</label> <input type="email" class="form-control" id="userEmail" name="email" required> </div> <div class="mb-3"> <label for="postalCode" class="form-label">Postal Code</label> <input type="text" class="form-control" id="postalCode" name="postalCode"> </div> <div class="mb-3"> <label for="province" class="form-label">Province</label> <select class="form-control" id="province" name="province"> <option value="">Select Province</option> <option value="Alberta">Alberta</option> <option value="British Columbia">British Columbia</option> <option value="Manitoba">Manitoba</option> <option value="New Brunswick">New Brunswick</option> <option value="Newfoundland and Labrador">Newfoundland and Labrador</option> <option value="Nova Scotia">Nova Scotia</option> <option value="Ontario">Ontario</option> <option value="Prince Edward Island">Prince Edward Island</option> <option value="Quebec">Quebec</option> <option value="Saskatchewan">Saskatchewan</option> <option value="Northwest Territories">Northwest Territories</option> <option value="Nunavut">Nunavut</option> <option value="Yukon">Yukon</option> </select> </div> <div class="mb-3"> <input class="form-check-input" type="checkbox" value="on" id="flexCheckIndeterminate" name="flexCheckIndeterminate" required> <label class="form-check-label" for="flexCheckIndeterminate"> I agree to be contacted by email </label> </div> <div class="g-recaptcha" data-sitekey="6LeV7rApAAAAANhHYmNEky9nNreToYW3fJonpSar"></div> <br> <span class="loader"></span> <button type="submit" class="btn btn-primary">Submit</button> </form> <!-- Success Message, hidden initially --> <div id="successMessage" style="display: none;"> <div class="content"> <div class="wrapper-1"> <div class="wrapper-2"> <h1>Thank you!</h1> <p>We will contact you as soon as possible</p> <button class="go-home" onclick="window.location.href='/';"> go home </button> </div> </div> </div> </div> </div> </div> </div> </div> كود جافا سكريبت: document.getElementById('applyForm').addEventListener('submit', function (e) { e.preventDefault(); const formData = new FormData(this); const submitButton = this.querySelector('button[type="submit"]'); const loader = document.querySelector('.loader'); submitButton.disabled = true; loader.style.display = 'block'; // Display the loader fetch("{% url 'home' %}", { method: 'POST', body: formData, headers: { 'X-Requested-With': 'XMLHttpRequest' }, }).then(response => { if (!response.ok) throw new Error('Network response was not ok'); return response.json(); }).then(data => { if (data.success) { $('#applyForm').hide(); // Hide the form $('#successMessage').show(); // Show success message } else { throw new Error('Failed to submit'); } }).catch(error => { alert(error.message); }).finally(() => { loader.style.display = 'none'; // Hide the loader submitButton.disabled = false; }); });
    3 نقاط
  2. ممكن توضيح ماهي فائدة النجمة هنا
    3 نقاط
  3. words =["python", "php", "java", "ruby"] def finder (iterable, text): def find(login): for i in login: if str(i).startswith(text): return True return False return list(filter(find, iterable)) result = finder(words, "p") print(result) # ما فائدة iterable vs text
    2 نقاط
  4. لدي تطبيق مطاعم واريد عندما يفتح التطبيق يظهر اقسام اخرى حسب الحاجة مثلا ماركت .... تقنيا ومنطق برمجة كيف افعل ذلك ؟ وكيف ابحث عن مصادر بالانجليزي تشرح هذا الموضوع ؟ وشكرا لكم
    2 نقاط
  5. كيف حالكم ؟ حابة استفسر عن موضوع في حال انا عندي مشروع شغال وانطلب تعديل مني وهالتعديل يلزمه حقل اضافي كيف اضيف هذا الحقل بوجود بيانات دون ان افقد البيانات الموجودة في الداتابيز ؟ وماهي افضل الطرق والممارسات المتبعة لذلك؟
    2 نقاط
  6. السلام عليكم لدي مشروع لارفيل وتم رفعة علي الاستضافة , وتم عمل قاعدت البيانات وربطها بالموقع المشكلة بعد ذلك ان ملف الsql غير موجود ولا اعرف من اين اتي به لان ده موقع كان مبرمجه لي احد الاشخاص من فترة وليس لدي باك اب من السيكول الخطأ SQLSTATE[42S02]: Base table or view not found: 1146 Table 'aqarjrla_db.properties' doesn't exist شكرا جزيلا
    1 نقطة
  7. السلام عليكم هل التأسيس في البرمجه كما هو معروف و شائع في لغات مثل c++ او java او c# ضروري ان يتم بهذه اللغات ؟ بمعنى انا مبرمج php منذ سنتين تقريبا وانشأت مجموعة من المشاريع الجيده خلال هذه السنتين و بعض هذه المشاريع تم بيعه و الان ادرس لارافل في كورس php في اكاديمية حسوب و قد درست c++ قبل سنتين قبل بداية دراستي في php لكن الان اشعر انني غير مؤسس بشكل صحيح السؤال هو / هل ارجع بدراسة التاسيس و الخوارزميات و حل المشاكل و داتا ستركتجر في لغات مثل c++ ام يمكنني اكمال الدر اسة بلغتي الحالية php ؟ التأسيس اقصد تطوير نفسي في حل المشاكل و التفكير المنطقي و ليس كتابة السينتاكس الخاص باللغة ؟
    1 نقطة
  8. تحسين مهاراتك في الخوارزميات وهياكل البيانات هو أمر ممكن باستخدام PHP. فلا حاجة للعودة إلى لغات مثل C++ إذا كنت مرتاحا مع PHP. فالمهم هو فهم المفاهيم وليس اللغة نفسها. لهذا يمكنك الاستمرار في تعلم وتحسين مهاراتك مع الاستفادة من المشاريع العملية والتحديات البرمجية لتعزيز التفكير المنطقي وحل المشاكل. وفي حالة ما إذا شعرت بالحاجة لتوسيع معارفك بلغات أخرى في المستقبل، يمكنك القيام بذلك، لكن ليس ضروريا طالما أنك تتقدم بشكل جيد مع PHP. يمكنك الاطلاع والتوسع في موضوع التأسيس أكثر من هنا:
    1 نقطة
  9. تستخدم النجمة (*) هنا كعامل ضرب في المعادلة الرياضية. دعني أوضح ذلك بشكل مفصل: def discount(self, ratio): self.price = self.price - self.price * ratio في هذا المثال، الدالة `discount` تقوم بحساب خصم معين على السعر الحالي `self.price` باستخدام النسبة المئوية `ratio`. النجمة (*) هنا تعني ضرب `self.price` في `ratio`. إليك خطوة بخطوة ما يحدث: `self.price * ratio` يقوم بحساب القيمة التي تمثل الخصم بناءً على النسبة `ratio`. `self.price - self.price * ratio` يطرح قيمة الخصم من السعر الأصلي. فمثلا، إذا كان `self.price` يساوي 100 و`ratio` يساوي 0.2 (أي 20%)، فإن العملية الحسابية ستكون: self.price = 100 - 100 * 0.2 وهذا يعني: self.price = 100 - 20 لذلك، السعر الجديد بعد الخصم سيكون 80. وهكذا.
    1 نقطة
  10. مرحباً , هذه الدالة تقوم بعمل تخفيض وفق نسبة معينة , فلاحظ أنه يقوم بطرح من price الكلي القيمة التالية : self.price * ratio والتي تعني " حاصل جداء السعر بنسبة التخفيض " , أي كمثال اذا قمنا بتمرير السعر 100 , ونسبة التخفيض 0.20 , فسوف يكون التعبير كالتالي : 100 - 100 * 0.20 وسوف تقوم الدالة بإرجاع النتيجة = 80
    1 نقطة
  11. رمز أو مُشغل operator النجمة في لغات البرمجة يعني عملية الضرب، وفي الكود المقصود إجراء عملية ضراء السعر price في النسبة ratio. للتوضيح: print(2*3) سيكون الناتج 6.
    1 نقطة
  12. في الكود الذي أرسلته، الدالة `finder` تستخدم معاملين، الأول هو `iterable` وهو عبارة عن قائمة أو مجموعة تحتوي على عناصر يمكن تكرارها. في هذا المثال، `iterable` هو قائمة `words` التي تحتوي على لغات البرمجة (مثل "python" و "php" و "java" و "ruby") فهذا المعامل هو ما نبحث فيه عن العناصر المطابقة. أما `text` هو النص الذي نريد البحث عنه في بداية كل عنصر من عناصر `iterable` وفي هذا المثال، `text` هو الحرف "p" وهذا المعامل يحدد الشرط الذي نبحث عنه في العناصر. بالنسبة ل`finder` تأخذ `iterable` و `text`. وداخل `finder`، هناك دالة `find` التي تتحقق مما إذا كان أي عنصر في `iterable` يبدأ بالنص `text` أما `filter` يستخدم `find` لتصفية العناصر في `iterable` بناءً على الشرط المحدد والنتيجة النهائية هي قائمة بالعناصر التي تبدأ بالنص `text`.وهذا هو الكود بعد التصحيح: words = ["python", "php", "java", "ruby"] def finder(iterable, text): def find(item): return str(item).startswith(text) return list(filter(find, iterable)) result = finder(words, "p") print(result) والنتيجة النهائية ستكون: ['python', 'php'] وبهذا الشكل، الكود يقوم بإرجاع جميع العناصر في `words` التي تبدأ بالحرف "p".
    1 نقطة
  13. أولاً iterable و text تستخدم كمتغيرات أو معاملات في دالة finder ويمكن تبسيط الكود كالتالي بالنسبة لمعامل iterable هو القائمة التي سيتم البحث فيها عن العناصر التي تبدأ بالنص text. في الكود القائمة words سيتم البحث فيها. أما بالنسبة ل text هو النص الذي سيتم البحث عن العناصر التي تبدأ به في القائمة iterable. في المثال سيتم البحث عن العناصر التي تبدأ بحرف "p". في دالة filter تم تمرير الدالة find لتطبيقها على كل عنصر من القائمة words والتي تم تمريرها كمعامل يسمى iterable لذلك فإن دالة finder تعتمد على دالة filter في ترشيح العناصر ولكن من خلال تعريف دالة أخرى find لمهمة الترشيح بدلا من كتابة الشرط مباشرة.
    1 نقطة
  14. iterable و text هما معاملات Parameters في الدالة finder، حيث يتم تمرير قيم مُعرفات أو وسائط Arguments لهم عند استدعاء الدالة. وiterable هو القائمة words التي تحتوي القائمة على العناصر (السلاسل) التالية: "python", "php", "java", "ruby". عند تمرير words إلى دالة finder، يتم تكرار كل عنصر (سلسلة) في القائمة للتحقق من بدءه بالنص المحدد. والنص المحدد نمرره من خلال معامل text حيث نمرر "p" إلى دالة finder واستخدام النص (الحرف) كمعيار لتصفية العناصر في iterable (القائمة). return True: إذا بدأ العنصر بـ "p"، فهذا يرجع True. return False: إذا لم يبدأ العنصر بـ "p"، فهذا يرجع False.
    1 نقطة
  15. ما هو الإطار الذي تم به بناء التطبيق وهل هو تطبيق هاتف أم تطبيق ويب؟ عامًة يتم تصميم الواجهة وتقسيم الـ Layout الخاص بها إلى أقسام، ثم ربط تلك الأقسام بـ API بحيث يتم جلب البيانات الخاصة بذلك من قاعدة البيانات وعرضها مع الصور والبيانات وخلافه. لو كان تطبيق للهاتف، فتستطيع مثلاً في Flutter استخدام الـ Widgets و Grid لتقسيم الواجهة ستجد تفصيل أكثر هنا: https://docs.flutter.dev/ui/layout
    1 نقطة
  16. يمكنك تصميم قاعدة بيانات تحتوي على جداول لكل قسم مثل المطاعم والماركت والأقسام الأخرى، ثم تقوم بإنشاء واجهة مستخدم ديناميكية باستخدام تقنيات مثل React أو Angular أو Vue.js لعرض الأقسام المختلفة بناء على البيانات المستلمة من الواجهة الخلفية (Backend). في الواجهة الخلفية، يمكنك إنشاء واجهة برمجة تطبيقات (API) باستخدام Node.js أو Django للتواصل مع قاعدة البيانات وتحديد القسم المناسب لعرضه عند فتح التطبيق. للبحث عن مصادر باللغة الإنجليزية، يمكنك استخدام الكلمات المفتاحية مثل "Dynamic Section Rendering in Mobile Apps" و "Conditional Component Rendering in React/Angular/Vue.js" و "Backend API Design for Dynamic Content" و "User Preference Based Content Display in Mobile Applications" لكني أنصح بمراجعة التوثيقات الرسمية فهي تغنيك عن البحث الكثير.
    1 نقطة
  17. المشكلة لديك في تعريفك لمسار ملفات الـ Static، حيث قمت بتوفر مسارين في السطر 30 و 41 وهما: app.use(express.static(path.join(__dirname, "images"))) app.use(express.static(path.join(__dirname, "public"))); لذا المسار الثاني لن يتم تطبيقه وسيتم تطبيق المسار الأول، لذا عليك إبقاء واحد فقط وهو الثاني الخاص بمجلد Public حيث به نضع الملفات الثابتة لذا عليك وضع مجلد images به. الآن تستطيع الوصول مباشرًة للصور من مجلد public حيث يتم البحث عن الملفات الثابتة مباشرًة به لأننا حددنا ذلك، لذا العنوان يجب أن يكون نسبي بالنسبة له، لذا نكتب images كالتالي: https://api.wesamelnagah.com/images/1715322534151.jpg
    1 نقطة
  18. يمكنك حذف سطر رقم 30 من ملف app.js وهذا هو السطر . app.use(express.static(path.join(__dirname, "images"))) والآن فى سطر رقم 41 ستجد أنك قمت بتعريف الملفات الثابتة وقد قمت بتوفير مسار public لذلك . ولذلك فان خادم node سيقوم بقراءة الملفات الثابتة بداخل هذا المسار دون الحاجة لكتابته فى العنوان . لذلك العنوان الجديد هو https://api.wesamelnagah.com/images/1715322534151.jpg وذلك بعد حذف api و public من المسار
    1 نقطة
  19. صار اربع اشهر ادرس اساسيات python راجعت ثلاث مرات ونسه هل امر طبيعي يعني اتقدم بالتعلم ام هناك مشكلة
    1 نقطة
  20. كمبرمجين، لا بدّ وأننا تعرضنا لهذه المشكلة، ولا مناص منها، فلا داعي للقلق، ففي الأساس الأصل ليس في حفظ الأكواد البرمجية إنما في فهمها والمداومة على العمل، وعندما تتعلم لغة برمجة جديدة مثل Python، خصوصا في البداية فمن البديهي أن تنسى، فالبرمجة تتطلب ممارسة مستمرة وتعرضا دوريا للمفاهيم لترسيخها بشكل جيد في الذاكرة. كنصائح يمكن تقديمها، هو أن لا يكون هدفك الأساسي هو حفظ ما تتعلمه، فالمراجع والتوثيقات ما أنشئت إلا لهذا الأمر، لنرجع إليها في وقت الحاجة، ولا يمكن استظهارها عن ظهر قلب، فالتحديثات التقنية والبرمجية لا حصر لها فكيف يحصي المرء كل شاردة وواردة. ما ساعدني شخصيا على الفهم والترسيخ هو استخدام طريقة التعليم العكسي، أي أن تحاول أن تشرح ما تعلمته لشخص آخر فالتعليم يعزز الفهم ويساعد في ترسيخ المعلومات في الذهن بشكل جيد. يمكنك الاستفادة أكثر من هنا ومن الإجابات على هذا السؤال:
    1 نقطة
  21. من الطبيعى أن يشعر الإنسان بصعوبة فى استرجاع المعلومات أو النسيان بعد فترة من الزمن إذا لم يتم استخدام هذه المعلومات سواء فى مشاريع أو حل تمارين بهذه المعلومات لتجنب النسيان يمكنك القيام بالأتى:- المراجعة جيدة جدا أثناء الدراسة ولتثبيت المفاهيم الأساسبية والضرورية فى بداية تعلمك. ولكن بما أنه تم المراجعة أكثر من مرة وتم استيعاب هذه المفاهيم وقمت بعملية التطبيق على هذه المفاهيم والدروس هذا يكفى البرمجة ليست لحفظ كل شئ ولكن تعلم واستيعاب المفاهيم الأساسية وحل المشكلات التى تواجهك بالذى تعلمته. معرفة عند مواجهة مشكلة معينة نستخدم الطريقة التى تعلمتها فى درس معين أو بمفهوم معين. التطبيق على فكرة معينة فى بالك بالذى تعلمته فهذا يثبت المعلومة. التطبيق وراء المدرب فى الدرس وقارن النتيجة الخاصة بك والنتيجة فى الدرس واستكشف الأخطاء الذى ستواجهك هذا سيساعد أيضا لتجنب الأخطاء فى المستقبل. عليك بالمراجعة المنتظمة على ما تعلمته من خلال تطبيق ما تتعلم فى مشروع عملى وتمارين وتحديات هذا سيساعدك كثير. فقط عليك مواصلة رحلة التعلم لا مشكلة فى ذلك مع استرجاع المعلومات السابقة من خلال التطبيقات. ويمكنك الإطلاع على الإجابات التالية
    1 نقطة
×
×
  • أضف...