دستيابی داده در ASP.NET 2.0 ( بخش اول ) ادامه در سایت ضمیمه شده...

از پرشین بلاگ

دستيابی به داده از جمله عمليات مهم در زمان پياده سازی هر نوع برنامه كامپيوتری است و برنامه های وب نيز از اين قاعده مستثنی نمی باشند . امروزه صفحات وبی كه در ارتباط با داده بوده و حاوی اطلاعاتی می باشند كه از بانك های اطلاعاتی بازيابی و نمايش داده می شود به يكی از اركان اصلی هر نوع برنامه تجاری تبديل شده است . پياده كنندگان برنامه های كامپيوتری خصوصا" برنامه های وب همواره برای پياده سازی برنامه هائی كه در ارتباط با داده می باشند با چالش های خاص خود مواجه بوده و آرزو می نمايند كه بتوانند با صرف كمترين زمان و نوشتن حداقل كد لازم به اهداف خود نائل گردند . با ارائه ASP.NET 2.0 ، زمينه تحقق خواسته فوق برای ‌پياده كنندگان برنامه های وب فراهم می گردد . چراكه در اين نسخه از ASP.NET علاوه بر ارائه بيش از پنجاه كنترل جديد ،‌ امكانات متعددی به منظور بهبود و تسهيل عمليات در ارتباط با داده ارائه شده است .
پياده كنندگان برنامه های وب كه از ASP كلاسيك و يا ASP.NET 1.1 برای طراحی و پياده سازی برنامه های خود استفاده می نمايند ، می بايست پس از نوشتن كد لازم به منظور دستيابی و بازيابی داده از منابع ذخيره سازی ، يك قالب و يا فرمت مناسب جهت نمايش اطلاعات در مرورگر را نيز ايجاد نمايند . با اين كه ويژوال استوديو دارای برنامه های كمكی خاصی ( ويزارد ) در اين رابطه می باشد ، ولی استفاده از ويژگی های پيشرفته ای نظير Paging و مرتب سازی داده ها ،‌ همچنان مستلزم همگرائی بين كدهای نوشته شده در لايه back-end و اطلاعات مورد نظر جهت نمايش در لايه front-end است . در اغلب موارد نگهداری و يكسان سازی كدهای فوق نيز مشكل می باشد خصوصا" در مواردی كه بانك اطلاعاتی تغيير می يابد و يا می بايست اطلاعات اضافه ای را بر روی يك صفحه خاص نمايش دهيم . علاوه بر موارد فوق ، استفاده از فايل های XML به عنوان منابع ذخيره سازی داده نيز ‌مستلزم نوشتن خطوط زيادی است تا بتوان يك همگرائی خاص بين منبع داده و منطق دستيابی داده را ايجاد نمود .
در ASP.NET 2.0 كد مورد نياز به منظور دستيابی و نمايش داده كاهش و از اين طريق كارآئی و بهره وری برنامه های وب به طرز محسوسی افزايش می يابد . در اين رابطه ، كنترل های جديدی ارائه شده است كه قدرت كنترل و انعطاف پياده كنندگان به منظور انجام عمليات در ارتباط با داده را افزايش می دهد. كنترل های داده جديد را می توان به همراه مجموعه وسيعی از منابع داده استفاده نمود ( از بانك های اطلاعاتی سنتی تا منابع داده جديد XML ) . بدين ترتيب تمامی منابع داده يك رفتار همگن را خواهند داشت و به دنبال آن حجم و پيچيدگی برنامه های وب مبتنی بر داده ،‌ كاهش می يابد.
دستيابی داده در برنامه های وب
درفريمورك دات نت ، دستيابی داده با استفاده از ADO.NET انجام می شود . ADO.NET در حقيقت يك رابط و يا اينترفيس برنامه نويسی است كه مجموعه امكانات لازم به منظور كار با بانك های اطلاعاتی را در اختيار پياده كنندگان برنامه های وب قرار می دهد . اينترفيس فوق با ايجاد يك لايه اضافه ، جزئيات و پيچيدگی های موجود به منظور دستيابی به داده را از ديد پياده كنندگان مخفی نگه می دارد .
برنامه های وب نوشته شده با استفاده از ASP.NET 2.0 از پتانسيل های ارائه شده توسط ADO.NET نظير : ارتباط اتوماتيك با انواع متفاوتی از منابع داده ، ايجاد كنترل های كاربر در ارتباط با داده و ساير موارد ديگر استفاده می نمايند . بدين ترتيب حجم كد مورد نياز برای نوشتن برنامه های وب مبتنی بر داده كاهش يافته و نگهداری و پشتيبانی از اين نوع برنامه ها شرايط مطلوب تری را پيدا خواهد كرد .
معماری دستيابی داده
دستيابی داده در برنامه های وب دات نت براساس يك ساختار و يا معماری دو لايه ای انجام می شود (دو لايه جداگانه ) . اولين لايه ،‌ شامل عناصر ضروری فريمورك به منظور دستيابی به داده است . دومين لايه ، شامل APIs و كنترل هائی است كه قابليت های دستيابی به داده را در اختيار برنامه نويسان قرار می دهد .
دستيابی به داده مستلزم بكارگيری چهار عنصر اساسی زير است :
• برنامه وب ( ASP.NET )
• لايه داده ( ADO.NET )
• ارائه دهنده داده ( Data Provider )
• منبع داده ( Data Source)
ارتباط بين عناصر فوق، زيرساخت و يا فونداسيون لازم برای تمامی برنامه های وب مبتنی بر داده را ارائه می نمايد .
شكل زير عناصر و معماری دستيابی به داده را نشان می دهد .
شكل 1 : معماری دستيابی داده
منبع : MSDN
در ادامه جايگاه هر يك از عناصر فوق را از پائين به بالا بررسی می نمائيم .
منابع ذخيره سازی داده
منابع ذخيره سازی داده ، نقطه نهائی در معماری دستيابی داده بوده كه بدون وجود آنان اصل مسئله دستيابی داده زير سوال می رود . با استفاده از ADO.NET 2.0 و كنترل های جديد ارائه شده در ASP.NET 2.0 ، يك برنامه وب قادر به دستيابی داده از منابع داده متنوعی نظير : بانك های اطلاعاتی رابطه ای ، فايل های XML ، سرويس های وب ، فايل های متنی و يا داده های موجود در فايل های Excel می باشد .
بخاطر داشته باشيد كه منابع ذخيره سازی داده با اين كه دارای جايگاه خاص خود می باشند ولی از آن مهمتر ، مكانيزم هائی می باشند كه با استفاده از آنان به منابع داده متصل و عمليات مرتبط با داده را انجام خواهيم داد .
Data providers
ADO.NET ،‌ به منظور ارتباط با منابع داده متفاوت از مجموعه ای كلاس و دستور استفاده می نمايد كه آنان را مديون Provider model است . در واقع Provider ،‌ مجموعه ای از اينترفيس ها و كلاس های لازم به منظور ذخيره و بازيابی داده در ارتباط با يك منبع داده خاص را ارائه می نمايد. بديهی است مهمترين دستاورد رويكرد فوق ، انعطاف لازم به منظور نوشتن كد مورد نياز برای دستيابی به داده ( استفاده از ADO.NET ) از چندين نوع منبع داده می باشد .
در ASP.NET 2.0 ، همچنان از Provider model به منظور انجام عمليات مختلف در ارتباط با دستيابی داده استفاده می گردد .
جدول زير چهار شی اساسی تشكيل دهنده ساختار عملياتی يك provider را نشان می دهد :
عملكرد شی
ايجاد يك اتصال به منبع و يا منابع مشخص شده Connection
اجرای يك دستور در ارتباط با يك منبع داده Command
خواندن داده ها از يك منبع داده بر اساس يك
ساختار با ويژگی فقط خواندنی و صرفا" به سمت جلو DataReader
نشر يك DataSet و بهنگام سازی آن با منبع داده DataAdapter
ADO.NET API
ADO.NET API ، شامل امكاناتی است كه با استفاده و بكارگيری آنان تمامی منابع داده يكسان بنظر می آيند .صرفنظر از منبع داده ، پردازش لازم به منظور بازيابی و استخراج اطلاعات ،‌ مستلزم استفاده از كلاس های كليدی و عمليات مشابهی است . دربخش دوم با اين لايه و امكانات آن بشتر آشنا خواهيم شد.

