بررسی دات نت 4.0 – کتابخانه های کلاس پایه

قرار بود طی چنیدن پست به بررسی ویژگی های جدید دات نت فریم ورک 4.0 بپردازم. در مطلب قبلی به بررسی تغییرات Common Language Runtime پرداختم. با وقفه تقریباً طولانی که به علت اتفاقات اخیر در ایران و امتحانات دانشگاه ها بود، امروز نگاهی گذرا به تغییرات کتابخانه های کلاس پایه دات نت فریم ورک 4.0 بتا 1 خواهیم داشت.

قسمت دوم : تغییرات کتابخانه های کلاس پایه

در این نسخه از دات نت شاهد بهبودهایی در سیستم های ورودی/خروجی، هندل کردن استثناها، Reflection و تغییراتی در انواع مجموعه ای (Collectionها) خواهیم بود. در این مطلب با برخی از مهمترین تغییرات کتابخانه های کلاس پایه یا Base Class Libraries در دات نت فریم ورک 4.0 بتا 1 آشنا خواهیم شد.

BigInteger

ساختار جدید System.Numerics.BigInteger یک نوع داده ای صحیح با دقت دلخواه است که تمام عملیات های استاندارد یک نوع داده Integer را پشتیبانی می کند. این نوع داده می تواند در تمام زبان های مبتنی بر دات نت مورد استفاده قرار گیرد. زبان های جدیدی مثل F#x و IronPython به صورت توکار از این نوع داده پشتیبانی می کنند.

Tuples

یک تاپل (Tuple) یک ساختار داده ای Generic ساده است که مجموعه ای از آیتم های ناهمگن منظم را نگهداری می کند. تاپل ها به صورت Native یا محلی در زبان هایی مثل F#x و IronPython پشتیبانی می شوند، در این نسخه هر زبان برنامه نویسی مبتنی بر دانت نتی مانند C#x و Visual Basic قادر به استفاده از تاپل ها هستند. دات نت فریم ورک 4.0 بتا هشت کلاس جدید جنریک Tuple اضافه کرده است، همچنین این کلاس Tuple شامل متدهای استاتیکی برای ایجاد تاپل هاست.

Exceptions Handling

کتابخانه پایه دات نت فریم ورک 4.0 شامل فضای نام جدیدی به نام System.Runtime.ExceptionServices است که قادر به هندل کردن استثناهایی که corrupted state گفته می شوند، خواهد بود.

I/O

بهبودهایی در سیستم I/O دات نت فریم ورک بوجود آمده است. به طور مثال متدهای شمارشی در کلاس های Directory و DirectoryInfo به جای آرایه، یک مجموعه IEnumerable(T)x بر می گردانند. این کار باعث بهبود این متدها می شود، زیرا دیگر لازم نیست که این متدها ابتدا حافظه ای (معمولاً بزرگ) به آرایه ها اختصاص بدهند، یا منتظر پر شدن تمام خانه های آن آرایه شوند، شما می توانید قبل از اینکه این مجموعه به طور کامل پر شود، از آیتم هایی که تا به حال در مجموعه قرار گرفته اند استفاده کنید.

فضای نام System.IO.MemoryMappedFiles اجازه استفاده از عمل Memory Mapping که در ویندوز موجود است را به برنامه نویس می دهد. شما با استفاده از این قابلیت می توانید فایل های با حجم بسیار بالا را در حافظه باز یا ویرایش کنید. فضای نام System.IO.UnmanagedMemoryAccessor نیز اجازه دسترسی تصادفی به حافظه مدیریت نشده (Unmanaged Memory) را به شما می دهد. بهبودهایی نیز در کلاس های فضای نام System.IO.Compression.DeflateStream و System.IO.Compression.GZipStream بوجود آمده تا فشرده سازی داده ها بهتر از قبل باشند.

Reflection

دات نت فریم ورک 4.0 بتا 1 قابلیت هایی را برای مانیتور کردن کارایی دامنه اپلیکیشن های شما فراهم می کند. با استفاده از دات نت فریم ورک 4.0 مدیریت بهتری بر سیکل زندگی پراسس های اپلیکیشن خود خواهید داشت.

x64-bit View and Other Registry Improvements

بهبودهای کلاس های رجیستری ویندوز در دات نت 4.0 شامل:

  • توانایی مشخص نمودن نمای 32-بیتی یا 64-بیتی از رجیستری ویندوز با استفاده از Microsoft.Win32.RegistryView زمانی که کلیدهای پایه را باز می کنید
  • Microsoft.Win32.RegistryOptions که به شما اجازه می دهد یک کلید فرار (volatile) در رجیستری ویندوز بسیازید که با ریستارت کردن ویندوز از بین خواهد رفت

Threading

  • Unified Model for Cancellation : دات نت فریم ورک 4.0 بتا مدل واحدی برای کنسل کردن عملیات های غیر همزمان یا asynchronous فراهم می کند. کلاس جدید System.Threading.CancellationTokenSource برای ایجاد یک CancellationToken مورد استفاده قرار می گیرد که ممکن است به هر تعداد عملیات روی چندین  thread پاس شود. با صدا زدن متد Cancel()x در شیء token source، مشخصه IsCancellationRequested برابر true می شود و تمام عملیاتی که در این token ثبت شده اند در حالت wait قرار می گیرند.
  • Thread-Safe Collection Classes : فضای نام جدید System.Collections.Concurrent مجموعه ای از کلاس های thread-safe را معرفی می کند. استفاده از این کلاس ها در سناریوهای multi thread باعث بهبود بخشیدن کارایی انواع مجموعه ای مثل ArrayList و List(T)x می شود.

