-
المساهمات
14490 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
384
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Mustafa Suleiman
-
ذلك متاح فقط لجامعات أمريكا وليس لجميع الدول وأيضًا أن تكون في الثانية الأولى أو الثانية بجامعة لها علاقة بمجال البرمجة أو علوم الحاسوب، ستجد تفصيل هنا: https://buildyourfuture.withgoogle.com/#eligibility-requirements
- 6 اجابة
-
- 1
-
-
الطريقة اليدوية مناسبة في حال لديك مجموعة بيانات صغيرة وسهلة الفهم، وتسمح لك بفهم كل خطوة بشكل دقيق جداً في كيفية معالجة البيانات المفقودة أو تشفير المتغيرات التصنيفية (مثلاً، استخدام متوسط بدلاً من الوسيط، أو طريقة تشفير معينة). أيضًا في البداية عندما تتعلم كيفية معالجة البيانات، فكتابة الكود يدوياً يساعدك على فهم العملية بشكل أفضل. ومع زيادة حجم البيانات وتعقيدها، تصبح مكتبات مثل scikit-learn ضرورية، حيث توفر وظائف فعالة وقوية لمعالجة البيانات بكفاءة عالية، وتسهل إعادة استخدام الكود، من خلال إنشاء خطوط أنابيب (Pipelines) قابلة لإعادة الاستخدام في مشاريع أخرى، فالوظائف في scikit-learn مُحسّنة للأداء، خاصةً مع البيانات الكبيرة. وبخصوص تقسيم البيانات، فالأفضل تقسيمها إلى مجموعات تدريب واختبار قبل المعالجة المسبقة في معظم الحالات، وذلك لتجنب تسريب المعلومات من مجموعة الاختبار إلى مجموعة التدريب، ولو قمت بمعالجة البيانات كاملةً ثم قمت بالتقسيم، فقد تستخدم معلومات من مجموعة الاختبار لحساب الإحصائيات (مثل الوسيط أو القيمة الأكثر شيوعاً) المستخدمة في معالجة البيانات المفقودة، الأمر الذي يؤدي إلى تقدير غير دقيق لأداء النموذج على بيانات جديدة. وباستطاعتك معالجة البيانات كاملًة في حال البيانات قليلة جداً بحيث لا يكون تقسيمها منطقياً او في المراحل الأولية من تحليل البيانات، لفهم خصائصها العامة. لكن النتائج التي تحصل عليها في تلك الحالة أحيانًا تكون غير دقيقة. وبعض أنواع المعالجة المسبقة، مثل تحويل البيانات إلى قيم z-score، يمكن تطبيقها على كامل البيانات دون مشكلة تسريب المعلومات.
- 2 اجابة
-
- 1
-
-
ستجد أسفل فيديو الدرس في نهاية الصفحة صندوق تعليقات كما هنا، أرجو طرح الأسئلة أسفل الدرس وليس هنا في قسم الأسئلة البرمجة حيث نطرح الأسئلة العامة الغير متعلقة بمحتوى الدورة أو الدرس، وذلك لمساعدتك بشكل أفضل.
-
فهم تعدد المهام Concurrency يتطلب استيعاب لبعض المفاهيم الأساسية، وصعوبة كتابة الكود تأتي من عدم وضوح الهدف المراد تحقيقه، فتعدد المهام ليس أداة واحدة، بل مجموعة من التقنيات، واختيار التقنية المناسبة يعتمد على ما تريد تحقيقه. أولاً الـ Processes أو العمليات هي عملية مستقلة تمامًا عن باقي العمليات، لها مساحة ذاكرة خاصة بها، وإنشاء عملية جديدة يعني إنشاء برنامج جديد تمامًا. وذلك مناسب للمهام التي تتطلب عزلًا تامًا أو استخدام موارد كبيرة، والمكتبة المستخدمة هي multiprocessing. للتوضيح بمثال بسيط لحساب مربع الأعداد من 1 إلى 5 في عمليات منفصلة: import multiprocessing def square(n): return n * n if __name__ == '__main__': with multiprocessing.Pool(processes=5) as pool: results = pool.map(square, range(1, 6)) print(results) # Output: [1, 4, 9, 16, 25] المفهوم الثاني هو الخيوط Threads وهي خيوط متعددة تعمل ضمن نفس العملية، وتشارك نفس مساحة الذاكرة، وإنشاء خيط أسرع من إنشاء عملية، لكنها تشارك الموارد. وهي مناسبة للمهام التي تتطلب سرعة عالية وتشارك البيانات، لكن يجب الانتباه إلى مشاكل التزامن (Race Conditions). والمكتبة المستخدمة هي threading. وإليك مثال بسيط لطباعة رسائل من خيوط مختلفة: import threading import time def print_message(message): for i in range(5): print(f"Thread {threading.current_thread().name}: {message}") time.sleep(1) if __name__ == '__main__': thread1 = threading.Thread(target=print_message, args=("Hello",)) thread2 = threading.Thread(target=print_message, args=("World",)) thread1.start() thread2.start() thread1.join() thread2.join() المفهوم الثالث هو المهام المتزامنة Coroutine/Asyncio ولا تنشئ عمليات أو خيوط جديدة، بل تنتقل بين المهام بشكل غير متزامن باستخدام الكلمات المفتاحية async و await، ومناسب للمهام التي تتضمن انتظارًا (مثل طلبات الشبكة) أي عمليات I/O كثيفة (مثل الشبكات، قواعد البيانات)، حيث لا يتم حجب الخيط أثناء الانتظار. والمكتبة المستخدمة هي asyncio، وكمثال بسيط لطباعة رسائل مع تأخير باستخدام Asyncio: import asyncio async def print_message(message, delay): await asyncio.sleep(delay) print(f"Message: {message}") async def main(): await asyncio.gather( print_message("Hello", 2), print_message("World", 1) ) asyncio.run(main()) بالتالي عليك تحديد ما الذي تريد تحقيقه بتعدد المهام؟ هل تريد تسريع عملية حسابية؟ هل تريد التعامل مع طلبات متعددة من الشبكة؟ فالعمليات مناسبة للمهام المستقلة، الخيوط للمهام التي تشارك البيانات، والمهام المتزامنة للمهام التي تتضمن انتظارًا. ولا تحاول كتابة برنامج معقد من البداية، ابدأ بمثال بسيط وفهم كيفية عمله قبل إضافة تعقيدات.
- 3 اجابة
-
- 1
-
-
عذرًا على ذلك، أرجو الإنتظار لبعض الوقت وسيتم الرد عليكي، لا تقلقي بخصوص الرد، أحيانًا يوجد ضغط على مركز المساعدة أو خارج ساعات العمل.
-
الأمور المالية يتم مناقشتها من خلال مركز المساعدة أرجو التحدث إليهم وإرسال تلك الرسالة، وتستطيعي استبدال الدورة بدورة أخرى تناسبك.
-
ما يحدث عندما تسترجع البيانات من قاعدة البيانات باستخدام PHP، يتم جلب البيانات كـ Strings بشكل افتراضي، بغض النظر عن نوع البيانات في قاعدة البيانات، ذلك لأن PHP لغة برمجة ذات كتابة ديناميكية، ولا تُلزم بكتابة صارمة للبيانات. بإمكانك تحويل النص إلى عدد صحيح مباشرًة باستخدام الـ Casting $id = (int) $row['id']; أو استخدام دوال PHP المُدمجة، مثل intval() أو filter_var(), لتحويل النص إلى عدد صحيح: $id = intval($row['id']); أو تهيئة PHPMyAdmin لإرجاع القيم الصحيحة كأعداد صحيحة بدلاً من نصوص، بالإنتقال إلى إعدادات PHPMyAdmin، وفي علامة التبويب SQL، قم بتعيين Use integer for integer columns إلى yes.
-
المطلوب هو كتابة دالة جافاسكريبت تُسمى getPathwayProjectDe تستقبل عدة مدخلات تصف مشروعًا رياضيًا، ثم تُعيد كائنًا مُنسقًا يحتوي على هذه المعلومات. المدخلات هي: name: اسم المشروع (مثلًا، "المسار الرياضي"). goals : مصفوفة من السلاسل النصية تصف أهداف المشروع. activities: مصفوفة من السلاسل النصية تُدرج الأنشطة المُقدمة. geographical_details: كائن يحتوي على تفاصيل الموقع الجغرافي للمشروع (من المحتمل أن يحتوي على خصائص مثل start و end). related_initiatives: مصفوفة من السلاسل النصية تُسمي المبادرات ذات الصلة (مثلًا، "رؤية 2030"). يجب أن تُعيد الدالة كائنًا واحدًا يُنظم كل تلك المعلومات بشكل مُرتب، والمثال المُقدم يُظهر كيف يُستخدم المدخل description (الذي ليس مدخلًا مباشرًا ولكنه مُشتق من المدخلات الأخرى) لإنشاء المخرجات. حاول التفكير في الأمر وتقسيم المشكلة إلى أجزاء والعمل على حلها، وأخبرني إن واجهت صعوبة والكود الذي توصلت إليه
- 6 اجابة
-
- 1
-
-
في البرمجة بشكل عام هي دالة داخل كائن أو كلاس ونستدعيها من خلال النقطة . بعد اسم الكلاس أو الكائن. في بايثون، الـ method هي دالة function مرتبطة بـ مُثيل instance (نسخة من الكلاس) من class، أي تعيش داخل كلاس وتعمل على بيانات ذلك المُثيل، ونستخدمها للتفاعل مع خصائص attributesومُثيلات الكلاس. الفرق الرئيسي بين الدالة العادية والميثود هو أن الميثود تستقبل مُثيل الفئة كمعامل ضمني (implicit argument) يُسمى بشكل شائع باسم self وهو يُشير إلى المُثيل الذي تُستدعى عليه الميثود. class Dog: def __init__(self, name, breed): self.name = name self.breed = breed def bark(self): print("Woof! My name is", self.name) def describe(self): print(f"I am a {self.breed} named {self.name}") my_dog = Dog("Buddy", "Golden Retriever") my_dog.bark() my_dog.describe() __init__ هو مُنشئ constructor وهي ميثود خاصة لتهيئة مُثيلات الكلاس عند إنشائها. bark و describe هما ميثودان تُنفذان على مُثيل my_dog، لاحظ كيف يستخدمان self للوصول إلى خصائص المُثيل (self.name, self.breed).
- 6 اجابة
-
- 1
-
-
ما كتبته غير صحيح، فما يظهر هو كلاس أي كالتالي عند حل المسألة: class Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ و twosum هي ميثود بداخل الكلاس لحل المسألة مباشرًة تفقد المسألة هنا: https://leetcode.com/problems/two-sum/
- 6 اجابة
-
- 1
-
-
لن تحتاج إلى دفع أي شيء سوى اشتراك الدورة فقط. بخصوص مجال تخصص مدير المنتج أو product manager، فستتعلم بالدورة أساسيات إدارة تطوير المنتجات، حيث ستتعرف على المنتجات الرقمية ومنهجيات إدارتها، وكيفية دراسة السوق وتحليل المنافسين ومتطلبات العملاء، وستأخذ فكرة عامة عن مراحل التصميم والتطوير والإطلاق. وستتعلم كيفية توظيف فريق من المصممين لتصميم الهوية البصرية والواجهات الأمامية، وفريق من المبرمجين لبرمجة الواجهات الأمامية frontend والخلفية backend والجوال؛ بتطبيق عملي على مشاريع حقيقية نبنيها. وكتابة ملف المواصفات التقنية للمنتج، وميزاته وتحديد الأولويات، وكيفية كتابة حالات الاستخدام Use cases وقصص المستخدمين User stories. وسنعمق في المفاهيم التي بنيت عليها أجايل، وسنتعرف على إطار العمل سكرام ونطبق عمليًا. وستجد تفصيل هنا بخصوص ذلك التخصص: عليك البحث على مواقع التوظيف الخاصة بسوق العمل الذي تريد العمل به، باسم الوظيفة وهو product manager ثم تفقد المهارات المطلوبة واعمل على تعلمها
-
عليكِ استخدام ترميز UTF-8 لنقم بتجربة الحلول التالية بالترتيب: في بداية ملف to_excell.php، أضيفي السطر التالي: header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; charset=utf-8'); فذلك يحدد ترميز UTF-8 لملف Excel. 2- بدلاً من setCellValueByColumnAndRow, استخدمي setCellValueExplicit مع تحديد نوع البيانات كـ DataType::TYPE_STRING وذلك لضمان كتابة النصوص العربية بشكل صحيح، ويجب أيضاً تحديد الترميز صراحةً: use PhpOffice\PhpSpreadsheet\Cell\DataType; // داخل الحلقة while $sheet->setCellValueExplicit($col, $rowNumber, $value, DataType::TYPE_STRING); 3- تأكدي من أن ملف to_excell.php نفسه مُحفظ باستخدام ترميز UTF-8 بدون BOM (Byte Order Mark). تستطيعي تفقد ذلك باستخدام محرر نصوص يدعم ترميز الأحرف مثل Notepad++ أو Sublime Text. 4- تحويل النصوص العربية إلى UTF-8 قبل كتابتها في ملف Excel باستخدام دالة mb_convert_encoding: $value = mb_convert_encoding($value, 'UTF-8', 'auto'); $sheet->setCellValueExplicit($col, $rowNumber, $value, DataType::TYPE_STRING); 5- حفظ ملف Excel بترميز UTF-8 $writer->save('php://output', 'UTF-8');
-
حاليًا عليك إعادة تشغيل الحاسوب فأحيانًا هناك ملفات مؤقتة تسبب المشكلة أو مشاكل في الذاكرة العشوائية، إن لم يتم حل المشكلة عليك إعادة تثبيت البرنامج.
- 4 اجابة
-
- 1
-
-
ما هو الخطأ الذي يظهر؟ وهل قمت بإعادة تشغيل الحاسوب وتفقد هل تم حل المشكلة أم لا؟ يمكنك تفقد هل البرنامج ما زال يعمل أم لا من خلال task manager في الويندوز وإن كان ما زال يعمل قم بالضغط عليه بزر الفأرة الأيمن ثم اختر end task ثم قم بتشغيله مجددًا.
-
كبداية أنصحك بالتدرب على flexbox وGrid من خلال المواقع التالية: https://flexboxfroggy.com/ https://cssgridgarden.com/ وذلك موقع مساعد لك لفهم خواص الـ Flexbox: https://flexbox.malven.co/ نفس الأمر بخصوص الـ Grid: https://grid.malven.co/ بعد ذلك عليك بالتطبيق على تصاميم والموقع الأشهر لذلك هو Frontend Mentor حيث يقدم تحديات تصميم واجهات مستخدم جديدة كل أسبوع، وأيضًا لو أردت يوفر ملفات Figma لتحميلها والبدء في العمل عليها. والموقع الأقرب له هو https://www.dailyui.co فخلال 100 يوم يتم تقديم تحديات لك لتنفيذها، والأمر محفز فعلاً. أيضًا المواقع التالية: https://flukeout.github.io/ https://cssbattle.dev/ ولا عليك إن واجهت صعوبة في البداية، مع الوقت والتدريب ستتحسن، وتستطيع السؤال للمساعدة.
-
تلك مشكلة قائمة بالفعل في المكتبة بسبب التحديثات التي يجريها يوتيوب، حاليًا قم بتعديل الكود كالتالي: yt = YouTube( url, 'MWEB' ) إن لم يعمل اكتب WEB_CREATOR بدلاً من MWEB
-
لتوضيح معنى الشهادة، فشهادة جوجل للمحترفين في تحليل البيانات (Google Data Analytics Professional Certificate) وشهادة جوجل للمحترفين في تحليل البيانات المتقدم (Google Advanced Data Analytics Professional Certificate) الفرق ينهما يكمن في مستوى الصعوبة والخبرة المطلوبة، بالإضافة إلى المهارات المكتسبة. Google Data Analytics Professional Certificate هي شهادة للمبتدئين. تُركز على أساسيات تحليل البيانات، وتُعلم المشاركين كيفية استخدام أدوات مثل Sheets و SQL لجمع البيانات وتنظيفها وتحليلها وتفسيرها، وهي مناسبة لمن ليس لديهم خبرة سابقة في تحليل البيانات أو يمتلكون خبرة قليلة. Google Advanced Data Analytics Professional Certificate تلك شهادة متقدمة وتتطلب معرفة مسبقة بتحليل البيانات، وتُبني على أساسيات الشهادة السابقة، وتُغطي مواضيع أكثر تعقيدًا مثل نماذج التنبؤ، والتحليل الإحصائي المتقدم، وتقنيات تعلم الآلة (Machine Learning) الأساسية، وتشمل استخدام أدوات أكثر تخصصًا مثل R أو Python أو BigQuery.
- 3 اجابة
-
- 1
-
-
بخصوص الشبكات والتعمق بها فليس مطلوب منك دراسة ذلك في حال أنك تعمل في مجال البرمجة، فذلك مجال مختلف، ما أنت بحاجة إليه هو الأساسيات بمعنى فهم كيفية عمل بروتوكولات و HTTPS، HTTP والطرق الخاصة بها (GET, POST, PUT, DELETE) وكيفية استخدامها في طلبات HTTP. وكيفية توجيه الطلبات من المتصفح إلى الخادم، وكيفية التعامل مع الأمان مثل SSL/TLS. وأساسيات بروتوكولات الشبكات مثل TCP/IP, HTTP, HTTPS, FTP, SMTP, DNS، عليك فهم وظيفة كل بروتوكول وكيفية عمله. واستيعاب كيفية عمل عناوين IP (IPv4 و IPv6)، وكيفية استخدامها لتحديد أجهزة الكمبيوتر على الشبكة، وكيفية اتصال التطبيقات بالخوادم، وكيفية التعامل مع مشاكل الشبكة مثل الاتصال المنخفض أو انقطاع الاتصال.
-
ما هو حجم الرامات لديك، تفقد الاستهلاك عند فتح المحاكي، وقم بتجربة حذف المحاكي AVD ثم إعادة إنشاءه من جديد وخصص له 2 جيجابايت رامات على الأقل. أيضًا حاول تحديث كرت الشاشة لديك، إن استمرت المشكلة توجه إلى Device Manager في أندرويد ستوديو واضغط على الثلاث نقاط ثم اختر cold boot the emulator، وإن استمرت المشكلة توجه لنفس القائمة مرة أخرى واختر wipe لحذف البيانات ثم cold boot the emulator.
-
اضغط على Enroll for free في صفحة الكورس ثم اختر Full Course, No Certificate لدراسة الكورس بدون شهادة. للحصول عليها تستطيع الدفع مقابلها.
- 5 اجابة
-
- 1
-
-
الدفع بالدولار بالطبع، وما يظهر لك هو حساب Coursera plus أي إشتراك للوصول لجميع الدورات المدفوعة والحصول على شهادة، حيث أنّ الشهادة يجب أن تدفع مقابلها في حال كانت الدورة مجانية، لذا تستطيع عدم الإشتراك اضغط على Enroll for free في صفحة الكورس ثم اختر Full Course, No Certificate لدراسة الكورس بدون شهادة.
- 5 اجابة
-
- 1
-
-
لا تستطيع العمل بالشركات أو مواقع العمل الحر في حال كان عمرك أقل من 18 وذلك لأسباب قانونية، عند الوصول لذلك السن تستطيع العمل كما تشاء، بالتالي عليك تجهيز نفسك وإعدادها بالمهارات المطلوبة في سوق العمل لحين الوصول لذلك السن. وفي حال وصلت بالفعل لـ 18، فتستطيع العمل عن بُعد مع الشركات أو على مواقع العمل الحر، لكن للعمل بداخل شركة أي المقر نفسه ستحتاج إلى شهادة جامعية أيًا كانت وليس شرط أن تكون متعلقة بالبرمجة، أي يجب أن تكون قد تخرجت من الجامعة. وبالطبع الأمر ليس حكرًا على مواقع العمل الحر، فتستطيع العمل خارجها من خلال عرض مهاراتك في الجروبات المختصة أو المهتمة بها مثلاً.
- 4 اجابة
-
- 1
-
-
تستطيع السؤال متى أردت أسفل كل درس عن تمارين حول الدرس ثم في نهاية كل مسار السؤال عن تمارين حول المسار بالكامل أو فكرة مشروع مثلاً للتطبيق على المسار، وسيتم توفيرها لك. يوجد مشاريع كاملة للتطبيق على المسارات السابقة في كل دورة
-
بالطبع باديء الأمر لغة برمجة، والمستخدم في تحليل البيانات هما بايثون و R، لديك أيضًا لغة الاستعلام الخاصة بقواعد البيانات وهي SQL. ثم عليك فهم كيفية الوصول إلى البيانات، واستخراجها، وتنظيمها من قواعد بيانات مختلفة (مثل MySQL، PostgreSQL، MongoDB). ثم إتقان استخدام برامج مثل Excel، Tableau، Power BI، SPSS، SAS، وتلك الأدوات تساعد في عرض البيانات وتفسيرها بشكل مرئي. ثم فهم المفاهيم الإحصائية الأساسية مثل المتوسط، الانحراف المعياري، الاختبارات الإحصائية، والانحدار. هذا ضروري لتفسير النتائج بشكل صحيح. ثم تعلم أساسيات تعلم الآلة وتطبيقاته في تحليل البيانات، مثل تصنيف البيانات، التنبؤ، وتجميعها. ليس شرطًا دائمًا، لكنه يعتبر ميزة كبيرة. بعد ذلك تعلم مهارة استخراج البيانات Data Mining، أي القدرة على استخراج المعلومات القيّمة من مجموعات البيانات الضخمة. ثم تنظيف البيانات، حيث ستتعامل مع بيانات غير المكتملة أو غير متناسقة، وتنظيفها وإعدادها للتحليل أمر ضروري. بعد ذلك عليك تعلم الـ Storytelling بمعنى تصبح قادر على تقديم النتائج بطريقة واضحة ومفهومة، باستخدام الرسوم البيانية والتقارير لأصحاب الشأن.
- 2 اجابة
-
- 1
-