لايه برنامه وب
ASP.NET ( بالاترين لايه ) با ارائه مجموعه ای از كنترل ها و امكانات باعث كاهش حجم كد مورد نياز به منظور دستيابی به داده می گردد. مثلا" پياده كنندگان برنامه های وب می توانند از برنامه كمكی ( ويزارد) منبع داده برای ايجاد و پيكربندی اتوماتيك يك منبع داده استفاده نمايند و در ادامه با اجرای query دلخواه خود ،نتايج مورد نظر را بازيابی نمايند . علاوه بر اين ، می توان كنترل های متفاوتی را به يك منبع داده نسبت داد . بدين ترتيب شكل ظاهری و محتوی كنترل می تواند به صورت اتوماتيك مقداردهی گردد ( بر اساس اطلاعات بازيابی شده از منبع داده ) .
كنترل های فوق در اشكال و اندازه های متفاوتی ارائه شده اند ( نظير Grids ,Trees,Menus و lists ) . برای نسبت دهی يك كنترل به يك منبع داده از خصلت DataSourceID استفاده می شود كه می توان آن را در زمان طراحی و يا اجراء تعريف نمود .
كنترل های منبع داده از طريق امكانات ارائه شده توسط يك provider به يك منبع داده نسبت داده می شوند. مهمترين مزيت يك كنترل منبع داده،‌ امكان استفاده از آنان در صفحات مورد نياز است. علاوه بر اين ، برای انجام عملياتی نظير paging ،‌ مرتب سازی و بهنگام سازی ضرورتی به نوشتن حتی يك خط كد نخواهد بود .
در بخش دوم با تمركز بر روی لايه دوم ( ADO.NET API ) با امكانات موجود به منظور كار با ADO.NET ، كنترل های ASP.NET و providers بشتر آشنا خواهيم شد .
برداشت از :http://www.iritn.com