farasun.wordpress.com

در این مطلب کوتاه نمی توان تمام تغییرات جدید کتابخانه های کلاس پایه دات نت 4.0 را به طور کامل شرح داد. در مطالب بعدی به تغییرات جدید زبان های ویژوال بیسیک و سی شارپ در نسخه 2010 آن ها خواهیم پرداخت. برای از دست ندادن این مطالب مشترک فید فراسان شوید!

سیلورلایت 3.0 ارائه شد

تمام کسانی که به تکنولوژی های روز دنیای برنامه نویسی، مخصوصاً فناوری های شرکت مایکروسافت علاقه دارند، تا به حال باید در مورد نسخه جدید Silverlight چیزهایی شنیده باشند و یا مقالاتی در مورد ویژگی های جدید آن مطالعه کرده باشند. این نسخه از سیلورلایت دارای ویژگی های جدیدی است که هر توسعه دهنده ی وبی را به استفاده از آن علاقه مند می کند.

18 مارس در MIX09 مایکروسافت نسخه ی بتای سیلورلایت 3.0 را معرفی کرد. در این کنفرانس که در لاس وگاس برگزار شد، علاوه بر نسخه جدید سیلورلایت، IIS 7، ASP.NET MVC Framework، IE 8، Blend 3، Visual Studio 2010 نیز مورد بررسی قرار گرفتند.  در این نوشته قصد داریم به معرفی ویژگی های جدید سیلورلایت نسخه 3.0 بتا بپردازیم.

اجرا خارج از مرورگر Out of Browser

یکی از مهمترین و پر سر و صداترین ویژگی های سیلورلایت جدید، امکان اجرای برنامه های مبتنی بر سیلورلایت بدون استفاده از مرورگر وب است.با سیلورلایت 3 قادرید اپلیکیشن هایی بسازید که خارج از مرورگر و در دسکتاپ شما اجرا می شوند. در این حالت کاربران می توانند از اپلیکیشن شما در حالت آفلاین هم استفاده کنند.

بهبود های گرافیکی

سیستم گرافیکی سیلورلایت بهبودهای زیادی در این نسخه پیدا کرده است. پشتیبانی از افکت های قابل برنامه ریزی، perspective 3D، ایجاد فایل های Bitmap با استفاده از API های جدید سیلورلایت از این جمله اند. این بهبودهای گرافیکی، توسعه دهندگان را قادر میسازد تا مانور بیشتری روی تصاویر بدهند و افکت های تصویری مطلوب خود را تولید کنند.

کنترل های جدید

چندین کنترل جدید به SDK سیلورلایت اضافه شده اند و برخی از کنترل های موجود بهبود یافته اند. در این نسخه کنترل های جدید برای اعتبار سنجی داده های ورودی و هندل کردن خطاهای رابط کاربری معرفی شده اند. این کنترل ها به هنگام وارد کردن داده ها توسط کاربر به اعتبار سنجی آن و احتمالاً نشان دادن پیغام خطا می پردازند. برخی از کنترل های موجود در Silverlight Control Toolkit از جمله WrapPanel, DockPanel, ViewBox, AutoCompleteBox,Label در SDK نسخه 3.0 سیلورلایت ارائه شده اند. کنترل جدید SaveFileDialog هم به کاربران اجازه ذخیره فایل ها را روی هارد دیسک کامپیوترشان می دهد.

کنترل های پیشرفته تر مثل DataForm که امکان کار با داده ها (اضافه کردن، حذف و ویرایش) و حرکت میان آن ها را به شما می دهد. DataPager که امکان مرور صفحه به صفحه داده ها را به کاربر نهایی می دهد و Navigation Framework که برای حرکت میان صفحات یک اپلیکیشن سیلورلایت کاربرد دارد.

قابلیت های چند رسانه ای

چیزی که از قبل معلوم بود، پشتیبانی سیلورلایت 3.0 از فرمت های H264 و ACC است. پشتیبانی از RAW و امکان ایجاد Codecهای سفارشی توسط توسعه دهندگان از دیگر قابلیت های اضافه شده به سیستم مالتی مدیای سیلورلایت است.

بهبود کیفیت رندر متون Text Rendering

استفاده از افکت های انیمیشنی در متن ها و ایجاد متونی واضح تر برای کاربر در این نسخه از سیلورلایت بیشتر به چشم می آیند. با استفاده از API جاوا اسکریپت موجود در این نسخه، اپلیکیشن های سیلورلایت می توانند از فونت های محلی روی سیستم کاربر نیز علاوه بر فونت های روی سرور، استفاده کنند، که این باعث کاهش زمان بارگذاری اپلیکیشن می شود. در نسخه نهایی سیلورلایت قرار است از فناوری ClearType هم برای افزایش کیفیت متون استفاده شود.

بایند کردن عنصر به عنصر Element-to-Element Binding

این قابلیت به عناصر موجود روی رابط کاربری اجازه بایند شدن به مشخصات (Properties) یکدیگر را می دهد. مثلاً بدون کد نویسی می توانید مقدار یک Slider را به پراپرتی Text یک TextBox نسبت دهید. با این کار هر گاه مقدار Slider توسط کاربر تغییر کند، مقدار Text مربوط به TextBox به صورت خودکار آپدیت می شود.

Network Monitoring API

با استفاده از این API خواهید توانست اتصال به اینترنت را در یک اپلیکیشن سیلورلایت چک کنید. برخی مواقع لازم است که بدانید کاربر با اینترنت ارتباط دارد یا از آن Disconnect شده است.

