alhalema



انضم إلى المنتدى ، فالأمر سريع وسهل

alhalema

alhalema

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

أهلا وسهلا بكم فى منتديات الحالمة اتمنى ان تقضو برفقتنا افضل الاوقات مع تحيات موده دوم

عما قريب سيتم انطلاقة منتيدات سمر > أهلا وسهلا بك زائرنا الكريم < قريبا انطلاقة منتيدات سمر > مع خالص التحيات والتقدير .
نتمنى لكم قضاء اسعد الاوقات برفقتنا >كما نتمنى للجميع الاستفادة >معا وسويا نرتقى بمنتدانا ليصبح فى مقدمة المنتديات >منتديات سمر من اجل كل ما هو جديد وممتع

    برمجة الكمبيوتر .. دراسة شاملة

    شاعر الكلمة
    شاعر الكلمة
    عضو مميز
    عضو مميز


    عدد المساهمات : 126
    نقاط : 51764
    تاريخ التسجيل : 07/03/2010

    برمجة الكمبيوتر .. دراسة شاملة Empty برمجة الكمبيوتر .. دراسة شاملة

    مُساهمة من طرف شاعر الكلمة الجمعة مارس 19, 2010 10:46 am

    مقدمة

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

    برنامج الكمبيوتر : عبارة عن سلسة من الأوامر المخزنة في ملف أو أكثر ليتم تنفيذها عند الحاجة، وأغلب البرامج تأخذ ما يسمى بالدخل أو المدخلات Input وتقوم بإعطاء الخرج أو المخرجات Output.

    البرمجة : هي عملية كتابة وتأليف البرامج.

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

    الكمبيوتر القابل للبرمجة
    في البداية كانت البرامج تكتب من قبل الخبراء والمبرمجين المتطورين، ولم يكن هنالك بالأصل مبرمجين غير متطورين، فكانت البرامج تكتب في صورة سلاسل من الأصفار والآحاد ( 10010101 ) أي بنظام العد الثنائي، فكانت كل ثمانية خانات من الأصفار والآحاد تكون رقما، وكان كل حرف يشار إليه برقم، المهم .. كانت العملية صعبة جدا فإذا أردت أن تكتب أبسط عبارات البرمجة عبارة ( if ) يجب أن تكتب 16 خانة من الأصفار والآحاد حتى تحقق ذلك، وتبين بعد فترة عدم جدوى هذه الطريقة وبعد التفكير توصل العلماء إلى فكرة أخرى هي العبارات البرمجية وبدأت هنا لغات البرمجة بالظهور، كان البرنامج يكتب في صورة عبارات بسيطة متتالية مثل ADD و MOD وهكذا وبعد ذلك تحول إلى الصورة البتية أي ملفات الأصفار والآحاد، وكانت عملية التحويل هذه تتم ببرامج أخرى مختلفة، تطورت بعد ذلك لغات البرمجة وظهرت الكثير من اللغات الجديدة ولكل منها طريقته الخاصة في تحويل ملفات المبرمج إلى أوامر لجهاز الكمبيوتر.

    التصنيف والترجمة

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

    اللغات البرمجية المصنفة Compiled Programming Languages
    وتكتب هذه اللغات في صورة ملفات نصية بسيطة Plain Text ثم تخضع لعملية تسمى عملية الربط والتصنيف فتحول إلى ملف قابل للتنفيذ Executable File وذلك باستخدام برنامج يدعى المصنف Compiler ويكون الملف التنفيذي عبارة عن ملف مكن من شفرة ثنائية Binary Code غير مفهومة بواسطة البشر ( الأصفار والآحاد )، وعند تنفيذ البرنامج فإن الأوامر المخزنة في الملف تنفذ مباشرة حيث أنها ترسل مباشرة إلى نظام التشغيل Operating System الذي يرسلها بدوره إلى المعالج Proccessor الذي يقوم بعملية التنفيذ، أي أنك بمجرد تصنيف البرنامج وربطه ستحصل على برنامج مستقل ولن تحتاج إلى البرنامج المصنف أو الشفرة المصدرية بعد الآن، وتتميز هذه البرامج بكونها سريعة وصغيرة الحجم إلا أنها أصعب استخداما وتعلما، ومن أشهر هذه اللغات البرمجية Assembly و C و C++ و Delphi.

    اللغات البرمجية المترجمة Interpreted Programming Languages
    تكتب شفرات هذه البرامج أيضا في صورة ملفات نصية بسيطة Plain Text، إلى أنها لا تخضع لعملية الربط والتصنيف بل تخضع لعملية أخرى تسمى الترجمة Interpreting باستخدام برنامج يدعى المترجم Interpreter يقوم المترجم بقراءة الشفرة وتنفيذها مباشرة سطرا بسطر أي أن النص البرمجي غالبا يظل كما هو دون تحويل وعند الإنتهاء من كتابة البرامج فإن المترجم يترجمه إلى أوامر لذلك فإن البرنامج لن يعمل دون وجود المترجم، وفي بعض الأحيان ينتج ملف تنفيذي مثل الملفات التنفيذية فيكون في صيغة وسطية بين الشفرات والبرامج الكاملة فيحتاج إلى جزء من المترجم فقط، ولأن الأوامر هنا لا توجه مباشرة إلى نظام التشغيل فإن هذه البرامج تكون بطيئة نسبيا وأكبر في الحجم ( تحتاج إلى حجم إضافي للمترجم ) وأشهر اللغات البرمجية المترجمة Visual Basic و Java و Perl و PHP .

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

    تقنيات البرمجة

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

    البرمجة الإجرائية Procedural Programming
    البرنامج الإجرائي ما هو إلا لائحة من الأوامر فقط خطوة خطوة، وهي الطريقة التي يعمل بها المعالج والكمبيوتر بشكل عام لأن الكمبيوتر ينفذ ولا يفكر، يستخدم هذا الأسلوب لكتابة البرامج الصغيرة والمهمة جدا والتي تحتاج إلى ميزات عالية ووصول إلى أجزاء حساسة من الحاسوب مثل إدارة الإقلاع Booting ومن هذه اللغات البرمجية لغة Assembly.

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

    فتح قاعدة البيانات
    معرفة عدد السجلات
    إغلاق قاعدة البيانات
    عرض النتيجة
    إغلاق البرنامج
    إضافة إلى ذلك فإن هذا البرنامج بأكمله يمكن أن يكون مجرد وظيفة في برنامج آخر أكبر، وهكذا، توجد في هذه التقنية عدة دوال أو وظائف Functions كل وظيفة لها دخل خاص بها، وتعطي خرجا خاصا بها، ويتم تبادل هذه البيانات ( الدخل والخرج ) بين الدوال المختلفة فتستدعي كل دالة الأخرى وهكذا، وهذا يسهل العمل على المبرمج ويجعل الأمور تبدو واضحة أمامه، وإذا أراد تحسين البرنامج فهذا أمر سهل، فمثلا إذا أراد أن يغير أسلوب عرض النتيجة لن يضطر إلى البحث في سطور البرنامج عن الأماكن التي حدث فيها عرض النتيجة على الشاشة بل سيضطر فقط إلى تغيير الدالة التي تقوم بعرض النتيجة، ولن يضطر للمساس بباقي دوال البرنامج وسوف يظهر أثر التغيير الذي قام به في جميع الأماكن التي تستدعي الدالة التي غيرها، وفي هذا الأسلوب من البرمجة يتم تخزين البيانات في متغيرات، وهذه المتغيرات تكون إما عامة Public أو خاصة Private، المتغيرة العامة هي المشتركة بين جميع دوال البرنامج، والخاصة تظهر فقط في دالة محددة، لذلك لتبادل البيانات بين الدوال نستخدم متغيرات عامة، يمكن تشبيه الموقف بشركة كبيرة بها عدد من الأقسام ( الدوال ) كل قسم له وظيفته، البيانات الموجودة داخل القسم لا يستطيع أن يصل إليها إلا من في القسم، وإذا أردت أن تضع معلومات يستطيع الجميع الوصول إليها لا بد من وضعها في الأرشيف العام للشركة الذي يستطيع الوصول إليه والقراءة منه والكتابة إليه، ومن أشهر اللغات التي تستخدم هذا الأسلوب لغة C.

    الدوال : برامج فرعية تنفذ داخل البرامج الرئيسية.

    المتغيرات : أماكن لتخزين البيانات

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

    نعود بالحديث الآن إلى الكائنات، يتكون الكائن كما قلنا من جزأين أساسيين، الدوال والمتغيرات، وعملية إنشاء الكائن تتلخص في خطوتين، الخطوة الأولى هي تعريف البرنامج بشكل الكائن، والخطوة الثانية هي إنشاء الكائن حسب الشكل الذي حددته في الخطوة الأولى، ففي الخطوة الأولى ترسم الإطارات الخارجية وتكتب الدوال للكائن وتحدد متغيرات الكائن وتبين فيها العام والخاص ويسمى هذا بالصنف Class أي أنك تنشأ صنفا جديدا مثلا صنف السيارات، تحدد في وظائف السيارات ومتغيراتها، وفي الخطوة الثانية تقول للكمبيوتر أريد منك أن تنشأ لي سيارة إسمها LeGrouze مثلا، فسيعرف الكمبيوتر كيف سيكون شكل هذه السيارة لأنك عرفته من قبل كيف تكون السيارة، وتسمى السيارة الجديدة التي أنشأتها بالنسخة Instance لأنها عبارة عن نسخة عاملة من مخطط السيارات.

    وقد رافقت فكرة البرمجة الكائنية ثورة عارمة وظهور لتقنيات وأفكار جديدة أهمها :

    اشتقاق الكائنات Subclassing
    يمكنك بهذه الطريقة عمل كائنات جديدة معتمدا على كائنات موجودة مسبقا، مع إضافة بعض الأجزاء إليها، إذا أردت أن تقوم بعمل صنف جديد لسيارات الجيب، فإنك تذهب إلى صنف السيارات الذي أنشأته سابقا وتضيف إليه ميزة الدفع الرباعي والناقل اليدوي والحجم الكبير وشكل الجيب المميز فيصبح عندك صنف جديد هو سيارات الجيب، ويقال هنا أن صنف سيارات الجيب صنف مشتق من السيارات Subclass وتسمى عملية الإشتقاق هذه بالـ Subclassing، ويقال هنا أن الجيب ترث صفات السيارة وهذه هي ميزة الوراثة Inheritance في البرمجة كائنية المنحى.

    تعدد الأوجه Polymorphism
    Poly يعني عديد و morphism يعنى الوجه أو الهيئة، تمكنك هذه الميزة من عمل أكثر من دالة لها نفس الاسم ولكنها تختلف في قائمة الوسيطات ( المدخلات ) فإذا كتبت اسم وظيفة فإن البرنامج سيرى ما هي المدخلات التي تريد أن تدخلها في هذه الوظيفة ويرى بعد ذلك ما هي الوظيفة التي تأخذ هذه المدخلات فيجعلها تعمل دون غيرها، ويمكن الإستفادة من ذلك في عدة أمور مثلا عملية الجمع بالنسبة للنصوص تختلف عنها بالنسبة للأرقام وتختلف عنها بالنسبة للكسور الإعتيادية، فهنا يمكنك عمل عدة وظائف بنفس الإسم، وإذا كتب هذا الإسم ووضعت فيه نصوصا كمدخلات فإن الوظيفة الخاصة بالنصوص هي التي ستنفذ وليست الوظيفة الأخرى الخاصة بالأرقام ولا الخاصة بالكسور، وهكذا.

    ومن أشهر البرامح التي تعمل بأسلوب البرمجة الكانية المنحى C++ و Java و Visual Basic و Delphi وجميع لغات البرمجة الحديثة، وحتى لغات البرمجة القديمة تم تطويرها تعمل وفق نظام البرمجة الكائنية المنحى.

    البرمجة المرئية Visual Programming
    البرمجة المرئي هي عبارة عن أسلوب جديد للبرمجة، تستخدم فيه برامج مساعدة لتصميم واجهة الإستخدام ( الأزار والنصوص .. ) وربطها بالشفرة البرمجية، وتسمى هذه البرامج المساعدة ببيئة التطوير المدمجة Integrated Development Environment IDE.

    في السابق كانت البرامج تستخدم ما يسمى بسطر الأوامر Command Line أو المحث، فكان يظهر البرنامج في صورة عدة أسطر ثم يتوقف ليقول لك .. ( أدخل اسمك ثم اضغط مفتاح Enter ) ولم يكن له وظيفة إلا انتظارك لتدخل إسمك ثم يكمل عمله طبيعيا، أما الآن ومع الواجهات الرسومية، تظهر أمام المستخدم عشرات الأزرار والخيارات والقوائم وغيرها، ولا يمكن للبرنامج أن يتوقع ما الذي سيحدث في الخطوة التالية، لذا فإن البرنامج يقسم إلى عدة وظائف ينفذ كل منها عندما يحدث ما يسمى بالحدث، نقرة الزر مثلا تعتبر حدثا، ضغط أحد المفاتيح يعتبر حدثا، الإتصال بالإنترنت يعتبر حدثا، كل هذه تعتبر أحداث، وتسمى الدالة التي تعمل عند حدوث الحدث بالدالة الحدثية أو الدالة المرتبطة بالحدث.

    ومن أشهر بيئات التطوير الرسومية Visual C++ و Visual Basic و Visual J++ و Delphi و Borland C++ و Borland C++ Builder و Java Builder وغيرها الكثير، وتستخدم هذه البرامج نسخ محسنة من لغات البرمجة العادية والقديمة وتدمجها في بيئة التطوير الخاصة بها، لذلك فإن Delphi مثلا ليست لغة برمجة بمعنى الكلمة، وإنما هي بيئة تطوير تستخدم لغة محسنة من Pascal تتميز بميزات الكائنات وميزات أخرى فيطلق عليها مجازا لغة Delphi.
    شاعر الكلمة
    شاعر الكلمة
    عضو مميز
    عضو مميز


    عدد المساهمات : 126
    نقاط : 51764
    تاريخ التسجيل : 07/03/2010

    برمجة الكمبيوتر .. دراسة شاملة Empty رد: برمجة الكمبيوتر .. دراسة شاملة

    مُساهمة من طرف شاعر الكلمة الجمعة مارس 19, 2010 10:47 am

    نظام العد الثنائي

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

    نظام العد الذي نستخدمه في حياتنا اليومية يسمى نظام العد العشري، نقوم فيه بترتيب الأرقام بجانب بعضها البعض وتكون الأرقام عبارة عن 0 و 1 و .. و 9، والرقم الأول يحدد قيمة الآحاد والثاني يحدد قيمة العشرات فالمئات، في كل مربع نقوم بوضع قيمة ما نضربها في قيمة الخانة ونجمع الناتج لنحصل على الرقم النهائي فمثلا 365 يتم حسابه كالآتي :

    العدد = 1 × 5 + 10 × 6 + 100 × 5

    الأمر لا يختلف كثيرا في نظام العد الثنائي، إلا أنك لا تستخدم إلا الرقمان 0 و 1 لتحديد قيمة كل خانة، وقيمة كل خانة تختلف في تسلسلها عن قيم الخانات في نظام العد الستعشري، فهي تكون عبارة عن 1 ثم 2 ثم 4 ثم 8 وهكذا في كل مرة تضرب الرقم 2 في العدد الأخير لتحصل على العدد التالي، في المثال السابق كان العدد الذي أخذناه هو 365 أما نظيره في نظام العد الثنائي فهو 101101101 دعنا نتحقق من ذلك :

    العدد = 1 × 1 + 2 × 0 + 4 × 1 + 8 × 1 + 16 × 0 + 32 × 1 + 64 × 1 + 128 × 0 + 256 × 1
    = 1 + 4 + 8 + 32 + 64 + 256
    = 365

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

    تخزين البيانات
    في الأعداد العشرية إذا قلنا أننا نستطيع كتابة 5 خانات فهذا يعني أننا نستطيع كتابة الأرقام من 0 إلى 99999 أي تفسير ذلك أننا نستطيع ترتيب الأرقام من 0 إلى 9 ( عشرة أرقام ) في خمس خانات فذلك يعني أننا نستطيع تغيير الأرقام وترتيبها للحصول على العديد الإحتمالات، عدد هذا الإحتمالات هو 10 × 10 × 10 × 10 × 10 لأن كل خانة تحتمل 10 احتمالات، وكل احتمال منها يحتمل عشر احتمالات معه في الخانة المجاورة وهكذا حتى الخانة الأخيرة، وهذا يعني أننا نمتلك عدد من الاحتمالات يساوي 10 أس 5 أي عدد الأرقام في كل خانة أس عدد الخانات، ويكون الناتج هو 100000 احتمال كل منها يعبر عن رقم وهذه الأرقام تبدأ من 0 إلى 99999.

    الأمر ينطبق هنا أيضا على الأعداد الثنائية، فإذا قلنا أن عدد الخانات هو 5 فإن عدد الإحتمالات الكلية = عدد الإحتمالات في كل خانة أس عدد الخانات = 2 أس 5 = 32 وهي 32 احتمال تعبر عن الأرقام من 0 إلى 31، ويسمى عدد الخانات بطول الرقم، فالمتغيرة أو العداد أو أي شيء طوله 5 يعني أنه يتكون من 5 خانات ثنائية.

    وقد تم الإتفاق على أن كل خانة تسمى ( بت ) وكل 8 خانات ( 8 بتات ) تسمى بايت، والبايت الواحد عبارة عن خانة كبيرة عدد احتمالاتها هو 2 أس 8 = 256 أي أنها تأخذ الأرقام من 0 إلى 255، وقد تم الإتفاق على أن يتم إعطاء كل رقم وحرف ورمز قيمة مقابلة بين الرقمين 0 و 255، حسب ما يسمى بصفحة المحارف، أشهر صفحات المحارف الإنجليزية هي صفحة الأسكي ASCII والأنسي ANSI، ولكن هذا العدد من الخانات في جدول الأسكي سرعان ما يمتلأ بالحروف والأرقام، فلا يبقى أماكن شاغرة فيه للرموز الإضافية كالرموز العربية ورموز اللغات الأخرى، وهنا قامت كل لغة بعمل صفحة محارف خاصة بها، وقامت عدة هيئات عربية بإنشاء صفحات محارف مختلفة منها صفحة محارف DOS العربي، وصفحة محارف صخر إلا أن أكثرها انتشارا هي صفحة محارف windows العربية ورمزها windows-1256 وهنالك أيضا صفحة محارف ISO العربية، وبعد ظهور انترنت أصبح أمر صفحات المحارف المختلفة مربكا جدا، وسبب العديد من المشاكل، فمثلا إذا فتحت صفحة ما مكتوبة على أساس صفحة محارف عربية وفتحتها في متصفح صيني فسوف تظهر الرموز الصينية لأن الرقم 23 فرضا يشير إلى حرف أ العربي في جدول الرموز العربي، ويشير إلى الحرف ! في جدول الرموز الصيني، فتحدث التضاربات، والمشكلة الأكبر هي اختلاف صفحات المحارف للغة الواحدة كما في اللغة العربية، ولحل هذه المشكلة تم عمل هيئة لتوحيد صفحات محارف العالم في صفحة محارف وحيدة وضخمة بحيث تسع جميع الحروف والرموز المستخدمة في العالم، وبالتالي لن تحصل التضاربات لأن لكل حرف رمز مختلف وتسمى صفحة المحارف هذه بصفحة محارف اليونيكود UNICODE.

    الزبون × المزود

    الزبون : هو الشخص العادي الذي يحصل على خدمات من الشبكة، مثلك أنت الآن تحصل على صفحات من الشبكة فأنت زبون.

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

    البرمجة جهة الزبون
    وفيها يتم كتابة برامج من قبل أي شخص، وعندما يأتي أحد الزبائن إلى الموقع يتم إرسال البرنامج إليه فينفذ البرنامج على جهاز الزبون، وقد يرسل البرنامج في صورة شفرة نصية مثل JavaScript و VBScript، أو في صورة برامج مجمعة ومصنفة مسبقا مثل ActiveX و Java Applets، وتستخدم الشفرات البرمجية في عمل الحركات والتأثيرات البسيطة في صفحات ويب، وتسمى سكريبتات Scripts ومن أمثلتها السكريبت الموجود في موقع مايكروسوفت والذي يعطيك القوائم المنسدلة وتتميز بكونها أكثر أمانا وسهولة في الإستخدام، وأما السكريبتات المجمعة مسبقا فهي تستخدم مثل البرامج الكاملة تماما وهي أقل أمانا بالنسبة للزبون لذلك فإن المتصفح يحذرك دائما ويسألك إذا كنت متأكدا من أنك تريد تشغيل البرنامج، وسبب تجميعها المسبق أنها عادة تكون برامج بذل عليها جهد لعملها لذلك فالشركات لا تريد أن يحصل أي شخص على شفرة البرنامج مجانا.

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

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

    وأشهر البروتوكولات المستخدمة للعمل جهة المزود هي واجهة البوابات الشائعة Common Gateway Interface أو CGI، وهي عبارة عن صيغة متفق عليها لتبادل البيانات بين المزود والبرامج التي تنفذ على المزود، لذلك يمكن عمل هذه البرامج في أي لغة برمجة عادية بشرط أن يكون البرنامج الناتج يطابق مواصفات CGI، إلا أن أشهر لغات البرمجة استخداما لهذا الغرض هي لغة Perl وذلك لما تتميز به من سهولة عالية ومرونة وقدرة عالية على معالجة النصوص.

    وتوجد أيضا لغات برمجبة أخرى مصممة خصيصا للعمل جهة المزود من بينها PHP و ASP و ColdFusion وغيرها.

    اسف للاطالة

      الوقت/التاريخ الآن هو الجمعة أبريل 19, 2024 12:40 am