Translate

الأربعاء، 31 مايو 2023

1.كيف تصبح مبرمجا محترفا؟ 2. مبادئ الشبكات الحاسوبية

 

كيف تصبح مبرمجا محترفا؟

المبرمج هو الشخص القائم على صنع تطبيقات وبرمجيات الكمبيوتر المختلفة وفقا لاستخدامه لغة برمجة معينة يخاطب بها الكمبيوتر لتحقيق أغراض المستخدمين, أي أنه حلقة الوصل بين الكمبيوتر والمستخدم, فكلاهما لا يعرف لغة الآخر ولكن المبرمج يعرف لغة الاثنين. وكما أن تطبيقات الكمبيوتر تتفاوت من حيث أنواعها كذلك تتفاوت لغات البرمجة من حيث نوعية التطبيقات التي تصنعها ومن حيث القوة والضعف فهناك مثلا لغات خاصة بصنع برامج الوسائط المتعددة Multimedia, وأخرى لصنع تطبيقات قواعد البيانات Database, وثالثة لصنع برامج تهدف إلى أغراض أخرى ... وهكذا.

وإذا تحدثنا عن فريق العمل اللازم لتصميم وإنشاء البرامج أو التطبيقات نجد أنه يندرج تحت التخصصات الآتية ليصبح صالح ا للاستخدام:

محللوا النظم System Analysts مصممو النظم System Designers

المطورون - المبرمجون Developers - Programmers

بماذا تبدأ؟ ...وكيف تبدأ؟

والآن وبعد هذه المقدمة أنت بحاجة لأن تعرف ماذا تحتاج لكي تبدأ؟ وإجابتنا تتلخص في أنه لكي تبدأ فأنت أولا تحتاج إلى حب الإبداع ومساعدة الآخرين, بالإضافة إلى اتقان هذا الإبداع بواسطة أدوات البرمجة والتطوير باستخدام الكمبيوتر.وبعد ذلك المقوم الأساسي الذي تقوم عليه رحلتك من الآن وحتي احتراف البرمجة. فمهنة البرمجة ليست من المهن التي يمكن أن تعتمد علي مجرد أداء للمهام فقط, وإنما تحتاج إلى فكر خصب وذهن حاضر إضافة إلى تعايش كامل للموضوع الذي تعمل به.

الأمر الثاني يجب أولا أن تكون مستخدما جيدا للكمبيوتر وتعاملت مرارا وتكرارا مع شتى أنواع البرمجيات, ولكن يجب أن تتعامل مع البرنامج بنظرة مختلفة عن المستخدم العادي, مما يعنى أنك تنظر إلي البرامج نظرة عميقة لمحاولة فهم كيف تم تصميمه وإنشاؤه, ومن بعدها يمكنك الدخول إلى عالم صناعة البرمجيات بمؤهلات مناسبة.

وفي هذه الحالة سيأتي دورنا لنقوم بإرشادك إلى كيفية السير في ذلك الطريق, وهنا يجب أن تعرف جيدا تصنيف لغات البرمجة باختلاف أنواعها, والتى تنقسم إلي قسمين:

الأول: وهو البرمجة التقليدية أو ما يطلق عليه Standard Programming وهي تلك اللغات التي يكون البرنامج فيها مكونا من سلسلة من الخطوات (من 1 إلي 100) مثلا تتسلسل تلقائيا في التنفيذ لتكوين البرنامج, وهي اللغات الخاصة بصنع التطبيقات التي تعتمد علي أنظمة التشغيل غير الرسومية مثل DOS Applications التي تعمل تحت بيئة DOS. ومن أمثلة هذه اللغات لغة الكوبول COBOL ولغة البيسيك Basic.

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

10 CLS الكود الخاص بمسح الشاشة

20 PRINT "Welcome" الكود الخاص بالكتابة على الشاشة.

30 END "كود انهاء البرنامج"

مع الوضع في الاعتبار أنه إذا كان الأمر مربكا بعض الشيء فلا تقلق فسوف نذكر ذلك بشيء من التفصيل لاحقا .

