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

Mustafa Suleiman

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

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

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

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

    299

كل منشورات العضو Mustafa Suleiman

  1. ما تريده هو استخدام GitHub Pages وستجد شرح بالفيديو هنا: ولكن عليك رفع نسخة المشروع بعد التحزيم أي رفع مجلد build وليس رفع الكود المصدري، فذلك نرفعه في فرع branch آخر. لكن من الأسهل استخدام Netlify:
  2. الذهبي: HTML: #FFD700 RGB: 255, 215, 0 CMYK: 0, 16, 100, 0 Pantone: PMS 123 C دم الغزال: HTML: #8B0000 RGB: 139, 0, 0 CMYK: 0, 100, 100, 46 Pantone: PMS
  3. هناك مشكلة في الـ compiler في Code::Blocks من الأسهل تثبيت النسخة التي تتضمن على الـ compiler وهي: https://www.fosshub.com/Code-Blocks.html?dwl=codeblocks-20.03-setup.exe#
  4. جوجل أدسنس أصبح يتطلب مستوى مرتفع لجودة المحتوى منذ فترة، فلديك في الموقع محتوى بسيط للأخبار عليك بناء محتوى مرتفع الجودة وليكن سلسلة مقالات لا تقل كلمات كل مقال عن 1500 كلمة واستهدف في المقالات ما يهتم به زوارك أي حقق لهم إفادة، بعد كتابة 10 مقالات من تلك النوعية على الأقل حاول التقدم مجددًا. ولو قمت بإنشاء مقالة ضخمة واحدة 3000 كلمة مثلاً تتحدث عن موضوع بشكل شامل أو بها مواضيع تندرج تحت موضوع معين، فذلك سيكون أفضل، بحيث تكون المقالة الرئيسية في موقعك وباقي المقالات مساعدة لها. أيضًا حاول الاستعانة بيوتيوب ووضع شرح بسيط بالفيديو لأمر معين في مقالاتك ذلك سيزيد من جودة المحتوى. واهتم بالصور والوسائط الأخرى في المقالات، وقم بالربط بينهم أي إنشاء روابط داخلية.
  5. ما هو الرابط المقصود؟ أظن أنك تتسائل حول رابط المستودع أو ملفات خاصة بدرس بالدورة، إذن أرجو التعليق أسفل فيديو الدورة حيث ستجد صندوق للتعليقات بالأسفل. وطرح الأسئلة العامة في قسم أسئلة البرمجة هنا.
  6. أشهر 20 سؤال في مقابلات العمل هو التالي: Longest Common Subsequence Longest Increasing Subsequence Edit Distance Minimum Partition Ways to Cover a Distance Longest Path In Matrix Subset Sum Problem Optimal Strategy for a Game 0-1 Knapsack Problem Boolean Parenthesization Problem Shortest Common Supersequence Matrix Chain Multiplication Partition problem Rod Cutting Coin change problem Word Break Problem Maximal Product when Cutting Rope Dice Throw Problem Box Stacking Egg Dropping Puzzle تستطيع البحث عن كل سؤال على اليوتيوب
  7. أسهل طريقة لفتح منفذ الأوامر في مسار مجلد المشروع، هو كتابة cmd في شريط العنوان بالمجلد ثم اضغط Enter كالتالي: أو يمكنك الضغط في أي مكان فارغ بالمجلد بزر الفأرة الأيمن ثم اختر open in terminal: لكن من الأفضل فتح منفذ الأوامر (التيرمنال) في vscode مباشرًة حيث يتم فتح التيرمنال في مسار مجلد المشروع المفتوح حاليًا في vscode، ونقوم بالضغط على CTRL + ` حيث ` هو حرف الـ ذ بالكيبورد لكن عندما تكون أجنبية ENG
  8. تم تغيير الـ Resolution لديك أي دقة الشاشة أصبحت أصغر ربما لأن اللعبة قديمة أو حدث مشكلة لسببِ ما، اضغط على سطح المكتب بزر الفأرة الأيمن ثم اختر display settings ثم ستجد خيار باسم display resolution قم بإختيار دقة الشاشة المناسبة للشاشة للديك والتي ستجد بجانبها recommended.
  9. عليك إضافة الكود اللازم لعرض رسالة تأكيد قبل حذف السجل عند الضغط على زر "حذف" في الجدول، وذلك من خلال مكتبة SweetAlert2 لإظهار الرسالة، كالتالي: <button class="btn btn-danger confirm" id="delete-row"> <a href="delete.php?deleteid='.$id.'" class="text-light text-decoration-none">حذف </a> </button> وكما ترى، أضفت الفئة "confirm" إلى الزر، وهذا ما نعتمد عليه في الجافا سكريبت لاستهداف الأزرار التي تحتاج إلى تأكيد. الكود بعد التعديل <!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>الرئيسية</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> </head> <body> <div class="container"> <table class="table my-5 table-bordered table-striped"> <thead> <button class="btn btn-success mt-3"><a href="index.php" class="text-decoration-none text-light">اضافة بيانات</a></button> <tr> <th class="text-center table-primary" scope="col">#</th> <th class="text-center table-primary" scope="col">الاسم</th> <th class="text-center table-primary" scope="col">البريد الالكتروني</th> <th class="text-center table-primary" scope="col">رقم الهاتف</th> <th class="text-center table-primary" scope="col">العمليات</th> </tr> </thead> <tbody> <?php include 'dbcon.php'; $sql = "select *from users"; $resault = mysqli_query($conn, $sql); while ($row = mysqli_fetch_array($resault)) { $id = $row['id']; echo '<tr> <td class="text-center"> ' . $row['id'] . ' </td> <td class="text-center"> ' . $row['name'] . ' </td> <td class="text-center"> ' . $row['email'] . ' </td> <td class="text-center"> ' . $row['phone'] . ' </td> <td class="text-center"> <button class="btn btn-primary my-3"> <a href="update.php?updateid=' . $id . '" class="text-light text-decoration-none"> تعديل</a> </button> <button class="btn btn-danger confirm" data-id="' . $id . '">حذف</button> <button class="btn btn-success" onclick="printPage(10)">طباعة</button> </td> </tr>'; } ?> </tbody> </table> </div> <script > document.addEventListener('DOMContentLoaded', function() { const deleteButtons = document.querySelectorAll('.confirm'); deleteButtons.forEach(button => { button.addEventListener('click', function(e) { e.preventDefault(); const id = this.getAttribute('data-id'); Swal.fire({ title: 'هل أنت متأكد؟', text: "لن تتمكن من التراجع عن هذا الإجراء!", icon: 'warning', showCancelButton: true, confirmButtonColor: '#3085d6', cancelButtonColor: '#d33', confirmButtonText: 'نعم، احذفه!' }).then((result) => { if (result.isConfirmed) { window.location.href = 'delete.php?deleteid=' + id; } }); }); }); }); </script> </body> </html>
  10. بشكل أبسط، OpenCV تخيلها مثل مجموعة أدوات كبيرة تحتوي على أدوات للتعامل مع الصور. أي تخيل مكتبة مليئة بالأدوات الجاهزة لاستخدامها على الفور، فهي عبارة عن مجموعة ضخمة من الخوارزميات التي تتعامل مع الصور والفيديو بطرق تقليدية، أي لا تعتمد على شبكات عصبية معقدة. بينما PyTorch اعتبره مثل مصنع لبناء أدمغة اصطناعية ذكية، أي مجموعة أدوات لبناء آلات ذكية قادرة على "التعلم" من البيانات، أي نستخدم الإطار في حال نتطلع إلى بناء نماذج ذكية لحل مشاكل معقدة في الرؤية الحاسوبية، كالتعرف الدقيق على الكائنات أو إنشاء محتوى جديد.
  11. OpenCV عبارة مكتبة مفتوحة المصدر توفر مجموعة واسعة من الوظائف واللغوريتمات لمعالجة الصور والفيديو. أي تُركز بشكل أساسي على معالجة الصور والفيديو التقليدية، كتصفية الصور بالتنعيم وتحديد الحواف والتشويه، وتحديد الكائنات في الصور بجانب التعرف على الوجوه في الصور ومقاطع الفيديو. بينما PyTorch هو إطار عمل مفتوح المصدر يسمح بتطوير وتدريب الشبكات العصبية لمجموعة متنوعة من المهام، بما في ذلك، التعلم الآلي من خلال تصنيف الصور، والتنبؤ، وتحليل البيانات والرؤية الحاسوبية بالكشف الكائنات، وتتبع الكائنات، والتعرف على الوجه. أي يُركز بشكل أساسي على التعلم العميق، مع إمكانيات متقدمة مثل بناء نماذج تعلم عميق معقدة، أيضًا التكامل مع أُطر عمل أخرى التعلم العميق الأخرى حيث تستطيع دمجه مع إطار TensorFlow.
  12. بشكل بسيط، نقوم بإنشاء عنصر أب كحاوية container ثم بداخله نضع عنصر آخر ليحتوي النص ونضع له إطار من اليسار ثم padding كالتالي: <!DOCTYPE html> <html> <head> <title>Page Title</title> </head> <body> <div class="quote"> <div class="quote_text">"this is important"</div> </div> </body> </html> CSS: .quote{ background-color: rgb(192, 192, 192); padding: 10px; } .quote_text{ border-left: 5px solid purple; padding: 10px; }
  13. لا يوجد ما يسمى الأفضل في البرمجة، بل لكل تقنية استخدامها الأمثل لها، هل تتسائل بخصوص تعلم مجال الواجهة الخلفية، أم بخصوص مشروع لديك تريد تطويره بلغة معينة وما هو المشروع؟ وهل تريد العمل بشركة أم تريد العمل على منصات العمل الحر. وعامًة ستجد إجابات سابقة هنا:
  14. هل تريد العمل في شركة عن بُعد؟ إذن عليك البحث عن وظائف من نوع remote على مواقع مثل linkedIn وIndeed و bayt. أيضًا توجد منصة بعيد التابعة لشركة حسوب والتي توفر وظائف عن بُعد. أو يمكنك العمل على منصات العمل الحر مثل منصة مستقل وبعيد. لكن للأسف وظائف Remote في الشركات أغلبها يتطلب خبرة، حيث أنك بمفردك أي لا يوجد فريق حولك يساعدك وتتعلم منهم، لكن أحيانًا يتم طرح فرص تدريب عن بُعد أي remote internship ابحث عن ذلك في المنصات الخاصة بالوظائف التي ذكرتها في البداية. من الأفضل بناء مشاريع كاملة ثم تكوين معرض أعمال جيد، ومحاولة العمل كمستقل في البداية بجانب التقديم على وظائف Remote في الشركات وتفقد المطلوب وما ينقصك وتعلمه أثناء ذلك لحين الوصول للمستوى المطلوب. لكن لا أنصحك بالعمل عن بُعد في بدايات حياتك المهنية فذلك ضرره أكثر من نفعه أنت بحاجة إلى التواجد ضمن فريق والتعلم واكتساب الخبرات.
  15. ساعتان على الأقل يوميًا وذلك أقل القليل، والأمر ليس بعدد الفيديوهات بل بمقدار الإفادة والاستيعاب، فلا تكتفي بمشاهدة الفيديو فقط بل حاول البحث والتطبيق وحل التمارين أو تنفيذ مشروع بسيط. ولكن إن كان لديك الوقت الكافي، فعلى الأقل 6 ساعات يوميًا ولو زدت كان أفضل، وذلك لمدة 6 شهور لكي تنتهي من مسار برمجي كامل (مثل مطور واجهة أمامية وغيره من المجالات) وتصبح بمستوى Junior في مسارك وذلك بعد تنفيذ مشاريع كاملة، وتلك المدة قد تصل إلى سنة لا مشكلة المهم هو أن مستواك يتحسن يومًا بعد يوم، فالأمر في البداية صعب والكثير يصاب بالإحباط لكن تلك طبيعة مجال البرمجة ليس بالهين يحتاج إلى صبر ومجهود وطول نفس. وإذا كنت مبتدئًا في البرمجة، فقد تحتاج إلى وقت إضافي لفهم المفاهيم الأساسية، فدورة بايثون التي تحتوي على 67 ساعة ليست الوقت النهائي لاكتساب المعرفة الكاملة، وبشكل منطقي، قد تحتاج إلى 4 إلى 5 أضعاف وقت الدورة لتتمكن من استيعاب المعلومات وتطبيقها بشكل جيد. أي في حال قمت بالدراسة لمدة 6 ساعات يوميًا، فستحتاج إلى حوالي 55 يومًا لإكمال الدورة التي تحتوي على 335 ساعة، مما يعني حوالي شهرين وبضع أيام، والدراسة اليومية المنتظمة تساعدك على البقاء على المسار الصحيح والاستفادة القصوى من الدورة.
  16. هل تستطيع كتابة تعليق في الصندوق الخاص بالتعليقات؟ أي تستطيع كتابة نص؟ في حال تستطيع، أرجو طرح تعليق جديد وليس التعديل على التعليق القديم، في حال طرحت التعليق من فترة.
  17. استخدم خاصية streams لعرض جميع الجودات المتاحة للفيديو كالتالي: video = pytube.YouTube(url) streams = video.streams for stream in streams: print(f"جودة الفيديو: {stream.resolution} - دقة الصوت: {stream.abr}") وبالطبع يجب وجود إنترنت من أجل التمكن من تحميل الفيديو.
  18. الدالة get_highest_resolution() موجودة وتستطيع تفقدها في المستند الرسمي وهي تعمل على جلب الفيديو بأعلى دقة متاحة إن وجدت.
  19. في البداية لن يفيدك ذلك، لكن بعد إنهاء مسارك البرمجي وتنفيذ أكثر من مشروع والإعتياد على استخدام GitHub، تستطيع المساهمة في المشاريع مفتوحة المصدر، وذلك سيفيدك بلا شك حيث ستتمكن من اكتساب مهارة قراءة أكواد الآخرين وفهم آلية عمل المشروع وكيف يتم تنظيم الأكواد وهيكلة مجلدات وملفات المشروع. وكيف يتم المساهمة والعمل كفريق من خلال نظام إدارة الإصدارات GIT. وستتفاجيء عند النظر للحزم والإطارات التي تستخدمها في مشروعك بأن الكثير منها مفتوح المصدر وتستطيع المساهمة بها إن كان لديك المعرفة الكافية. وكبداية لكسر حاجز الرهبة، يمكنك المساهمة بشكل بسيط من خلال مساهمات مخصصة للمبتدئين من خلال المواقع التالية: https://up-for-grabs.net https://goodfirstissue.dev
  20. عليك كتابة اسم النموذج بشكل صحيح حيث كتبت user والصحيح هو User لأنك تستورد ذلك: from django.contrib.auth.models import User أي تعديل الخطأ في السطر: user=models.OneToOneField(user,verbose_name=_('user'),on_delete=models.CASCADE) ليصبح: user = models.OneToOneField(User, on_delete=models.CASCADE) أيضًا سيظهر لديك خطأ NameError: name '_' is not defined، بسبب أنك لا تستورد gettext_lazy كالتالي: from django.utils.translation import gettext_lazy as _
  21. لا يوجد ذلك، فلغة HTML هي لغة هيكلية أو وصفية لهيكلة عناصر الصفحة، وما تريدينه يتم من خلال لغة برمجة وهي جافاسكريبت، وقد تم توضيح كيفية فعل ذلك هنا:
  22. ما تقصدينه هو تغيير اتجاه النص من اليسار إلى اليمين، أي يصبح الإتجاه من اليمين إلى اليسار RTL وهو اختصار لـ Right to Left وهو اتجاه اللغة العربية، ويتم أيضًا تحويل إتجاه العناصر من اليمين إلى اليسار أيضًا. وذلك من خلال سمة dir مع قيمة rtl، ونضعها في العنصر الرئيسي لصفحة HTML وهو عنصر html كالتالي: <!DOCTYPE html> <html dir="rtl"> <head> <meta charset="UTF-8"> <title>عنوان الصفحة</title> </head> <body> هذا نص باللغة العربية </body> </html> أو يمكننا بدلاً من ذلك استخدام CSS حيث نكتب التالي: html { direction: rtl; } واستخدام الخاصية dir هو الخيار المفضل لضبط اتجاه الصفحة بأكملها، وبالطبع تستطيعي استخدام CSS لضبط اتجاه عناصر محددة فقط في الصفحة.
  23. عليك استخدام الإعداد التالي في المكتبة: $mpdf = new Mpdf(); $mpdf->SetDirectionality('rtl'); $mpdf->autoLangToFont = true; $mpdf->WriteHTML($html); وذلك من أجل تعيين اتجاه الصفحة إلى يمين إلى يسار، لكي تتوافق مع اللغة العربية، أيضًأ تفعيل خاصية ربط اللغة بالخط تلقائيًا.
  24. الأمر صحيح من وجهة نظر معينة، لكن تستطيعي تعلم البرمجة بأي لغة تريدينها، فمن غير المنطقي أن نجبر أحد على تعلم البرمجة من خلال C++ أو جافا وهو مبتدأ تمامًا ولا يدري أي شيء حول علوم الحاسوب أو مستخدم بسيط للكمبيوتر والإنترنت. ولا مشكلة في ذلك فالجميع كان في نفس النقطة في مرحلةٍ ما، لذا لغة برمجة مثل بايثون أو جافاسكريبت بداية جيدة لتعلم البرمجة وسهلة، وبعد تعلم أول لغة برمجة تستطيعي تعلم أي لغة بشكل أسهل بمراحل فجميع اللغات تشترك في نفس المفاهيم. وبالطبع التأسيس من خلال لغة برمجية متوسطة المستوى أو منخفضة نسبيًا مثل c++ أو جافا هو يعطي أفضلية وفهم أفضل بلا شك، حيث أن بايثون وجافاسكريبت بهم تجريد abstraction أي يتم إخفاء الكثير من الأمور عنك وتتم بشكل تلقائي في الخلفية بينما تتعلمين تلك الأمور من خلال لغات متوسطة المستوى مثل c++ أو جافا. لذا في أي وقت تستطيعي العودة ودراسة الأساسيات من خلال تلك اللغات أو يمكن تجاهل الأمر والمضي قُدمًا ولا مشكلة في ذلك، فنسبة كبيرة من المطورين لم يقوموا بدراسة C++ أو جافا، الأمر يتوقف على المسار البرمجي فمثلاً مسار Front-End ليس بحاجة إلى دراسة لغة منخفضة المستوى بينما الـ back-end من الأفضل له تعلم C++ وليس جافا. وللعلم جافا أسهل من c++.
  25. هناك شركات مًصنعة جيدة منها DELL ثم MSI ثم Asus، ولينوفو جيدة بالنسبة للمواصفات لكن خامات اللابتوب ليست بجودة مرتفعة حيث يتم التركيز على المواصفات المرتفعة مقابل سعر مناسب أكثر. ومواصفات اللابتوب المناسب للبرمجة ليست مرتفعة، يكفي 8 جيجابايت من الذاكرة العشوائية بحد أدنى ومن الأفضل 16 جيجابايت تلك الأيام. بجانب معالج قوي موديل H وليس U الموفر للطاقة إن أمكن ذلك حيث يرتفع سعره نسبيًا مقارنًة بمعالجات U، على أي حال يشترط ألا تقل عدد الأنوية عن 4 أنوية. بالإضافة إلى وجود هارد SSD للتثبيت النظام والبرامج عليه فبدونه ستعانين من بطء النظام والبرامج، حتى لو كانت مواصفات اللابتوب مرتفعة. إن كانت الميزانية جيدة يمكن شراء لابتوب مع كرت شاشة إضافي أي ليس مدمج بالمعالج، وذلك في حال التعامل مع برامج مثل الفوتوشوب بشكل مكثف وليس بشكل بسيط. ولا أنصحك بشراء لاب توب إلا في حالة كنتي ستتنقلين به خارج المنزل، وأنصحك بشراء PC والسبب أن الحاسوب منخفض التكلفة مقارنًة باللاب توب وأيضًا مواصفاته مرتفعة مقابل السعر المنخفض. وعلى العكس اللاب توب سعره مرتفع ومواصفاته منخفضة، مقارنًة إذا قمتي بشراء حاسوب بنفس السعر. وأيضًا الحاسوب أفضل من حيث الإنتاجية والتركيز، بسبب وجود شاشة وماوس منفصل ولوحة مفاتيح، ويتحمل العمل الشاق وعمره طويل وأعطاله أقل. وبخصوص المواصفات تم النقاش حول ذلك في النقاشات التالية:
×
×
  • أضف...