علوم الحاسب … نظم و تكنولوجيا المعلومات و أشياء أخرى (الجزء الأول)

معلومات عامة  -  بواسطة:   اخر تحديث:  2020/09/27
علوم الحاسب … نظم و تكنولوجيا المعلومات و أشياء أخرى (الجزء الأول)

إذا كنت ترغب بالعمل فقط و جني المال في مجال البرمجة كمطور او ما شابه، فربما لن تثر هذه المقالة اهتمامك.


هذا الحقل الواسع من العلوم الأساسية و المتقدمة تم تسطيحه بشدة في منطقتنا العربية لتقتصر المعرفة بها علي تعلم بضع تقنيات خاصة بالتصميم و البرمجة دون الاهتمام بدراسة العلوم و المبادئ الأساسية اللازمة.


بالطبع كل مجال علمي يعتبر قاعدة للانطلاق يتفرع منها المجال التطبيقي و المجال البحثي لكن تلاشي هذا الامر تماما في شرقنا الأوسط كما تلاشت العديد من الأشياء.


هذا الموضوع سيكون محور مقالين..،الأول سيتناول العلوم الأساسية التي ينبغي دراستها و فهمها جيدا و الثاني سيتناول العلوم و التطبيقات المتقدمة.


الجزء الأول : العلوم الأساسية التي ينبغي دراستها و فهمها جيدا


أولا: نظم التشغيل  Operating Systems – OS


علوم الحاسب … نظم و تكنولوجيا المعلومات و أشياء أخرى (الجزء الأول)


انت تضغط زر التشغيل فتضئ شاشة الكمبيوتر ثم فجأة يظهر سطح المكتب مُظهرا العديد و العديد من التطبيقات المختلفة التي يمكنك استخدامها في وقت واحد.


يمكنك الاتصال بالانترنت او اللعب بألعاب الفيديو او مشاهدة فيلم ما، حسنا .. انت لا تهتم بما يحدث في الخلفية و ما وراء الكواليس عندما تستخدم كل هذه التطبيقات، لا تهتم كيف يستطيع الكمبيوتر ان يخصص موارده بفعالية لتشغيل برامجه و لا تلقي بالا كيف يتعامل مع الانترنت ولا يخطر بذهنك كيف تنتقل البيانات بداخله، ربما عليك الانتباه الان.


تنقسم نظم التشغيل الموجودة في الوقت الحالي الي قسمين رئيسيين


نظم مفتوحة المصدر Open Source – OS


و هي نظم تشغيل أكوادها متاحة للجميع للتعديل و التطوير فيها، يفضل البعض تلك النظم فهي مجانية و اكثر امانا الي حد ما لأنها تخضع للتعديل و الفحص المستمر، عابها في الماضي انها ليست سهلة الاستخدام لغير المتخصصين و ان كان هذا الامر تم تداركه مؤخرا لتصبح واجهة الاستخدام “User interface” اكثر سهولة و مرونة.


يٌعتبر لينكسLinux- هو رائد تلك النظم وتوزيعاته العديدة و اشهرهم Ubuntu.


نظم التشغيل مغلقة المصدر  Closed Source – OS


و هي نظم تشغيل اكوادها ليست متاحة للعامة او للمستخدمين، هم فقط يتعاملون مع النظام و تطبيقاته و لا يستطيعون التعديل فيه.


من اشهر تلك النظم هو نظام Windows من صنع شركة ميكروسوفت و يأتي خلفها شركة آبل بنظام تشغيلها MAC OS


ثانيا: الخوارزميات  Algorithms


علوم الحاسب … نظم و تكنولوجيا المعلومات و أشياء أخرى (الجزء الأول)


عندما تريد ان تبحث عن شيء ما فأنت لا يمر بذهنك أفكار عديدة ؛ جوجل هو الحل الأمثل، انت تطبع الكلمة التي تريد البحث عنها ثم في اقل من الثانية تأتيك نتائج البحث و قد تكون الاف او ملايين النتائج.


كيف استطاع محرك البحث الشهير فعل ذلك في ذلك الزمن القصير للغاية ؟ هناك إجابة واحدة بالطبع..


لا يتطلب الامر خبيرا ان يكتب برنامجا ما، لكن بالطبع يتطلب الامر خبيرا ماهرا كي يكتب برنامج يأخذ وقتا أقل في تأدية مهمته خصوصا اذا ما كان هذا البرنامج مرتبط بتحليل كمية هائلة من البيانات، و ترتبط الخوارزميات ارتباطا وثيقا مع :


  1. الذاكرة الداخلية-Memory

  2. كمية نقل البيانات-Communication bandwidth

  3. الوقت المطلوب لكي يؤدي البرنامج مهمته-Computational time

اذا استطعت كتابة برنامج يراعي مثل تلك العناصر فأنت حينها تكون قد أنجزت مهمتك بنجاح.


ثالثا: البرمجة  Programming


علوم الحاسب … نظم و تكنولوجيا المعلومات و أشياء أخرى (الجزء الأول)