آدرس IP چيست؟

هر دستگاهي كه در اينترنت وجود دارد يا به آن متصل است يك شماره شناسايي منحصر به فرد دارد كه به آن آدرس IP يا شماره IP گفته مي شود.

يك آدرس IP چيزي مثل اين است: 127. 55. 27. 216

تركيبي از 4.3 ميليارد آدرس IP

همانطور كه در بالا ذكر شد آدرسهاي IP براي قابل فهم بودن افراد معمولاً به صورت دسيمال (دهدهي) بيان مي شوند. كه با نقطه از يكديگر جدا شده اند. اما كامپيوتر ها با شكل باينري (دودويي) اعداد سروكار دارد و براي ارتباط با يكديگر آنرا در قالب صفر و يك بيان مي كنند مانند مثال زير:

11011000. 00011011. 00111101. 10001001

8تا 8تا 8تا 8تا

چهار عدد در يك آدرس IP اكت (به معناي هشتايي) ناميده مي شوند، چون هر عدد به تنهايي از 8 عدد باينري تشكيل شده است. با تركيب همه اعداد 32 عدد باينري خواهيم داشت. آدرس IP از اعداد 32 بيتي تشكيل شده است. كه هر كدام از 8 وضعيت مي تواند 0 يا 1 باشد. يعني براي هر هشتايي 2 به توان 8 تا، 256 عدد مخلتف را مي توان در نظر گرفت. پس هر عدد كه بين نقطه ها قرار مي گيرد مي تواند بين 0 ــ 255 باشد. با توجه به اين كه 4 عدد داريم كه با نقطه از هم جدا مي شوند مجموعاً 2 به توان 32 يا مجموعاً 4294967296 عدد منحصر به فرد خواهيم داشت.

در نتيجه در حدود 4.3 ميليارد عدد را مي توان براي آدرسهاي IP منحصر به فرد معين كرد البته با صرفنظر از تعدادي آدرس معين كه استفاده از آنها براي عموم محدود شده است. مثلاً آدرس IP به صورت 0. 0. 0. 0 براي شبكه default و آدرس 255. 255. 255. 255 براي broad cast رزرو شده اند.

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

اعداد بين نقطه ها يا اكت ها (هشتايي) به دو قسمت تقسيم مي شوند. شبكه و هاست. اولين عدد بين نقطه ها مربوط به شبكه است. اين عدد براي شناسايي يك شبكه كه يك كامپيوتر به آن متصل است استفاده مي شود.

هاست (كه گاهي با نام Node شناخته مي شود) كامپيوتري كه واقعاً در شبكه وجود دارد مشخص مي كند. قسمت مربوط به هاست معمولاً آخرين عدد است. 5 كلاس IP به علاوه آدرسهاي خاص مشخص وجود دارد:

ــ default network: يا شبكه پيش فرض كه آدرس IP آن 0. 0. 0. 0 است.

