العودة   منتديات عميد التعريب > >

الملاحظات

فيجوال بيسك Visual Basic.NET ـ كل ما يتعلق بمجال برمجة الفيجوال بيسك



إضافة رد

قديم 2010-10-16, 15:50   رقم المشاركة :1
معلومات العضو
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي بعض المبادئ لنطرق باب الإحتراف, لمن يريد أن يتعلم الدوت نت (14,13)


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

مجالات تطبيق (أماكن عمل التطبيق في الذاكرة) - Application Domains
تزوّد بيئات وقت التشغيل Runtime وأنظمة التشغيل Operating System نوع نموذجي من العزلة بين التطبيقات. على سبيل المثال، تستعمل مايكروسوفت ويندوز الـ العمليات Process لعزل التطبيقات. هذه العزلة ضرورية لضمان الشيفرة التي تعمل في أحد التطبيقات أنها لن تقوم بالتأثير على التطبيقات لأخرى الغير مرتبطة معها بشكل عكسي.
تزوّد مجالات التطبيق Application Domains حدود عزلة للأمن Security و الثقة أو الإعتماديهReliability ، وتعدد الإصدارات Versioning ولإلغاء تحميل التجمعات Unloading Assemblies. يقوم مضيفي وقت التشغيل Runtime Hosting المسؤلين عن عملية إقلاع التطبيق Bootstrapping بإنشاء مجالات التطبيق Application Domains قبل إنتهاء عملية الإقلاع.

لمحه عن مجالات التطبيق - Application Domains Overview
تاريخياً ، تستحدم حدود العملية Process Boundaries لتقوم بعزل التطبيقات التي تعمل على حاسب واحد عن بعضها البعض و كل تطبيق يحمل في عملية Process مستقلة التي تضمن له تلك العزلة.
جميع المؤشرات في مساحة الذاكرة Memory Pointer الخاصة بالعملية Process مرتبطة بتلك العملية Process أي أن أي مؤشر Pointer في عملية Process لا معنى له في عملية Process آخرى، هذا بسبب العزلة التي يفرضها نظام التشغيل على العمليات Processes. لذلك لايمكن التعامل مع العمليات Processes الآخرى إلا عن طريق وكيل Proxy الذي يزودنا بمستوى الدخول لتلك العملية Process.
أما بنسبة للكود المدار يقوم وقت التشغيل Runtime من التحقق من الكود المكتوب Verification Code قبل عملية التنفيذ لكي لا يكون هناك أي إختراق للكتابة على عنوانين ذاكرة غير مخول للتطبيق من الكتابه عليها Invalid Memory Pointer أو أن تكون تلك العناوين تابعه لعملية آخرى، وهذا التحقق يجعل من الكود المنفذ آمن ومما يتيح وقت تشغيل اللغة المشتركة Common Language Runtime لإيجاد عزلة أقوى من ذي قبل وهذا يزيد من أداء التطبيق.
تزوّد مجالات التطبيق Application Domains وحدات آمنة أكثر من ذي قبل التي تزود وقت تشغيل اللغة المشتركة Common Language Runtime أكثر تنوع للمحافظة على حدود العملية Process Boundaries مما يتيح تشغيل أكثر من مجال التطبيق Application Domains في نفس العملية Process مما يخفف من العمليات Codes التي نحتاجها لإنتقال بين التطبيقات Application التي نقوم بتشغيلها أو المخاطبه في ما بينها.




عزل التطبيقات عن بعضها البعض وعملية التحقق من الكود المنفذ Verification Code يتيح لنا من تشغيل البرامج التي نقوم بتنزلها من الإنترنت دون الخوف من المساس بالبينات التي نقوم بتخزينها أو العبث في مصادر الجهاز أو أن تقوم بعلمية تخريب للبرامج المشغلة مسبقاً. في مايلي سنتحدث عن أهم الميزات التي يزدها عزل التطبيقات Isolation Application عن بعضها البعض:
  • • أي إخفاق في أحد التطبيقات Application لا يستطيع التأثير على التطبيقات Applications الأخرى. لأن الشيفرة من نوع الآمن Type-Safe Code لا تستطيع أن تسبّب عيوب في ذاكرة التطبيقات Applications الآخرى، يضمن إستعمال مجالات التطبيق Application Domains أن الشيفرة المنفذة في مجال واحد لا تستطيع التأثير على التطبيقات Applications الأخرى في العملية Process.
  • • إيقاف أي مجال لن يوقف العملية Process بالكامل. إستعمال مجالات التطبيق Application Domains يمكّنك لإقاف الشيفرة المنفذة في أي عملية Process دون المساس في المجالات الآخرى Application Domains المنفذة في نفس العملية Process.
  • • الشيفرة المنفذة في أحد تطبيق Applicationلا تستطيع الدخول إلى الشيفرة أو أي مصادر من التطبيق Application الآخر مباشرة. يفرض وقت تشغيل اللغة المشترك Common Language Runtime هذه العزلة بمنع النداءات المباشرة بين الكائنات Objects في مجالات التطبيق المختلفة. تستطيع الكائنات Objects أن تعبر بين المجالات عن طريق نسخ تلك الكائنات Objects أو أن دخل عن طريق وكالاء Proxy. إذا تم تمرير الكائن Objects عن طريق النسخ يتم تنفيذ الكود الخاص بذلك الكائن Object على أنه كائن Object محلي. أما إذا تم تمرير الكائن Object عبر الوكيل Proxy فيتم تنفيذه على شكل نداء بعيد ويجب أن يكون المرجع إلى ذلك الكائن Object متاح لتطبيقين ليستطيع تنفيذ الكود الملحق به.
  • • التحكم بالسلوك الذي يتبعه مجال الكود في التطيبق المنفذ. بكلمات آخرى العثور على التجمعات التي يحتاجها التطبيق ليتم إقلاعه بإمان والتعرف على أماكن تواجد الأنواع.
  • • التحكم بالتراخيص Permissions الممنوحة لكود المنفذ.