النوع الثاني: من لغات البرمجة هو اللغات التي تقوم بصنع البرامج التي تعمل تحت بيئة التشغيل الرسومية GUI وهي ما يطلق عليها OOP أو البرمجة الشيئية (البرمجة الموجهة بالعناصر أو الكائنات) Object Oriented Programming وفيها يتم إنشاء البرنامج عن طريق مجموعة من الكائنات المرتبطة ببعضها البعض والذي يؤثر كل منها في الآخر ويتأثر به. وخير مثال علي تطبيق مكتوب بأحد تلك اللغات التي تعتمد علي OOP هو برنامج الرسام مثلا. والموجود ضمن حزمة برامج نظام التشغيل Windows على اختلاف إصداراته. ومن أشهر لغات البرمجة التي تنتهج هذا النهج لغةVisual Basic- ولغة Delphi- والعديد من اللغات الأخرى.

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

مباديء البرمجة Programming Concepts تعتبر مباديء البرمجة ومفاهيمها الأساسية هي الخطوة الأولي والأساسية لتعلم أي لغة برمجة, ومباديء ومفاهيم البرمجيات لا تخص أي لغة برمجة بعينها ولكنها خطوات ومبادئ عامة مشتركة بين جميع اللغات. وفيما يلي شرحا تفصيليا لأهم المباديء والمفاهيم الأساسية التي تحتاج إليها في هذا الصدد:

حل المشكلات Solving Problems

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

خوارزميات Algorithmeth

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

خريطة التدفق Flow Chart

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

لغة البرمجة

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

 =💥💥💥💥💥=

كتاب 2.مبادئ الشبكات الحاسوبية

الشبكة الحاسوبية هي الوسيلة الأمثل للإستفادة من موارد أكثر من جهاز حاسوب عن طريق مشاركة هذه الموارد مثل مساحات التخزين و البيانات و أيضا مشاركة الأجهزة الأخرى مثل الطابعات و مشاركة الدخول إلى الإنترنت

و تتنوع الشبكات من حيث الحجم فمثلاً LAN:LOCAL AREA NETWORK هي شبكة محلية تقع في مساحة صغيرة (أو بالأحرى تحوي عدد صغير من الحواسيب والأجهزة) مثل تلك التي في المكتب أو المنزل

WAN:Wide Are Network هي شبكة تقع في مساحة كبيرة مثل شبكة تصل بين فروع بين مناطق أو دول من مختلف أنحاء العالم

و تتنوع بروتوكولات نقل البيانات عبر الشبكات ولكن أهمها و أكثرها إنتشاراً هو الإيثرنت Ethernet

أرجو أن تضيف بعضاً مما تعرف لكي تفيد وتستفيد "دقيقه من وقتك لن تخسر فيها شيئاً"

محتويات 1 مقدمة

2 نبذة تاريخية

3 الفصل الأول تعريف بمكونات الشبكة 3.1 أنواع الموصلات المستعملة في الشبكة الداخلية

3.2 أنواع الكابلات

4 تعريف بتصميم الشبكات Topology

5 تعريف بالبروتوكولات

6 نظرة تاريخية

مقدمة

تعتبر الشبكات هي الحل الأمثل لمشاكل نقل البيانات الموجودة في كل أماكن العمل التي تستخدم الحاسب الآلي إبتداءاً من الطباعة حتي نقل الملفات بشكل مبسط يمكن تقسيم الشبكات من حيث الحجم إلى ثلاثة أنواع يعتبر كل نوع منها مستقل بذاته من حيث استخدام البنية التحتية للشبكة (infrastucutre)

يمكن تقسيم معرفة الشبكات المحلية إلى عدة مستويات -المستوى الأول: هو المعرفة لمكونات الشبكة الفزيائية من كابلات و مقسمات إلى أخرى -المستوى الثاني معرفة البروتوكولات المستعملة لتشغيل الشبكة -المستوى الثالث معرفة الحلول لتصميم الشبكة و أمان البيانات

لماذا الشبكات؟

لكي يكون لديك شبكة داخلية فمن البديهي وجود أكثر من جهاز حاسب و طابعة في مكان واحد أو في أماكن متفرقة في مكان العمل الأمر الذي يؤدي إلى مشكلة في نقل البيانات بشكل أكثر بساطة، إذا كان مكان العمل يحتوي على 4 أجهزة حاسب و طابعة واحدة فإننا نواجه المشكلة الآتية:

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

