اذهب إلى المحتوى

محمد_عاطف

الأعضاء
  • المساهمات

    9386
  • تاريخ الانضمام

  • تاريخ آخر زيارة

  • عدد الأيام التي تصدر بها

    134

كل منشورات العضو محمد_عاطف

  1. لا داعي للقلق فإن الشهادة سيكون عليها إسمك الحقيقي حيث سيتم طلب توثيق هويتك وسيتم وضع الإسم الموجود في الهوية هكذا : ولن يتم الأخذ بإسم الحساب الخاص بك على الأكاديمية هنا.
  2. ستجد أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  3. إذا كنت تقصد إنهاء دورة تطوير التطبيقات بلغة بايثون فأنت في البداية ستحتاج إلى 3 أشهر على الأقل في حالة قد قمت بالدراسة بشكل يومي لإنهاء الدورة وفي حال كانت تلك لغة البرمجة الأولى لك حيث سيتعين عليك المراجعة كثيرا وإعادة بعض الدروس أحيانا لفهمها بشكل جيد وأيضا إعادة تنفيذ بعض المشاريع بمفردك وخلافه وذلكلكي تتمكن من تثبيت المعلومات. ولا مشكلة إذا استغرقت أكثر من ذلك لكن يجب ثم يجب تحديد جدول زمني واقعي بناءًا على الوقت المتاح لك وبناءًا على تقديرك لنفسك وعلى المقدار الذي تستطيع استيعابه بشكل يومي، وخصص وقت لكتابة الكود والتدرب على ما تعلمته وليس مشاهدة الفيديوهات فقط. أما بخصوص الوقت فإن ساعة يوميا ليست كافية أبدا وليست جيدة بالمرة فإذا كنت متفرغ فأنصحك بتخصيص 6 إلى 10 ساعات يوميًا للمذاكرة أما إذا كنت غير متفرغ فيمكنك تخصيص 3 ساعات يوميا للمذاكرة أو ساعتان على الأقل حيث أن أقل من ذلك لا يعتبر وقت كافي ولن تستطيع متابعة الدراسة بشكل جيد . حيث أنت لن تقوم بمشاهدة الفيديوهات فقط بل خليط ما بين المشاهدة ثم الكتابة وراء المدرب أو بمفردك ومحاولة التغيير في الكود الذي كتبه المدرب وخلق تحدي بسيط لك وأيضًا البحث عن حل للمشاكل التي تواجهك من خلال القراءة أو مشاهدة فيديو على اليوتيوب مثلاً ولكن حاول البحث والقراءة أولاً. أما إذا كنت تقصد مذاكرة بايثون فقط بمفردك فإن تعلم أساسيات بايثون قد يستغرق من شهر إلى شهرين إذا كنت تدرس بانتظام. وأما التعمق والدراسة بشكل أكبر سيستغرق هذا الأمر عدة أشهر.
  4. "سيحدد لك المدرب مشروعًا مرتبطًا بما تعلمته أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع الى أسبوعين" في الجملة السابقة كما تظهر في تعليمات التقدم للإختبار والحصول على الشهادة تجد أن المدرب هو من يقوم بإختيار فكرة مشروع التخرج لك والتي تناسب ما تم تعلم ودراسته بشكل كامل في الدورة أو توفير مشروع فقط مناسب للمسارات التي أتممتها فقط إذا لم تكمل الدورة بأكملها. وأيضا يتم مراعاة حجم المشروع المناسب لإنهاءه في الوقت المقدر له . وليس جميع الطلاب لهم نفس المشاريع بل مختلفة عن بعضها البعض وذلك لأن ليس جميع الطلاب يقومون بدراسة جميع المسارات . ولكن من الممكن أن تتشابه بعض المشاريع فلن يمكن توفير مشاريع فريدة لكم الطلاب الكثير في الدورات هنا.
  5. في الصورة الأولى يتم طباعة "same" لأن المترجم يقوم بما يسمى String Interning لتوفير الذاكرة. حيث أن السلسلتين "hi" متطابقتين حرفيا فيخزنها المترجم في نفس العنوان و i و j يشيران إلى نفس العنوان في الذاكرة. لذلك ستجد أن i == j يعيد true . أما في الصورة الثانية يتم طباعة "different" لأن argv[1] و argv[2] يأتيان من مدخلات المستخدم في سطر الأوامر وحتى لو أدخل المستخدم نفس النص فإن النظام يخصص مساحة ذاكرة منفصلة لكل وسيط و بذلك فإن argv[1] و argv[2] يشيران إلى عناوين ذاكرة مختلفة. لهذا فإن argv[1] == argv[2] يعيد false
  6. من الممكن في بداية تعلمك عدم الإهتمام بشكل كبير بنظافة الكود بل يجب الإهتمام بتعلم الأساسيات وفهم الكود حيث التركيز على كتابة كود نظيف حاليا قد يجعلك تشعر بالتشتت والصعوبة والملل أيضا. ولمعرفة كيفية كتابة كود نظيف يمكنك قراءة المقال التالي : وإليك الإجابة التالية لمزيد من التفاصيل حول متى يمكنك البدأ في تعلم الكود النظيف:
  7. لاحظ من رسالة الخطأ تخبرك التالي : أن المتغير x فيه 15 عنصر والمتغير y فيه 15 عنصر . ولكن المتغير colors فيه 13 عنصر فقط. وإن في plt.scatter يجب على c أن يكون له نفس الطول مثل x و y أي 15 عنصر. لهذا إم أن تزود قائمة colors بعنصرين إضافيين حتى تكون 15 عنصر : colors = [0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100, 110, 120] أو تقوم بقص x و y لتصبح بنفس طول colors أى 13 عنصر: x = x[:13] y = y[:13] بالتوفيق.
  8. ستجدين أسفل فيديو الدرس صندوق للتعليقات كما هنا يرجى طرح سؤالك أسفل الدرس وليس هنا حيث هنا قسم الأسئلة العامة ولا نقوم بإجابة الأسئلة الخاصة بمحتوى الدورة أو الدرس، وذلك لمعرفة الدرس الذي توجد به مشكلتك و لمساعدتك بشكل أفضل.
  9. نعم لا بئس الشعور هذا طبيعي جدا ف 5 مواقع ليست بالأمر الكبير أى لم تمتلك الخبرة الكافية بعد لهذا قد تشعر بهذا الأمر . ولكن بما أنك تقول أنك لو رأيت أى عنصر أو tag وتعرف إستخدامه فإذا الأمر طبيعي جدا المشكلة لديك حاليا في التطبيق ليس إلا . ولهذا فإن مشاريع الدورة بالطبع ستقويك فيهم وستعطيك الخبرة والتطبيق الكافي لتفادي هذا الشعور وأن تقوم ببناء المشاريع بعد ذلك بسهولة دون أى مشكلة.
  10. وعليكم السلام ورحمة الله وبركاته. نعم يتم التقدم للإختبار في المسارات التي أنهيتها مرة واحده. فبعد اتمامك للدورة، سيكون عليك التواصل معنا من خلال مركز مساعدة حسوب لتحديد موعد امتحان وسيكون على الشكل التالي: اجراء محادثة صوتيّة لمدة 30 دقيقة يطرح المدرّب عليك أسئلة متعلّقة بالدورة والأمور التي نفّذتها خلالها. يحدد لك المدرّب مشروعًا مرتبطًا بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع الى أسبوعين. اجراء محادثة صوتيّة أخرى لمدّة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. وان سارت على جميع الخطوات السابقة بشكل صحيح، تحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد. ويمكنك قراءة تفاصيل أكثر من خلال الرابط التالي: https://support.academy.hsoub.com/exams
  11. هل يمكنك توضيح أى دورة تقصدها ؟ ولكن في الغالب لن تحتاج إلى تعلم php في أغلب الدورات هنا في الأكاديمية . ففي الدورات جميعها يتم البدأ من الصفر ولو يوجد أى متطلبات للدورة ستجدها في صفحة وصف الدورة . لهذا يرجى توضيح الدورة التي إشتركت بها لمساعدتك بشكل أفضل.
  12. يمكنك البدأ في مواقع العمل الحر وقتما تريد ولكن يجب عليك أن تكون لديك الخبرة الكافية للبدا حتى لو في المشاريع البسيطة . يمكنك إنشاء حاليا حساب على موقع خمسات وإنشاء الخدمات التي تستطيع تقديمها حاليا وأيضا ينبغي عليك إنشاء معرض أعمال لك ليعرف أصحاب المشاريع مدى خبرتك وكفائتك في العمل وهذا سيعطيك فرصة أكبر. وأيضا بالنسبة إلى موقع مستقل يمكنك أيضا إنشاء حساب والبحث عن المشاريع البسيطة والتي تستطيع إنجازها وأنصحك بعدم التقديم على مشروع أكبر من مستواك لأن ذلك سيعطيك تقيم سلبي ونظرة سيئة على حسابك وستجد أصحاب المشاريع يتجنبون إختيارك للعمل معهم. وإليك المقال التالي :
  13. وعليكم السلام ورحمة الله وبركاته. الطريقتين مناسبتين ولكن متى تستخدم أى منهما تختلف بناء على الكود الذي لديك ومدى تعقيده وحجمه و من الأشخاص الذين تقوم بكتابة التعليقات لهم. فمثلا عندما يكون الكود واضح في تنفيذه أى ليس معقدا لكن يحتاج إلى شرح للسياق أو الغرض العام منه فهنا الأفضل كتابة تعليق واحد يشرح فكرة الكود كاملا وما الذي يقوم به أما إذا كان الكود معقد جدا أو يستخدم طريقة أو فكرة غير واضحة فهنا الأفضل بالطبع توضيح وظيفة كل سطر ماذا يعمل ولكن يجب عليك الإنتباه عدم الإكثار من التعليقات الغير مهمة مثلا سطر مفهوم لا نقوم بكتابة تعليق له وذلك منعا للملل و كثرة الكتابة في الملف.
  14. توجد الكثير من الطرق المجانية . فمثلا يمكنك نشر القالب على أسواق القوالب (Marketplaces) كمنصات مثل ThemeForest و TemplateMonster و Creative Market وهي المكان الرئيسي لبيع القوالب. ويمكنك النشر في المجتمعات المتخصصة حيث يمكنك المشاركة في منتديات ومجموعات على منصات مثل Reddit و Facebook وغيرها. ويمكنك إنشاء محتوى وفيديوهات على موقع يوتويب لجذب العملاء وشرح فكرة القالب الخاص بك وكيف يعمل . ويمكنك قراءة النصائح والمقالات التالية لمزيد من التفاصيل :
  15. إن المقارنة بين Express.js و Nestjs تعتمد على احتياجات المشروع و حجم الخصائص في المشروع . فأولا إن Express.js هو إطار عمل بسيط لبناء تطبيقات Node.js ويركز على المرونة والبساطة لإنشاء خادم خلفي للتطبيقات وهو مناسب أكثر للمشاريع الصغيرة والمتوسطة و التطبيقات الني تحتاج إلى مرونة عالية أو تخصيص كبير وإذا كنت تفضل أن تتحكم بشكل كامل في هيكل وتنظيم المشروع لديك. أما Nestjs فهو إطار عمل متقدم مبني على Express.js وهو يستخدم TypeScript بشكل افتراضي وله هيكل ثابت وقوي حيث يعتمد على نمط MVC ويوفر تنظيم واضح وهو جيد للمشاريع الكبيرة والمعقدة. ويدعم العديد من المميزات مثل Dependency Injection و Middleware و وGraphQL بسهولة.
  16. وعليكم السلام ورحمة الله وبركاته. لم يختلف شئ في محتوى الدورة أو الدروس بل الإختلاف الذي حدث هو في ترتيب المسارات الخاصة بالدورة . لهذا إذا كنت قد أنهيت مسارات سابقة فيمكنك تخطي تلك المسارات وعدم مذاكرتها مرة أخرى إذا كنت تتذكرها وأن تقوم بمذاكرة الدورة بالترتيب الجديد. أما إذا لم تقم بدراسة مسارات كثيرة سابقا أو لم تتذكر تلك المسارات فأنصحك بدراسة الدورة من البداية بالترتيب الجديد للحصول على أقصى إستفادة ممكنة.
  17. لا داعي للاعتذار يمكنك وضع سؤالك أسفل الدرس ستجدين صندوقا للتعليقات كما هنا أسفل الدرس يرجى وضع سؤالك هناك وذلك لمعرفة الدرس الذي به مشكلتك ونستطيع المتابعة معك .
  18. هذا الامر غالبا بسبب إصدار أحدث من الإصدار المستخدم في الدرس . لذلك يرجى إستخدام الإصدار المستخدم في الدرس . وإذا إستمرت المشكلة يرجى وضع سؤالك أسفل الدرس الذي به مشكلتك .
  19. نعم بالطبع يوجد شهادة لإتمام أى دورة هنا في الأكاديمية هكذا : حيث يجب عليك إجتيار الإختبار للحصول على الشهادة وآلية الإختبار هي كالتالي: بعد إنهاء 4 مسارات من الدورة على الأقل، أو الدورة بالكامل عليك رفع المشاريع التي قمت بها بالدورة على حسابك في github، ثم التحدث لمركز المساعدة وإخبارهم أنك تريد التقدم للإختبار وتوفير روابط المشاريع على github. ثم الإنتظار لبعض الوقت لحين مراجعة المشاريع وسيتم الرد عليك، وتحديد موعد لإجراء مقابلة، وبها يتم: إجراء محادثة صوتيّة لمدة 30 دقيقة يطرح المدرّب عليك أسئلة متعلّقة بالدورة والأمور التي نفّذتها خلالها. يحدد لك المدرّب مشروعًا مرتبطًا بما قمت به أثناء الدورة لتنفيذه خلال فترة محددة تتراوح بين أسبوع إلى أسبوعين. إجراء محادثة صوتيّة أخرى لمدّة 30 دقيقة يناقش بها مشروعك وما نفذته وتطرح أسئلة خلالها. وإن سارت على جميع الخطوات السابقة بشكل صحيح، تحصل على الشهادة أو يرشدك المدرّب لأماكن القصور ويطلب منك تداركها ثم التواصل معنا من جديد.
  20. وعليكم السلام ورحمة الله وبركاته. الكود الذي قمت بكتابته صحيح ويعمل بشكل جيد لا توجد به مشكلة ولكن يمكن تحسينه من حيث الأسلوب وأيضا طريقة اتجاه الحلقة الخارجية حيث هذا ليس خطأ ولكنه أقل إستخدام في تطبيق Bubble Sort حيث الطريقة التقليدية تبدأ من 0 إلى LEN-1 مما يجعل الكود أكثر قابلية للقراءة. وإليك الكود بعد تحسين بعض الأشياء فيه : #include <iostream> using namespace std; #define LEN 7 int main() { int numbers[LEN] = {1, 2, 5, 4, 7, 9, 3}; // Bubble Sort for (int i = 0; i < LEN - 1; i++) { bool swapped = false; // متغير لتتبع حدوث التبديل for (int j = 0; j < LEN - 1 - i; j++) { if (numbers[j] > numbers[j + 1]) { // تبديل العناصر int tmp = numbers[j]; numbers[j] = numbers[j + 1]; numbers[j + 1] = tmp; swapped = true; } } // إذا لم يحدث أي تبديل، فالمصفوفة مرتبة if (!swapped) break; } // طباعة المصفوفة المرتبة for (int i = 0; i < LEN; i++) { cout << numbers[i] << " "; } cout << endl; return 0; } حيث قمت بتغيير اتجاه الحلقة الخارجية فإستخدمت i من 0 حتى LEN-1 بدلا من العكس مما يتماشى مع الطريقة التقليدية ل Bubble Sort. زأيضا قمت بتغيير اسماء المتغيرات ليكون الاسم أكثر وضوح واستخدمت نوع bool بدل من int. وفي النهاية قمت بإضافة return 0 حيث من الجيد إنهاء الدالة main بإرجاع 0 لتدل على نجاح تنفيذ البرنامج.
  21. هل يمكنكِ توضيح أى مفتاح تقصيدينه ؟ حيث يوجد العديد من المفاتيح التي يتم ذكرها في الإختراق . فمثلا : 1. المفتاح التشفير (Encryption Key) : وهو سلسلة من الأرقام الثنائية والتي تستخدم في خوارزميات التشفير وفك التشفير مثل مفتاح AES أو مفتاح RSA المستخدم في تشفير البيانات وغيرها من المفاتيح الأخرى. 2. مفتاح الوصول (Access Key) مثل مفاتيح SSH أو مفاتيح API المستخدمة للمصادقة في الأنظمة والتي إذا تم تسريبها يمكن إختراق الأنظمة والوصول إلى أشياء غير مسموح للوصول إليها.
  22. نعم بالطبع يمكن إختراق التخزين السحابي وسرقة البيانات في بعض الحالات ولكن هذا الأمر يعتمد على عدة عوامل منها قوة إجراءات الأمان التي يقوم بها مقدم الخدمة السحابية والمستخدم نفسه. فمثلا من طرق إختراق التخزين السحابي: اختراق الحساب: فإذا كانت كلمة المرور ضعيفة أو تم تسريبها يمكن للمهاجمين الدخول إلى الحساب بسهولة وسرقة البيانات. ثغرات أمنية في مقدم الخدمة: ففي بعض خدمات التخزين السحابي قد تحتوي منصة التخزين على ثغرات تسمح للمخترقين بالوصول غير المصرح به إلى بيانات الأشخاص الأخرين. هجمات الإحتيال (Phishing): يمكن خداع المستخدم لإدخال بيانات الوصول إلى حسابه من خلال موقع وهمي. الوصول عبر أجهزة مخترقة: فمثلا إذا كان الجهاز المستخدم مصاب ببرنامج خبيث أو الجهاز مخترق فحينها يمكن للمخترقين سرقة بيانات الاعتماد أو الملفات المخزنة محليا قبل رفعها على السحابة. لهذا يجب تأمين الحساب الخاص بكِ بشكل جيد وإختيار منصة مناسبة مؤمنة بشكل جيد.
  23. نعم بالفعل لقد تم تصميم الدورة هنا في الأكاديمية وتم ترتيب مساراتها بعناية حيث تعتمد المسارات على بعضها البعض وتراعي مستوي الطلاب في التدرج أثناء التعلم . ولهذا دائما الافضل هو اتباع الترتيب الموجود في الدورة لأنه هو الترتيب الصحيح الذي تم ترتيب الدورة عليه والأفضل في متابعتها ومذاكرتها للحصول على أقصى إستفادة منها. أما بخصوص مسار "تطبيقات عملية على النماذج النصية الكبيرة LLMs" فهو مهم ويجب دراسته قبل البدأ في مسار "تعلم الآلة Machine Learning" . ولكن يمكنك دراسة مسار "تحليل البيانات Data Analysis" قبل مسار "تطبيقات عملية على النماذج النصية الكبيرة LLMs". لهذا إذا أردت دراسة مجالات معينة فيمكنك دراسة المسارات الخاصة بها بالترتيب . أما لو أردت دراسة الدورة بأكملها فالأفضل إتباع الترتيب الموجود في الدورة.
  24. لا داعي للشكر يمكنك السؤال في اى وقت. لا ليس ضروريا كل ما عليك فعله هو تعديل اسم الملف لديك ورفعه على المستودع و github تلقائيا يقوم بالإشاة إلى المستودع وستظهر التعديلات مباشرة في الموقع
  25. لاحظ الخطأ لديك في إسم الملف حيث أنك قمت بجعل إسم الملف inedx.html ولكن الصحيح هو index.html لهذا لا يعمل الرابط لأن github يتوقع وجود إسم الملف الأساسي index.html . ولهذا يجب عليك إصلاح إسم الملف أو يمكنك زيارة الرابط مع وضع إسم الملف الحالي هكذا : https://ibrahim-almahdy.github.io/website3/inedx.html
×
×
  • أضف...