موعدنا إن شاء الله في الدروس القادمة أتمنى لكم التوفيق

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

مجالات التطبيق والتجمعات - Application Domains and Assemblies
قبل أي تنفيذ للكود المتواجد داخل أي تجمع Assembly لا بد لنا من تحميل ذلك التجمع Assembly ضمن مجال تطبيق Application Domains لذلك ينتج عن تشغيل برنامج إنشاء مجال تطبيق Application Domains إفتراضي من قبل وقت التشغيل ويقوم بتحميل جميع التجمعات Assemblies التي يحتاجه التطبيق في ذلك المجال Application Domains.


ويستطيع البرنامج المسؤل عن الترجمة عند الطلب في وقت التشغيل Just-In-Time (JIT) Compiler أن يتخذ قرار بشأن مشاركة التجمع Assembly إذا كان مستخدم من قبل محموعة من مجالات التطبيق Application Domains داخل العملية Process الواحدة أو عن طريق إضافة احد الخصائص لتجمع Assembly لإعلام الترجمة عند الطلب في وقت التشغيل Just-In-Time (JIT) Compiler بأننا نريد مشاركة هذا التجمع Assembly مع بقية المجالات Application Domains المستخدمة ليقوم بإعداد الازم لهذه المشاركة بأن يقوم بتغير مؤشر الوظيفة إلى المؤشر الجديد الذي يتم إنشائه من قبله في جميع مجالات التطبيق Application Domains المتشاركة في العملية Process.
نستطيع تحميل التجمع Assembly ضمن مجال التطبيق بثلاثة طرق:
1. تحميل التجمع Assembly دون مشاركة. أي أن كل مجال تطبيق Application Domains سوف يقوم بتحميل نسخة الخاصة من التجمع Assembly . يتثنى من هذه الحالة التجمع Mscorlib Assembly لأنه يتم تحميله مقبل مضيف وقت التشغيل Runtime Host ويقوم بمشاركته في جميع مجالات التطبيق Application Domains .
2. تحميل التجمع Assembly مع مشاركته. يتم تحميل التطبيق في منطقة محايدة Domain-Neutral ليتم مشاركة مع جميع مجالات التطبيق Application Domains التي تقوم بتحميل نفس التجمع Assembly مع تماثل لخيارت التحميل.
3. جعل التجمع Assembly عام ومشاركته مع جميع مجالات Application Domains التطبيق وفي جميع العمليات Processes. ملاحظة يمكن لأحد التطبيقات إستثاء هذا الخيار و تحميل نسخته الخاصة من التجمع Assembly العام الذي يريده ليعمل بشكل سليم إذا كان هناك إختلاف في رقم الإصدار ولكن كما قلنا هذا الخيار يتعامل مع التجمعات التي تحمل اسم متين Strong-Named Assemblies .

المخطط يصف كيف تقوم التجمعات في وضع مؤشر للوظيفة المستدعاة في بدء تشغيله لأول مرة وهذا ينطبق على جميع التجمعات:



وعند وضع التجمع عام أو تنفيذ الكود لمره آخرة يقوم الترجمة عند الطلب في وقت التشغيل Just-In-Time (JIT) Compiler في تغير مؤشر الوظيفة إلى مكان الوظيفة الجديده التي تمت ترجمتها وهذا ينطبق على جميع التجمعات التي يتم مشاركتها:



يجب الإنتباه في حال إتخاذ قرار بإنشاء منطقة محايده Domain-Neutral لتجمع Assembly من أداء التجمع Assembly Performance والذاكرة المستهلكة من قبل التجمع Reducing Memory Use يجب عدم وضع بيانات ساكنه Static Data كبيرة الحجم لأنه يتم عمل نسخه من هذه البيانات لكل مجال تطبيق Application Domains ليتم تطبيق العزلة Isolate Assemblies على البيانات الساكنه Static Data داخل التجمع Assembly . ويجب تزويد جميع السماحيات Permissions لهذا التجمع Assembly ليتم تطبيق سياسة الأمن Security Policy التي يتبعها نظام التشغيل Operating System .