Binary XML

برای ارتباط با سرویس های WCF، علاوه بر فرمت معمولی مبتنی بر متن XML، می توانید از فرمت فشرده Binary XML در سیلورلایت 3 استفاده کنید.

سرویس های .NET RIA

به همراه سیلورلایت 3 بتا، مایکروسافت فریم ورک .NET RIA Services را منتشر کرده است. این ابزار سعی می کند تا معماری n-tier را ساده تر کند و دو فناوری Silverligt و ASP.NET را به هم نزدیک تر نماید. .NET RIA Services الگویی برای نوشتن منطق برنامه در لایه میانی اپلیکیشن به شما ارائه می کند و دستیابی به داده ها را کنترل می کند. وظیفه هایی مثل اعتبار سنجی داده ها، تشخیص هویت و ارتباط میان سیلورلایت در کلاینت و ASP.NET در لایه میانی را بر عهده دارد.

واضح است که در این مطلب کوتاه نمی توان به بررسی تمام ویژگی های جدید سیلورلایت 3.0 پرداخت. مایکروسافت تمام تلاش خود را می کند تا آینده دنیای نرم افزار را در دست بگیرد و استانداردهای نرم افزارهای آینده را از همین حالا تعیین کند. مایکروسافت قدم های اولیه را خیلی وقت است به درستی برداشته است و در این راه با وجود رقبای بزرگی مثل گوگل، IBM و ادوبی تا به حال موفق بوده است. باید منتظر ماند و دید آیا تلاش مایکروسافت منجر به ظهور انقلابی در دنیای برنامه نویسی و نرم افزار خواهد شد یا خیر.

در مطالب بعدی در مورد ابزارهای عرضه شده برای توسعه اپلیکیشن های سیلورلایت 3.0 و در کل فناوری سیلورلایت بیشتر خواهید خواند. برای اینکه این مطالب را از دست ندهید، مشترک فراسان شوید.

شاید این مطالب هم برای شما خواندنی باشند :

اگر تمايل به دنبال کردن مطالب اين وبلاگ داريد، مي توانيد مشترک فيد فراسان شويد.

چطور مشترک شويم؟

Oslo ; پلت فرم مدل سازی مایکروسافت

توسعه بر مبنای *مدل اغلب اشاره به پروسه توسعه ای دارد که مدل هایی از اپلیکیشن ساخته می شود و داده ها به عنوان مشخصات سیستم در نظر گرفته می شوند. برای استفاده از روش توسعه مبتنی بر مدل بایستی یک پروسه توسعه و پلت فرم نرم افزاری در اختیار داشته باشید که قادر باشد تا به شما امکان استفاده از مدل ها (انواع منطقی داده ها و ارتباط ها) به عنوان هسته توسعه اپلیکیشن و پیاده سازی اجزای نرم افزاری بر مبنای مدل، که پیش نیازهای یک نرم افزار بر مبنای مدل را رعایت می کنند، را بدهد. مدل های تعیین شده در طراحی نرم افزار به هنگام پیاده سازی به بخش های مختلف توسعه نسبت داده می شوند. توسعه بر مبنای مدل با دید انتزاعی سعی در پنهان کردن پیچیدگی ها دارد و بیشتر روی تمرکز بر روی اجزای با اهمیت تاکید می کند.

Oslo نسل بعدی پلت فرم توسعه مایکروسافت

محصول جدید مایکروسافت با کد نام «Oslo» قصد دارد تا توسعه دهندگان را در ساخت نرم افزارهای پیچیده و بزرگ مبتنی بر دیتابیس بوسیله ابزارهای مناسب یاری کند. مدل سازی در اینجا یعنی بیشتر مشخصات و تعریف های نرم افزار با داده ها پیاده سازی شوند به طوری که پلت فرم و شما بتوانید هر چه آسانتر با استفاده از یک کوئری به مقصود اصلی خود برسید. تکنولوژی های مایکروسافت چند وقتی است در این مسیر حرکت می کنند، برای نمونه XAML, .NET metadata attribute, COM type libraries همگی روی نوشتن مشخصات به عنوان داده و اجتناب از کد کردن آن ها در سطوح پایین (مثل دستورات IL در دات نت) تاکید دارند. پلت فرم Oslo میخواهد این راه را ادامه دهد.

Microsoft Oslo

اجزای تشکیل دهنده Oslo

پلت فرم مدل سازی Oslo با استفاده از اجزای زیر موارد بالا را در اختیار شما قرار می دهد :

  • ابزار طراحی بصری با کد نام «Quadrant» که به شما در پروسه طراحی قوانین تجاری اپلیکیشن ها کمک می کند. این ابزار با استفاده از شکلک های گرافیکی فلوچارت مانند به شما در طراحی مدل های یک اپلیکیشن کمک می کند.
  • یک زبان مدل سازی به نام «M» که شما بایستی برای توسعه مدل های خود از آن استفاده کنید. زبان M زبانی اعلانی (Declarative) برای کار کردن با داده ها و ساختن مدل هاست. M به برنامه نویسان اجازه می دهد تا ساختار داده های خود را تعریف کنند و کوئری های متناسب با نیاز خود ایجاد کنند.
  • مخزن Oslo که یک دیتابیس SQL Server است و مدل ها را به عنوان اشیاء و نمونه (Instance)های مدل ها را به عنوان سطرهای یک جدول (Table) برای پیاده سازی شمای آن، در SQL Server ذخیره می کند. مدل ها و نمونه هایی از مدل ها به صورت بصری یا با استفاده از M یا هر API دسترسی به SQL دیگری (مثل ADO.NET) ایجاد می شوند.