مجالات البرمجة عديدة..نذكر منها :


  • التطبيقات العلمية-Scientific apps : اسُتخدمت فيها لغات مثل Fortran-Haskell-lisp

  • برمجة النظم-Systems programming : اسُتخدمت فيها لغات مثل C

  • تطبيقات الانترنت-web apps : في مجال التصميم يوجد علي سبيل المثال  HTML, CSS و بالنسبة لمجال scripting يوجد علي سبيل المثال PHP.

  • تطبيقات الهاتف المحمول- Mobile apps : هواتف سامسونج و سوني و غيرها التي تعمل علي نظام Android يتم برمجة تطبيقاتها بلغة  Java  اما هاتف نوكيا الذي يعمل علي نظام Windows phone فيتم برمجته بلغة C# بينما هاتف آبل الشهير الذي يعمل علي نظام IOS يتم برمجته بأستخدام لغة Objective C .

و في النهاية ينبغي عليك كتابة برنامج آمن..،خال من الأخطاء و العيوب- Bugs ، سهل الاستخدام لمن سيبتاعه.


رابعا: قواعد البيانات Databases


علوم الحاسب … نظم و تكنولوجيا المعلومات و أشياء أخرى (الجزء الأول)


ينبغي أولا دراسة كيفية تصميم قاعدة بيانات صالحة لنوع و حجم العمل المطلوب، آمنه كي لا يتم اختراقها “بالطبع لا يوجد نظام آمن 100% لكن عليك تقليل نسبة إمكانية الاختراق بقدر المستطاع”،سريعة العمل كي لا ينصرف المستخدم مللاً.


هناك تطبيقات عديدة لقواعد البيانات، نذكر منها :


  • Traditional database apps : عندما تريد ابتياع رواية ما من احد المواقع فأنت تحصل علي اذن بالوصول الي قاعدة البيانات المخزنة علي الموقع و هذه المعلومات تكون في صورة احرف و ارقام فقط.

  • Multimedia database : و تتضمن قاعدة البيانات هذه تخزين صور،مقاطع صوتية و مقاطع فيديو جاهزة للعمل فور طلب المستخدم لها كاليوتيوب.

  • Geographic information systems : و تتضمن تخزين و تحليل الخرائط و صور الأقمار الصناعية ..مثل Google earth .

  • Data warehouses and online analytical processing systems تعمل علي استخلاص معلومات قليلة مفيدة من كم هائل من البيانات قد يتطلب اشهرا لتقييمه..سنوضح الامر اكثر في المقال القادم عندما نلقي الضوء علي علم Data mining .

خامسا: الشبكات  Networks


علوم الحاسب … نظم و تكنولوجيا المعلومات و أشياء أخرى (الجزء الأول)


الامر يزداد تعقيدا هنا..لدينا مئات الملايين يستخدمون الانترنت الان..في تلك اللحظة تحديدا..كيف اذا يتم التواصل بينهم؟كيف يتم تخصيص الموارد المختلفة لكل شخص من 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


علوم الحاسب … نظم و تكنولوجيا المعلومات و أشياء أخرى (الجزء الأول)


يشغل بال الكثيرين هذا المجال..الكل فجأة اراد ان يصبح هاكر متمرس يصحو من النوم فيفتح شاشه الحاسب واضعا قناع Vandetta كخلفية دلالة علي خبرته الواسعة في عالم الاختراق،


ثم يبتدئ صباحه راغبا بإختراق شبكة حكومية سرية او سرقة بضع ملايين من الدولارات من احد البنوك و يا حبذا لو اسقط احد المواقع المعارضة لفصيله السياسي ثم ينتهي به الامر في …Spam “اعرف شكلك بعد 20 سنة” مزعجا به أصدقائه الافتراضيين علي شبكات التواصل الاجتماعي.


الامن المعلوماتي جزء لا يتجزأ من سياسة أي شركة محترفة تدرك أن هناك اخطار حقيقية موجودة بالفعل خلف الستار و يحتل جزءاً لا يستهان به من ميزانيتها و تجند له عشرات الخبراء و المختصين لأبتكار طرق تشفير و حماية معقدة تصعب من مهمة أي مخترق.


دعونا نستعرض بعض تلك الاخطار:


  • Denial of service – DOS attack: و يقصد بهذا الهجوم تعطيل مقدم الخدمة “كشركة او مصلحة حكومية ما” عن أداء عملها.  تقوم فكرة الهجوم الأساسية علي غمر الشبكة المستهدفة ببيانات هائلة لا فائدة لها في وقت قصير مما يتسبب في عجز Server عن متابعة و تقييم هذا الكم و بالتالي تنهار لفترة قد تطول او تقصر.

  • SQL injection: و تقوم فكرته الأساسية علي تنفيذ بعض الأوامر البرمجية الغير مسموح بها داخل الكود المكتوب بالموقع مثل أوامر Select و غيرها.

يُتبع…