ــ كلاس A: اين كلاس براي شبكه هاي خيلي بزرگ است. مانند يك كمپاني عظيم بين المللي كه داراي يك شبكه بزرگ است. آدرسهاي IP كه اعداد اول آنها (اولين اكت) از 1 تا 126 باشد قسمتي از اين شبكه هستند. سه عدد بعدي براي شناسايي Host به كار مي روند. اين بدان معناست كه 126 شبكه كلاس A وجود دارند كه هر كدام 16777214 هاست و مجموعاً 2 به توان 31 آدرس IP منحصر به فرد مي توان ساخت. اما نيمي از اين تعداد آدرس IP قابل دسترسي است. در شبكه هاي كلاس A اولين عدد باينري هميشه صفر است.

آدرس خود يا loopback: اين آدرس IP عبارتست از 127. 0. 0. 1 با اين آدرس IP يك كامپيوتر مي تواند پيغامي را براي خودش ارسال كند. اين آدرس معمولاً براي عيب يابي شبكه و تست كردن آن استفاده مي شود.

برداشت از : http://www.iritn.com

Google Earth  دیگر بی رقیب نیست!

برنامه Nasa World Wind، یک برنامه کار درست است که اگر یک بار آن را امتحان کنید، تا آخر عمر مشتری آن می شوید. نرم افزار ناسا هر بلایی که سر زمین بیاید مشخص می کند؛ مثلاً حتی اگر در نمک آباد سفلی هم زلزله بیاید، روی نقشه نشان ی دهد . برتری این نرم افزار بر نسخه گوگلی آن در این است که نرم افزار ناسا، کیفیت نمایش تصویرش بهتر است و قدرت زوم بالاتری دارد. این برنامه قابلیت نمایش تمام جزئیات سیاره ماه ، مریخ، زهره، مشتری و چند موقعیت دیگر را نیز داراست. البته ناگفته نماند که برای اجرای این برنامه باید حداقل  یک حافظه 2 گیگابایتی و یک اتصال اینترنتی غیر از ذغال آپ(dial up)  داشته باشید!

/NASA WORLD WIN

وب سایت رسمی این نرم افزار:

http://worldwind.arc.nasa.gov/

(برداشت از :http://www.nikipedia.blogfa.com)

ايتنا- امنیت اطلاعات خصوصی و محرمانه، باید پیش‌نیاز دسترسی به اینترنت باشد

طبق گزارش‌های رسمی در سال 2008 میلادی، دست کم 10 میلیون کاربر اینترنت در سرتاسر جهان قربانی سرقت اطلاعات شخصی و محرمانه شده‌اند. به جرأت می‌توان گفت که خرابکاری در اینترنت اکنون به طور کامل به سمت سرقت اطلاعات و جعل هویت متمایل شده است. بررسی‌های آماری جدید بیانگر این مطلب هستند که اطلاعات شخصی و محرمانه کاربران اینترنت به مرکز توجه خرابکاران تبدیل شده است.

بر اساس اعلام PandaLabs، مرکز سنجش امنیت اطلاعات رایانه‌ای مهمترین عامل این مسئله، عدم رعایت ملاحظات امنیتی و انجام فعالیت‌های پرخطر توسط کاربران ناآگاهی ست که اطلاعات حساس و داده‌های ارزشمند خود را به طور مستقیم به مجرمان اینترنتی تقدیم می‌کنند. این مرکز امنیتی با انتشار نتایج یک بررسی جامع بر روی بیش از 67 میلیون رایانه در سرتاسر جهان، گزارش داد که به طور میانگین 1.1 درصد از کاربران اینترنت با حملات مستقیم خرابکاران در سرقت اطلاعات شخصی مواجه بوده‌اند.

علاوه بر این، Panda ActiveScan، سیستم ارزیابی امنیت اطلاعات در رایانه‌های متصل به اینترنت، نشان می‌دهد که دست کم 10 میلیون کاربر فعال اینترنت در سال 2008، اطلاعات شخصی و محرمانه خود را در این نوع حملات از دست داده‌اند. این در حالیست که بیش از 35 درصد از رایانه‌های ارزیابی شده، مجهز به نرم‌افزارهای امنیتی به روز بوده‌اند. خسارت‌های ناشی از این مسئله تنها در ایالات متحده آمریکا به یک میلیارد و پانصد میلیون دلار بالغ شده است.

برای اطلاعات بیشتر به بخش امنیتی نشریه PC World مراجعه فرمایید. دسترسی رایگان به سیستم ارزیابی امنیتی پاندا نیز از طریق آدرس www.infectedornot.com امکانپذیر است.