در هر صورتی که شما داده های مدل ها را ایجاد کنید یا تغییر دهید (با استفاده از ابزار بصری، استفاده از M یا هر API دسترسی به SQL)، تمام اطلاعات مدل سازی در یک دیتابیس رابطه ای (Ralational Database) که به آن Oslo Repository گفته می شود، در هنگام اجرا (Runtime) در دسترس اند.

شرکت مایکروسافت فعلاً قصد ارائه Oslo را به عنوان بخشی از ویندوز یا دات نت فریم ورک ندارد. این شرکت نسخه CTP پلت فرم مدل سازی Oslo را برای دانلود عمومی روی سایت خود قرار داده است که می توانید از اینجا SDK آن را دریافت کنید. مدل سازی چند وقتی است در کانون توجه مایکروسافت قرار گرفته و آنچه مسلم است در آینده ای نه چندان دور در مورد Oslo بیشتر خواهیم شنید.

ویدئوی بررسی Oslo

در ویدئوی زیر Paul Vick که چندی قبل در تیم طراحی زبان Visual Basic مایکروسافت همکاری میکرده است، و حالا بر روی زبان مدل سازی M و پلت فرم Oslo کار می کند، در مورد Oslo اطلاعات خوبی به شما خواهد داد. در این ویدئو آقای Vick در مورد پلت فرم Oslo و اهداف آن، زبان مدل سازی M، ابزار Quadrant و مخزن رابطه ای Oslo صحبت می کند. توصیه می کنم برای تکمیل این مطلب ویدئوی زیر را حتماً مشاهده کنید.


*مدل : در معنای عام، مدل نمایش انتزاعی از یک آیتم یا مفهوم است (مانند یک ماشین یا یک ساختمان). به طور مثال یک آرشیتکت ساختمان ابتدا مدل ساختمانی که قرار است بسازد را روی کاغد پیاده سازی می کند و نیازی به استفاده از بیل و کلنگ در ابتدای کار ندارد. در دنیای نرم افزار هم Model برای همین منظور به کار می رود، یعنی مدل سازی مشخصات نرم افزار قبل از پیاده سازی آن ها.

سایت رسمی Oslo

برای تکمیل مطلب و مشاهده مثال عملی می توانید مطالب آموزشی آقای وحید نصیری در مورد Oslo و زبان M را در اینجا مطالعه کنید.

آشنایی با وب فرم ها در ASP.NET

ASP.NET فریم ورک قدرتمند مایکروسافت برای ایجاد وب اپلیکیشن های تجاری و بزرگ است. این فریم ورک با پشتیبانی مایکروسافت و داشتن یک محیط قدرتمند و سریع توسعه به نام Visual Studio به یکی از محبوب ترین و قدرتمند ترین ابزارهای توسعه وب تبدیل شده است. در این نوشته قصد داریم مروری بر یکی از ویژگی های اساسی ASP.NET به نام Web Forms بپردازیم.

Web Forms پایه و اساس ASP.NET است. وب فرم ها قلب و روح ASP.NET هستند. وب فرم ها رابط کاربری وب اپلیکیشن شما را شکل می دهند و راه حلی مناسب برای توسعه ی آن به شما ارائه می کنند. وب فرم ها شبیه به ویندوز فرم ها دارای مشخصات، متدها و رویدادهای کنترل های داخلشان هستند. اجزای رابط کاربری داخل وب فرم ها بر اساس درخواستی که به آن ها فرستاده می شود، به زبان نشانه گذاری مناسب (مثل HTML) رندر می شوند.

وب فرم ها شامل دو قسمت هستند : قسمت بصری (فایل aspx)، و Code Behind که هر کدام در کلاس های جداگانه ای قرار می گیرند. فایل aspx کدهای مربوط به طراحی وب فرم ها را شامل می شود و Code Behind شامل کدهای منطق برنامه و رویدادهای مروبط به کنترل های سمت سرور است. Code Behind می تواند به زبان ویژوال بیسیک یا سی شارپ نوشته شود.

asp-dot-net-web-forms

از مزایای استفاده از وب فرم ها می توان به نکات زیر اشاره نمود :

  • جداسازی منطق برنامه از کدهای HTML
  • استفاده از مدل برنامه نویسی مبتنی بر رویدادها
  • کد کامپایل شده و پشتیبانی از چند زبان برنامه نویسی
  • مجموعه ای از کنترل های سمت سرور که قادر به شناسایی مرورگر کاربر هستند و بر اساس آن کد زبان نشانه گذاری (مثل HTML یا WML) را تولید می کنند
  • به شما اجازه می دهند تا کنترل های جدید با قابلیت های جدید به آن اضافه کنید
  • کد کمتری برای کارهای مختلف همچون بایند کردن داده های بانک اطلاعاتی به کنترل ها خواهید نوشت
  • زمان توسعه را به حداقل می رساند و بهره وری را افزایش می دهد

شاید فکر کنید وب فرم ها فقط قالب هایی هستند که کنترل های دیگر روی آن ها قرار می گیرند؛ اما در حقیقت وب فرم ها کارایی های بیشتری دارند. به صورت معمول شما کنترل های محتلف را برای ایجاد رابط کاربری روی وب فرم ها قرار می دهید. هر کدام از این کنترل ها دارای خصوصیات، متدها و رویدادهای مربوط به خودشان هستند. کنترل هایی که رابط کاربری وب اپلیکیشن شما را می سازند به دو دسته کنترل های HTML و کنترل های وب فرم تقسیم می شوند.

