-
المساهمات
15426 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
403
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
أولاً عليك تثبيت 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
-
الخطأ في الكود يعني أنك إما لم تقم بتثبيت مكتبة opencv وعليك تثبيتها كالتالي: pip install opencv-python أو لم تقم باستيراد الحزمة في الكود لديك بالأعلى كالتالي: import cv2
-
هل تقصد مثل التالي؟ const x = 5; const y = 10; عامًة الحروف المنقوطة (semicolon) تُستخدم لإنهاء التعبيرات أو الأوامر، أي إن وجودها يشير إلى نهاية تعليمة معينة في الكود. وذلك يساعد المترجم (interpreter) أو المتصفح على فهم هذا الجزء من الكود وتنفيذه بشكل صحيح. وعلى الرغم من أن الحروف المنقوطة تُستخدم عمومًا لهذا الغرض في جافا سكريبت، إلا أنها اختياري ويمكن تركها في الأكواد البسيطة، ولكن، عند كتابة أكواد أكبر وأكثر تعقيدًا، يصبح استخدام الحروف المنقوطة ضروريًا لتجنب الأخطاء والسماح بفهم أفضل للكود.
- 3 اجابة
-
- 1
-
-
من الأفضل لك تعلم بايثون من خلال المصادر التي أشرت إليها ويوجد على اليوتيوب دورات جيدة إذا أردت، فالأمر ليس بالسهل وتحتاج إلى تعلمه لكي تفهم ما يتم شرحه في الإجابات على أسئلتك.
-
في المكون Signup.js في الواجهة الأمامية عليك إرسال البيانات من خلال axios بشكل صحيح، بحيث يتم إرسالها على شكل كائن كالتالي: await axios.post(REGISTER_URL, { name: name, email: email, password: password, confPassword: confPassword, });
-
أرجو التعليق أسفل فيديو الدورة الخاص بالسؤال من أجل مساعدتك بشكل أفضل. وعلي أي حال، لا تكتفي بأي دورة أبدًا، حاول تكوين عادة لديك كمبرمج أن تبحث عن المزيد وتتعمق حتى لو بشكل بسيط من خلال القراءة والإطلاع والمشاهدة والتطبيق على نماذج أو مشاريع أخرى بجانب الدورة. وأنا لا أقصد قراءة كامل المستند الخاص بمكتبة مثلاً، بل أقصد قراءة شرح الخاصية مثلاً والأمثلة الخاصة بها وهكذا أو البحث عن توضيح لمعلومة في مكان آخر وهكذا.
-
إضافة المنتجات إلى تلك المنصات هو أمر بسيط وليس متعلق بالبرمجة، مجرد إضافة صور وسعر ووصف للمنتج وخلافه، ويتم إنشاء المتاجر بشكل تلقائي على تلك المنصات من خلال إخيتار قالب جاهز وتفعيل بوابة الدفع وباقي الأمور. الأمر الذي تفعله كمطور واجهة أمامية هو تخصيص المتجر من خلال CSS بحيث يتم تعديل مظهر المتجر بما يتناسب مع الهوية أو تخصيص التصميم بالقدر الممكن بناءًا على تصميم القالب.
- 3 اجابة
-
- 1
-
-
ستحتاج إلى تعلم أساسيات بايثون ثم تعلم استخدام تلك المكتبات، فلن يتمكن أحد من تنفيذ ما تريده إلا أنت أو توظيف لمبرمج على موقع خمسات أو مستقل لتنفيذ ما تريده، أو في حال قمت بتوفير الكود من الممكن مساعدتك في حل المشكلة لديك أو توجيهك للحل. تستطيع تعلم أساسيات بايثون من هنا: https://wiki.hsoub.com/Python مقالات ودروس في أكاديمية حسوب ويوجد أيضًا دورة بايثون في أكاديمية حسوب:
-
هل قمت بطباعة الرد من الخادم لرؤية الروابط التي يتم استلامها في الواجهة الأمامية؟ حاول طباعة ذلك وتفقد هل الرابط صحيح أم لا وأيضًا تفقد مسار الصور من خلال عمل inspect لمكان الصورة ورؤية قيمة خاصية src، فقد تحتاج إلى تعديل المسارات أو ما شابه.
- 1 جواب
-
- 1
-
-
المشكلة تكمن في أنك تستخدم نفس الهوية (id) "myForm" لجميع العناصر في الحلقة for داخل الدالة AllNames(). أي أن جميع الأزرار "show" تشير إلى نفس العنصر myForm، وبالتالي عليك جعل كل زر "show" يفتح العنصر المرتبط به، من خلال تمرير معرف فريد لكل عنصر، كالتالي: <script> const arrays = [ { id: 123, name: 'yasser', age: 33, job: 'engenner' }, { id: 643, name: 'bakkar', age: 12, job: 'devloper' }, { id: 908, name: 'hamed', age: 21, job: 'backEnd' }, { id: 435, name: 'Umar', age: 32, job: 'fronEnd' }, { id: 254, name: 'saber', age: 15, job: 'master' }, { id: 765, name: 'iman', age: 11, job: 'secrit' }, ]; const AllNames = () => { for (array of arrays) { let content = ` <div class="card"> <h1>name: ${array.name}</h1> <h3>age: ${array.age}</h3> <h3>job: ${array.job}</h3> <div class="myForm" id= myForm-${array.id} style="display:none"> <input type="text" /> <button class="Edit" onclick="handle()">Edit</button> </div> <button class="show" onclick="showForm(${array.id})">show</button> </div>`; document.getElementById('divAll').innerHTML += content; } }; const handle = () => { console.log(this.array); }; const showForm = id => { document.getElementById(`myForm-${id}`).style.display = 'block'; }; AllNames(); </script>
- 3 اجابة
-
- 1
-
-
بعد تسجيل الدخول ستجد تبويب باسم دوراتي بعد الضغط عليه ستجد الدورات الخاصة بك وعند الضغط على الدورة سيتم عرض المسارات الخاصة بها، وأيضًا بالإَضافة لدورة علوم الحاسوب تستطيع مشاهدة المسار الأول من جميع الدورات الأخرى مجانًا. وستجد هنا شرح مفصل لكيفية الوصول للدورة: كيف أصل للدورات التي اشتركت بها
-
الأمر معقد بعض الشيء ويتطلب خبرة ببايثون والمكتبات الخاصة بها، أولاً عليك استخراج الصور من ملف pdf من خلال مكتبة pdf2image بعد ذلك عليك استخدام OpenCV من أجل محاولة قراءة الأشكال في الصورة ثم استخدام مكتبة مثل pytesseract لتحويل النص في الصورة إلى نص قابل للتعديل ثم استخدام مكتبة python-docx لإضافة الأشكال والنص إلى مستند. وبالطبع هناك طرق مختلفة، ومن الممكن الاستفادة من الذكاء الاصطناعي في قراءة تلك الملفات عبر API، يمكنك تجربة ذلك. وسيفيدك قراءة التالي:
-
البنوك تتيح فتح حسابات للشباب والطلبة سواء من خلال كرنيه الجامعة أو بضمان مفردات مرتب والدك أو والدتك، عليك بالسؤال عن ذلك في البنوك الشهيرة في بلدك، ولكن لن يتم السماح لك باستخراج بطاقة إئتمانية بل بطاقة خصم مباشر Debit Card وهي كافية للشراء من المواقع، ولا أعلم عن إمكانية استخراج بطاقة كريديت بضمان من الوالد أو الوالدة أم لا الأمر يتوقف على سياسات البنك.
-
السؤال غير واضح، هل تقصدين أنه لا يوجد مساحة لعمل scroll؟ تستطيعي إضافة طول لجسم الصفحة من خلال التنسيق التالي: body{ height: 400vh; }
-
بالطبع، فدورة علوم الحاسب موجهة لمن ليست لديهم أية دراسة بعلوم الحاسب وبلغات البرمجة، ويتم تقديهم شيئًا فشيئًا لعالم البرمجة من خلال تعلم التفكير المنقطي الخاص بالبرمجة باستخدام بيئة سكراتش Scratch التفاعلية، ثم بعد ذلك يتم شرح مفاهيم علوم الحاسب ثم تعلم أساسيات البرمجة وقواعد البيانات. والدورة موجهة: لمن لا يمتلك أي خبرة مسبقة في البرمجة ويريد الدخول في هذا المجال الشيق لمن يفكر بتغيير مساره المهني ويرغب بأن يصبح مبرمج ولا يعرف من أين يبدأ للمبرمجين الذين تعلموا احدى لغات البرمجة ذاتياً ويرغبوا بملئ الفراغات وتعلم الأسس لطلاب الجامعات الذين يواجهوا صعوبة ببعض المواد مثل أنظمة التشغيل وقواعد البيانات لمن حاول تعلم البرمجة بالسابق وشعر أنها صعبة ولم يتمكن من المواصلة وستتعلم بها التالي: أساسيات الحاسوب وعلومه والتفكير المنطقي وما هي الخوارزميات وكيف تفيد في البرمجة تطبيقات عملية على أساسيات التفكير المنطقي باستخدام بيئة سكراتش Scratch التفاعلية أساسيات لغة البرمجة JavaScript وتطبيق المفاهيم التي تم شرحها باستخدامها، والتوسع في شرح التطبيقات العملية للغات البرمجة أساسيات أنظمة التشغيل المختلفة وكيفية تثبيت البرمجيات اللازمة للبرمجة عليها أساسيات سطر الأوامر في نظام لينكس، وشرح الأسس التي بني عليها النظام مع تطبيقها عمليًا أنظمة قواعد البيانات المختلفة، مع شرح تفصيلي للغة SQL للتعامل معها مبادئ أساسية في أنظمة قواعد البيانات NoSQL المفاهيم الأساسية التي تبنى فيها صفحات الويب مفاهيم أساسية في الشبكات والخوادم، وكيف يتم استقبال الطلبيات إلى الخادم والرد عليها مبادئ الحماية والأمان في الويب وتستطيع معرفة المزيد من خلال الصفحة الخاص بالدورة.
-
بخصوص سؤالك، عليك غلق جميع النوافذ الخاصة بمنفذ الأوامر Terminal والعمل من خلال نافذة واحدة أو نافذتين في حال كنتي تعملين على الواجهة الأمامية والخلفية في نفس الوقت، أما الواجهة الخلفية أي الخادم لست بحاجة إلى سوى نافذة واحدة فقط سواء من خلال الـ Terminal الخاص بمحرر الأكواد vscode أو منفذ الأوامر الخارجي. ففي حال قمتي بالإتصال من خلال منفذ الأوامر الخاص بـ vscode ثم توجهتي لمنفذ أوامر خارجي بدون غلق الإتصال الأول ستظهر لك رسالة أن المنفذ ما زال مستخدم. وبخصوص التعليق أسفل الفيديو فعند النزول لأسفل الدرس ستجدي خانة تعليقات كالتالي: عند الضغط عليها تستطيعي كتابة سؤالك وإرفاق صور وأيضًا رفع مجلد المشروع بعد ضغطه. ستجدي هنا شرح مفصل: https://support.academy.hsoub.com/how-to-ask-in-courses
-
مطوري المتصفحات لا يهتمون بإضافة إصدارات محددة من ECMAScript، ولكن ميزات محددة، بمعنى أن المتصفح قد يدعم بعض الميزات من إصدار أحدث من ECMAScript، ولكن ليس جميعها، وذلك لأن مطوري المتصفحات بحاجة إلى تحقيق التوازن بين الحاجة إلى دعم الميزات الجديدة والحاجة إلى الحفاظ على التوافق مع المتصفحات القديمة. وتقريبًا جميع المتصفحات الحديثة ما زالت لا تدعم أحد ميزات الإصدارات ما بين ES2017 وحتى ES2020، وأيضًا ما زال العمل جاري على إضافة بعض ميزات ES6. والجدير بالذكر أنك كمبرمج تفعل المثل، فأنت لا تستخدم إصدارات جافاسكريبت بل الميزات الجديدة، وتعتمد على أداة مثل Babel من أجل تنفيذ عملية الـ Polyfills وtranspiling.
- 4 اجابة
-
- 1
-
-
عليك إنشاء قاعدة البيانات على MongoDB Atlas وبناء Cluster وتعيين اسم مستخدم وكلمة مرور ستحصل على رابط للإتصال، وعليك أن تضع ذلك في ملف .env في مشروع وكافة متغيرات البيئة اللازمة. والآن أثناء نشر مشروعك على Vercel عليك تحديد متغيرات البيئة كما كتبتها في ملف .env أي كتابة مثلاً MONGODB_URL كالتالي: أي وضع الاسم ثم القيمة الخاصة بذلك المتغير. وبعد الإنتهاء من إضافة كافة المتغيرات عليك الضغط على deploy، وفي حال كان هناك مشروع منشور بالفعل، تستطيع الوصول لمتغيرات البيئة من خلال إعدادات المشروع settings ثم environment variables ثم إضافة المتغيرات وتأكد من تفعيل Automatically expose system environment variables.
- 3 اجابة
-
- 1
-