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

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

  1. Mustafa Suleiman

    Mustafa Suleiman

    الأعضاء


    • نقاط

      3

    • المساهمات

      18935


  2. m_sh

    m_sh

    الأعضاء


    • نقاط

      2

    • المساهمات

      27


  3. بلال زيادة

    بلال زيادة

    الأعضاء


    • نقاط

      2

    • المساهمات

      4657


  4. هشام حواله

    هشام حواله

    الأعضاء


    • نقاط

      1

    • المساهمات

      1


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

المحتوى الأعلى تقييمًا في 04/27/25 in أجوبة

  1. بارك الله فيك اخي بلال ، لكن بنسبة اذا تم ضغط الزر للبحث يتم جلب كل المعلومات اريد تخصيص البحث بحيث اذا كان صندوق البحث فارغ او بهعدد بسيط من الاحرف لايقبل البحث
    2 نقاط
  2. السلام عليكم و رحمة الله وبركاته اسمي هشام مشترك في دورة حسوب اود الاستفسار انا اعلم انه لا استطيع اخذ شهادة اكمال الدورة الا عن طريق اختبار يتضمن جميع اقسام الدورة و لكن سؤال هو هل تاخر انجاز الدورة او الرسوم في الاختبار قد يعقد الحصول على الشهادة من التعقيدات مثلا(عدم الحصول على الشهادة-عدم امكانية اداء الاختبار بسبب الرسوب في المرة الاولى-تاخر اكمال الدورة) اتمنى الافادة و شكرا لكم
    1 نقطة
  3. السلام عليكم والرحمة, ماذا لو استخدمت في الطائرات لعمل Tracking نقطة البدية والوجهة والبوابة الانطلاق منها وعدد الركاب؟ وكيف بالنسبة للربط UI/UXو API و Tracking Dashboard. وهل لديكم خدمة المساعدة ولو بمقابل مادي في عمل Show Case فقط أحتاج متابعة ف implementation بحيث يتلائم مع المطارات الكبيرة وشكرا جزيلا
    1 نقطة
  4. بإمكانك إجراء الإختبار أكثر من مرة لحين إجتيازه بنجاح، لكن الأفضل الاستعداد جيدًا للحفاظ على وقتك ومجهودك، وسيتم سؤالك في المسارات التي أنهيتها فقط وليس جميع المسارات، بشرط إتمام 4 مسارات كحد أدنى. الدورة مُقسمة إلى مسارات وكل مسار مُقسم إلى أقسام، وبعد إنهاء 4 مسارات من الدورة على الأقل، أو الدورة بالكامل عليك رفع المشاريع التي قمت بها بالدورة على حسابك في github، ثم التحدث لمركز المساعدة وإخبارهم أنك تريد التقدم للإختبار وتوفير روابط المشاريع على github. آلية الإختبار هي: محادثة صوتيّة لمدة 30 دقيقة يطرح المدرّب عليك أسئلة متعلّقة بالدورة والأمور التي نفّذتها خلالها. يحدد لك المدرّب مشروعًا مرتبطًا بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع إلى أسبوعين. محادثة صوتيّة أخرى لمدّة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. والدورة متاحة لك مدى الحياة وذلك يتضمن التحديثات أيضًا، والأفضل إنهاء الدورة بالكامل لتحقيق استفادة
    1 نقطة
  5. هل استخدمت الكود السابق؟ سأفترض ذلك، ستحتاج إلى إضافة شرط يتحقق من أن حقل البحث ليس فارغًا وعدد أحرفه 3 أو أكثر وبالطبع تستطيع تغيير الرقم كما تريد. وتتوفر دالة mb_strlen() وهي دالة مُدمجة في PHP لحساب طول النص أي عدد الأحرف وتحسب عدد البايتات وليس عدد الأحرف الحقيقية عند استخدام ترميزات متعددة البايت مثل UTF-8 وهو الترميز الخاص باللغة العربية لذا سنستخدمها. وللعلم التحقق يتم على السيرفر، والأفضل إضافة تحقق من خلال الجافاسكربت أيضًا داخل الصفحة لمنع الإرسال قبل التحقق من الإدخال. <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "test_db"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("فشل الاتصال: " . $conn->connect_error); } $conn->set_charset("utf8"); if (isset($_POST['search'])) { $search_term = trim($_POST['search_term']); if (empty($search_term)) { $error = "يرجى إدخال كلمة للبحث!"; } elseif (mb_strlen($search_term, "UTF-8") < 3) { $error = "كلمة البحث يجب أن تكون 3 أحرف على الأقل!"; } else { $sql = "SELECT email FROM users WHERE name LIKE ?"; $stmt = $conn->prepare($sql); $like_term = "%" . $search_term . "%"; $stmt->bind_param("s", $like_term); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $results[] = $row['email']; } } else { $error = "لا توجد نتائج مطابقة."; } $stmt->close(); } } $conn->close(); ?> <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <title>البحث في قاعدة البيانات</title> <script> function validateForm() { var searchTerm = document.getElementById('search_term').value.trim(); if (searchTerm.length < 3) { alert('يجب إدخال 3 أحرف على الأقل للبحث.'); return false; } return true; } </script> </head> <body> <h2>البحث في قاعدة البيانات</h2> <form method="POST" action="" onsubmit="return validateForm();"> <label for="search_term">أدخل اسم المستخدم للبحث:</label> <input type="text" id="search_term" name="search_term" required> <button type="submit" name="search">بحث</button> </form> <?php if (isset($error)) { echo "<p style='color:red;'>$error</p>"; } if (isset($results) && !empty($results)) { foreach ($results as $email) { echo "البريد الإلكتروني: " . htmlspecialchars($email) . "<br>"; } } ?> </body> </html>
    1 نقطة
  6. لم تنجح في الوصول لمجلد المشروع ويمكنك استخدام الأمر التالي للدخول لمجلد Python باستخدام Cmd C: cd Code\Python
    1 نقطة
  7. Iterable و Iterator هما مفهومان مرتبطان بالتكرار (iteration)، لكنهما يختلفان في التعريف والاستخدام. إليك الفرق باختصار Iterable (قابل للتكرار) أي كائن يمكن التكرار عليه باستخدام حلقة (مثل for) أو يمكن تمريره إلى دالة مثل iter() للحصول على Iterator. الخصائص يحتوي على الدالة السحرية __iter__() التي تُرجع كائن Iterator. أمثلة: القوائم (list)، المجموعات (set)، السلاسل (str)، القواميس (dict)، وغيرها. لا يحتفظ بحالة التكرار بنفسه. ومثال على ذلك my_list = [1, 2, 3] for item in my_list: # my_list هو Iterable print(item) Iterator (مُكرّر) كائن يمثل تيارًا من البيانات ويتيح استرجاع العناصر واحدًا تلو الآخر باستخدام الدالة next(). الخصائص يحتوي على دالتين سحريتين: __iter__() (تُرجع نفس الكائن) و __next__() (تُرجع العنصر التالي أو تُطلق استثناء StopIteration إذا انتهت البيانات). يحتفظ بحالة التكرار (أي يتذكر أين وصل في التكرار). يتم إنشاؤه عادةً من Iterable باستخدام iter(). ومثال على ذلك my_list = [1, 2, 3] iterator = iter(my_list) # تحويل Iterable إلى Iterator print(next(iterator)) # 1 print(next(iterator)) # 2 print(next(iterator)) # 3 # print(next(iterator)) # سيُطلق استثناء StopIteration
    1 نقطة
  8. أي كائن نستطيع التكرار عليه من خلال حلقة for أو تمريره إلى دالة iter() للحصول على Iterator أي مكرر، فهو كائن قابل للتكرار Iterable بمعنى يحتوي على عناصر يمكن الوصول إليها واحدًا تلو الآخر بسبب الدالة الداخلية __iter__() التي تُعيد كائن Iterator كالتالي: my_list = [1, 2, 3] for item in my_list: print(item) أما Iterator وهو المُكرّر فذلك لتتبع عملية التكرار وإرجاع العناصر واحدًا تلو الآخر، ويتم إنشاؤه من Iterable أي كائن قابل للتكرار باستخدام دالة iter() ويحتوي على دالتين داخليتين وليس دالة واحدة كما في Iterable، وهما: __iter__() تُعيد الكائن نفسه. __next__() تُعيد العنصر التالي في التسلسل، وإن لم يتوفر عناصر، تُطلق استثناء. والكائنات من نوع Iterator تُستهلك، أي بمجرد استنفاد العناصر، لا تستطيع إعادة استخدامها إلا بإنشاء Iterator جديد. my_list = [1, 2, 3] iterator = iter(my_list) print(next(iterator)) print(next(iterator)) print(next(iterator)) #print(next(iterator)) قم بتجربة الكود السابق وستحصل على عناصر المصفوفة، ولو أزلت تعليق السطر الأخير ستحصل على خطأ StopIteration: StopIteration حيث لم يعد هناك عناصر باقية في المُكرر. بالتالي كل Iterator هو Iterable لأنه يحتوي على __iter__() وليس كل Iterable هو Iterator لأنه لا يحتوي على __next__() دائمًا. وتستطيع تحويل Iterable إلى Iterator باستخدام iter()، واستخدام next() للوصول إلى العناصر يدويًا. my_string = "hello" #ذلك كائن قابل للتكرار iterator = iter(my_string) # Iterator مكرر print(next(iterator)) print(next(iterator)) # لطباعة العناصر الباقية في المكرر for char in iterator: print(char)
    1 نقطة
×
×
  • أضف...