کنترل های HTML همانطور که از نامشان پیداست شامل همین کنترل های معمول HTML مانند Button, Text Field, Text Area, Dropdown هستند. اگر تا به حال از نرم افزارهای ویرایشگر HTML برای طراحی رابط کاربری وب استفاده کرده باشید، کاملاً با این کنترل ها آشنایی دارید. شما می توانید از کنترل های استاندارد HTML در وب فرم ها استفاده کنید. کنترل های HTML که در ویژوال استادیو یافت می شوند همان هایی هستند که در Front Page هم پیدا می شدند. این کنترل ها نیازی به پردازش تحت سرور ندارند و به سادگی توسط مرورگر رندر می شوند. هر چند شما می توانید با اضافه کردن runat=»server» به مشخصات هر یک از کنترل های HTML کاری کنید تا به رویدادهای تحت سرور هم پاسخ گوید.
کنترل های وب فرم روی سرور ساخته می شوند و پس از اینکه وظیفه ای که برایشان مشخص شده را به انجام رساندند، کد HTML متناظر را تولید کرده و به خروجی می فرستند. این کنترل ها برخلاف کنترل های استاندارد HTML، هوشمند هستند؛ یعنی قادر به تشخیص مرورگر کاربر و فرستادن کد زبان نشانه گذاری مناسب هستند. به طور مثال اگر مروگر کاربر فایرفاکس باشد، کد HTML مناسب با آن را تولید می کنند و اگر کاربر بوسیله یک گوشی هوشمند درخواستی فرستاده باشد، کد WML را به خروجی می فرستند. تمام کنترل های وب فرم از یک کلاس عمومی با نام System.Web.UI.WebControls مشتق می شوند. این کلاس پایه مجموعه ای از مشخصات عمومی را برای کنترل های وب فرم پیاده سازی می کند.

وب فرم ها چگونه کار می کنند؟

مانند ویندوز فرم ها، رویدادهایی به صورت پشت سر هم و یا بر اساس درخواست کاربر در وب فرم ها اتفاق می افتند. رویدادهایی مانند Load, Draw (Render) و Unload برای وب فرم ها اتفاق می افتد. در زمان این اتفاقات ممکن است روال های مختلفی صدا زده شوند یا اشیای مختلفی ایجاد شوند. در ابتدا رویداد Init مقداردهی های اولیه صفحه وب را بر اساس تگ های به کار رفته در فایل aspx انجام می دهد. بعد از این، رویداد Load برای صفحه اتفاق می افتد. رویداد Load جایی است که شما می توانید چک کنید که آیا صفحه برای اولین بار توسط کاربر بارگذاری شده یا توسط کلیک روی یک دکمه، صفحه وب به سرور وصل شده و به اصطلاح به خودش Post Back کرده است. در رویداد Load می توانید کاری کنید که برخی اعمال فقط برای اولین بارگزاری صفحه وب انجام شوند؛ مثل بایند کردن داده های دیتابیس به کنترل ها. سپس اگر صفحه Post Back شود، رویدادهای کنترل های روی وب فرم ها اتفاق می افتند. مثلاً هنگامی که روی یک دکمه کلیک می شود، صفحه وب اطلاعاتی را به سرور می فرستد و دوباره به صفحه بر می گردد. در این صورت رویداد کلیک برای دکمه فوق اتفاق افتاده و کدی که شما برای آن نوشته اید اجرا شده است.

االبته قبل از Dispose شدن صفحه وب، رویداد Page_Unload هم اتفاق می افتد. به این علت که صفحه از قبل رندر شده و رویدادهای مورد نیاز کاربر اتفاق افتاده اند، این رویداد بیشتر به منظور عملیات لاگینگ استفاده می شود. پس از این رویداد صفحه وب از حافظه سرور حذف می شود.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

پ.ن : این مطلب در جهت معرفی ASP.NET نوشته شده و مقدمه ای بود در مورد ویژگی های آن. از این پس بیشتر در مورد ASP.NET مطلب خواهم نوشت. دوستان ایراد میگرفتن که چرا در این مطلب از PHP طرفداری کردم و از ASP.NET مطلبی نمی نویسم. از این به بعد از هر دو مطلب خواهم نوشت!

با گوگل نتایج جستجوی خود را بسازید!

تا حالا دوست داشتید گوگل نتایج جستجوی یک عبارت خاص را بر اساس سلیقه ی شما نشان دهد؟ تا به حال به این فکر کردید که اگر می شد زیر هر یک از نتایج گوگل توضیحی بنویسید، تا دفعه ی بعدی اگر از جای دیگه سرچ کردین، لینک مورد نظرتان را به راحتی پیدا کنید؟ یا شاید دوست داشته باشید ترتیب نتایج جستجوی گوگل را بر اساس سلیقه ی خود بالا و پائین کنید!

google_logo_smگوگل تقریباً از یک ماه پیش سرویس جدیدی را به نام SearchWiki عرضه نمود تا تمام توقعات بالای ما را برطرف کند. با استفاده از این قابلیت گوگل، می توانید نتایج جستجو را بر اساس سلیقه ی خود بالا یا پائین کنید و ترتیب آن ها را در نتایج تغییر دهید، هر کدام را که نیاز نداشتید از نتایج جستجو حذف کنید، زیر هر یک از آن ها توضیحاتی اضافه کنید و یا حتی لینک جدیدی را به نتایج جستجوی خود اضافه کنید. شکل زیر جستجو با قابلیت SearchWiki را نشان می دهد.

