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

Kais Hasan

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

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

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

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

    24

كل منشورات العضو Kais Hasan

  1. يمكنك كتابة الكود محلياً ورفعه و تنفيذه على كولاب عندما تتحقق من أن كل شيء يعمل كما هو مطلوب، هذا في حال كنت تكتب كود كبير. أما في حال كان الكود بضعة أسطر أو تجارب مباشرة فطبعاً استعمال كولاب أحسن كونه أسرع، أيضاً عندما تريد تدريب نموذج تستعمل كولاب، و لكن التدريب النهائي و ليس فقط تجريب الكود إن كان يحوي مشاكل أم لا.
  2. طالما لا تريد حفظ أي معلومات معينة فلا فكرة من وجود قاعدة البيانات، حيث أن قاعدة البيانات تستعمل لحفظ بيانات الموقع. مثلاً لو أردت الحفاظ على الأسعار القديمة لعرض مخططات توضح تغير السعر خلال الفترات الزمنية السابقةـ عندها ستحتاج إلى قاعدة بيانات بحيث يكون فيها تاريخ التحقق من السعر و السعر، عندها يمكنك استعمالها لعرض هذه المخططات. أيضاً في حال أردت أن يكون لديك مستخدمين مثلاً و ترسل لهم إشعارات عند تغير سعر الذهب، عندها تحتاج حتماً إلى قاعدة بيانات لتخزين معلومات المستخدمين لديك.
  3. و عليكم السلام، غوغل كولاب ليس بيئة تطوير كود، و بالتالي لا تتوقع وجود هذه الميزات فيه، في حال كنت تريد كتابة كود مع ميزات إضافية مثل ألوان المتغيرات فعليك استعمال vscode أو pycharm أو أي برنامج آخر مماثل. أيضاً يمكنك إنشاء ملف على google colab بالكود الخاص بك و فتحه ضمن غوغل كولاب، عندها سيعطيك ألوانا للمتغيرات مختلفةـ و لكن غير قابلة للتعديل. مثلاً يمكنك كتابة كود معين داخل ملف اسمه test.py و من ثم تنفيذه عن طريق كتابة python /content/test.py
  4. هناك العديد من الأمور عليك معرفتها قبل العمل في هذا المجال، أهمها أن تكون على إطلاع و معرفة جيدة بأساسيات الحاسوب، فكثير من المشاكل تحدث بسبب الاعتماد على شيء محدد في حاسوب ما، و لذلك بلا معرفة بأساسيات الحاسوب لن يمكنك اكتشاف الثغرات، لذلك دورة علوم الحاسوب ضرورية في حال لم تكن على إطلاع على محاورها. أيضاً لا يمكن اكتشاف الثغرات في تطبيق ما في حال لم تكن على علم بالتقنيات المستعملة في هذا التطبيق، ولو بشكل بسيط، فلا يمكنك اكتشاف ثغرات في شيء لا تعلم عنه شيئاً، لذلك عليك اختيار إحدى دورات تطبيقات الويب، حسب اللغة التي تريدها. و لكن لا يتم شرح هذا المفهوم بشكل مباشر في الدورات، كما سبق و أخبرتك هذا ضروري حتى تتعرف على تقنيات تطوير الويب. يمكنك الاستفادة من العرض الصيفي لأخذ دورتين في نفس الوقت.
  5. في أي مجال سيتم طرح أسئلة تتعلق بالتفكير المنطقي الخاص بك، هذا من الممكن أن يشمل أسئلة خوارزميات و بنى معطيات أو حتى مسائل تختبر مهارة حل المشكلات لديك، أي يقوم المهندس الذي يقابلك بطرح مشكلة ما و يطلب منك تقديم فكرة لحل هذه المشكلة. طبعاً هذا يعتمد على الشركة التي تتقدم لها، في حال كانت الشركة جيدة فيجب أن تطرح مثل هذه أسئلة، خاصة أنك مبتدئ و بالتالي من المهم اختبار هذه المهارات أكثر من المعلومات التي ستحصل عليها خلال العمل. يمكنك التدرب على هذه المهارة على مواقع مثل Codeforces و HackerRank. و لكن رغم ذلك سيتم طرح بعض الأسئلة المتعلقة بمجالك، و هذا حسب المسمى الذي تقدم عليه، أي جونيور أم سينيور، في حال كنت جونيور سيتم سؤال أساسيات لا أكثر، أي أمور تستعمل في أي برنامج و أي شخص لديه إطلاع بسيط على اللغة يجب أن يعرفها.
  6. من الجيد أن تكون على إطلاع ولو بشكل بسيط على أساسيات مجالات معينة في الرياضيات مثل الاحتمالات و الجبر الخطي و التحليل الرياضي، ليس عليك أن تكون ملم جداً بهما و لكن احرص على تعلم الأساسيات. أكاديمية حسوب تقدم بعض المسارات في دورة بايثون يمكنك الإطلاع عليها. و في حال أردت محتوى خاص بالرياضيات يمكنك الإطلاع على كورسات MIT، مثل: كورس خاص بالتحليل الرياضي من هنا. كورس خاص بالاحتمالات من هنا. كورس خاص بالجبر الخطي من هنا. كما تقدم جامعة Stanford كورسات متقدمة في الذكاء الصنعي، مثل: كورس خاص بتعلم الآلة من هنا. كورس خاص بالتعلم العميق من هنا. كورس خاص بمعالجة اللغات الطبيعية من هنا. لكن قبل الإطلاع على أي من هذه الكورسات يفضل أن تبدأ بشكل بسيط بإحدى كورسات كورسيرا مثلاً و تقوم بمشروع بسيط حتى تصبح على إطلاع بسيط على المجال ثم تحاول تعميق معارفك.
  7. بشكل عام يتم استعمال الاحتمالات و الإحصاء و الجبر الخطي، و لكن كبداية أنصحك بدراسة أساسيات الاحتمالات و الإحصاء فقط و لاحقاً يمكنك التعمق حسب الحاجة. من أجل الاحتمالات يجب أن تكون على إطلاع بالمتغيرات العشوائية و توابع الاحتمال المتقطعة و المستمرة، بالإضافة إلى التوزعات الاحتمالية الشهيرة مثل التوزع الغوصي Gaussian و الأسي و بيرنولي و غيره الكثير. في حال كانت لغتك الإنكليزية جيدة أنصحك بالإطلاع على كورس MIT الخاص بالاحتمالات، يمكنك إيجاده على يوتيوب. من أجل الإحصاء عليك التعرف على الطرق الإحصائية لتقييم دقة إحصائية معينة مثلاً أو كيفية استعمال تقنيات إحصائية للحصول على معلومات معينة مفيدة من البيانات التي قد تكون كبيرة كفاية لتجعل الإطلاع عليها كلها مستحيل، لذلك نلجأ لهذه التقنيات. قد ترغب أيضاً باستعمال الذكاء الصنعي و لكنه غير مستعمل بكثرة حالياً في هذا المجال، و لكن بلا شك سيصبح هو الرائد في هذا المجال كما في كافة المجالات.
  8. في حال كان ليس لديك مشكلة في الدراسة باللغة الانكليزية فيمكنك الإطلاع على موقع coursera فهو يحوي على قسم خاص بال security و ضمنه العديد من الكورسات التي تندرج ضمن ما طلبته. مثلاً يوجد الكورس التالي: https://www.coursera.org/learn/malware-analysis-and-assembly لا يوجد محتوى عربي منظم حول هذا الموضوع حسب معرفتي، و لكن قد تجد بعض الفيديوهات المتفرقة على اليوتيوب.
  9. في حال أنك تقوم بعمل stream مرة واحدة و تجلب البيانات على دفعات فلا مشكلة في ذلك. أما في حال كنت تفتح ال stream في كل مرة و تقوم بأخذ بيانات منه فهذا سيشكل عبء ﻷن عملية فتح ال stream في كل مرة ستكون بطيئة. بشكل عام أي موقع يقدم خدمات تحتاج إلى نقل بيانات عالية لن يعتمد على نسخة واحدة من ال backend حيث أنه يمكنك إنشاء أكثر من نسخة بحيث يتم توزيع الحمل بينها، يمكن القيام بذلك باستعمال kubernetes هذه هي الطريق الجيدة حالياً من أجل هكذا تطبيقات. في حال كنت تريد الاكتفاء حالياً بتطبيق بسيط فلا مشكلة في طريقتك الحالية، و كلن إن أردت بناء تطبيق كبير له ملايين المستخدمين عليك استعمال التقنية التي تحدثت عنها، بشكل أساسي عليك تعلم docker في البداية و المفاهيم المتعلقة به ثم عليك الانتقال إلى kubernetes لتعلمها، الأمر سيأخذ وقتاً فهذه المفاهيم جديدة و لكنها ستصبح ضرورية لأي تطبيق مع الوقت.
  10. هناك الكثير من الثغرات التي يمكن أن تظهر، بشكل عام هذا يمكن أن يحدث بسبب أن تطبيق يستعمل نسخة قديمة من مكتبة معينة كانت تستعمل أسلوب حماية ما أصبح قديماً، هذا في الغالب أسباب الثغرات حالياً فمن النادر أن تكتب كامل الكود بنفسك و غالباً ما ستستعمل مكتبات لذلك. أيضاً دائماً يكون هناك نصائح على الموقع الرسمي لإطار العمل الذي تستعمله بحيث تضمن الحماية من الثغرات. غالباً ما يتم الكشف عن الثغرات من قبل أناس مختصين في هذه الأمور، كالهاكر الأخلاقي الذي يحاول اختراق الموقع لتنبيه الشركات أو المؤسسات العامة حول وجود ثغرة أو أخرى.
  11. عمل جيد أيمن وفقك الله. ستنسى التعليمات بالتأكيد و لكن لن تنسى طريقة التفكير و كيفية تركيب البرامج، و بالتالي لن تحتاج لوقت طويل لتعود إلى مستواك المعهود. بالطبع من الممكن أن تجد عمل و أنت طالب، هناك الكثير من الشركات التي تقدم عقود لطلاب للعمل معها بدوام جزئي و ذلك لتأهيل هؤلاء الطلاب بحيث تكسبهم كموظفين بدوام كامل عندما يتخرجون من كلياتهم، لكن عليك تعلم المزيد من الأمور حتى تجد عمل، مثلاً من الجيد أن تنتقل الآن لتعلم الجافا سكربت، و بعد تعلم أساسياتها تنتقل لتعلم أحد أطر العمل لمجال تطوير الواجهات الأمامية مثل React أو Angular. أي قد تحتاج إلى ما بين سنة و سنتين حتى تصبح بمستوى يؤهلك للعمل. بشكل عام المنح الدراسة تعتمد على درجاتك أكثر من الأعمال التطبيقية، قد يكون هذا إضافة بالطبع و لكن احرص على الدراسة جيداً حتى تضمن ذلك، و طبعاً كل منحة تختلف عن أخرى، عليك الدخول إلى موقع الجامعة و الإطلاع على تفاصيل المنحة بشكل مفصل، و في حال عدم وجود ذلك على الموقع يجب أن يكون هناك طريقة تتواصل بها مع الجامعة للسؤال عن ذلك، و قد يفيدك في حال استطعت التواصل مع أحد الطلاب هنالك لمساعدتك. و نصيحتي لك هي أن تهتم بدراستك حالياً لتحصل على درجات جيدة فهي أهم معيار عادة في المنح.
  12. يمكنك تحميل صور عن طريق الضغط على إشارة المجلد الموجودة على اليسار و من ثم سحب أي ملف تريده و إفلاته في مستعرض الملفات الذي سيظهر بعد ضغطك على زر المجلد. أما بالنسبة لتثبيت المكتبات فهذا يختلف فيما إذا كنت تريد تثبيت مكتبة بايثون أو شيء آخر، في حال كنت تقصد تثبيت مكتبة بايثون فيمكنك القيام بذلك عن طريق استعمال pip، مثلاً لتنزيل ال opencv يمكن تنفيذ ما يلي: pip install opencv-python أي تماماً كما تقوم بتنزيلها على جهازك.
  13. يمكنك التعليق أسفل كل درس تريد تمارين إضافية له، هنا قسم الأسئلة العامة.
  14. أعتقد أنك تقصد المشكلة التي تظهر باللون الأصفر في ال console. إنها ليست مشكلة ولا تؤثر على العمل نهائياً، أي يمكنك إهمالها، و لكن في حال كنت تريد إزالتها يمكنك القيام بذلك كما يلي: اضغط على المسنن الموجود في الزاوية العليا من اليمين، كما هو موضح في الصورة التالية. قم بإزالة تفعيل الخيارات Enable JavaScript source maps و Enable CSS source maps. هذا كفيل بأن يزيل هذا التحذير الذي يظهر لك. أما في حال كان قصدك بأن العناصر لا تظهر كما كتبتها في ال html فالسبب غالباً أنك تقوم بفتح ملف غير الذي تقوم بالتعديل عليه، ﻷنني نسخت الأكواد التي كتبتها و هي تعمل بشكل صحيح.
  15. شكراً على اقتراحك حسن. بالطبع مهارة حل المشكلات مهمة لأي مبرمج، شخصياً أنا مدرب في المسابقة البرمجية للجامعات ICPC و أؤكد لك أن شرحها لوحده يحتاج إلى دورة كاملة، فهناك الكثير من الأمور من خوارزميات إلى بنى معطيات إلى تقنيات مستعملة. كما أن هناك الكثير من المواقع الأخرى، أنصحك بالإطلاع على موقع codeforces فهو يحوي الكثير من المسائل المميزة و التي تشكل تحدي لأي مبرمج.
  16. يمكنك استعمال أحد الخدمات المتوفرة المعروفة، هذا سيجنبك أي خسائر نتيجة أخطاء برمجية فهذه الخدمات مجربة بشكل كثيف من قبل و مبنية من قبل خبراء. و لن تحتاج لتخزين هذه العمليات (بالطبع يمكنك ذلك من أجل سجل لديك لا أكثر) و يمكنك الإطلاع عليها مباشرة من حسابك على stripe و هي من ستقوم بإخبارك في حال دفع الزبون أم لا. شخصياً لقد قمت بتجربة stripe و هي ممتازة من أجل هذا الأمر، بحيث توفر لك هذه الخيارات و تقوم بتحويل أموالك إلى حسابك البنكي، كما أنها توفر لك حساب تجريبي وهمي، أي مجرد تقوم بدفع أموال وهمية للتحقق من كيفية سير العملية. يمكنك الإطلاع على هذه الخدمة من هنا. كما أنه دورات حسوب توفر لك شرح لكيفية التعامل مع هذه الخدمة، مثلاً في دورة بايثون تم شرح هذا الأمر.
  17. يمكنك الاستفادة من العرض الصيفي الذي تقدمه الأكاديمية و أخذ الدورتين سوية. و لكن ابدأ بدورة علوم الحاسوب فهي تعطيك المعلومات الأساسية التي يجب على أي مبرمج أن يكون على علم بها، فالبرمجة ليست مجرد كود فقط، و إنما طريقة تفكير، كما أنها تتعامل مع الحاسوب و لذلك في حال لم تكن على علم ببعض الأمور المهمة عن كيفية عمله ستجد نفسك أمام مشاكل لن تستطيع حلها. حاول أن تأخذ وقتك في هذا المجال و لا تستعجل الوصول إلى التطبيقات العملية قبل بناء الأساسيات اللازمة لذلك، فكلما كان الأساس العلمي قوي لديك كلما أصبحت أسرع في تعلم الأمور الأخرى و أفضل في تطبيقها من مبرمجين آخرين ليس لديهم علم بهذه الأمور.
  18. من غير الجيد وضع مدة زمنية محددة للقيام بذلك و أجبار نفسك على أنهاءها في هذه الفترة، لأنك ستجد نفسك تقوم بتخطي بعض الأمور فقط لإنهاء الدورة في الوقت المناسب. من الجيد أن تقوم بوضع فترة زمنية للالتزام، أي تخصيص ساعات أسبوعياً للدراسة و لكن قم بالدراسة بتأنٍ فالدراسة السريعة تنسيك سريعاً ما تعلمته. عليك دائماً دراسة الدرس، محاولة التفكير جيداً فيما قمت بتطبيقه و سبب كل شيء طبقته، أي لماذا قمنا بهذا و لماذا قمنا بذلك، و محاولة تنفيذ أمر مشابه أو تعديل تعديلات بسيطة على ما قام به المدرب (و ليس إعادته بشكل حرفي فقط) حتى تتأكد أنك فهمت فعلاً ما تقوم به. حاول جعل مقدار الفائدة العلمية هو هدفك و ليس إنهاء الدورة بسرعة.
  19. هذا يعتمد على التخصص الجامعي الذي تريد دراسته، و ذلك لأن متطلبات كل تخصص تختلف ففي حال كان قصدك بالتخصصات الصحية هو التخصصات الطبية فلن تحتاج الكثير من الرياضيات، فاستعمال الرياضيات في الطب بشكل عام يقتصر على أمور بسيطة في الإحصاء و سيتم إعطاءك ذلك في الجامعة. بالنسبة للتخصصات الهندسية فهناك نوعان أساسيان من الهندسات، الهندسات المتعلقة بالحاسوب مثل علوم الحاسب و تقانة المعلومات و الاتصالات و ما إلى هنالك، في هذه التخصصات بشكل عام تحتاج إلى معرفة الاحتمالات و الرياضيات المتقطعة بشكل أساسي، و في حال كان هناك طموح لدراسة الذكاء الصنعي فستحتاج أيضاً إلى التحليل الرياضي و الجبر الخطي. أما النوع الثاني فهو الهندسات غير المتعلقة بالحاسوب مثل الهندسة المدنية و المعمارية و ما إلى هنالك، بشكل أساسي تعتمد هذه الهندسات على دراسة الهندسة geometry في الرياضيات خاصة الفراغية منها، و لن تحتاج إلى الاحتمالات أو الجبر الخطي بشكل عام و لكن قد تحتاج إلى بعض التحليل الرياضي. بناء على ذلك في حال كان ما ذكرته مسبقاً موجود كمواد في جامعتك (و غالباً ستوجد هذه المواد في أي جامعة تدرس الهندسة) فلن تحتاج إلى كورسات من الصفر و إنما من الأفضل أنك عندما لا تفهم شيء ما تقوم بالبحث عنه. و لكن في حال أحببت أن تدرس من الصفر ف khan academy جيدة لهذا الأمر، و لكن هي تعطيك الأساسيات بشكل مبسط، في حال أردت التعمق أكثر و كانت لغتك الأجنبية جيدة (أو يمكنك استعمال الترجمة) فهناك قناة على اليوتيوب و هي 3blue1brown و هي تقدم شرح أكثر تعمقاً و أفضل بكثير من khan academy، بعد ذلك إذا أحببت أن تقوم بتعلم هذه الأمور بتعمق أكبر (هذا في حال أردت القيام بالبحث العلمي و ليس فقط التطبيقات العملية) فهناك كورسات مقدمة من جامعات عالمية مثل MIT, Stanford و غيرها في هذه المجالات.
  20. كلا، الذكاء الصنعي ليس مجرد كود، و لا يمكنك بأي شكل أن تبني نموذج جيد فقط بمعرفة الكود. قد يمكنك نسخ برنامج سبق و كتبه شخص آخر خبير و لكن أي مشكلة ستظهر معك لن تستطيع حلها و ذلك لأن حل مشاكل الذكاء الصنعي بشكل عام يتطلب معرفة جيدة بعدة فروع من الرياضيات و منها الاحتمالات و الإحصاء و الجبر الخطي و التحليل الرياضي. الكود هو أسهل الأمور في الذكاء الصنعي، يمكنك تعلم ذلك في شهر فقط في حال كنت جيداً في البرمجة، و لكن من المستحيل ان تصبح خبيراً بأقل من سنتين إلا في حال كنت على إطلاع على مجالات الرياضيات التي سبق و ذكرتها، عندها يمكنك تعلم الذكاء الصنعي بسرعة.
  21. يمكن استعمال الذكاء الصنعي في أي مجال يحوي على بيانات، أي طالما لديك بيانات بصيغة جيدة يمكنك بناء نموذج ذكاء صنعي لاكتشاف الأنماط فيها. من الجملة السابقة يمكننا استنتاج كيف من الممكن أن يطبق الذكاء الصنعي في مجال أمن المعلومات، مثلاً يقوم بمراقبة نشاطات الشبكة، و بما أنه مدرب على الأنماط الجيدة من النشاطات فبمجرد أن يحدث نشاط غير مألوف يمكنه اكتشافه و تحذير المسؤولين. كل الخبراء في المجالات كافة يجب أن يكونو على إطلاع على الذكاء الصنعي، على أقل تقدير أساسياته، و ذلك لأنه يطبق في كافة المجالات و حالياً نحن نشهد تطور كبير له و تطبيقات لم نكن نتخيلها حتى، و لذلك سيصبح من لا يعرف استعمال الذكاء الصنعي في المستقبل كمن لا يعرف استعمال الحاسوب الآن.
  22. إن اللغة المعتمدة حالياً في اغلب تطبيقات تحليل البيانات و حتى الذكاء الصنعي هي بايثون، و ذلك بسبب بساطتها و سهولة تعلمها، على عكس لغات أخرى مثل c++, java ، بالطبع قد تجد استعمالات كثيرة لل c++ أيضاً و لكنها استعمالات متقدمة و قد لا تحتاج لها أصلاً لذلك خيارك الأفضل هو بايثون. توفر بايثون كافة المكتبات اللازمة لتحليل البيانات و من هذه المكاتب: SciPy و هي مكتبة تستعمل في التطبيقات العلمية في مجالات التحسين optimization، الجبر الخطي linear algebra، التكاملات، معالحة الإشارات و الصور و غيرها الكثير. Pandas و تستعمل لتخزين و معالجة البيانات التي تكون على شكل جداول (مثلاً بيانات في جدول excel أو csv ) أو تسلسل زمني (مثلاً بيانات تمثل سعر سهم ما في البورصة عبر الزمن، أو تغير درجات الحرارة عبر الزمن). NumPy و تستعمل لتخزين المصفوفات و الأشعة و العمليات الرياضية عليها بشكل محسن و سريع. Matplotlib و تستعمل لإنشاء و عرض المخططات المختلفة. PyTorch و هو إطار عمل للذكاء الصنعي، و يعتبر من أفضل أطر العمل الحالية و تم نقله حديثاً إلى مؤسسة لينوكس و يشرف عليه فريق مكون من خبراء من أفضل الشركات العالمية في هذا المجال Microsoft, Meta, Google, Nvidia.
  23. واحدة من أفضل المكتبات لصفحة الإدارة هي laravel nova و هي تمكنك من القيام بذلك كما أنها مصممة خصيصاً للارافيل من قبل مصممي اللغة نفسهم، و بالتالي هذا يضمن لك توافقية عالية و تحديثات مستمرة و دعم جيد في حال حدوث أي مشكلة.
  24. إن الطريقة لمحاولة حل هذه المشكلة هي محاولة كتابة كود تريده أنت و ليس الكود نفسه الذي شرحه المدرب، و ذلك ﻷنك في حال حاولت كتابة الكود الذي شرحه المدرب غالباً ما ستحاول تذكر ما كتبه و ليس التفكير لوحدك. فكر في كود بسيط تريد كتابته و حاول البدء في ذلك، دائماً يمكنك البحث على الانترنيت في في حال كنت تريد تعليمة محددة، مثلاً كيف نقوم بتحويل int إلى string، و لكن لا تقوم بالبحث عن كامل الحل لوحدك. و في حال كان هناك شيء لم تفهمه في أحد الدروس دائماً يمكنك التعليق أسفل الدرس و سنجيبك مباشرة و نوضح لك كافة الأمور.
  25. القواميس هي عبارة عن هيكل بيانات يتميز بسرعة الإضافة و الحذف و البحث، و بالتالي في حال كنت تريد تخزين البيانات و تريد القيام بهذه العمليات فهو أفضل ما يمكن استعماله طالما أنه لديك مفتاح لتخزين البيانات ضمنه، أي في حال كان لديك مفتاح يمكنك من تمييز بيانات عن أخرى، مثلاً معرف فريد. مثلاً لنفترض أنك تريد بناء برنامج يقوم بالمرور على نص و استبدال الاختصارات بما تمثله، مثلاً استبدال OOP ب Object Oreinted Programming، عندها ستقوم بإنشاء قاموس المفتاح فيه هو الاختصار و القيمة هي ما يمثله الاختصار و تقوم بالمرور على النص كلمة كلمة، في حال كانت الكلمة موجودة في القاموس تقوم باستبدالها و إلا تتركها كما هي.
×
×
  • أضف...