إنتهى و الله الموفق

تمنياتي للجميع بالتوفيق و الفائدة






وليد السند غير متواجد حالياً   رد مع اقتباس


قديم 2010-10-16, 16:09   رقم المشاركة :2
معلومات العضو
saidasd
عميد
إحصائية العضو





مستوى التقييم: 5
saidasd is on a distinguished road
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي



السلام عليكم ورحمة الله وبركاته
شكرا لك



saidasd غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-16, 19:35   رقم المشاركة :3
معلومات العضو
أسيرالشوق
الإدارة
 
الصورة الرمزية أسيرالشوق
إحصائية العضو





مستوى التقييم: 10
أسيرالشوق is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي




أسيرالشوق غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-17, 13:09   رقم المشاركة :4
معلومات العضو
GOLD
عميد
إحصائية العضو





مستوى التقييم: 11
GOLD is on a distinguished road
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


مشكوووووور والله يعطيك الف عافيه


GOLD غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-17, 13:24   رقم المشاركة :5
معلومات العضو
عوض الغامدي
دائما معكم
 
الصورة الرمزية عوض الغامدي
إحصائية العضو





مستوى التقييم: 10
عوض الغامدي is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


أحسنت .... الله يعطيك الف عافيه

شكرا لك على كل ماتقدم من مواضيع رائعة و مفيدة


عوض الغامدي غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-18, 20:11   رقم المشاركة :6
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


اقتباس : المشاركة الأصلية كتبت بواسطة banibrahim اقرأ: [ مشاهدة المشاركة ]
السلام عليكم ورحمة الله وبركاته
شكرا لك




بارك الله فيك اخوي الغالي ,, الف شكر على مرورك الرائع,, تمنياتي لك بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-18, 20:12   رقم المشاركة :7
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


اقتباس : المشاركة الأصلية كتبت بواسطة أسيرالشوق اقرأ: [ مشاهدة المشاركة ]

بارك الله فيك اخوي الغالي ,, الف شكر على مرورك الرائع,, تمنياتي لك بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-18, 20:13   رقم المشاركة :8
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


اقتباس : المشاركة الأصلية كتبت بواسطة هيثم بريغش اقرأ: [ مشاهدة المشاركة ]مشكوووووور والله يعطيك الف عافيه

بارك الله فيك اخوي الغالي ,, الف شكر على مرورك الرائع,, تمنياتي لك بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس

قديم 2010-10-18, 20:14   رقم المشاركة :9
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


اقتباس : المشاركة الأصلية كتبت بواسطة عوض الغامدي اقرأ: [ مشاهدة المشاركة ]أحسنت .... الله يعطيك الف عافيه

شكرا لك على كل ماتقدم من مواضيع رائعة و مفيدة


بارك الله فيك اخوي الغالي ,, الف شكر على مرورك الرائع,, تمنياتي لك بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس

قديم 2010-11-08, 01:41   رقم المشاركة :10
معلومات العضو
ali harbi
الإدارة
 
الصورة الرمزية ali harbi
إحصائية العضو





مستوى التقييم: 10
ali harbi is on a distinguished road

مشاهدة أوسمتي

إرسال رسالة عبر MSN إلى ali harbi
كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي


مشكور الله يعطيك العافيه
بارك الله فيك على الطرح الرائع والمتميز


ali harbi غير متواجد حالياً   رد مع اقتباس

قديم 2010-11-08, 19:33   رقم المشاركة :11
معلومات العضو
وليد السند
الراعي الرسمي وداعم مسيرة عطاء المنتدى
 
الصورة الرمزية وليد السند
إحصائية العضو





مستوى التقييم: 9
وليد السند is on a distinguished road

مشاهدة أوسمتي

كاتب الموضوع : وليد السند المنتدى : فيجوال بيسك Visual Basic.NET ـ
افتراضي



بارك الله فيك اخوي الغالي ,, الف شكر على مرورك الرائع,, تمنياتي لك بالتوفيق


وليد السند غير متواجد حالياً   رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

أدوات الموضوع إبحث في الموضوع
إبحث في الموضوع:

البحث المتقدم
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML متاحة

الانتقال السريع


الساعة الآن 12:40

جميع المشاركات المكتوبة تعبّر عن وجهة نظر صاحبها .. ولا تعبر عن وجهة نظر إدارة المنتدى بأي شكل من الأشكال



ساهم معنا
تبرع لتساعد على الاستمرار ومواصلة تعريب البرامج للعالم العربي.
ساهم في صمود وبقاء ونشر اللغة العربية في العالم من أجل الأجيال القادمة.
تودع مبالغ التبرعات في احد الحسابات التالية
اسم البنك
رقم الحساب
بنك الراجحي _ من خارج السعودية
IBAN - SA2880000141608010128882
بنك الراجحى _ من داخل السعودية 141608010128882



Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Search Engine Optimisation provided by DragonByte SEO (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
جميع الحقوق محفوظة لموقع منتديات عميد التعريب 2010 - 2017 ©