فجر النهار
07-27-2022, 10:05 AM
http://www.arageek.com/wp-content/uploads/computer_science_hd_wallpaper_24-810x466.jpg
العلوم الأساسية التي ينبغي دراستها و فهمها جيدا
أولا: نظم التشغيل Operating systems – OS
http://www.arageek.com/wp-content/uploads/win7_professional_3dl.jpg
انت تضغط زر التشغيل فتضئ شاشة الكمبيوتر ثم فجأة يظهر سطح المكتب مُظهرا العديد و العديد من التطبيقات المختلفة التي يمكنك استخدامها في وقت واحد.
يمكنك الاتصال بالانترنت او اللعب بألعاب الفيديو او مشاهدة فيلم ما، حسنا .. انت لا تهتم بما يحدث في الخلفية و ما وراء الكواليس عندما تستخدم كل هذه التطبيقات، لا تهتم كيف يستطيع الكمبيوتر ان يخصص موارده بفعالية لتشغيل برامجه و لا تلقي بالا كيف يتعامل مع الانترنت ولا يخطر بذهنك كيف تنتقل البيانات بداخله، ربما عليك الانتباه الان.
تنقسم نظم التشغيل الموجودة في الوقت الحالي الي قسمين رئيسيين
1- نظم مفتوحة المصدر open source – OS
و هي نظم تشغيل أكوادها متاحة للجميع للتعديل و التطوير فيها، يفضل البعض تلك النظم فهي مجانية و اكثر امانا الي حد ما لأنها تخضع للتعديل و الفحص المستمر، عابها في الماضي انها ليست سهلة الاستخدام لغير المتخصصين و ان كان هذا الامر تم تداركه مؤخرا لتصبح واجهة الاستخدام “User interface” اكثر سهولة و مرونة.
يٌعتبر لينكسLinux- هو رائد تلك النظم وتوزيعاته العديدة و اشهرهم Ubuntu.
2- نظم التشغيل مغلقة المصدر Closed source – OS
و هي نظم تشغيل اكوادها ليست متاحة للعامة او للمستخدمين، هم فقط يتعاملون مع النظام و تطبيقاته و لا يستطيعون التعديل فيه.
من اشهر تلك النظم هو نظام Windows من صنع شركة ميكروسوفت و يأتي خلفها شركة آبل بنظام تشغيلها MAC OS
ثانيا: الخوارزميات Algorithms
http://www.arageek.com/wp-content/uploads/analysis-and-design-of-algorithm.png
عندما تريد ان تبحث عن شيء ما فأنت لا يمر بذهنك أفكار عديدة ؛ جوجل هو الحل الأمثل، انت تطبع الكلمة التي تريد البحث عنها ثم في اقل من الثانية تأتيك نتائج البحث و قد تكون الاف او ملايين النتائج.
كيف استطاع محرك البحث الشهير فعل ذلك في ذلك الزمن القصير للغاية ؟
هناك إجابة واحدة بالطبع..
لا يتطلب الامر خبيرا ان يكتب برنامجا ما، لكن بالطبع يتطلب الامر خبيرا ماهرا كي يكتب برنامج يأخذ وقتا أقل في تأدية مهمته خصوصا اذا ما كان هذا البرنامج مرتبط بتحليل كمية هائلة من البيانات، و ترتبط الخوارزميات ارتباطا وثيقا مع :
1-الذاكرة الداخلية-Memory
2-كمية نقل البيانات-Communication bandwidth
3-الوقت المطلوب لكي يؤدي البرنامج مهمته-Computational time
اذا استطعت كتابة برنامج يراعي مثل تلك العناصر فأنت حينها تكون قد أنجزت مهمتك بنجاح.
ثالثا: البرمجة Programming
http://www.arageek.com/wp-content/uploads/prog.png
مجالات البرمجة عديدة..نذكر منها :
1-التطبيقات العلمية-Scientific apps :
اسُتخدمت فيها لغات مثل Fortran-Haskell-lisp
2-برمجة النظم-Systems programming :
اسُتخدمت فيها لغات مثل C
3-تطبيقات الانترنت-web apps :
في مجال التصميم يوجد علي سبيل المثال HTML, CSS و بالنسبة لمجال scripting يوجد علي سبيل المثال PHP.
4-تطبيقات الهاتف المحمول- Mobile apps :
هواتف سامسونج و سوني و غيرها التي تعمل علي نظام Android يتم برمجة تطبيقاتها بلغة Java اما هاتف نوكيا الذي يعمل علي نظام Windows phone فيتم برمجته بلغة C# بينما هاتف آبل الشهير الذي يعمل علي نظام IOS يتم برمجته بأستخدام لغة Objective C .و في النهاية ينبغي عليك كتابة برنامج آمن..،خال من الأخطاء و العيوب- Bugs ، سهل الاستخدام لمن سيبتاعه.
رابعا: قواعد البيانات Databases
http://www.arageek.com/wp-content/uploads/database-design-development.jpg
ينبغي أولا دراسة كيفية تصميم قاعدة بيانات صالحة لنوع و حجم العمل المطلوب، آمنه كي لا يتم اختراقها “بالطبع لا يوجد نظام آمن 100% لكن عليك تقليل نسبة إمكانية الاختراق بقدر المستطاع”،سريعة العمل كي لا ينصرف المستخدم مللاً.
هناك تطبيقات عديدة لقواعد البيانات..
نذكر منها :
1-Traditional database apps :
عندما تريد ابتياع رواية ما من احد المواقع فأنت تحصل علي اذن بالوصول الي قاعدة البيانات المخزنة علي الموقع و هذه المعلومات تكون في صورة احرف و ارقام فقط.
2-Multimedia database :
و تتضمن قاعدة البيانات هذه تخزين صور،مقاطع صوتية و مقاطع فيديو جاهزة للعمل فور طلب المستخدم لها كاليوتيوب.
3-Geographic information systems :
و تتضمن تخزين و تحليل الخرائط و صور الأقمار الصناعية ..مثل Google earth .
4-Data warehouses and online analytical processing systems
تعمل علي استخلاص معلومات قليلة مفيدة من كم هائل من البيانات قد يتطلب اشهرا لتقييمه..سنوضح الامر اكثر في المقال القادم عندما نلقي الضوء علي علم Data mining .
خامسا: الشبكات Networks
http://www.arageek.com/wp-content/uploads/comp-office-network.jpg
الامر يزداد تعقيدا هنا..لدينا مئات الملايين يستخدمون الانترنت الان..في تلك اللحظة تحديدا..كيف اذا يتم التواصل بينهم؟كيف يتم تخصيص الموارد المختلفة لكل شخص من bandwidth و غيره؟
كيف يتم ارسال البيانات؟
..،و هل هي آمنة من الاختراق؟كيف نستطيع ان نتأكد ان البيانات وصلت بسلام؟
حسنا و عن تجربة شخصية، أضحت تلك المادة ذكري مزعجة لي في العام الماضي لثقلها الدراسي الشديد،
لكن..
دعونا نستعرض بعض المبادئ البسيطة:
| تتكون الشبكة من7 طبقات”Physical-data link-network-transport-session-presentation-application” مهمتهم الرئيسية نقل البيانات بأمان و ضمان وصولها بسلام الي المتلقي..،”ربما تود البحث عن وظيفة كل طبقة تحديدا”.
| لكل مستخدم علي الانترنت رقم تعريفي خاص به يميزه عن باقي المستخدمين..و يقوم بتلك الوظيفة نظام IPV4 و يحتوي علي ما يزيد عن 4 مليارات عنوان و حاليا يتم تطوير نظام جديد-IPV6 يحتوي علي عدد اكبر من العناوين.
| يتم عزل الشبكات عن بعضها و وضعها في مجموعات-subnets و ذلك لأغراض امنية و لتقليل نسبة الازدحام في نقل البيانات-improve traffic .
| يتم تحديد وقت معين كي تصل فيه الرسالة الي المتلقي-time to live كي لا تمرح الرسالة في دائرة لا نهائية من الشبكات..فإذا لم نحصل علي تأكيد- Acknowledge بأنها وصلت بسلام يتم انهاء العملية و ارسالها مجددا.
| هناك العديد من المواثيق-protocols التي تستخدم عبر الانترنت مثل FTP و يستخدم في تحميل الملفات عبر الانترنت او ICMP الذي يعمل علي ابلاغ مصدر الرسالة بان هناك خطئا ما قد وقع و غيرهم الكثير.
سادسا: الامن المعلوماتي Information security
<b>http://www.arageek.com/wp-content/uploads/information-security.jpg
يشغل بال الكثيرين هذا المجال..الكل فجأة اراد ان يصبح هاكر متمرس يصحو من النوم فيفتح شاشه الحاسب واضعا قناع Vandetta كخلفية دلالة علي خبرته الواسعة في عالم الاختراق،
</b>
ثم يبتدئ صباحه راغبا بإختراق شبكة حكومية سرية او سرقة بضع ملايين من الدولارات من احد البنوك و يا حبذا لو اسقط احد المواقع المعارضة لفصيله السياسي ثم ينتهي به الامر في …Spam “اعرف شكلك بعد 20 سنة” مزعجا به أصدقائه الافتراضيين علي شبكات التواصل الاجتماعي.
الامن المعلوماتي جزء لا يتجزأ من سياسة أي شركة محترفة تدرك أن هناك اخطار حقيقية موجودة بالفعل خلف الستار و يحتل جزءاً لا يستهان به من ميزانيتها و تجند له عشرات الخبراء و المختصين لأبتكار طرق تشفير و حماية معقدة تصعب من مهمة أي مخترق.
دعونا نستعرض بعض تلك الاخطار:
1-Denial of service – DOS attack
و يقصد بهذا الهجوم تعطيل مقدم الخدمة “كشركة او مصلحة حكومية ما” عن أداء عملها.
و تقوم فكرة الهجوم الأساسية علي غمر الشبكة المستهدفة ببيانات هائلة لا فائدة لها في وقت قصير مما يتسبب في عجز Server عن متابعة و تقييم هذا الكم و بالتالي تنهار لفترة قد تطول او تقصر.
2-SQL injection
و تقوم فكرته الأساسية علي تنفيذ بعض الأوامر البرمجية الغير مسموح بها داخل الكود المكتوب بالموقع مثل أوامر Select و غيرها.
العلوم الأساسية التي ينبغي دراستها و فهمها جيدا
أولا: نظم التشغيل Operating systems – OS
http://www.arageek.com/wp-content/uploads/win7_professional_3dl.jpg
انت تضغط زر التشغيل فتضئ شاشة الكمبيوتر ثم فجأة يظهر سطح المكتب مُظهرا العديد و العديد من التطبيقات المختلفة التي يمكنك استخدامها في وقت واحد.
يمكنك الاتصال بالانترنت او اللعب بألعاب الفيديو او مشاهدة فيلم ما، حسنا .. انت لا تهتم بما يحدث في الخلفية و ما وراء الكواليس عندما تستخدم كل هذه التطبيقات، لا تهتم كيف يستطيع الكمبيوتر ان يخصص موارده بفعالية لتشغيل برامجه و لا تلقي بالا كيف يتعامل مع الانترنت ولا يخطر بذهنك كيف تنتقل البيانات بداخله، ربما عليك الانتباه الان.
تنقسم نظم التشغيل الموجودة في الوقت الحالي الي قسمين رئيسيين
1- نظم مفتوحة المصدر open source – OS
و هي نظم تشغيل أكوادها متاحة للجميع للتعديل و التطوير فيها، يفضل البعض تلك النظم فهي مجانية و اكثر امانا الي حد ما لأنها تخضع للتعديل و الفحص المستمر، عابها في الماضي انها ليست سهلة الاستخدام لغير المتخصصين و ان كان هذا الامر تم تداركه مؤخرا لتصبح واجهة الاستخدام “User interface” اكثر سهولة و مرونة.
يٌعتبر لينكسLinux- هو رائد تلك النظم وتوزيعاته العديدة و اشهرهم Ubuntu.
2- نظم التشغيل مغلقة المصدر Closed source – OS
و هي نظم تشغيل اكوادها ليست متاحة للعامة او للمستخدمين، هم فقط يتعاملون مع النظام و تطبيقاته و لا يستطيعون التعديل فيه.
من اشهر تلك النظم هو نظام Windows من صنع شركة ميكروسوفت و يأتي خلفها شركة آبل بنظام تشغيلها MAC OS
ثانيا: الخوارزميات Algorithms
http://www.arageek.com/wp-content/uploads/analysis-and-design-of-algorithm.png
عندما تريد ان تبحث عن شيء ما فأنت لا يمر بذهنك أفكار عديدة ؛ جوجل هو الحل الأمثل، انت تطبع الكلمة التي تريد البحث عنها ثم في اقل من الثانية تأتيك نتائج البحث و قد تكون الاف او ملايين النتائج.
كيف استطاع محرك البحث الشهير فعل ذلك في ذلك الزمن القصير للغاية ؟
هناك إجابة واحدة بالطبع..
لا يتطلب الامر خبيرا ان يكتب برنامجا ما، لكن بالطبع يتطلب الامر خبيرا ماهرا كي يكتب برنامج يأخذ وقتا أقل في تأدية مهمته خصوصا اذا ما كان هذا البرنامج مرتبط بتحليل كمية هائلة من البيانات، و ترتبط الخوارزميات ارتباطا وثيقا مع :
1-الذاكرة الداخلية-Memory
2-كمية نقل البيانات-Communication bandwidth
3-الوقت المطلوب لكي يؤدي البرنامج مهمته-Computational time
اذا استطعت كتابة برنامج يراعي مثل تلك العناصر فأنت حينها تكون قد أنجزت مهمتك بنجاح.
ثالثا: البرمجة Programming
http://www.arageek.com/wp-content/uploads/prog.png
مجالات البرمجة عديدة..نذكر منها :
1-التطبيقات العلمية-Scientific apps :
اسُتخدمت فيها لغات مثل Fortran-Haskell-lisp
2-برمجة النظم-Systems programming :
اسُتخدمت فيها لغات مثل C
3-تطبيقات الانترنت-web apps :
في مجال التصميم يوجد علي سبيل المثال HTML, CSS و بالنسبة لمجال scripting يوجد علي سبيل المثال PHP.
4-تطبيقات الهاتف المحمول- Mobile apps :
هواتف سامسونج و سوني و غيرها التي تعمل علي نظام Android يتم برمجة تطبيقاتها بلغة Java اما هاتف نوكيا الذي يعمل علي نظام Windows phone فيتم برمجته بلغة C# بينما هاتف آبل الشهير الذي يعمل علي نظام IOS يتم برمجته بأستخدام لغة Objective C .و في النهاية ينبغي عليك كتابة برنامج آمن..،خال من الأخطاء و العيوب- Bugs ، سهل الاستخدام لمن سيبتاعه.
رابعا: قواعد البيانات Databases
http://www.arageek.com/wp-content/uploads/database-design-development.jpg
ينبغي أولا دراسة كيفية تصميم قاعدة بيانات صالحة لنوع و حجم العمل المطلوب، آمنه كي لا يتم اختراقها “بالطبع لا يوجد نظام آمن 100% لكن عليك تقليل نسبة إمكانية الاختراق بقدر المستطاع”،سريعة العمل كي لا ينصرف المستخدم مللاً.
هناك تطبيقات عديدة لقواعد البيانات..
نذكر منها :
1-Traditional database apps :
عندما تريد ابتياع رواية ما من احد المواقع فأنت تحصل علي اذن بالوصول الي قاعدة البيانات المخزنة علي الموقع و هذه المعلومات تكون في صورة احرف و ارقام فقط.
2-Multimedia database :
و تتضمن قاعدة البيانات هذه تخزين صور،مقاطع صوتية و مقاطع فيديو جاهزة للعمل فور طلب المستخدم لها كاليوتيوب.
3-Geographic information systems :
و تتضمن تخزين و تحليل الخرائط و صور الأقمار الصناعية ..مثل Google earth .
4-Data warehouses and online analytical processing systems
تعمل علي استخلاص معلومات قليلة مفيدة من كم هائل من البيانات قد يتطلب اشهرا لتقييمه..سنوضح الامر اكثر في المقال القادم عندما نلقي الضوء علي علم Data mining .
خامسا: الشبكات Networks
http://www.arageek.com/wp-content/uploads/comp-office-network.jpg
الامر يزداد تعقيدا هنا..لدينا مئات الملايين يستخدمون الانترنت الان..في تلك اللحظة تحديدا..كيف اذا يتم التواصل بينهم؟كيف يتم تخصيص الموارد المختلفة لكل شخص من bandwidth و غيره؟
كيف يتم ارسال البيانات؟
..،و هل هي آمنة من الاختراق؟كيف نستطيع ان نتأكد ان البيانات وصلت بسلام؟
حسنا و عن تجربة شخصية، أضحت تلك المادة ذكري مزعجة لي في العام الماضي لثقلها الدراسي الشديد،
لكن..
دعونا نستعرض بعض المبادئ البسيطة:
| تتكون الشبكة من7 طبقات”Physical-data link-network-transport-session-presentation-application” مهمتهم الرئيسية نقل البيانات بأمان و ضمان وصولها بسلام الي المتلقي..،”ربما تود البحث عن وظيفة كل طبقة تحديدا”.
| لكل مستخدم علي الانترنت رقم تعريفي خاص به يميزه عن باقي المستخدمين..و يقوم بتلك الوظيفة نظام IPV4 و يحتوي علي ما يزيد عن 4 مليارات عنوان و حاليا يتم تطوير نظام جديد-IPV6 يحتوي علي عدد اكبر من العناوين.
| يتم عزل الشبكات عن بعضها و وضعها في مجموعات-subnets و ذلك لأغراض امنية و لتقليل نسبة الازدحام في نقل البيانات-improve traffic .
| يتم تحديد وقت معين كي تصل فيه الرسالة الي المتلقي-time to live كي لا تمرح الرسالة في دائرة لا نهائية من الشبكات..فإذا لم نحصل علي تأكيد- Acknowledge بأنها وصلت بسلام يتم انهاء العملية و ارسالها مجددا.
| هناك العديد من المواثيق-protocols التي تستخدم عبر الانترنت مثل FTP و يستخدم في تحميل الملفات عبر الانترنت او ICMP الذي يعمل علي ابلاغ مصدر الرسالة بان هناك خطئا ما قد وقع و غيرهم الكثير.
سادسا: الامن المعلوماتي Information security
<b>http://www.arageek.com/wp-content/uploads/information-security.jpg
يشغل بال الكثيرين هذا المجال..الكل فجأة اراد ان يصبح هاكر متمرس يصحو من النوم فيفتح شاشه الحاسب واضعا قناع Vandetta كخلفية دلالة علي خبرته الواسعة في عالم الاختراق،
</b>
ثم يبتدئ صباحه راغبا بإختراق شبكة حكومية سرية او سرقة بضع ملايين من الدولارات من احد البنوك و يا حبذا لو اسقط احد المواقع المعارضة لفصيله السياسي ثم ينتهي به الامر في …Spam “اعرف شكلك بعد 20 سنة” مزعجا به أصدقائه الافتراضيين علي شبكات التواصل الاجتماعي.
الامن المعلوماتي جزء لا يتجزأ من سياسة أي شركة محترفة تدرك أن هناك اخطار حقيقية موجودة بالفعل خلف الستار و يحتل جزءاً لا يستهان به من ميزانيتها و تجند له عشرات الخبراء و المختصين لأبتكار طرق تشفير و حماية معقدة تصعب من مهمة أي مخترق.
دعونا نستعرض بعض تلك الاخطار:
1-Denial of service – DOS attack
و يقصد بهذا الهجوم تعطيل مقدم الخدمة “كشركة او مصلحة حكومية ما” عن أداء عملها.
و تقوم فكرة الهجوم الأساسية علي غمر الشبكة المستهدفة ببيانات هائلة لا فائدة لها في وقت قصير مما يتسبب في عجز Server عن متابعة و تقييم هذا الكم و بالتالي تنهار لفترة قد تطول او تقصر.
2-SQL injection
و تقوم فكرته الأساسية علي تنفيذ بعض الأوامر البرمجية الغير مسموح بها داخل الكود المكتوب بالموقع مثل أوامر Select و غيرها.