نبذة تاريخية

بدأت الشبكات خلال الستينات من القرن العشرين كناتج طبيعي عن صناعة الحاسب الآلي في تلك الفترة كان الحاسب الآلي من الجيل الأول ذو حجم كبير يصل إلى حجم الغرفة، يحتوي على مولدات للطاقة و ووحدات تبريد إلى آخره، ببساطة كان أبعد ما يكون عما تراه عندما تنظر إلى جهاز الحاسب الشخصي . كانت وحدة التخزين في ذلك العهد تعمل بالأشرطة الممغنطة، ببساطة كان نقل البيانات من جهاز إلى آخر بمثابة مجهود جبار، هنا ظهرت فكرة الشبكات الأولية لكن على الرغم من وجود الفكرة و بداية التنفيذ، أفتقدت الشبكات في بداياتها وجود نظام محدد لنقل البيانات حيث كانت تكتب برامج النقل في وقتها، في تلك الفترة ظهرت فكرة أول "بروتوكول شبكة"[1] قامت به وزارة الدفاع الأمريكية تحت مسمى (Advanced Research Projects Agency Network)[2]

من تلك البروتوكلات التي صممت في أواخر الستينات أحد أعرق بروتوكلات الشبكات المساهمة حتى اليوم TCP/IP و يعتبر حتى اليوم هو (البروتوكول الأساسي) لجميع الشبكات العاملة اليوم في العالم إبتداءاً من الشبكات المحلية حتى الشبكة العنكبوتية الدولية "الإنترنت INTERNET[3]"

أستمر تطور الشبكات بإستمرار مع تطور الحوسبة عموماً حتى صارت الشبكات جزء لا يتجزأ من أي نظام تشغيل و مع زيادة التطور زادت مشاكل أمان الشبكة و زاد بنفس المعدل سهولة العمل عليها بل زادت سهولة تصمميمها و تركيبها بالنسبة للشبكات المحلية الصغيرة

ظهر أول حاسوب رئيسي للشبكات عام 1940م وكان يدعى "الحاسوب الكبير Mainframe"

الفصل الأول تعريف بمكونات الشبكة

يمكن تقسيم الشبكة كبداية نفس تقسيم أجهزة الحاسب من مكونات مادية H/W و مكونات معنوية S/W على الرغم من الخطأ الكبير في ذلك التقسيم لكنه أكثر تبسيطاً بالنسبة للمبتدئين في الشبكات فيما بعد سأشرح بتمعن في تقسيمات مستويات الشبكة لكن في مرحلة أكثر إحترافاً بالنسبة للمكونات المادية ببساطة يمكن تقسيمها كالتالي

وسيلة التوصيل الكابلات و المقسمات CABLING & HUBS , SWITCHES

كروت الشبكة NETWORKING ADAPTERS

الأجهزة المطلوب توصيلها

أنواع الموصلات المستعملة في الشبكة الداخلية

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

أنواع الكابلات

هنالك ثلاثة أنواع رئيسية من الكابلات 1- الكابلات الزوجية TWISTED PAIR CABLE وهي أحد كثر الأنواع إستخداماً على الإطلاق حيث تستخدم في أكثر الشبكات المحلية النوع الأكثر إستخداماً اليوم هو CAT 5 سنشرح فيما بعد بالتفصيل أساليب التوصيل و الإستخدامات لذلك الكابل بشكل خاص . من أهم مميزات تلك النوعية من الكابلات هو سهولة الإستعمال و المرونة في الإستعمال بمعني إمكانية استعمال نفس نوعية الكابلات لأكثر من غرض عموماً تلك الكابلات اليوم تدعم سرعات 10/100 10/1000 و تغطي حتي مساحة 100 متر عادة بدون الحاجة إلى مقويات

2- الكابلات المحورية: و هي أحد أنواع الموصلات النحساية المستعملة عادة في الشبكات كبيرة الحجم مميزاتها تنحصر في إمتداد التوصيل و قوة البيانات لمسافة أطول من الكابلات الزوجية