google-searchwiki-feature

تغییر ترتیب نتایج

کنار هر یک از نتایج شکلک promote وجود دارد که با استفاده از آن می توانید یک نتیجه را به بالای لیست نتایج بفرستید. در آینده نیز نتیجه ای که به بالای لیست رفته با شکلک promote_g در جلوی آن شناخته می شود.

حذف نتایج جستجو

هر یک از نتایج را که نمی خواهید دفعه ی بعد برای شما نشان داده شود را با استفاده از کلیک روی شکلک remove از نتایج جستجوی خود حذف کنید.

اضافه کردن توضیح به هر نتیجه

به راحتی با کلیک روی comment که در قسمت انتهایی لینک های جستجو قرار دارد، می توانید توضیحات خود را اضافه کنید. دفعه ی بعدی که همین عبارت را جستجو کنید، می توانید توضیح خودتان را نیز مشاهده کنید.

اضافه کردن به نتایج

در زیر هر یک از صفحات نتایج جستجو، لینکی وجود دارد با عنوان Add a result، که با کلیک کردن روی آن می توانید صفحه وبی را به نتایج جستجوی خود اضافه کنید. در آینده هر بار که همان عبارت را جستجو کنید، صفحه وبی که اضافه کردید نیز در بین نتایج جستجو قرار خواهد داشت.

البته قابلیت SearchWiki برای کسانی فعال خواهد بود که اکانت گوگل دارند و با آن لاگین کرده باشند. در حقیقت شما نتایج جستجو را فقط برای اکانت خودتان سفارشی می کنید.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

با ویندوز XP خداحافظی کنید

تقریباً نزدیک به دو سال است که ویندوز جدید مایکروسافت یعنی ویندوز ویستا برای استفاده عمومی معرفی شده است اما متاسفانه با اقبال عمومی روبرو نشد. خیلی ها (مثل من) از ارتقای ویندوز XP به ویستا اجتناب کردند به این دلیل که ویستا در مقابل همتای قدیمی تر خود یعنی ویندوز XP چیزی برای گفتن نداشت. ویندوز ویستا سخت افزارهای قدرتمندتری برای اجرا و استفاده از قابلیت های مختلفش احتیاج دارد، در صورتی که ویندوز XP با حداقل سخت افزارهای امروزی بهترین بازدهی را دارد. مایکروسافت قصد دارد فروش ویندوز XP را  متوقف کند. شرکت های تولید PC و لپ تاپ نیز به صورت پیش فرض سیستم عامل جدید مایکروسافت یعنی ویندوز ویستا را روی محصولات خود نصب می کنند. نسخه های جدید نرم افزارهای مختلف برای ویندوز ویستا تولید می شوند و هیچ شرکتی، نرم افزاری تولید نمی کند که با ویندوز XP همخوانی داشته باشد اما روی ویندوز ویستا کار نکند.

باید قبول کنیم که ویندوز ویستا با تکنولوژی های مختلفی که دارد، سیستم عامل نسل جدیدی است که کاربران باید به آن عادت کنند. زیرا ویندوز بعدی مایکروسافت نیز از هسته بهبود یافته ی ویستا استفاده خواهد کرد و شباهت زیادی از نظر کاربری به ویندوز ویستا دارد. تا آخر عمر که نمی توانید با ویندوز XP زندگی کنید. سعی کنید خود را با تکنولوژی روز هماهنگ کنید. به نظرم خیلی از کاربران فقط به این خاطر که رابط کاربری ویندوز ویستا تفاوت بسیار زیادی با XP دارد حاضر به مهاجرت از XP به ویستا نیستند. این درست است که ویندوز ویستا در روزهای اولیه مشکلات بسیاری داشت، باگ های فراوان داشت، بسیاری از برنامه های کابردی روی آن اجرا نمی شد، با بسیاری از درایورهای سخت افزاری قدیمی مشکل داشت و … اما باور کنید ویستا الان دیگر چنین مشکلاتی ندارد. ویستا سرویس پک 1 جایگزین مناسبی برای دوست قدیمی شما ویندوز XP خواهد بود.

logovista

ظاهر و رابط کاربری

اولین چیزی که به نظر کاربر می رسد و یکی از مهمترین فاکتورهای یک سیستم عامل، رابط کاربری آن است. ویندوز XP در سال 2001 پیشرفت های بسیار زیادی در زمینه رابط کاربری داشت. اما به تقویم خود نگاه کنید، یک ماه دیگر در سال 2009 به سر می بریم. در حالی که کاربران سیستم عامل اپل و انواع توزیع های لینوکس از رابط کاربری سیستم عامل خود لذت می برند، کاربران ویندوز XP هیچ لذتی از رابط کاربری خسته کننده سیستم عامل خود نمی برند.

سیستم عامل های شرکت مایکروسافت همیشه به علت عقب ماندگی در زمینه رابط کاربری مورد سرزنش قرار می گرفتند اما با ورود ویندوز ویستا این سرزنش ها به اتمام رسید. ویندوز ویستا واقعاً رابط کاربری جذابی دارد (هر چند باز هم از مک و بسیاری از توزیع های لینوکس حذابیت کمتری دارد) و هنگام کار کردن با آن احساس خوبی خواهید داشت. افکت های زیبای پنجره ها، کیفیت بالای تصاویر و آیکون ها، منوی استارت زیبا و مناسب و تغییرات زیاد دیگری که در رابط کاربری ویستا داده شده است، ویستا را به موجودی دوست داشتنی برای شما تبدیل خواهد کرد. شکل زیر نحوه ی سوئیچ کردن میان پنجره های باز در ویندوز ویستا را نشان می دهد.

