-
المساهمات
13209 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
365
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
من الأفضل تجربة الخوارزميات المختلفة على مجموعة التدريب وتقييم الأداء على مجموعة الاختبار، واستخراج الميزات باستخدم تقنيات مثل TF-IDF أو Word Embeddings (مثل Word2Vec أو GloVe). ثم إجراء تحليل مقارن بين الخوارزميات التقليدية Basic ML وخوارزميات NLP الحديثة باستخدام مجموعة من المقاييس مثل: Accuracy Precision Recall F1-score بخصوص تحليل المشاعر من خلال Basic ML، فيوجد الخوارزميات التالية: Naive Bayes: تعتبر خوارزمية بسيطة وفعالة لتحليل المشاعر، خاصة مع البيانات النصية. SVM (Support Vector Machine): يمكن استخدامها أيضًا لتصنيف المشاعر بدقة. Decision Trees / Random Forests: مفيدة أيضًا في حالات معينة. وخوارزميات NLP هي: LSTM (Long Short-Term Memory) تعمل بشكل جيد مع البيانات التسلسلية مثل النصوص. Transformers (مثل BERT, RoBERTa) تعتبر من أكثر النماذج فعالية في مهام تحليل المشاعر. النماذج القائمة على Transformers مثل BERT أثبتت الدراسات أنها تتفوق على النماذج التقليدية مثل Naive Bayes وSVM في مهام تحليل المشاعر، BERT وRoBERTa، على وجه الخصوص، يمكنهما فهم السياق والاعتماد على العلاقات بين الكلمات بشكل أفضل. أما LSTM لا يزال خيارًا جيدًا في بعض التطبيقات، بالأخص عندما يتعلق الأمر بالنصوص الطويلة. بالنسبة لتصنيف الشخصيات من خلال Basic ML فيوجد: Logistic Regression هي نقطة بداية جيدة لتصنيف الشخصيات. K-Nearest Neighbors (KNN) تستطيعي استخدامها أيضًا في بعض السيناريوهات. و NLP يوجد BERT / DistilBERT لاستخراج ميزات من النصوص وتحسين دقة التصنيف. Transformers (مثل BERT، DistilBERT) تعتبر فعالة جدًا في تصنيف الشخصيات لأنها تستطيع فهم السياق بشكل دقيق، وخوارزميات التعلم الآلي التقليدية مثل Random Forest وSVM يمكن أن تكون فعالة أيضًا، لكن نتائجها غالبًا ما تكون أقل دقة من النماذج القائمة على Transformers. أما تصنيف الأخبار الكاذبة، ففي Basic ML: Naive Bayes فعالة لتصنيف النصوص. Random Forests لتصنيف الأخبار حسب ميزات متعددة. وفي NLP BERT وRoBERTa يعتبران من الخيارات الممتازة لتصنيف الأخبار الكاذبة بسبب قوتهما في فهم السياق، وتم إثبات أنها تحقق نتائج أعلى بكثير مقارنة بالخوارزميات التقليدية مثل Naive Bayes وRandom Forest نظرًا لأن الأخبار تحتوي على تعقيدات لغوية وسياقية، فإن النماذج القائمة على Transformers تكون أكثر قدرة على التعامل مع تلك التعقيدات. XGBoost خياراً جيدًا عند استخدام ميزات تم استخراجها من النصوص باستخدام تقنيات أخرى. نستخلص مما سبق أنّ النماذج القائمة على Transformers في أغلب الأحوال تقدم نتائج أفضل في مجموعة واسعة من مهام معالجة اللغة الطبيعية، بما في ذلك تحليل المشاعر وتصنيف النصوص. بالنسبة للمشاريع التي تتطلب دقة عالية، يُفضل استخدام النماذج الحديثة مثل BERT وRoBERTa. والخوارزميات التقليدية مثل Naive Bayes وSVM وRandom Forest لا تزال تؤدي بشكل جيد في العديد من التطبيقات، وذلك عندما تكون البيانات محدودة أو عند الحاجة إلى وقت تدريب أقل.
-
طالما الموقع ليس خدمي أي لا يقدم خدمة يود الزاور التساؤل عنها فلن تحتاج إلى زر تواصل معنا أن يكون متوجد بشكل عائم في الصفحة أو أسفل المقالة. بل من الأفضل أن تضع زر لمشاركة المقالة على وسائل التواصل الإجتماعي، وذلك من شأنه تحسين ترتيب الـ SEO، فما الفائدة من زر التواصل؟ تستطيع وضع رابط في نهاية الصفحة في الـ footer لتوجيه الزوار لصفحة تواصل معنا وبها نموذج لكتابة الرسالة التي يود إرسالها. في حال تستخدم ووردبريس يوجد إضافات توفر زر المشاركة على منصات التواصل الإجتماعي.
-
في حال كانت البطاقة من نوع prepaid فسيتم رفضها، حيث يتم قبول البطاقات من نوع Debit وCredit فقط، وأيضًا متاح الدفع من خلال باي بال حاول ربط البطاقة بباي بال والدفع من خلاله. وحاليًا لا يوجد بطاقة Debit تسمح بالشراء من الخارج، ستحتاج إلى بطاقة من نوع Credit، ولتجنب وجع الرأس ذاك، من الأفضل لو قمت بالتواصل مع وسيط أو صديق ثم يشتري لك الدورة من خلال حسابك مقابل عمولة بسيطة 3%، إن لم تجد شخص مناسب أخبرني.
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل. بخصوص سؤالك، يجب أولاً توضيح أن البرمجة الكائنية في جافاسكريبت ليست مثل باقي اللغات حيث أنها تعتمد على مبدأ الـ Prototype بينما في معظم لغات البرمجة الكائنية التقليدية، مثل Java وC++، يتم تعريف الكائنات باستخدام الفئات Classes. أي لا يوجد بها أصناف classes حقيقًة بل محاكاة لذلك. ونموذج الـ Prototype يتم به إنشاء الكائنات استنادًا إلى كائنات objects أخرى بدلاً من الفئات classes، وكل كائن يمكن أن ينشئ كائنات جديدة من خلال الـ Prototype الخاص به. لذلك عندما ترى كلمة class فهي هي مجرد واجهة مبسطة للتعامل مع الكائنات، لكن الأساس هو نموذج الـ Prototype. وعند استخدام new، يتم إنشاء كائن جديد فارغ، وذلك الكائن سيكون له Prototype مرتبط بالدالة المُنشئة أو الفئة التي تُستخدم، ثم استدعاء الدالة المُنشئة، ويُمكنها تجهيز الكائن الجديد وتعيين خصائصه، أي المتغيرات التي تُستخدم داخل الدالة المُنشئة مع الكلمة المفتاحية this ستُشير إلى الكائن الجديد. بالتالي تلك الكلمة عبارة عن syntactic sugar وذلك مصطلح يشير إلى اختصار برمجي يقوم في الخلفية بما كنا نقوم به، فعندما تم تقديم الكلمة class في ECMAScript 6 (ES6)، كانت تهدف إلى جعل كتابة الكود الكائن أسهل وأكثر وضوحًا. ومع ذلك، تحت الغطاء، لا تزال تستخدم نفس نموذج البرمجة الكائنية القائم على الـ Prototype.
- 2 اجابة
-
- 1
-
في البداية الأسهل رفع الملف المضغوط مباشرًة، ولو كان لديك خبرة أي ليس أول مشروع لك فمن الأفضل بالطبع الرفع عن طريق GitHub وبسهولة تحديث المشروع عن طريق دفع التغييرات إلى GitHub، وفور دفع تلك التغييرات إلى المستودع سيتم إعادة نشر المشروع مرة أخرى على الاستضافة وذلك من تفعيل خيار auto deployment، لكن لا تقم بذلك بكثرة فقط ادفع التغييرات التي تريد نشرها، ولتسهيل الأمر تستطيع إنشاء فرع branch للتطوير وإبقاء الفرع الأصلي main أو master للنشر أي دفع الكود النهائي إليه. ومن خلال Webhook URL تستطيع الاستماع لفرع معين في مستودعك ونشر التحديثات التي به. وستجد تفصيل هنا: https://support.hostinger.com/en/articles/1583302-how-to-deploy-a-git-repository
- 1 جواب
-
- 1
-
السؤال غير واضح، لكن ما ذكرته صحيح بخصوص أسماء العوامل التي ذكرتها. وعامًة العوامل أو Operators في اللغات البرمجية هي رموز أو كلمات تستخدم لإجراء عمليات معينة على المتغيرات أو القيم، وفي لغة بايثون، كما في العديد من اللغات البرمجية الأخرى، هناك أنواع مختلفة من العوامل، كل منها يؤدي وظيفة محددة. وإليها بعضها: + (جمع) - (طرح) * (ضرب) / (قسمة) // (قسمة صحيحة) % (باقي القسمة) ** (رفع إلى القوة) وللـ Forward Slash (/) استخدام آخر غير العمليات الرياضية، وهو في أنظمة التشغيل مثل Linux وmacOS، يتم استخدام / كفاصل للمسارات في نظام الملفات: /home/user/documents وفي عناوين الويب (URLs) يتم استخدام / للفصل بين أجزاء العنوان: https://www.test.com/path/to/resource أما Backslash (\) في بايثون ولغات البرمجة الأخرى نستخدمه للإشارة إلى أن الحرف التالي يجب أن يتم تفسيره بطريقة خاصة، أي كرمز هروب Escape Character. \' للإشارة إلى علامة اقتباس مفردة داخل سلسلة نصية. \" للإشارة إلى علامة اقتباس مزدوجة داخل سلسلة نصية. \\ للإشارة إلى backslash نفسه. \n للإشارة إلى الانتقال إلى سطر جديد. \t للإشارة إلى مسافة بادئة (tab). كالتالي: string = "Hello, I\'m a programmer." print(string) والناتج هو Hello, I'm a programmer. وفي Windows، يتم استخدام \ كفاصل للمسارات في نظام الملفات.
-
ما العلاقة بين هذا وذاك، كلاهما متجر لتحميل التطبيقات لهواتف الأندرويد، بالطبع جوجل بلاي لديه عدد مستخدمين مهول لكونه المتجر الرسمي لنظام الأندرويد، لكن تستطيع نشر تطبيقك على كافة المتاجر لا مشكلة أي التواجد على متجر سامسونج وجوجل بلاي في نفس الوقت. بخصوص الربح، فهو يتعلق بمزود الإعلانات الذي تعتمد عليه، وستجد تفصيل هنا:
-
المقصود هو تحديد مجلد الجذر للتطبيق أو المشروع، للتوضيح، لو ملف app.js أو server.js أو index.js وهو الملف الرئيسي للتطبيق متواجد مباشرًة في مجلد app مثلاً إذن قم بكتابة نقطة . أو / للإشارة إلى أن مجلد التطبيق الرئيسي هو المجلد الذي تقوم برفعه مباشرًة. وفي حال كان ملف app.js أو server.js أو index.js متواجد في مجلد src مثلاً بداخل مجلد app، إذن اكتب: src/server.js وهكذا. وللعلم استضافة webhostmost توفر 14 يوم فقط بشكل مجاني لمشاريع node.js وبعد ذلك تنتهي الفترة التجريبية، على عكس مشاريع PHP
-
لا يعمل، بسبب أنك لم تقم بتضمين ملف package.json ضمن ملفات المشروع، ويجب أن يتواجد في مجلد الجذر للمشروع أي المجلد الرئيسي، وبه يتم تسجيل الحزم المستخدمة بالمشروع ثم يتم تثبيت ما يلزم لكي يعمل بشكل سليم من خلال أمر npm install.
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
كيراس ليس لديها "معادلات" خاصة بها بالمعنى الحرفي، بل عبارة عن إطار عمل مبني فوق مكتبات تعلم آلي أخرى مثل TensorFlow. بمعنى كيراس تُسهّل عملية بناء وتدريب نماذج التعلم العميق باستخدام TensorFlow، ولكن لا تُقدم خوارزميات جديدة، بل تُوفر واجهة برمجية مُبسطة لاستخدام خوارزميات TensorFlow، أي تُشبه "واجهة مستخدم" لـ TensorFlow. لذلك، عندما تستخدم ذلك الإطار، فأنت في الواقع تستخدم TensorFlow ولكن بطريقة أسهل وأسرع.
- 7 اجابة
-
- 1
-
بل من الأفضل القيام بذلك، لكن ستحتاج إلى مكتبة مثل React أو إطار مثل Vue.js لفعل ذلك، مواقع الويب العادية ليست جيدة من حيث تجربة المستخدم واستخدام تلك التقنيات يحسنها بالتالي تحسين ترتيب موقعك في محرك البحث، لكن بالطبع يجب الإهتمام بجانب الـ SEO من خلال الإعتماد على SSR أي التصيير من جانب الخادم وليس العميل بالتالي سرعة أفضل وعدم استهلاك لموارد الجهاز الخاص بالزائر وتحسين الـ SEO لأن صفحة الويب تصبح جاهزة فور طلبها من الخادم وليس أكواد جافاسكريبت. بالطبع هناك مكونات ستحتاج إلى تصييرها rendering من جانب العميل وهي المكونات التفاعلية.
- 3 اجابة
-
- 1
-
عليك إذن تحديد المطلوب في سوق العمل لديك أي الوظائف المعروض تفقدها بالنسبة لمطور واجهة أمامية مثلاً front-end هل المطلوب react و next.js أم Angualr أو vue.js مثلاً؟ وهكذا بالنسبة للواجهة الخلفية back-end. في بداية حياتك العملية، سيتم إسناد مهام لك لتنفيذها، أي المشروع مٌقسم إلى أجزاء وكل شخص في الفريق مسؤول عن جزء معين وليس المشروع بأكمله وذلك في الشركات التي بها هيكلية لفريق العمل، أو حتى التطوير على مشروع قائمة بالفعل بإضافة ميزات أو حل مشكلات.
-
بخصوص الإختبارات والأمور المالية أو مشكلة في حسابك، ستحتاج إلى التواصل مع مركز المساعدة وليس طرح السؤال في قسم أسئلة البرمجة.
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل. في حال كان السؤال عام، أرجو توضيحه هل تقصد تنفيذ إختصار emmet الذي يقوم بكتابة كود html جاهز مباشرًة؟ عامًة تقوم بكتابة علامة ! بالضغط على Shift وليس CTRL ثم زر رقم 1 بالكيبورد أثناء الضغط على shift ثم اضغط على Enter وستجد أن كود HTML الأساسي تم كتابته تلقائيًا.
- 4 اجابة
-
- 1
-
الفكرة من الإنحدار هو أنه يبحث عن علاقة خطية أو غير خطية بين المتغيرات المستقلة (مثل العمر، مؤشر كتلة الجسم، التاريخ العائلي، إلخ) والمتغير التابع (الإصابة بمرض السكري من عدمه). وتلك الخوارزمية سهلة الفهم والتفسير، تعمل بشكل جيد مع البيانات الخطية وأسرع في التدريب من الشبكات العصبية. لكن غير دقيقة مع البيانات المعقدة أو غير الخطية وتتطلب اختيار ميزات مناسبة بعناية. بينما الشبكات العصبية Neural Networks فتحاكي طريقة عمل الدماغ البشري، حيث تعالج المعلومات من خلال طبقات من العقد المترابطة. وقادرة على نمذجة العلاقات المعقدة وغير الخطية، لا تتطلب اختيار ميزات محددة مسبقًا، وتحقق دقة عالية في التنبؤ. لكن صعبة الفهم والتفسير، تتطلب بيانات تدريب كبيرة وتستغرق وقتًا أطول في التدريب من الانحدار. بالتالي تستطيع التقرير بناءًا على البيانات التالي لديك وعلى الميزات والعيوب التي ذكرتها، ومن الأفضل تجربة كلا النهجين ومقارنة أدائهما على بياناتك وقبل ذلك قم بتنظيف اليبانات ومعالجتها بشكل صحيح قبل استخدام أي من الطريقتين.
- 3 اجابة
-
- 1
-
اخترت المجال على أي أساس؟ أقصد تعلم جافاسكريبت والتقنيات الخاصة بها. فالغالبية تتسرع في اختيار ما تريد تعلمه بدون تفقد المهارات المطلوبة في سوق العمل الذي ينوي العمل به، مثلاً بعض التخصصات تتطلب أن يكون لديك سنة أو سنتان خبرة لكي يتم قبولك في الشركة وذلك تتحصله من العمل الحر مثلاً أو التدرب وإنشاء مشاريع قريبة من الواقع بحيث يصبح لديك الخبرة المطلوبة. وإن لم يكن متاح لك ذلك الوقت وتريد العمل في أقرب وقت، إذن عليك تفقد التخصصات التي تقبل مستوى Junior وذلك تتحصله بدراسة مسار برمجي وبناء مشاريع قريبة من الواقع العملي أي تصبح قادر على تنفيذ المشاريع. إذن تحتاج إلى تفقد مواقع التوظيف مثل LinkedIn و Indeed وتفقد ما المطلوب وما هي الخبرات المطلوبة وسنوات الخبرة، أو تفقد ما هي الوظائف المعروضة لمستوى Junior أو Entry Level. ولو تريد العمل على مواقع العمل الحر، تفقد ما نوعية المشاريع التي تُعرض على المنصة التي تنوي العمل بها وتعلم تلك المهارات.
-
تحتاجين إلى إنهاء 4 مسارات على الأقل لدخول الإختبار، وسيتم إختبارك في تلك المسارات فقط، لكن أنصحك بإنهاء الدورة بالكامل فالشهادة بحد ذاتها ليست العامل الأهم بل مهاراتك. بالنسبة للمشاريع، نقوم بإنشاء مجلد للدورة وتقسيمه إلى مجلدات لكل مسار مجلد، بعد ذلك نضع التطبيقات العملية البسيطة في تلك المجلدات بشكل منظم ثم نقوم برفع المجلد بالكامل إلى مستودع على GitHub. أما بخصوص المشاريع العملية الكاملة أي تطبيق ويب كامل مثلاً فنقوم بإنشاء مجلد منفصل له ثم رفع الكود المصدري الخاص به بعد الإنتهاء على منصة GitHub في مستودع منفصل أي مستودع لكل مشروع. ثم بعد الإنتهاء من الدورة تقومين بمراسلة مركز المساعدة وتوفير روابط المشاريع على GitHub أي التطبيقات العملية ليتم مراجعتها، ثم تحديد موعد للإختبار.
-
شعور طبيعي في البداية، خاصًة في حال عدم دراسة كورسات من قبل، في المجالات العملية التي تتطلب ممارسة، وبإختصار، لا يصح المشاهدة فقط والإكتفاء بالاستيعاب، بل يجب الاستيعاب ثم الحفظ ثم التطبيق العملي وبخصوص ذلك لا تكتفي بالتطبيق وراء المدرب، بل يجب التطبيق مرة أخرى بمفردك أو التوقف ثم التطبيق بمفردك اختاري الطريقة المناسبك لك. ستجدي تفصيل هنا بخصوص طريقة المذاكرة:
- 6 اجابة
-
- 1
-
ما ذكرته يدعم PHP استخدم InfinityFree
- 5 اجابة
-
- 1
-
أولاً 000webhost من الاستضافات السيئة جدًا، لا أنصحك باستخدامها، ما أنصحك به هو استخدام الاستضافة التالية: InfinityFree https://fly.io googiehost Byet.Host و لديك Vercel أيضًا لكن للمشاريع الصغيرة فقط فهي غير مهيئة لمشاريع PHP بشكل خاص.
- 5 اجابة
-
- 1
-
أرجو إرفاق مجلد المشروع بعد ضغطه، إن لم يتوافر لديك ستحتاج إلى دراسة أساسيات HTML و CSS
-
ستحتاج إلى إلغاء تنسيق display بقيمة none من تنسيقات CSS الخاصة بعنصر الـ form لديك، فعند الضغط على الزر يتم تعيير تلك القيمة إلى block وإظهار النموذج form. ثم حذف عنصر الزر الخاص بإظهار النموذج من كود HTML. لكن التصميم لديك مُعد لذلك، لذا بعد إظهار النموذج ربما يصبح التصميم غير مناسب. لفعل ذلك، ستحتاج إلى دراية بأكواد HTML و CSS على الأقل، ستجد بالأكاديمية مقالات تشرح الأساسيات.
- 5 اجابة
-
- 1