-
المساهمات
2192 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
2
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو عبد الوهاب بومعراف
-
وعليكم السلام. للحصول على شهادة معتمدة من دورة الذكاء الاصطناعي في أكاديمية حسوب يجب عليك أولا إتمام 4 مسارات تعليمية على الأقل والتطبيق العملي مع المدرب مع الاحتفاظ بجميع المشاريع ورفعها على GitHub ثم التواصل مع مركز مساعدة أكاديمية حسوب لتحديد موعد الامتحان الذي يتضمن محادثة صوتية مدتها 30 دقيقة لمناقشة ما تعلمته، ثم تنفيذ مشروع تخرج يحدده المدرب خلال أسبوع إلى أسبوعين وبعد مراجعة المدرب للمشروع والموافقة عليه ستحصل على الشهادة المعتمدة التي تنشر برابط مباشر على موقع الأكاديمية للتحقق منها.
-
وعليكم السلام ورحمة الله، صحيح وذلك مدوّن في شروط الامتحان والحصول على الشهادة ويمكنك التأكد منها من هنا: شروط التقدم للامتحان ولكن حتى لو لم تُنه جميع المسارات وتحصلت على الشهادة فأنصحك بإتمامها فيما بعد، كما أنه من مميزات الدورة أنّها تدوم معك مدى الحياة فلا داعي للتسرع والعجلة يمكنك دراسة ما تشاء لكن فقط ركز على التعلم والتطبيق والاستفادة من الدروس والمحتوى أكثر من الحصول على الشهادة.
-
وعليكم السلام، أحسنت أهنئك على إتمام الدورة بنجاح، أرجو مراجعة شروط التقدم للامتحان من هنا: شروط التقدم للامتحان وأما عن خطوات إجراء الامتحان فهي كالآتي: تواصل مع مركز مساعدة أكاديمية حسوب بحيث تخبرهم برغبتك باجراء الامتحان مع تزويدهم بروابط مشاريعك التي طبقتها أثناء الدورة ويجب أن تكون قد طبقت المشاريع مع المدرب أثناء الدورة، ولا يمكن اجراء امتحان بمشاهدة المحتوى فقط. إجراء محادثة صوتية سيتم تحديد لك موعد لاجراء محادثة صوتية لمدة 30 دقيقة يطرح المدرب فيها أسئلة متعلقة بالدورة ويناقش معك ما نفذته خلالها. مشروع التخرج سيحدد لك المدرب مشروعًا مرتبطًا بما تعلمته أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع الى أسبوعين. مراجعة المشروع والتخرج سيراجع المدرب المشروع الذي أنجزته، وإن سارت جميع الخطوات السابقة بشكل صحيح، ستتخرج وتحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد. أما بشأن مشكلة حجم الملفات الكبير يجب عليك إضافة ملف .gitignore قبل رفع المشاريع ثم تضع فيه على الأقل التالي: node_modules/ dist/ build/ .env وهذا سيمنع رفع الملفات الثقيلة خاصة node_modules التي تولدها أدوات البناء.
-
وعليكم السلام ورحمة الله، أسهل وأدق طريقة لاستخراج العقد (nodes) والعلاقات (edges) من ملف JSON لبناء Graph هي استخدام مكتبة NetworkX في بايثون مع دالة تحليل شجرية تمرّ على كل المفاتيح والقيم داخل ال JSON وتحوّلها تلقائيا إلى عقد وروابط وذلك عبر ربط كل مفتاح بالعقد أو العناصر التي يحتويها. وهذه الطريقة تعمل مع جميع أنواع ملفات JSON حتى المعقدة منها، ولا تحتاج إلى بنية محددة مسبقا مثل وجود nodes أو links وبعد تحويل البيانات إلى رسم بياني باستخدام NetworkX، يمكن عرضها أو تصديرها إلى قاعدة رسوم بيانية مثل Neo4j لاستخدامها في نظام RAGGRAPH لاستخلاص المعرفة.
- 2 اجابة
-
- 1
-
-
وعليكم السلام ورحمة الله، للاتصال بنموذج Gemini عبر API Key في Google Colab يجب أولا تثبيت مكتبة Google Generative AI الرسمية، ثم تهيئة المفتاح واستخدام النموذج كالتالي: !pip install google-generativeai import google.generativeai as genai genai.configure(api_key="YOUR_API_KEY") model = genai.GenerativeModel("gemini-1.5-pro") response = model.generate_content("استخرج العقد (nodes) والعلاقات (relationships) من النص التالي: شخص اسمه علي يعمل في شركة جوجل.") print(response.text)
-
هذا السؤال تمت الإجابة عليه من قبل، أرجو مراجعة الأجوبة من هنا:
-
أهلا بك عبد الله، هل تقصد أنك أتممت مسارات الدورة؟ إن كان كذلك فهذا أمر جيد جدا ونهنئك على هذا الإنجاز. بخصوص ما بعد الدورة أرجو مراجعة هذه الإجابة وتحرّيها جيدا: فبعد إنتهائك من الدورة سيتعين عليك التواصل مع فريق حسوب لإجراء اختبار للحصول على شهادة اتمام الدورة أرجو مراجعتها من هنا: https://support.academy.hsoub.com/exams
-
هذا أمر عادي يمكنك مراجعة الدروس التي لم تفهمها جيدا، كما يمكنك تسريع الفيديو لمتابعة الدرس بسرعة وفي حال رأيت نفسك لم تستوعب الدرس قم بإيقافه مؤقتا وطرح سؤالك حول الدرس. أرجو مراجعة الإجابات التالية:
-
القصور في مشروع التخرج يقصد به النقائص والثغرات التي تؤثر على جودة المشروع وإتمامه بشكل صحيح، سواء كانت هذه النقائص في الجانب التقني مثل عدم تطبيق جميع المتطلبات الوظيفية أو وجود أخطاء في البرمجة فهو يعني وجود أي نقص يجعل المشروع غير مكتمل أو غير جاهز للتقييم النهائي، وعندما يطلب منك معالجة قصور معين، فأنت بحاجة إلى تحديد هذا النقص وتصحيحه قبل الرفع النهائي أو التقديم للجنة التقييم.
-
Vercel تستخدم بيئة serverless حيث الخوادم تنشأ وتحذف بسرعة، ولا تحتفظ بنظام ملفات دائم وعندما تستخدم fs لحفظ الصور فالملفات هنا ستكتب على القرص الصلب المؤقت للخادم، لكن هذا القرص سيختفي بعد انتهاء الطلب فتفقد الصور لهذا السبب Vercel توصي دوما باستخدام خدمات تخزين سحابية مثل Cloudinary أو AWS S3 أو Google Cloud Storage، لأنها توفر تخزين دائم خارج الخادم. وحتى إذا أردت استخدام fs يمكنك فقط قراءة الملفات الموجودة مسبقا في مشروعك مثل الصور في مجلد /public لكن لا يمكنك حفظ ملفات جديدة بشكل دائم.
-
هندسة البرمجيات هي الخيار الأفضل لأنها توفر أساسا متينا في البرمجة والهندسة معا، وهما الركيزتان الأساسيتان لأي مشروع روبوتات. بينما تخصص الذكاء الاصطناعي وحده سيركز على الخوارزميات والتعلم الآلي دون تطوير المهارات الهندسية العملية للتحكم في الأنظمة الفيزيائية، فإن هندسة البرمجيات ستعطيك القدرة على بناء أنظمة معقدة وموثوقة وهي ما تحتاجه فعلا في الروبوتات. يمكنك متابعة دراسة هندسة البرمجيات وأيضا يمكن أن تدرس الذكاء الاصطناعي كمواد اختيارية أو تخصص إضافي، وستكون في وضع أقوى بكثير عندما تصل لمجال الروبوتات لاحقا وتتوسع فيه.
-
المتغيرين self.mu و self.sigma غير موجودين داخل الكائن وقت استدعاء plot()، في الكود الدالة distribution_values() تعتمد على: self.mu, self.sigma لكن هذان المتغيران لا يتم إنشاؤهما إلا داخل الدالة average()، أي أنّك لم تستدع average() قبل أن تستدعي plot()، ولهذا السبب لم يتم تعريف self.mu و self.sigma. و أيضا في الـ constructor عندك خطأ مطبعي: def __int__(self, col1, col2): يجب أن تكون: def __init__(self, col1, col2): لأنّ __int__ تستخدم للتحويل إلى عدد صحيح، بينما __init__ هي دالة التهيئة. و أيضا في بعض الأماكن كتبت self.col1، وفي أخرى self.column_name1. يجب أن توحدها.
- 4 اجابة
-
- 1
-
-
عادة يطرح المدرب أسئلة متعلقة بمحتوى مسارات الدورة، بهدف التأكد من استيعابك للمعلومات والمهارات التي تم تقديمها، كما يناقش معك ما نفذته من تمارين أو مشاريع خلال فترة الدورة، ويستفسر عن تجربتك و التحديات التي واجهتها.
-
وعليكم السلام ورحمة الله، هو عبارة عن هو منهجية في تطوير البرمجيات تعتمد على كتابة اختبارات برمجية تلقائية قبل كتابة الشيفرة الفعلية حتى بحيث تبدأ العملية بكتابة اختبار فاشل يصف ميزة أو وظيفة جديدة يراد تطويرها، ثم يقوم المبرمج بكتابة أبسط كود ممكن لكي يجعل هذا الاختبار ينجح، وبعدها يتم تحسين الكود من خلال إعادة التصميم دون تغيير سلوكه لضمان جودته وقابليته للصيانة. وهذه الدورة تتكرر بشكل سريع ومنظم لتغطية كل الوظائف الجديدة مما يزيد من جودة الكود ويقوي الثقة بأن البرمجيات تعمل كما هو متوقع. أما وأسلوب TDD يشجع على التفكير المسبق في متطلبات البرنامج وتصميمه ويعتمد بشكل كبير على اختبار وحدات الكود الصغيرة بشكل مستقل مما يسهل اكتشاف الأخطاء وتصحيحها بشكل مبكر كما يقلل من حدوث مشاكل عند تطوير الوظائف الجديدة أو تعديل الكود القائم يمكنك الاطلاع أكثر من هنا:
- 3 اجابة
-
- 1
-
-
على الأغلب فإنّ استمرارك في رفع التطبيقات على حساب الشركة من نفس الجهاز أو نفس عنوان ال IP الذي تم حظر حسابك الشخصي عليه سيشكل خطورة كبيرة جدا على حساب الشركة. حتى لو كان الحساب باسم شركة ومن بلد آخر فالسبب هو أن Google تربط الحسابات بالأجهزة والشبكات وأي تكرار لهذه العناصر بين حساب محظور وأي حساب آخر مهما كانت هوية الحساب الجديد يعرّض الحساب الجديد للحظر التلقائي أو المراجعة حتى لو مر وقت طويل أو تغيرت البيانات. لأنّ Google تستخدم تقنيات "البصمة الرقمية" أو Device Fingerprinting & IP Tracking حيث تتابع الجهاز نفسه حتى لو تم تغيير المستخدم وعنوان IP حتى مع تغيير الحساب أو الدولة وتتابع ملفات النظام المرتبطة بالحسابات المحظورة أيضا. لذا من الأفضل ألا تتستخدم نفس الجهاز أو نفس شبكة الإنترنت التي تم عبرها حظر حسابك الشخصي في أي عمل على حساب الشركة أي استخدام جهاز جديد كليا لم يسبق أن دخل عليه أي حساب Google Play محظور. واستخدام اتصال إنترنت جديد كليا ويفضّل أن يكون من بلد الشركة وليس أي اتصال كان مربوطا بالحساب المحظور. أما إذا اضطررت لاستخدام جهازك القديم فعليك إعادة تهيئة ضبط المصنع (Factory Reset) للجهاز ومسح كل بيانات الحسابات القديمة مع ذلك فهذا الحل قد لا يكون مضمونا لأنّه بالرغم من ذلك قد تكون الحسابات مربوطة برقم الجهاز نفسه (IMEI/MAC address)
- 1 جواب
-
- 1
-
-
وعليكم السلام ورحمة الله، في دورة الذكاء الاصطناعي مسار تحليل البيانات لا يتناول موضوع البيانات الضخمة (Big Data) أو تقنياتها لأنّ هذا المجال واسع بحدّ ذاته وقد يحتاج إلى مسار أو اثنين منفصلين وفي بعض الحالات إلى دورة كاملة لشرحه وقد يتم إضافته مستقبلا في التحديثات القادمة، فالبيانات الضخمة هي كميات هائلة من البيانات التي تتطلب تقنيات خاصة لمعالجتها وتخزينها بسبب حجمها وسرعتها وتنوعها، ويتم إدارتها عبر بنى تحتية موزعة وبرمجيات متخصصة ضمن مفهوم يعرف ب Big Data management. أما PySpark فهو إطار عمل بلغة بايثون يتيح معالجة البيانات الضخمة باستخدام محرك Apache Spark بينما PLSQL فهي لغة برمجة خاصة بقواعد بيانات Oracle تمكن من كتابة إجراءات وبرامج داخل قاعدة البيانات. يمكنك الاطلاع أكثر من هنا:
- 3 اجابة
-
- 1
-
-
وعليكم السلام، ببساطة ودون تعقيد فإنّ مكتبة NumPy تستخدم للتعامل مع الأعداد والمصفوفات بشكل سريع وسهل مثل جدول كبير من الأرقام تستطيع أن تجري عليه جمع وطرح وضرب بسرعة فهي مثل صندوق أدوات جاهزة للعمليات الرياضية على البيانات. أما مكتبة Numba فهي تساعد على تسريع البرنامج عندما تكتب تعليمات بايثون بنفسك وتريد أن تجعلها أسرع مثل لغة البرمجة C فمثلا إذا كتبت حلقة (loop) تحسب أرقام كثيرة Numba ستجعل هذه الحلقة تعمل بسرعة كبيرة. فكلاهما ستساعدانك لكن كل واحدة له دور مختلف ف NumPy للبيانات وعملياتها وNumba لتسريع التعليمات التي تكتبها بنفسك.
- 4 اجابة
-
- 1
-
-
وعليكم السلام. يمكنك ذلك من خلال نشر انشغالك في مدونة حسوب i/o هناك توجد مجتمعات كثيرة يمكنك اختيار المناسب لك وستجد ما تريده هناك من خلال الاطلاع على أحدث أخبار التقنية وتطوير الويب وستجد الكثير من المستخدمين المهتمين بالمجال وربما مشتركين أيضا في إحدى دورات الأكاديمية أو اشتركوا فيها من قبل: https://io.hsoub.com/webdev
-
هذا أمر طبيعي ومشكلة عدم وجود تصميم جاهز لتحويله إلى كود هي أمر عادي يواجهه كثير من مطوري الواجهات الأمامية والحل ببساطة هو أن تبدأ بالتعلّم من تصاميم جاهزة موجودة على مواقع مثل Dribbble وBehance حيث يمكنك استخدامها كمصدر إلهام لفهم بناء التصاميم وكيفية تحويلها إلى مشاريعك. فلا تنتظر أن يكون لديك تصميم مثالي قبل أن تبدأ بل استخدم أطر عمل مثل Bootstrap أو Tailwind CSS لتساعدك على بناء واجهات سريعة ومحترفة ومع الوقت والتمرن ستكتسب مهارات التصميم تدريجيا الأهم حاليا هو أن تبدأ بتجربة وتحويل أفكار بسيطة إلى كود وتطور محفظة مشاريعك خطوة بخطوة، لأن الخبرة تُبنى بالممارسة وليست بالانتظار. كما أن محفظة الأعمال الاحترافية هي التي تبدأ من الصفر إلى الاحتراف مع تحديثها كل مرة بناء على خبراتك وتجاربك، فكلما زادت خبرتك ستستغني عن المشاريع الصغيرة التي قمت بها في بداياتك وهكذا.
-
للأسف لا يمكن فهو شرط أساسي لتحويل التطبيق إلى وضع الإنتاج (Live Mode) وتمكين النشر العام والفيسبوك يفرض هذا الشرط لضمان الأمان والموثوقية، ولا يوجد بديل رسمي يسمح بتجاوز هذا المتطلب للنشر العام عبر API للنشر بدون هذا التحقق، تظهر المنشورات فقط للمسؤولين في وضع التطوير يمكنك التحقق من ذلك من هنا: https://developers.facebook.com/docs/development/release/business-verification
-
عندما يكون التطبيق في وضع التطوير (Dev Mode) فإن كل المنشورات التي يتم إنشاؤها عبر ال API تكون مرئية فقط للمسؤولين المشاركين في التطبيق أي لك أنت فقط أو للمسؤولين الذين لهم دور في التطبيق ولا تظهر هذه المنشورات للجمهور العام أو أي شخص غير مسؤول في التطبيق. وهذه الخاصية تفرضها منصة فيسبوك لضمان أمان التجارب التطويرية وعدم نشر محتوى غير مراقب للجمهور. لذا لكي تجعل المنشورات تظهر للعامة يجب عليك تحويل التطبيق من وضع التطوير إلى وضع الإنتاج (Live Mode) وللقيام بذلك يتوجب عليك إجراء التحقق من النشاط التجاري (Business Verification) وهي عملية تطلب فيها Facebook مستندات تثبت صحة النشاط التجاري المرتبط بالتطبيق مثل رخصة تجارية أو أوراق رسمية وفي حالة عدم وجود نشاط تجاري رسمي، وكونك فردا وليس لديك شركة أو نشاط تجاري، فإن فيسبوك لا يسمح لك بتجاوز هذا الإجراء، مما يعني عدم القدرة على نشر منشورات عامة عبر API في وضع الإنتاج بدون هذا التحقق.
-
عندما يكون لدينا مجموعة بيانات بعدة أعمدة مطبعة مسبقا وعمود واحد w غير مطبع يجب تطبيق ال Scaling على العمود w فقط وليس على جميع الأعمدة. والسبب هو أن إعادة تطبيق ال Scaling على الأعمدة المطبعة مسبقا سيؤدي إلى تشويه توزيعها الحالي وقد يخل بالعلاقات الإحصائية المطلوبة، بينما تطبيقه على العمود w فقط سيجعل جميع الأعمدة في نفس المقياس المطلوب للنموذج. الممارسة الصحيحة هي تطبيق ال StandardScaler أو MinMaxScaler على العمود w منفردا أو استخدام ColumnTransformer في scikit-learn لتحديد الأعمدة المراد معالجتها بدقة.
- 2 اجابة
-
- 1
-
-
يمكن الاعتماد على JavaScript بدون TypeScript بشكل كامل ف JavaScript هي لغة ديناميكية مكتملة تدعم جميع ال paradigms البرمجية وتوفر مميزات حديثة كما أن النظام البيئي ل JavaScript أوسع وأكثر نضجا مع npm packages متاحة مباشرة وعمليا معظم المشاريع الناجحة مثل React، Vue، Express، وNode.js core مكتوبة ب JavaScript خالص والمشكلة الأساسية في TypeScript ليست في قدراتها التقنية، بل في التعقيد الإضافي الذي تفرضه على عملية التطوير فأنت مجبور على إعداد أدوات الترجمة (compiler) وملفات الإعدادات مثل tsconfig.json وإضافة خطوات build إضافية قبل تشغيل الكود، كما أنك تضطر لكتابة تعريفات الأنواع (interfaces وtypes) التي قد تكون معقدة ومطولة أكثر من الكود الفعلي نفس بينما JavaScript الحديث مع أدوات مثل ESLint للتحقق من الأخطاء وJest للاختبارات يوفر نفس مستوى الجودة بطريقة أبسط وأسرع، لأنك تكتب الكود وتشغله فورا دون طبقات إضافية لكن لكل تقنية ودورها وفائدتها وليس هنالك تقنية أفضل من الأخرى إنما يجب التحدث عن إن كانت مناسبة لمشروع معين من عدمه.
-
يغطي الكورس تقريبا كل ما تحتاجه لتكون مطور JavaScript كامل، فهو لا يقتصر على أساسيات JavaScript فحسب، بل يبني عليها طبقات متقدمة وأطر عمل مطلوبة في السوق مثل React.js و Node.js، مما يمنحك القدرة على تطوير تطبيقات ويب وموبايل وسطح مكتب بشكل متكامل، و الأهم من ذلك أنه يتناول تقنيات حديثة ومطلوبة بشدة في الشركات الكبرى، مثل TypeScript لكتابة كود أكثر متانة وقابلية للصيانة، وNext.js لبناء تطبيقات خادم، وGraphQL لإدارة البيانات بكفاءة، وحتى دمج الذكاء الاصطناعي، مما يضيف بعدا مهما لملفك الشخصي.