سوئیچ کردن بین پنجره های باز در ویستا

جستجوی سریع تر و بهتر

یکی از زجرآورترین خصوصیات ویندوز XP، قابلیت جستجوی آن میان فایل ها بود. من به شخصه از برنامه های جانبی برای جستجو در ویندوز XP استفاده می کردم. جستجو در ویندوز XP اعصاب خیلی ها را خورد کرده بود. اما ویستا این مشکل را برای شما حل کرده است. قابلیت جستجو در ویندوز ویستا بسیار بهبود یافته و از نظر کاربردی بودن قابل مقایسه با XP نخواهد بود. شما قادر خواهید بود در هر یک از فولدرهای خود به سرعت فایل مورد نظر خود را پیدا کنید. قسمت بالا سمت راست ویندوز اکسپلورر جعبه جستجو قرار دارد، که به محض تایپ کردن در آن لیستی از فایل های مربوطه را خواهید دید. همچنین در منوی استارت ویندوز ویستا، با تایپ کردن قسمتی از نام برنامه های کاربردی یا فایل ها می توانید به راحتی آن ها را اجرا کنید. شکل زیر قالیت جستجوی ویندوز ویستا را به شما نشان می دهد.

قابلیت جستجوی زنده در ویندوز ویستا

ابزارهای جانبی مناسب

ویندوز ویستا نسبت به ویندوز XP دارای قابیلت ها و ابزارهای بیشتر و مناسب تری است. ویستا به صورت پیش فرض Windows Media Player 11 و Internet Explorer 7 را دارد و بسته به نسخه ای که نصب می کنید ابزارهای مختلفی به صورت پیش فرض به شما هدیه می کند. برنامه هایی همچون Windows Mail, Windows Calendar, Windows Defender, Windows DVD Maker, Windows Photo Galery و بسیاری دیگر. Windows Explorer در ویستا بسیار بهتر از همتای خود در ویندوز XP طراحی و پیاده سازی شده است. رابط کاربری مناسب تر و استفاده بهینه از فضای این پنجره، کار کردن با آن را ساده تر و لذت بخش تر کرده است، طوری که مانند ویندوز XP مجبور نشوید برای جایگزینی آن، نرم افزار دیگری را نصب کنید. سایدباری که در دسکتاپ ویندوز ویستا قرار گرفته، ابزارهای مناسبی مثل وضعیت آب و هوا، ساعت، یادداشت و گدجت های جالب دیگری در اختیار شما قرار می دهد. Taskbar ویندوز ویستا در نگاه اول به جز تغییرات ظاهری، متفاوت تر از ویندوز XP نیست. اگر نشانگر ماوس را روی پنجره های موجود در Taskbar قرار دهید، پیش نمایش زنده ای از داخل آن پنجره را مشاهده خواهید کرد. شکل زیر این قابلیت را به شما نشان می دهد.

نمایش زنده در Taskbar ویندوز ویستا

پشتیبانی مناسب تر از لپ تاپ ها

هر چند مایکروسافت چند سال پیش ادعا می کرد که ویندوز XP سیستم عامل مناسبی برای لپ تاپ هاست اما متاسفانه اینطور نبود. اما در حال حاضر ویندوز ویستا یکی از گزینه های مناسب برای سیستم عامل لپ تاپ هاست. شما به راحتی می توانید تنظیمات باطری لپ تاپ خود را تغییر بدهید، یک مانیتور دیگر را به لپ تاپ خود وصل کنید، Wireless خود را خاموش و روشن کنید، و از همه مهتر قابلیت Sleep در ویندوز ویستا واقعاً کار می کند.

تکنولوژی های ویستا

ویندوز ویستا دارای تکنولوژی های جدید و منحصر به فردیست که هر متخصص و علاقه مند فناوری را به خودش جذب می کند. تکنولوژی های پایه ویستا همچون ReadyBoost و ReadyDrive و همچنین SuperFetch که سرعت دسترسی و اجرای برنامه های کاربردی را به مراتب افزایش می دهند. تکنولوژی های امنیتی مثل UAC و Windows Firewall هم سعی می کنند امنیت سیستم شما را تامین کنند. تکنولوژی های دیگری مثل WPF, .NET Framework, WCF, Windows CardSpace و Windows Workflow Foundation با APIهایی که دراختیار برنامه نویسان قرار می دهند توسعه برنامه های کاربردی برای پلت فرم ویندوز را بهبود بخشیده اند. در این نوشته قصد نداریم در مورد تکنولوژی های فوق توضیح بدهیم، برای اطلاعات بیشتر روی هر کدام کلیک کنید.

تکنولوژی های ویستا

سخن آخر

البته ویندوز ویستا قابلیت های زیاد دیگری دارد که در این پست مجال پرداختن به آن ها نیست. همانطور که برای خیلی از چیزهایی که می خواهید انتخاب کنید ابتدا تحقیق می کنید، حتماً برای انتخاب سیستم عامل هم کمی تحقیق کنید و سپس از گزینه های موجود یکی را برگزینید. این نکته را در نظر داشته باشید که ویندوز ویستا به سخت افزارهای نسبتاً بالا احتیاج دارد. اگر می خواهید کارایی خوبی از ویستا ببینید، حتی فکر نصب کردن ویستا روی سیستمی با حافظه  (RAM) کمتر از 2 گیگابایت و CPU 2.4 را نکنید. اگر مایل به استفاده از ویندوز ویستا نیستید، پیشنهاد میکنم یکی از توزیع های لینوکس را انتخاب کنید. ویندوز XP ممکن است نیازهای شما را در یک بازه ی زمانی کوتاه برطرف کند، اما به فکر چند سال دیگر که مایکروسافت پشتیبانی ویندوز XP را ادامه نخواهد داد، هم باشید. ضمن اینکه ویندوز نسل جدید مایکروسافت نیز در راه است و اواخر سال 2009 به بازار خواهد آمد.

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :

