-
المساهمات
9378 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
133
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو محمد_عاطف
-
وعليكم السلام ورحمة الله وبركاته. إن الجزء المسؤول عن التقريب في الكود لديك هو data.round(1) هنا : و هذا السطر يقوم بتقريب جميع القيم في DataFrame data بعد تعويض القيم المفقودة إلى رقم عشري واحد وليس فقط القيم التي تم تعويضها بواسطة IterativeImputer أى الكود ليس صحيحا لما تريد تنفيذه. ولتنفيذ ما تريده ستحتاج إلى طريقة لتتبع هذه القيم وتطبيق التقريب عليها بشكل منفصل. حيث للأسف IterativeImputer لا يوفر طريقة مباشرة للقيام بذلك بعد عملية التعويض. def handle_missing_values(data, save_path): # عمل نسخة من البيانات الأصلية للحفاظ على الدقة الأصلية original_data = data.copy() numeric_features = data.select_dtypes(include=['number']).columns.tolist() text_features = data.select_dtypes(include=['object']).columns.tolist() preprocessor = ColumnTransformer( transformers=[ ('num', IterativeImputer(), numeric_features), ('text', 'passthrough', text_features), ] ) df_transformed = preprocessor.fit_transform(data) features_names = numeric_features + text_features data_imputed = pd.DataFrame(df_transformed, columns=features_names) # تقريب فقط القيم التي تم تعويضها (التي كانت مفقودة أصلاً) for col in numeric_features: mask = original_data[col].isna() # تحديد القيم المفقودة الأصلية data_imputed.loc[mask, col] = data_imputed.loc[mask, col].round(1) # تقريبها فقط if save_path is not None: data_imputed.to_csv(save_path, index=False) return data_imputed حيث أولا نقوم بعمل نسخة من ال data قبل أي تعويض وحفظها في original_data. بعد ذلك نقوم بتحديد القيم التي تم تعويضها فنستخدم original_data[col].isna() للكشف عن تلك القيمة هل هي كانت مفقودة أم لا. وم ثم نطبق .round(1) فقط على القيم التي تم تعويضها أى التي كانت NaN في الأصل.
- 3 اجابة
-
- 1
-
-
يجب عليك أولا التفكير في المنطق الصحيح قبل البدأ في كتابة الكود ووضع خطوات الحل ومن ثم تحويله إلى كود. لاحظ أنك يجب تعريف المتغير خارج دالة ال addEventListener حتى يتم الإحتفاظ بالقيمة للعداد ولا يتم جعله ب 1 دائما وأيضا يجب أن يكون ب 0 في البداية . أيضا لم تقم بزيادة قيمة العداد أبدا حيث يجب أن تقوم بزيادة قيمة المتغير بداخل دالة addEventListener . وأخيرا يجب وضع قيمة العداد في contnue وليس في button حيث button هو الزر ولا علاقة له بوضع قيمة العداد به. let button = document.getElementById('button'); let contnue = document.querySelector('.contnue'); let numbers = 0; button.addEventListener('click',function(event){ numbers++; contnue.innerHTML = numbers; });
- 2 اجابة
-
- 1
-
-
أولا المشكلة الرئيسية في ملف index.css سطر 231 و 232 حيث تستخدم grid مما يجعل الحاوية الخاصة بالأيقونات كبيرة جدا لهذا يجب حذف هذين السطرين . وأيضا يجب تقليل ال gap وهي المسافة بين العناصر بعد سطر 228 مباشرة هكذا : .skills { flex-wrap: wrap; gap: 1rem; } وأيضا يجب وضع هذا الكود لجعل النص في صف بمفرده والأيقونات بمفردها في الشاشات الصغيرة : @media(max-width: 778px){ .skills .content{ width: 100%; } } وهذا هو الملف بعد التعديل. index.css
-
هذا بسبب التنسيق في ملف index.css سطر 140 . حيث لاحظ أنك إستخدمت الخاصية text-align وجعلتها ب center . وتلك الخاصية تقوم بمحاذاة النص بداخل العنصر الخاص به وبما أنك إخترت center فلهذا يتم محاذاة النص في منتصف العنصر الخاص به ولهذا تجدها متقدمة عن النص الأخر . ولجعل النص يظهر في بدايته وليس فيه محاذاة يجب حذف سطر 140 هكذا : h2{ margin-top: 30px; font-size: 30px; color: orangered; } ولقراءة تفاصيل أكثر حول محاذاة النص يمكنك الدخول على موسوعة حسوب من خلال الرابط التالي : الخاصية text-align
-
المشكلة أنك تقوم بإستخدام تخطيط الشبكة grid مع تخطيط flex بشكل خاطئ . لا أعرف هل تريد إستخدام flex أم grid أم ماذا . ولكن لجعل العناصر في صف واحد في ملف index.html يرجى نقل سطر 86 ووضعه بعد سطر 73 مباشرة حيث نريد جعل جميع العناصر هي أبناء للعنصر main وليس بداخل content . وبعد ذلك في ملف index.css يجب حذف من سطر 127 حتى 131 . وتغير سطر 126 ليكون العرض flex هكذا : .services{ display: flex; } ويمكنك الآن تغير عرض عناصر ال card حيث يظهر أنك تضغ لها عرض 70% وهذا خاطئ يجب وضع عرض مناسب لعدد العناصر في الصف . index.html index.css
-
إن ال addEventListener هي دالة تستخدم في JavaScript لربط مستمع (listener) بحدث معين (event) على عنصر من العناصر الموجودة في صفحة HTML. فعندما يحدث هذا الحدث مثل النقر على زر أو التمرير أو إدخال نص أو إرسال نموذج form أو غيرها من الأحداث فإنه يتم تنفيذ دالة معينة . element.addEventListener(event, function); فالسطر السابق هو طريقة إستخدام الدالة حيث : element: هو العنصر الذي نريد ربط الحدث به مثل زر أو div أو أى عنصر أخر. event: وهو إسم الحدث الذي نريد الإستماع إليه مثل "click أو "keydown" وغيرها من الأحداث . function: وهي الدالة التي نريد تنفيذها عند حدوث هذا الحدث. مثال : const button = document.querySelector('#myButton'); // إضافة مستمع للحدث "click" button.addEventListener('click', function(event) { alert('تم النقر على الزر'); }); في المثال السابق عند النقر على الزر الذي يحمل المعرف myButton سيظهر تنبيه (alert) يحتوي على الرسالة "تم النقر على الزر". إذا لو أردنا تتبع المستخدم وتنفيذ دوال بناء على ما يقوم به في الصفحة يمكننا إستخدام الدالة addEventListener لتحقيق ذلك. أما preventDefault فهي دالة تستخدم داخل معالج الحدث (event handler) أى الدالة التي يتم تنفيذها عن حدوث الحدث.وذلك لمنع السلوك الافتراضي للحدث. فلكل حدث في المتصفح سلوك افتراضي مثلا عند إرسال نموذج form عند النقر على زر الإرسال يتم إعادة تحميل الصفحة و مثلا عند الضغط على رابط (عنصر a) يتم تلقائيا الذهاب إلى هذا الرابط . وباستخدام preventDefault يمكننا إلغاء هذا السلوك الافتراضي تماما. فمثلا لو أردت إرسال النموذج form من خلال ajax أو أردت تطبيق تحقق (validation) من البيانات قبل إرسالها يجب عليك أولا إلغاء السلوك الإفتراضي للنموذج form حتى لا يتم إرسال النموذج وإعادة تحميل الصفحة تلقائيا وهذا يتم من خلال الدالة preventDefault هكذا : const form = document.querySelector('#myForm'); // إضافة مستمع للحدث "submit" form.addEventListener('submit', function(event) { event.preventDefault(); // منع إرسال النموذج console.log('تم منع إرسال النموذج!'); // يمكنك هنا إضافة منطق مخصص، مثل التحقق من البيانات }); ففي المثال السابق عند الضغط على زر submit لإرسال النموذج سيتم إيقاف السلوك الإفتراضي وهو إرسال النموذج من خلال event.preventDefault وهكذا يمكنك تطبيق المنطق الذي تريده سواء التحقق من البيانات أو إرسالها بنفسك أو أى شئ أخر. ومثلا لو أردنا عند الضغط على رابط (عنصر a) عدم الذهاب إلى هذا الرابط وتنفيذ أمر ما قبل الذهاب إليه هنا يجب أيضا أن نوقف السلوك الإفتراضي هكذا : const link = document.querySelector('a'); link.addEventListener('click', function(event) { event.preventDefault(); // منع فتح الرابط console.log('تم النقر على الرابط، لكن لن يتم فتحه!'); }); ويمكنك الإطلاع على المزيد من خلال التالي :
-
وعليكم السلام ورحمة الله وبركاته على. كل عام وأنتم بخير وعيد أضحى مبارك عليك. نعم صحيح ما تقوله . حيث إن هندسة المميزات هي أقرب إلى الفن وتحتاج إلى تفكير وليس مجرد خطوات. حيث أولا يجب عليك أن تكون قادر على فهم البيانات بعمق وتستطيع تخمين أو تخيل الميزات اللتي ممكن أت تساعد النموذج في التعلم بشكل أفضل وأيضا في المشاكل المختلفة الحلول لا تكون واضحة ولكن أغلب الأوقات أنت تحاول أت تجرب وتفكر خارج الصندوق. فيجب أن تكون فاهم بشكل جيد للمجال اللذي تعمل عليه. فمثلا الميزات المفيدة في تحليل النص غير اللتي في الصور أو البيانات المالية أو البيانات الطبية . وممكن ميزة معينة يتم الإعتقاد أنها عشوائية ولكنها تكون مرتبطة بسلوك معين في السياق هذا. وكل ما تعمل على مشاريع أكثر وتتمرن أكثر ستبدا بشكل تلقائي بالإحساس والشعور بأنواع الميزات اللي من الممكن أن تعمل معك وتكون صحيحة.وأيضا الخبرة تجعلك ترى الأنماط patterns من أول مرة بشكل واضح.
- 4 اجابة
-
- 1
-
-
مرحبا عبدالرحمن . يفضل أولا إذا لم تكن لديك أى خبرة مسبقا في البرمجة أو التكنولوجيا عموما في الإنتهاء من دورة علوم الحاسوب أولا ومن ثم الإنتقال إلى دورة تطوير واجهات المستخدم. او إذا أردت يمكنك أولا الإنتهاء من المسارات التالية في دورة علوم الحاسوب : مدخل إلى علوم الحاسوب أساسيات البرمجة إلى عالم الويب وبعدها يمكنك البدأ في دورة تطوير واجهات المستخدم. ولكن الأفضل هو الإنتهاء من دورة علوم الحاسوب كاملة أولا.
- 2 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. نعم، البيانات الجيدة مع نموذج بسيط في الغالب ما تكون أفضل بكثير من بيانات سيئة مع نموذج معقد. حيث البيانات الجيدة تعني بيانات نظيفة ودقيقة وممثلة للمشكلة التي لدينا ومتوازنة وموزعة بشكل جيد ولهذا يتسطيع النموذج البسيط التعامل معها بشكل صحيح وأكثر كفاءة . حيث النموذج لا يستطيع تصحيح البيانات السيئة وإذا كانت البيانات غير دقيقة أو تحتوي على ضجيج (noise) أو قيم متطرفة كثيرة فلن يفيدك حتى أقوى النماذج. أما النموذج البسيط يمكنه الأداء الممتاز إذا كانت البيانات واضحة وممثلة بشكل جيد وأحيانا الانحدار الخطي يتفوق على شبكة عصبية إذا كانت البيانات قوية وواضحة. والبيانات السيئة تعني نموذج يتعلم أشياء خاطئة والنموذج المعقد قد يحفظ البيانات السيئة (overfitting) بدلًا من أن يتعلم منها. لذلك ابدأ دائما بتحسين جودة البيانات ثم يمكنك بعد ذلك التفكير في تعقيد النموذج.
- 4 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. يتم تسمية العملية بترابطية إذا لم يتغير الناتج الخاص بها بتغيير ترتيب الأقواس عند تنفيذها على أكثر من عنصر فمثلا عمليات الجمع والضرب هي ترابطية لأن النتائج لا تختلف بإختلاف ترتيب تنفيذ العملية : ( 2 + 3 ) + 4 2 + ( 3 + 4 ) ففي المثال السابق هنا النتيجة واحدة للعمليتين فلا إختلاف في الناتج النهائي إذا فهي ترابطية . أما إذا تغير ناتج العملية بتغيير الأقواس أو بتغير ترتيب التنفيذ فهي غير ترابطية مثل عمليات الطرح والقسمة. أما بالنسبة إلى سؤالك عن عوامل المقارنة فهي ليست ترابطية لأن ناتج المقارنة هو قيمة منطقية (Boolean) وعندما تقوم بمقارنة أخرى بعدها فإنك تقارن بين نتيجة منطقية وعدد أو نتيجتين منطقيتين مما يغير معنى العملية. 5 > 3 > 1 فمثلا هنا أولا يتم تنفيذ 5 > 3 والتيجة true وبعد ذلك يتم مقارنة true > 1 وهنا نحول true إلى 1، فتصبح المقارنة 1 > 1 أى النتيجة النهائية ب false. لكن في نفس المثال السابق قمنا بتغير ترتيب تنفيذ العملية هكذا : 5 > (3 > 1) هنا أولا 3 > 1 تساوي trueوبعد ذلك نقارن 5 > true أى 5 > 1 وستكون النتيجة النهائية true. وهكذا بما أن الناتج مختلف حسب ترتيب تنفيذ العملية فإذا العامل > ليس ترابطي. إذا لم تكن تقصد ما سبق يرجى توضيح سؤالك . ولو كان هذا السؤال مرتبط بإحدى دروس الدورات فستجد في أسفل الدرس صندوق للتعليقات كما هنا يرجى وضع سؤالك هناك أسفل الدروة لمساعدتك بشكل أفضل.
- 4 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. يمكنك العمل إن كمطور للواجهات الخلفيه فقط او كمطور للواجهات الأمامية فقط او الجمع بينهم معا والعمل ك Full Stack وأعتقد أن هذا ما تريده. ولكن يجب عليك اولا فهم ادوار كل منهم جيدا وتفهم الفرق بينهم ويمكنك في النهاية ان تقرر ما المجال الذي تريد أن تتعلمه : تطوير الواجهة الأمامية (Front End) : وهو بناء واجهة المستخدم والعناصر الرسومية لصفحة الويب. ويشمل كل ما يراه المستخدم ويتفاعل معه على الموقع أمامه.ويمكن أن يكون أي شيء بدءًا من أحجام الأزرار والألوان وحتى التخطيط والتصميم العام. ويتواصل مطور الواجهة الأمامية مع مطوري الواجهة الخلفية لجعل المواقع دايناميكية. ويتطلب التطوير الجيد للواجهة الأمامية فهمًا قويا للغات مثل HTML و CSS و JavaScript ومبادئ التصميم الجيد. بالإضافة إلى ذلك، يحتاج مطورو الواجهة الأمامية إلى فهم كيفية تفاعل المستخدمين مع مواقع الويب لإنشاء واجهة بديهية وسهلة الاستخدام. ويتميز تطوير الواجهات الأمامية بالتالي : التطوير السريع: عادة ما يكون تطوير الواجهة الأمامية أسرع من Full Stack والتطوير الواجهة الخلفيه. يوجد عدد أقل من الملفات التي يمكن العمل بها، وعادةً ما يكون الكود بسيطا. كود أبسط: عادة ما يكون كود الواجهة الأمامية أبسط من كود الواجهة الخلفية.و يمكنك فهمها بسهولة والبدء بتطوير الواجهة الأمامية إذا كنت جديدا في مجال البرمجة. تطوير الواجهه الخلفيه (Back End) : وهو إنشاء وإدارة التعليمات البرمجية والبنية التحتية التي تسمح لموقع الويب أو التطبيق بالعمل في الخلف. حيث يتضمن إنشاء قواعد البيانات وصيانتها وإنشاء طبقة منطق الأعمال وكتابة التعليمات البرمجية التي تتعامل مع إدخال المستخدم مثل إرسال النماذج وعرض الصفحات ديناميكيا وإستقبال الطلبات والرد عليها. ومن لغات البرمجة للواجهات الخلفية PHP و Ruby on Rails و Java و Node.js ومن أنظمة قواعد البيانات مثل MySQL وMongoDB. أما مطور (Full Stack) : فهو الشخص الذي يمتلك الخبرة والمعرفة في كل من تطوير الواجهة الخلفية والواجهة الأمامية معا ويعمل بهم ومن مزايا مطور ال (Full Stack) أنه لديه الخبرة في كلا الأمرين الواجهة الأمامية والواجهية الخلفية وهكذا لديه فرصة أكبر في الحصول على وظائف والعمل على مشاريع متنوعة ولكن من عيوبه أنه يأخذ وقتا أكثر للتعلم ويحتاج إلى الخبرة ومعرفة عميقة بالعديد من لغات البرمجة والأدوات . لذلك يمكنك أولا تحديد أى مجال تريد العمل فيه ومن ثم يمكنك البحث عن التقنية أو لغة البرمجة التي تريد العمل بها ومن ثم التعمق فيها وإنشاء مشاريع تطبيقية عليها . فمثلا إذا إخترت الواجهة الأمامية فيجب عليك تعلم اللغات الأساسية مثل: HTML لبناء هيكل الصفحة. CSS لتنسيق وتصميم الصفحة. JavaScript لإضافة التفاعل مثل الأزرار والقوائم المتحركة وتتبع المستخدم في الصفحة. أيضا ستحتاح إلى تقنيات وأطر متقدمة مثل React وهو إطار عمل خاص بالواجهة الأمامية ويساعدك في ربط الواجهة الأمامية بالخلفية وإنشاء مواقع ديناميكية . ولو إخترت الواجهة الخلفية فيجب عليك أولا تحديد لغة البرمجة التي تريد العمل عليها سواء PHP أو JavaScript (node.js) أو Python أو Ruby on Rails أو حتى Java . ويمكنك البحث عن تلك اللغات ومعرفة الفروقات بينهم ومدى صعوبة كل منهم لتستطيع الإختيار بشكل أفضل بالنسبة لك . وبعدها يجب تعلم قواعد البيانات لحفظ وتخزين البيانات والتعامل معها . وأخيرا يمكنك البحث عن أطر عمل بالنسبة للغة التي إخترتها والتي ستساعدك بشكل كبير في إنشاء مواقع الويب . فمثلا في PHP يوجد إطار عمل Laravel و في node.js يوجد إطار عمل Express و في Python يوجد لديك Django و Flask . وأخيرا كما وضحت لك يجب عليك تحديد المجال الذي تريد العمل فيه لو كنت تحب التصميم والتعامل مع العناصر والصفحات والمستخدم فالأفضل لك الواجهة الأمامية و أما إذا لم ترد التعامل مع التصميم وأردت التعامل مع البيانات وإنشاء الخوادم فالأفضل لك هو مجال الواجهة الخلفية . ولو أردت إنشاء مواقع كاملة أى واجهة أمامية وخلفية فيمكنك تعلمهم معا وتصبح full stack وأنصحك حينها أولا أن تبدأ بمجال الواجهة الخفلية ثم تعلم الواجهة الأمامية.
-
في بداية تعلمك لا ينبغي عليك القلق أو الإهتمام بشأن سرعة الكود أو كفائته حيث في البداية لن تكون لديك الأدوات أو المعرفة لذلك ولهذا فإن البحث عن الكمال "perfectionism" في بداية التعلم هو أمر مضر لك أكثر مما هو مفيد حيث سيؤخر وقت التعلم الخاص بك وأيضا من الممكن أن يصيبك بالملل أو الإحباط، وينبغي عليك فقط الإهتمام بوضع المنطق الذي يحل المشكلة لك ومن ثم تنفيذ هذا المنطق وتحويله إلى كود . بعد ذلك عند إنتهاءك من الأساسيات وتقدم مستواك قليلا يمكنك دراسة هياكل البيانات والخوارزميات والتي ستعطيك نبذة كبيرة عن فهم الكود وكيفية تقيم سرعته وأداءه وأيضا ستساعدك في كتابة كود ذات كفاءة عالية وسريع .وبعد تعلم هياكل البيانات والخوارزميات أنصحك بالبدأ في تطوير مهارة حل المشكلات لديك من خلال الإشتراك في المسابقات و الدخول على المواقع التي توفر لك مشاكل ويمكنك حلها من خلال الكود والبحث عن أفضل طريقة وخوارزمية لحل تلك المشكلة بكفاءة ودقة عالية . ومن تلك المواقع هي : Hackerrank و LeetCode. PyBites. codeforces. Codewars. ويمكنك قراءة المقال التالي لتحسين مهارة حل المشكلات لديك :
-
يوجد العديد من المواقع التي توفر لك كائنات و خلفيات و أصوات وأصول أخرى يمكنك استخدامها مباشرة في مشاريعك دون الحاجة للتصميم من الصفر. ومن أشهر تلك المواقع : OpenGameArt.org: وهو يقدم لك مكتبة ضخمة من الرسومات ثنائية وثلاثية الأبعاد و خلفيات و أصوات ومؤثرات مجانية للاستخدام في الألعاب والتطبيقات. Itch.io: وهو يحتوي على قسم خاص بأصول الألعاب المجانية (Game Assets). Kenney.nl: وهو يوفر حزم أصول عالية الجودة ومجانية لمصممي الألعاب. GameDevMarket.net: وهو يقدم موارد مجانية ومدفوعة. SuperGameAsset.com: يتيح تحميل أصول متنوعة مجانا. ويمكنك التعامل مع ادوات الذكاء الاصطناعي لتوليد الكائنات والخلفيات لك عن طريق وصف لها ما تريد ومن تلك الأدوات : Canva AI Character Generator: حيث يمكنك من خلال Canva توليد شخصيات أو خلفيات باستخدام الذكاء الاصطناعي فقط بوصف ما تريد بالكلام .وسيتم إنشاء صور تناسب ما تريده. والنسخة المجانية له تتيح عدد محدود لك لتوليد الصور ولكنها ستكون كافية لك للبدأ حاليا. أدوات مثل DALL-E أو Imagen متاحة عبر Canva أو منصات أخرى ويمكن استخدامها لتوليد صور مخصصة لمشاريعك. وإذا كنت تفضل وتحب أنت التصميم بنفسك للكائنات أو الخلفيات فهناك بعض البرامج التي ستساعدك مثل : Blender: وهو برنامج مجاني ومفتوح المصدر للنماذج ثلاثية الأبعاد و التحريك والرسم الرقمي ويستخدم أيضا لتصميم الخلفيات أو الكائنات ثنائيةوثلاثية الأبعاد للألعاب والمواقع. Godot: وهو محرك ألعاب مجاني يدعم تصميم الألعاب ثنائية وثلاثية الأبعاد ويوفر لك أدوات لرسم وتصميم الكائنات والمشاهد للألعاب والخلفيات. GIMP و Inkscape: برامج مجانية للرسم والتصميم ثنائي الأبعاد.
- 3 اجابة
-
- 1
-
-
لا تحتاج إلى أى معرفة برمجية مسبقة فكما تلاحظ في وصف الدورة فقد تم ذكر أنك ستتعلم "كل ما تحتاجه من لغة Python لتطبيقات الذكاء الاصطناعي" . والذكاء الإصطناعي يعتمد بشكل أساسي على الرياضيات والإحصائيات و بشكل عام يتم شرح كافة الأمور الرياضية التي لها أهمية في آلية العمل و لكن بالطبع من المفترض أن يكون لديك معرفة ببعض الأمور البسيطة مثل معادلة المستقيم. و لكن هذا لن يشكل حاجز يمنعك من متابعة الدورة، يمكنك بكل بساطة البدء بها و في حال كان هناك شيء لم تفهمه يمكنك البحث عنه. ولكن يفضل بما أنك ليس لديك أى خلفية مسبقة عن مجال التكنولوجيا عموما والبرمجة خصوصا فيمكنك أخذ دورة علوم الحاسوب . كان يوجد عرض "طور مهاراتك" وهذا العرض كان يمكنك من أخذ دورتين بسعر دورة واحدة لكن هذا العرض إنتهى منذ يومين . يمكنك إذا أردت شراء الدورتين حاليا أو الإنتظار لحين توفر العرض مرة أخرى حيث العرض يتم توفيره من وقت إلى وقت أخر .
-
وعليكم السلام ورحمة الله وبركاته. الأداة الخاصة بفك الأزرار هي أفضل وأسهل وأسرع أداة لفعل ذلك . ولكن بدونها من الممكن أن تقوم بإتلاف الأزرار أو السويتشات التي أسفلها . يمكنك البحث في اليوتيوب عن كيفية فعل ذلك بدون تلك الأداة وستجد الكثير من الفيديوهات التي تستخدم "مفك" لفعل ذلك ولكن هذا الأمر يجب أن يتم بطريقة بسيطة حتى لا تقوم بكسر أى شئ . ويمكنك البحث بالتالي "how to remove button out from mechanical keyboard without any instruments" ومشاهدة الفيديوهات التي تظهر لك.
-
في دورة الذكاء الإصطناعي يتم شرح أساسيات بايثون من البداية ويتم التركيز بشكل كبير على الأجزاء التي ستحتاجها في دراسة الذكاء الإصطناعي. إذا وجدت صعوبة ما في هذا الجزء أنصحك بدراسة المسار الأول من "أساسيات بايثون" في دورة " تطوير التطبيقات باستخدام لغة Python" حيث هنا في الأكاديمية يمكنك مشاهدة أول مسار بشكل مجاني في جميع الدورات الأخرى . حيث في دورة " تطوير التطبيقات باستخدام لغة Python" يتم التعمق بشكل أكبر في الأساسيات.
-
هل يمكنك توضيح الدورة التي أنت مشترك بها ؟ إن في جميع الدورات هنا في الأكاديمية يتم التعامل على عدم وجود أى خبرة مسبقة ولهذا تجد أول مسار دائما هو مسار للأساسيات ويتم فيه شرح كل شئ من البداية تماما ويتم التطبيق العملي مع الشرح أيضا مع إعطاء تمارين في نهاية بعض الدورس . ويمكنك دائما إذا ما واجهت أى مشكلة في فهم بعض الدروس أو وجدت صعوبة في تمرين ما أو التطبيق مع المدرب أن تقوم بالسؤال أسفل هذا الدرس ويتوفر العديد من المدربين على مدار اليوم لمساعدة الطلاب في أى شئ يحتاجونه .
-
حاليا لا يوجد أى ملخصات أو محتوى مكتوب للدورة وذلك للحفاظ على الدورات من السرقة ونشر محتواها بشكل مجاني. ولكن يوجد الكثير من المقالات والدروس هنا على موقع الأكاديمة ويمكنك العثور عليها من هنا : https://academy.hsoub.com/programming/ ويمكنك البحث من خلال الأقسام للوصول بشكل أسرع لما تريده. وأيضا يوجد موسوعة حسوب يوجد شرح كافي لكثير من لغات البرمجة : https://wiki.hsoub.com/الصفحة_الرئيسية
-
هل تقصد مسار أساسيات php فقط ؟ إذا كان كذلك فالأمر سيكون صعب إذا تم تعلم أساسيات php فقط . أما إذا كنت تقصد الدورة . فنعم إذا أنهيت الدورة وتأكدت من فهم الأساسيات وتعلمت أساسيات إطار العمل Laravel وأيضا تعلمت wordpress وتعلمت كيفية إنشاء القوالب فالأمر بإذن الله سهل للحصول على وظيفة لا داعي للقلق . كل ما عليك التركيز عليه هو أن تكون على فهم تام بكل شئ تعلمته في الدورة وأيضا قمت بالتطبيق وتأكدت من فهم الأكواد التي إستخدمها والتقنيات التي تعلمناها حيث أول شئ سينبغي عليك قبل الحصول على وظيفة هو إجتياز مقابلة العمل . ولهذا سيتم سؤالك عن كل شئ بالتفصيل والتأكد من فهمك للأساسيات والأمور لتستطيع قبولك في تلك الوظيفة. ببساطة الأمر ليس كذلك . فليس هناك شخص قام مباشرة بالبدأ في مشاريع متقدمة وقوية كتلك بل الأمر يأتي على مراحل وفترات . وبتقدمك تجد أن إكتسبت خبرات ومهارات تؤهلك لإنشاء مشاريع متقدمة قليلا إلى أن تجد نفسك أنك تقوم مباشرة بإنشاء المشاريع بمفردك لهذا لا تتعجل هذا الأمر ولا داعي للقلق . لهذا يجب عليك حذف هذا الأمر من ذهنك وفقط عليك الإهتمام بالتطبيق وبناء المشاريع وفهم الأساسيات ويمكنك حينها التقديم على وظائف ك Junior php developer.
-
لاحظ كما تعلمنا في React لا يتم وضع مسار الصورة مباشرة هكذا حيث هذا الأمر مقتصر على HTML والذي يقوم بإرسال طلب لإحضار الصورة ولكن في React نقوم بإستيرادها كملف . لهذا في ملف App.jsx يجب أن يكون كالتالي : import './App.css' import bg from './bg.jpg' function App() { return ( <div> <div className="navbar"> <h1>ZN99</h1> <nav> <a href="">Home</a> <a href="">About</a> <a href="">Project</a> <a href="">Contact</a> </nav> </div> <div className="hero"> <div className="image"> <img src={bg} alt="" /> </div> </div> </div> ) } export default App;
-
وعليكم السلام ورحمة الله وبركاته. نعم صحيح حيث أن نماذج مثل: SimpleImputer عند استخدامه مع strategy='mean' أو median KNNImputer IterativeImputer كلها تتعامل فقط مع البيانات الرقمية ولا يمكنها معالجة الأعمدة النصية سواء كانت categorical أو string وذلك خصوصا عند اختيار طرق تعتمد على العمليات الحسابية مثل المتوسط أو أقرب الجيران(NearestNeighbors). ولهذا الصحيح هو فصل الأعمدة الرقمية عن الأعمدة النصية ومن ثم يمكنك معالجة القيم المفقودة في الأعمدة الرقمية وبعدها يمكنك إعادة دمج الاعمدة معا دون أى مشكلة.
- 8 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. هل قمت بالإشتراك بالفعل في دورة تطوير التطبيقات من خلال جافاسكريبت ؟ إذا كان كذلك فهنا في الأكاديمية يتم فتح أول مسار بشكل مجاني لجميع الدورات الأخرى وحينها يمكنك مشاهدة مسار أساسيات HTML وCSS بشكل مجاني من دورة واجهات المستخدم. وبالطبع يوجد فريق كامل لمساعدتك في أى مشكلة تواجهك و إرفاق مصادر لك حيث يمكنك أسفل أى درس دائما وضع سؤالك أو طلب توضيح تريده.
- 5 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله وبركاته. إذا كنتِ تريدين مشروع موجود بالفعل فلا يوجد مشروع جاهز حاليا ومحدد تماما كما تريدين لقطع فيديو آلة طارات وإدراج كيان افتراضي في مكانها بشكل مباشر . أما إذا كنتِ تقصدين أنكي تريدين إنشاء المشروع فيجب معرفة أن هذا الأمر ليس بالأمر البسيط أو السهل فيجب أولا عليكِ الحصول إو إنشاء نظام تعرّف على مكان الكائنا في الفيديو (Object Detection/Tracking) حيث ستحتاجين إلى إستخدام تقنيات الرؤية الحاسوبية مثل OpenCV أو مكتبات التعلم العميق مثل YOLO أو TensorFlow لتحديد موقع الكائنات في كل إطار من الفيديو. وستحتاجين باستخدام محركات الواقع المعزز مثل ARKit لنظام iOS أو ARCore لنظام Android أو أدوات مثل RealityKit أو Unity3D لإدراج الكائنات.
-
نحن هنا في أكاديمية حسوب لا نقوم بالإجابة على أسئلة الإختبارات والتقيمات ولكن يمكننا إرشادك إلى الحل . تلك التمارين هي في الأساسيات لهذا يفضل أولا مذاكرة الأساسيات ومن ثم حل تلك التمارين . ستحتاجين أولا إلى دراسة القوائم list ويمكنكِ قراءة الدروس التالية على موسوعة حسوب لدارسة كل ما يخص القوائم : القوائم list في بايثون وهذه راوبط الدوال التي يتم طلب حل التمرين بها في القوائم : count sort reverse append insert remove pop أما بخصوص المجموعات set فيمكنك قراءة الدروس التالية : المجموعات set وهذه راوبط الدوال التي يتم طلب حل التمرين بها في المجموعات: add remove discard union difference symmetric_difference intersection والدرس التالي بخصوص بانية القوائم "List Comprehensions" : List_Comprehensions
