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

Mustafa Suleiman

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

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

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

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

    340

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

  1. إنشاء شبكة تواصل مثل فيسبوك؟ نعم يمكنك ذلك، هل الخوارزميات الخاصة بتلك الشبكة ستصبح مثل فيسبوك في يوم وليلة؟ بالطبع لا، فأنت بحاجة إلى سنوات من أجل تطوير خورازمية ضخمة مشابهة وبحاجة إلى فريق عمل ضخم. أما عن إنشاء تطبيق مثل واتساب، فيمكنك إنشاء تطبيق مماثل ويمكنك البحث على يوتيوب عن What'sApp Clone. أما عن ChatGPT فذلك مستحيل، حيث أن إنشاء نموذج ذكاء اصطناعي مشابه بحاجة إلى سنوات وفريق عمل خبير وليس شخص واحد فقط بالإضافة إلى أموال طائلة، ولكن يمكنك استخدام نموذج ذكاء اصطناعي مفتوح المصدر LLaMA 2 مثل الخاص بفيسبوك وتدريبه على البيانات الخاصة بك مثلاً أو استخدامه في مشروعك.
  2. لاحظ أنك تستخدم دالة بانية باسم Function وهي خاصة بإنشاء الدوال، عليك استخدام إعلان الدالة function declaration من خلال حرف f صغير كالتالي: function(err){ } وليس: Function(err){ } وما أقصد بأنها تقوم بإنشاء دالة فهي تستخدم لإنشاء دالة بالفعل لاحظ المثال التالي: const sum = new Function('a', 'b', 'return a + b'); console.log(sum(2, 6)); // Expected output: 8 قمت بكتابة معاملات للدالة وأيضًا القيمة التي سيتم إعادتها.
  3. ما تتحدث عنه هو الـ Syntax بالإضافة إلى أفضل الممارسات أثناء كتابة الكود حيث يمكن الاطلاع علىPEP 8 وهو مستند يحتوي على مجموعة من المعايير والإرشادات المتعلقة بأسلوب كتابة الأكواد في لغة Python. وتمثل "PEP" اختصارًا لـ "Python Enhancement Proposal"، وهي وثائق تُستخدم لاقتراح تحسينات للغة Python ومكتباتها المرتبطة. والأمر يطول شرحه لكن هناك بعض القواعد الأساسية لكتابة أكواد Python هي التالي: المسافات البيضاء (Whitespace) Python تستخدم المسافات البيضاء (المسافات والتابات) لفهم وتنسيق الأكواد، ويجب أن تكون المسافات محددة بشكل صحيح. for i in range(5): print(i) الهوامش (Indentation) تعتمد بايثون على التعريفات لتنظيم الكود وبالتي يجب أن تكون التعريفات متساوية من حيث التباعد (indentation)، والعادة تستخدم أربع مسافات أو مسافتين (PEP 8 توصي باستخدام أربع مسافات). if x > 5: print("x is greater than 5") التعليقات (Comments) يمكنك إضافة تعليقات لشرح الكود باستخدام الرمز #، والتعليقات لا تؤثر على تنفيذ البرنامج. # هذا تعليق أسماء المتغيرات والدوال يمكن استخدام الأحرف الأبجدية (a-z و A-Z) والأرقام (0-9) وشرطة سفلية (_) في تسمية المتغيرات. ابدأ اسم المتغير بحرف (a-z أو A-Z) أو بشرطة سفلية (_). ليس مسموحًا بالبدء برقم. Python حساسة لحالة الأحرف، مما يعني أن المتغيرات "myVar" و "myvar" تعتبران مختلفتين. لا يمكن استخدام كلمات محجوزة مثل if و while و for كأسماء متغيرات. يُفضل اتباع بعض الممارسات الجيدة في تسمية المتغيرات: استخدم أسماء متغيرات واضحة ومعبرة توضح الغرض من المتغير. استخدم حروف صغيرة لأسماء المتغيرات وفصل الكلمات بواسطة الشرطة السفلية (snake_case). مثال: my_variable. لأسماء المتغيرات الثابتة والمتغيرات التي تعتبر خاصة بالصف تبدأ بحرف تسطيري واحد (underscore), وذلك للإشارة إلى أنها خاصة. مثال: _private_variable. يُفضل استخدام اختصارات لأسماء المتغيرات إذا كان ذلك يزيد من وضوح الكود، مثال: num_of_items يمكن تختصرها إلى num_items. name = "mustafa" التعبيرات الشرطية (Conditional Statements) استخدم تعبيرات شرطية مثل if, elif, و else للتحكم في تدفق البرنامج. if x > 10: print("x is greater than 10") elif x == 10: print("x is equal to 10") else: print("x is less than 10")
  4. ربما المشكلة تكمن في أنك تستخدم متغيرات محلية في شرط المقارنة، وتلك المتغيرات يتم حذفها بعد كل طلب من الصفحة، لذلك حتى لو كانت القيمة صحيحة في البداية، ستصبح غير صحيحة بعد ذلك. حاول استخدام متغيرات عالمية، حيث أن تلك المتغيرات لا يتم حذفها بعد كل طلب، لذلك ستظل صحيحة حتى لو قمت بإعادة تحميل الصفحة. كالتالي: // تعريف متغيرات عالمية $qINkg = $_POST['qINkg']; $sCustomercredit = $_POST['sCustomercredit']; // Check if the quantity is greater than the customer's credit if ($qINkg >= $sCustomercredit) { // Show an error message echo "The quantity is greater than the customer's credit."; exit; } وبخصوص jQuery الكود سيكون كالتالي: let qINkg = $(".qINkg").val(); let sCustomercredit = $(".sCustomercredit").val(); // Check if the quantity is greater than the customer's credit if (qINkg >= sCustomercredit) { // Show an error message Swal.fire( <?php echo json_encode($langs->trans('error')); ?>, <?php echo json_encode($langs->trans('invalidReturn1')); ?>, 'error' ); event.preventDefault(); return false; } أيضًا من الأفضل إضافة فحص إضافي للتأكد من أن المتغيرات ليست فارغة باستخدام الشرط التالي: PHP if (!empty($qINkg) && !empty($sCustomercredit)) { // Check if the quantity is greater than the customer's credit if ($qINkg >= $sCustomercredit) { // Show an error message echo "The quantity is greater than the customer's credit."; exit; } } JS: if (qINkg && sCustomercredit) { // Check if the quantity is greater than the customer's credit if (qINkg >= sCustomercredit) { // Show an error message Swal.fire( <?php echo json_encode($langs->trans('error')); ?>, <?php echo json_encode($langs->trans('invalidReturn1')); ?>, 'error' ); event.preventDefault(); // Prevent form submission return false; }
  5. تستطيع معرفة آخر التحديثات المضافة في أكاديمية حسوب من خلال صفحة آخر التحديثات. وما تم إضافته مؤخرًا في دورة جافاسكريبت هو التالي: أضفنا مسارًا جديدًا لتطوير تطبيق تعلم اللغات باستخدام Next.js وتقنيات الذكاء الاصطناعي المقدمة من OpenAI إلى دورة تطوير التطبيقات باستخدام JavaScript. ستتعلم في 6 ساعات فيديو كيف تتعامل مع OpenAI API ومختلف تقنياتها وأبرزها ChatGPT، وكيف تستفيد من هذه التقنيات في مشاريعك الخاصة بتطويرنا لتطبيق متكامل عبر Next.js و MUI يوضح الاستخدام العملي لها.
  6. من الأسهل لك إذا لم يكن لديك دراية كبيرة بجافاسكريبت استخدام مكتبة جاهزة لإرسال الإشعارات، مثل مكتبة pushjs وبعد تثبيت المكتبة ستقوم بإرسال إشعار كالتالي: Push.create("Hello world!", { body: "How's it hangin'?", icon: '/icon.png', timeout: 4000, onClick: function () { window.focus(); this.close(); } }); وستجد تفصيل أكثر في المستند الرسمي وأيضًا مثال حي للإشعارات المرسلة للمتصفح: https://pushjs.org
  7. لا سبيل للتراجع عن ذلك لللأسف، عليك الإعتماد في المستقبل على Git وGitHub بحيث تقوم برفع التعديلات للمستودع على وGitHub وسيتم حفظها هناك للأبد وتستطيع التراجع عنها بسهولة. وعدا تلك الطريقة ستكون عرضة لفقد ملفات مشروعك في أي وقت ولأي سبب مثلما حدث معك. وهنا شرح وافي لأساسيات استخدام Git وGitHub:
  8. أنت تريد أن تصبح مطور واجهات أمامية، صحيح؟ إذن عليك تعلم اللغات الأساسية والتي تعتمد عليها باقي التقنيات مثل مكتبة React وغيرها، وأقصد باللغات الأساسية HTM, CSS, JS عليك التركيز على تعلمهم بشدة ولا تتسرع في الإنتقال لتعلم أي مكتبة أو إطار بدون الشعور بأريحية في تفنيذ مشروع كامل من خلال تلك اللغات وأقصد مشروع متوسط التعقيد. عليك دراسة المسار الأول من دورة تطوير واجهات المستخدم وهو متاح لك بشكل مجاني، ثم التطبيق على ما تعلمته وستجد شرح لذلك هنا:
  9. الإجابة ببساطة هي نعم في حال كنت مصمم وليس مبرمج واجهات أمامية UI\UX. لا مشكلة به طالما أن المشروع الخاص بالعميل أو المشروع الذي تعمل عليه لا يتطلب أكثر من ذلك، حيث أن منصة webflow لا تتضمن الكثير من التخصيص، أو يمكنك إنشاء نموذج سريع للتصميم الخاص بك من خلال تلك المنصة لعرضه على العميل أي demo. وستجد شرح مفصل هنا:
  10. يمكنك الإعتماد على مكتبات مثل difflib أو fuzzywuzzy، وسأوضح لك كيفية القيام بذلك باستخدام مكتبة fuzzywuzzy. يجب عليك تثبيت المكتبة إذا لم تكن مثبتة بالفعل باستخدام pip: pip install fuzzywuzzy ثم استخدامها كالتالي: from fuzzywuzzy import fuzz # النصوص التي ترغب في مقارنتها text1 = "النص الأول" text2 = "النص الثاني" # احتساب نسبة التشابه بين النصوص similarity_ratio = fuzz.ratio(text1, text2) print("نسبة التشابه بين النصوص:", similarity_ratio) الكود سيعممل على حساب نسبة التشابه بين النصوص text1 و text2 ويطبعها لك، والنتيجة ستكون قيمة بين 0 و100، حيث 0 يعني أنهما غير متشابهين تمامًا و100 يعني أنهما متطابقين تمامًا من ناحية الترتيب والمحتوى.
  11. سيتم التواصل معك لا تقلق بخصوص ذلك الشأن، فأحيانًا يكون هناك ضغط على مركز المساعدة لا أكثر.
  12. حاول استخدام برنامج يوفر بيئة تطوير جيدة جيد مثل Pydroid 3 أو QPython ثم عليك أولاً تثبيت الحزمة التي تريد استخدامها ثم استيرادها، فمثلاً لو أردت استخدام مكتبة python-docx عليك تثبيت المكتبة كالتالي: pip install python-docx بعد ذلك استيرادها كالتالي: from docx import Document وتستطيع البحث على اليوتيوب عن كيفية استخدام jupyter.
  13. السؤال غير واضح، لكن علي أي حال عليك أولاً تعلم أساسيات بايثون وقد تم ذكر مصادر التعلم هنا: وبعد تعلم الأساسيات وإنشاء نماذج بسيطة، عليك تحديد ما الذي تري فعله بالضبط من خلال بايثون، هل تريد إنشاء برامج وواجهة مستخدم لها؟ يمكنك ذلك من خلال استخدام مكتبة TKinter وهنا شرح لها:
  14. بالطبع فذلك مذكور في وصف كل دورة، وهو الآتي: حينما تحصل على الشهادة سنقدم لك خدمة كتابة السيرة الذاتية مجانًا، ثم سنتابع معك لإعداد حساباتك على مواقع العمل، وحينها إن لم تحصل على عمل يغطي قيمة الدورة التي دفعتها خلال 6 أشهر من حصولك على الشهادة فسنعيد لك ما دفعت، بكل بساطة.
  15. ذلك الشأن يمكن مساعدتك به من خلال مركز المساعدة الخاص بالأكاديمية عليك التحدث إليهم وإخبارهم بما تريد بالتفصيل ما أمكن ذلك حتى يتم الرد عليك بشكل صحيح.
  16. الأمر يعتمد على حجم المتجر والمواصفات المطلوبة وأيضًا الخبرة المطلوبة لتنفيذ ذلك، فمثلاً تتراوح التكلفة بدايًة من 250 دولار لمتجر بسيط وتزداد التكلفة حتى تصل إلى 10 آلاف دولار. وبخصوص السعر هناك العديد من العوامل التي يجب معرفتها وستجد البعض من هنا في النقاش التالي: أما الفرق بين الووردبريس والبرمجة الخاصة فهو كالتالي: الووردبريس: هو نظام إدارة محتوى قائم على مفتوح المصدر، وهو خيار جيد للمتاجر الصغيرة والمتوسطة الحجم، ويتميز الووردبريس بسهولة الاستخدام والإعداد، كما أنه يوفر مجموعة واسعة من القوالب والإضافات التي يمكن استخدامها لإنشاء متجر إلكتروني مثل إضافة ووكومرس. البرمجة الخاصة: هي عملية إنشاء متجر إلكتروني من الصفر باستخدام لغة البرمجة المفضلة لديك ولتكن بايثون مع إطار دجانغو، ويتميز المتجر الإلكتروني المبرمج خصيصًا بأنه أكثر مرونة وقابلية للتخصيص من المتجر الإلكتروني القائم على الووردبريس، ولكنه أيضًا أكثر تكلفة ويتطلب وقت أكثر للتطوير.
  17. في حال أنك تمتلك رأسمالًا كبيرًا، فيمكن تطبيق عدة نماذج للتوزيع على الأرباح والخسائر وواحدة من تلك النماذج هي توزيع الأرباح بالنصف بين الشريكين. أي توزيع الأرباح والخسائر بالتساوي بينك وبين الشخص الآخر، وذلك يعني أنكما ستقسمان الأرباح والخسائر بالنسبة المئوية نصفين - أي 50% لك و50% للشخص الآخر. ولكن، إذا كان رأس مال الشريك الآخر كبيرًا، فبالتأكيد سيرغب في تعديل القاعدة ليكون له نصيب أكبر من الأرباح، وهذا أمر قابل للتفاوض، ولكن يجب أن يتم الاتفاق عليه بشكل واضح قبل بدء الشراكة. وبناءًا على كلامه فهو يعتبر أن لك حصة في الشركة وعليك أن تسأله ما هي نسبة الحصة الخاصة بي. وهناك بعض الأسئلة التي يجب طرحها على الشريك الآخر للمساعدة في تحديد القاعدة المناسبة لتقاسم الأرباح: ما هو رأس المال الذي ساهمت به؟ ما هو حجم تجارتك؟ ما هي مخاطر الاستثمار في هذا المشروع؟ ما هو معدل العائد الذي تتوقعه؟ شروط الخروج من الشركة. وهناك نقاط هامة جدًا يجب تنفيذها والحذر منها: احصل على نسخة من الاتفاق مكتوبة وموقعة من الطرفين. احتفظ بسجلات دقيقة لجميع المعاملات التجارية بينكما. تجنب الدخول في أي اتفاقات شفهية أو غير مكتوبة. إذا واجهت أي مشاكل، فاستشر محامياً أو مستشاراً قانونياً.
  18. يمكنك ذلك من خلال إرسال التاريخ والموقع كالتالي: https://api.aladhan.com/v1/timings/16-10-2023?latitude=51.508515&longitude=-0.1254872&method=2 وستحصل على رد كالتالي: { code: 200, status: "OK", data: { timings: { Fajr: "05:54", Sunrise: "07:26", Dhuhr: "12:46", Asr: "15:33", Sunset: "18:06", Maghrib: "18:06", Isha: "19:37", Imsak: "05:44", Midnight: "00:46", Firstthird: "22:32", Lastthird: "02:59" }, date: { readable: "16 Oct 2023", timestamp: "1697436000", hijri: { date: "01-04-1445", format: "DD-MM-YYYY", day: "01", weekday: { en: "Al Athnayn", ar: "الاثنين" }, month: { number: 4, en: "Rabīʿ al-thānī", ar: "رَبيع الثاني" }, year: "1445", designation: { abbreviated: "AH", expanded: "Anno Hegirae" }, holidays: [ ] }, gregorian: { date: "16-10-2023", format: "DD-MM-YYYY", day: "16", weekday: { en: "Monday" }, month: { number: 10, en: "October" }, year: "2023", designation: { abbreviated: "AD", expanded: "Anno Domini" } } }, meta: { latitude: 51.508515, longitude: -0.1254872, timezone: "Europe/London", method: { id: 2, name: "Islamic Society of North America (ISNA)", params: { Fajr: 15, Isha: 15 }, location: { latitude: 39.70421229999999, longitude: -86.39943869999999 } }, latitudeAdjustmentMethod: "ANGLE_BASED", midnightMode: "STANDARD", school: "STANDARD", offset: { Imsak: 0, Fajr: 0, Sunrise: 0, Dhuhr: 0, Asr: 0, Maghrib: 0, Sunset: 0, Isha: 0, Midnight: 0 } } } } والمزيد من التفاصيل في المستند الرسمي: https://aladhan.com/prayer-times-api#GetTimings
  19. ما المقصود بالبحث؟ أرجو المزيد من التوضيح للسؤال.
  20. منصة railway كانت الأسهل إلا أنها لم تعد مجانية أيضًا، ومن حيث السهولة في الاستخدام لديك الآن vercel (تدعم (Node.js, Go, Ruby, Python) و أيضًا يوجد Render.com وcyclic.sh، بجانب Netlify والتي تدعم اللغات التالية: Node.js Ruby Python PHP Go Java والمزيد يمكنك تفقده من خلال المستند الرسمي. وبخصوص استضافة قاعدة بيانات، فلديك planetscale وsupabase وcockroachDB بالإضافة إلى Atlas.
  21. أولاً عليك تثبيت Homebrew من خلال الأمر التالي: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" بعد ذلك عليك تثبيت Ruby ومن الأفضل استخدام مدير إصدارات مثل ASDF بحيث يمكنك التنقل بين الإصدارات بكل سهولة وأيضًا هو يدعم Node.js. لتثبيت asdf عليك بتنفيذ كل أمر من الأوامر التالية: cd git clone https://github.com/excid3/asdf.git ~/.asdf echo '. "$HOME/.asdf/asdf.sh"' >> ~/.zshrc echo '. "$HOME/.asdf/completions/asdf.bash"' >> ~/.zshrc echo 'legacy_version_file = yes' >> ~/.asdfrc exec $SHELL الآن لنقم بتحديد ما اللغات التي نريد تثبيتها من خلال asdf من خلال الأوامر التالي: asdf plugin add ruby asdf plugin add nodejs بعد ذلك تحديد الإصدار الإفتراضي لـ Ruby وتثبيتها: asdf install ruby 3.2.2 asdf global ruby 3.2.2 gem update --system والآن تأكد من التثبيت تم من خلال الأمر التالي: ruby -v ولتثبيت node.js من أجل التعامل مع ملفات جافاسكريبت في المشروع لديك، عليك بالتالي: asdf install nodejs 18.16.1 asdf global nodejs 18.16.1 والآن لنقم بتثبيت Rails من خلال الأمر التالي لتثبيت الإصدار 7: gem install rails -v 7.0.6 وأيضًا تثبيت sqlite3: brew install sqlite3
  22. الخطأ في الكود يعني أنك إما لم تقم بتثبيت مكتبة opencv وعليك تثبيتها كالتالي: pip install opencv-python أو لم تقم باستيراد الحزمة في الكود لديك بالأعلى كالتالي: import cv2
  23. هل تقصد مثل التالي؟ const x = 5; const y = 10; عامًة الحروف المنقوطة (semicolon) تُستخدم لإنهاء التعبيرات أو الأوامر، أي إن وجودها يشير إلى نهاية تعليمة معينة في الكود. وذلك يساعد المترجم (interpreter) أو المتصفح على فهم هذا الجزء من الكود وتنفيذه بشكل صحيح. وعلى الرغم من أن الحروف المنقوطة تُستخدم عمومًا لهذا الغرض في جافا سكريبت، إلا أنها اختياري ويمكن تركها في الأكواد البسيطة، ولكن، عند كتابة أكواد أكبر وأكثر تعقيدًا، يصبح استخدام الحروف المنقوطة ضروريًا لتجنب الأخطاء والسماح بفهم أفضل للكود.
  24. ما المقصود بالحرف؟ أرجو التوضيح بمثال لمساعدتك بشكل أفضل، وهل سؤالك متعلق بأحد الدورات؟
  25. من الأفضل لك تعلم بايثون من خلال المصادر التي أشرت إليها ويوجد على اليوتيوب دورات جيدة إذا أردت، فالأمر ليس بالسهل وتحتاج إلى تعلمه لكي تفهم ما يتم شرحه في الإجابات على أسئلتك.
×
×
  • أضف...