پ.ن : من خودم قبلاً از ویندوز XP استفاده می کردم، اما الان حدود 6-7 ماه است که از ویندوز ویستا استفاده می کنم. البته من از یک نسخه اورجینال ویندوز ویستا که روی لپ تاپم از قبل نصب شده بود، استفاده می کنم. از نظر آپدیت کردن هیچ مشکلی ندارم و جز Visual Studio از هیچ نرم افزار قفل شکسته ی دیگری روی لپ تاپم استفاده نمی کنم. البته در کنار ویستا یک نسخه از اوبونتو را هم نصب کردم. در کل من از ویستا راضی هستم و خیلی وقت است که ویندوز XP را کنار گذاشته ام. پیشنهاد می کنم شما هم به فکر جایگزین مناسبی برای ویندوز XP باشید. هر چه زودتر!

قبل از یادگیری Silverlight به چه مهارت هایی نیاز دارید؟

این سئوال برای خیلی از برنامه نویسانی که قصد شروع یادگیری سیلورلایت را دارند پیش می آید. قبل ازاینکه شروع به یادگیری سیلورلایت کنیم باید چه مهارت هایی داشته باشیم؟ آیا برای یادگیری سیلورلایت باید یک برنامه نویس حرفه ای ASP.NET باشیم؟ نیازی به یادگیری JavaScript یا XML خواهیم داشت؟ در واقع پیش نیازهای یادگیری سیلورلایت چه چیزهایی است؟

سئوال بسیار خوبی است! به صورت ساده جواب این سئوال معلوم است. شما برای یادگیری سیلورلایت به هیچ مهارت خاصی نیاز ندارید. علاقه و کمی پشتکار تمام چیزی است که شما لازم خواهید داشت. در واقع کاملاً معقول و امکان پذیر است که شما سیلورلایت را به عنوان اولین تجربه برنامه نویسی خود انتخاب کنید… اما پروسه یادگیری شما کمی طولانی تر و دردناک تر خواهد شد!!!

Silverlight

یادگیری سیلورلایت برای برنامه نویسان دات نت بسیار راحت تر از سایر افراد است. به شما توصیه می کنم اگر قصد یادگیری سیلورلایت را دارید، ابتدا کمی در مورد معماری دات نت مطالعه کنید و سپس یکی از زبان های برنامه نویسی دات نت مثل سی شارپ یا VB را یاد بگیرید. نگران نباشید! نیازی نیست در این قسمت به یک حرفه ای تبدیل شوید. به طور معمول یک ماه کافیست تا شما تبدیل به یک برنامه نویس آماتور دات نت شوید.

خب حالا که یک برنامه نویس دات نت شدید! بهتر است آشنایی مختصری هم با مفاهیم زیر داشته باشید :

  • HTML : زبان نشانه گذاری صفحات وب. یادگیری HTML بسیار آسان تر از آن چیزی است که فکر می کنید.
  • JavaScript : حداقل مفاهیم پایه ای این زبان را یاد بگیرید.
  • DHTML : نیازی نست حرفه ای شوید، فقط مفاهیم آن را بدانید.
  • مفاهیم پایه برنامه نویسی (مثل دستورات شرطی، حلقه ها، رویدادگرایی و …)

موارد بالا را به راحتی می توانید با خواندن چند کتاب کوچک یا مقالات وب سایت های مختلف یاد بگیرید. شاید الان این سئوال برای شما پیش بیاید که «پس ASP.NET چی؟ نباید آن را یاد بگیریم؟». برای جواب به این سئوال موارد زیر به شما کمک خواهد کرد :

  • ASP.NET : تا وقتی نخواهید دو تکنولوژی سیلورلایت و ASP.NET را با هم ادغام کنید نیازی به آن ندارید. اما برای مبدل شدن به یک توسعه دهنده وب حرفه ای احتیاج زیادی به ASP.NET خواهید داشت.
  • XML : تا نیازی بهش پیدا نکنید، لازم نیست. اما یکی از نیازهای اساسی مبدل شدن به یک متخصص و حرفه ابست.

نکته مهم دیگر، یادگیری و استفاده از XAML است. XAML زبان نشانه گذاری سیلورلایت است و بسیار بسیار شبیه به XML. ولی من اعتقاد دارم که بدون یادگیری XML شما به راحتی XAML را بدون هیچ مشکلی یاد خواهید گرفت. برای یادگیری XAML می توانید از منابع آنلاین، فایل راهنمای آن یا کتاب های مختلف کمک بگیرید.

همان طور که قبلاً گفتم، برای یادگیری یک تکنولوژی جدید، مشاهده و یادگیری مثال های کاربردی و عملی بهترین گزینه اند. اگر از اینترنت پر سرعت بهره می برید، ویدئوهای آموزشی سیلورلایت را از دست ندهید.

وب سایت اختصاصی آموزش Silverlight

farasun.wordpress.com

Subcribe to Farasun feedمشترک فراسان شويد

farasun.wordpress.com

مطالب مرتبط :