3- كابلات الألياف الضوئية: و هي أكثر الموصلات على الإطلاق حتى يومنا الحاضر من ناحية جودة التوصيل و طول مسافة التوصيل وسرعة نقل البيانات لكن يعيبها صعوبة تركيبها و غلو ثمنها مقارنة بالموصلات النحاسية

تعريف بتصميم الشبكات Topology

على الرغم من أن الغالبية العظمى من العاملين في مجال الشبكات لا يستعمل التصميمات الفعلية أو بمعنى أدق لا يستعمل تلك التصاميم بناءً على تخطيط مسبق في الشبكات الصغيرة الحجم إلا أن تلك التصاميم من الأهمية في الشبكات المتوسطة و الكبيرة التي تؤدي إلى أن أقل خطأ في إختيار التصميم المناسب يتسبب في إعادة بناء النظام بأكمله أو الكثير من الخسائر في الوقت و الجهد .

تقع التقيسمات الرئيسية للتصميم في عدة أنواع و هي: الدائري أو الحلقي Ring

يعتبر التصميم الدائري هو أحد أقدم التصاميم المستعملة في مجال الشبكات و يقوم على أساس الشحنة الحاملة Token ring ببساطة التصميم يعتمد على أساس وجود شحنة حاملة تدور خلال الحلقة التي تحمل البيانات من جهاز لآخر ففي حالة حمل الإشارة لبيان من أحد الأجهزة لجهاز آخر تتوقف كل البيانات المحملة حتى تلك اللحظة يمكن تمثيلها بسيارة تتحرك خلال مضمار و تلك السيارة فقط هي الوسيلة الوحيدة لحمل البيانات و يمكنها حمل بيانات محملة من محطة واحدة إلى محطة أخرى بالطبع في كل دورة تحمل بيانات موجهة من وجهة إلى أخرى، النجمي Start token وتعتمد هذه الطريقة في ربط الأجهزة الفرعية إلى الجهاز المركزي

المتتالي Bus token

Mesh Topology

mult Topology

تعريف بالبروتوكولات

البروتوكول هو الطريقة التي تتصل بها الأجهزة ببعضها يعتبر هو أحد أنواع التشفير التي تسمح للجهاز الهدف بترجمة محتويات الرسالة دون غيره و من أشهر البروتوكلات المنتشرة اليوم الـ TCP IP protocol وسنتعرف خلال ذلك الجزء تاريخ و تكوين ذلك البروتوكول الهام جداً في عالم الشبكات اليوم وترمز إختصارات TCP IP إلى (Transfer Control Protocol Internet Protocol)

نظرة تاريخية

تمتد جذور بروتوكلات اليوم إلى بروتوكلات الشبكة التي تم البداية في تصميمها في الستينات من القرن العشرين و تبدأ أولى البروتوكلات بشكل برامج كانت تكتب للترجمة من جهاز محدد إلى جهاز محدد في تلك الأيام الأولى من الحوسبة مما يعني كتابة برنامج جديد لدى كل محاولة إتصال مع أحد الأجهزة الموجودة الأمر الذي يحدد الكثر من إمكانيات الإتصال لكن في تلك الأيام كانت الأجهزة موجودة فقط لدى الجامعات الكبرى و المؤسسات العسكرية الخ. بدأ أول موديل عام كمشروع في منتصف الستينات و عرف فيما بعد بإسم DOD model إختصاراً لـ the Department of Defense Networking Model حيث تم تصميمه داخل مؤسسة الأبحاث التابعة لوزارة الدفاع الأمريكية و يعتبر ذلك التقسيم هو البداية للبروتوكلات المعروفة اليوم وقد قسم هذا المشروع الشبكة كالتالي 1 - واجهة الشبكة network interface 2- الشبكة internet 3- الناقل host to host 4- التطبيق application

قد قسم هذا المشروع الشبكة كالتالي 1 - واجهة الشبكة network interface 2- الشبكة internet 3- الناقل host to host 4- التطبيق application 

ليست هناك تعليقات:

إرسال تعليق

حديث عبد الله بن عمر

أنَّه طَلَّقَ امْرَأَتَهُ وهي حَائِضٌ، علَى عَهْدِ رَسولِ اللَّهِ صَلَّى اللهُ عليه وسلَّمَ، فَسَأَلَ عُمَرُ بنُ الخَطَّابِ رَسولَ اللَّ...