تبليغاتX
برنامه نویسی دات نت
 
 
 
   
 
 

SQL Server Reporting Service چیست؟

آوریل 4, 2009 Masoud Ramezani 

در سال ۲۰۰۳ یک add-on به  SQL Server نسخه 2000 به عنوان یک سرویس گزارشگیری افزوده شد. این سرویس تا نسخه 2005 خیلی کاربردی نبود. از سال 2005 مایکروسافت سرمایه گذاری خوبی را در این زمینه که قبل از آن شرکتهایی در آن فعالیت میکردند آغاز کرد. اینگونه بود که از این مقطع زمانی به بعد مایکروسافت اقدامات خوبی را در این زمینه شروع کرد و آن را از حالت یک add-on خارج کرد.

نصب
زمانی که میخواهید نسخه های 2005 و 2008 از SQL Server را نصب کنید در یکی از مراحل باید Reporting Service را برای نصب انتخاب کنید. در ادامه باید تیک مربوط به Configure کردن خودکار Reporting Server را بزنید. اگر این گزینه را انتخاب نکنبد باید عملیات پیکربندی را به صورت دستی انجام دهید.

معماری SSRS
سه کامپوننت اصلی وجود دارد که با یکدیگر کار کرده و SSRS را به یک برنامه چندلایه واقعی تبدیل میکند. این سه عبارتند از :

 

  1. Client
  2. Report Server
  3. SQL Server Report Databases

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

در اینجا data source و SSRS databases ، ReportServer و ReportServerTempDB موجودیتهای مجزایی هستند. Data Source منبع و منشا اصلی داده ها برای پر کردن گزارشات است و Report Server Databases وظیفه ذخیره سازی اطلاعات مربوط به گزارشات را بر عهده دارند. هر دوی این دو میتوانند به صورت فیزیکی در یک SQL Server مشترک قرار گیرند، فزض کنید که data source یک پایگاه داده SQL Server است. Data source میتواند data provider های  مختلف مثل SQL Server، Oracle، LDAP و یا Analysis Service را پشتیبانی نماید. این امر ممکن است که شما یک سرور واحد را هم برای SSRS Report Server Web Service و هم برای Report Server Database پیکربندی کنید. اگر چه این کار توصیه نمیشود مگر اینکه تعداد کاربر شما کم باشد.

نصب SSRS دو پایگاه داده برای شما میسازد :
ReportServer : این پایگاه داده اصلی است که تمامی اطلاعات را از فایل RDL منتشر شده (published) در حود ذخیره میکند. همچنین مواردی چون خصوصیات گزارش (مانند data sourceها)، پارامترها  و فایلهای لاگ را در خود نگهداری میکند.

ReportServerTempDB : این پایگاه داده کپیهای cach شده گزارشات را برای بالا بردن کارایی به جهت استفاده همزمان کاربران در خود دارد. با این مکانیزم این اطمینان را داشته باشیم که حتی در صورت restart شدن سرور باز هم گزارشات در دسترس هستند.

 

SSRS Report Server
SSRS Report Server مهمترین نقش را در مدل SSRS ایفا میکند. در میانه کار کرده و برای هر درخواست از سمت client برای render کردن یک گزارش یا برای انجام یک درخواست مدیریتی مانند ساخت یک subscription مسیول است. شما متوانید یک report server را با توجه به عملیاتهای مختلف به چندین زیربخش تفکیک کنید :

  •  Programming interface
  •  Report processing
  •  Data processing
  •  Report rendering
  •  Report scheduling and delivery

SSRS Web Service Interface
رابط برنامه نویسی که به عنوان API های .NET Web Service و متدهای دسترسی URL ظاهر میشوند، تمامی درخواستهای ورودی از client ها را خواه درخواست گزارش باشد، خواه درخواست مدیریتی، اداره میکند.با توجه به نوع درخواست، رابط برنامه نویسی با دسترسی به پایگاه داده Report Server یا ارسال آن به کامپوننت دیگر برای پردازش اقدام میکند.

Report Processor
این کامپوننت مسیول تمامی درخواستهای گزارش است. مانند رابط برنامه نویسی، مستقیما به پایگاه داده ReportServer متصل میشود تا اطلاعات مربوط به تعریف گزارش را دریافت کند که این اطلاعات بعدا برای ترکیب با اطلاعات data source و ساخت گزارش به کار میرود.

Data Processing
SSRS چهار نوع الحاقیه برای اتصال به پایگاه داده حمایت میکند :

 

  1. SQL Server
  2. Oracle
  3. OLE DB
  4. ODBC

وقتی که این کامپوننت یک درخواست را Report Processor دریافت میکند، یک اتصال به data source میزند و آن را به query منبع ارسال میکند. داده بازگردانده شده و به Report Processor فرستاده میشود تا با تعریف گزارش ترکیب شود.

Report Rendering
این کامپوننت وظیفه render گزارش در فرمت مورد نظ را دارد. فرمتهای مورد حمایت عبارتند از :

  •     HTML
  •     PDF
  •     HTML با استفاده از کامپوننتهای وبی Office
  •     Excel
  •     CSV
  •     MHTML
  •     TIFF

برنامه های Client
SSRS شامل چندی برنامه است که از آن استفاده میکنند. این برنامه ها و ابزارها، مدیریت Report Server ، پیاده سازی امنیت و وظایف render کردن گزارش را برای مهیا میکنند. این ابزارها مانند زیرند :

•    Report Manager
 این یک برنامه browser base همراه با SSRS است که محیطی گرافیکی را برای کاربران مهیا میکند که توسط آن میتوانند گزارشات را ببینند یا چاپ کنند، یا اینکه گزارشات را برای بخشهای مختلف مدیریت کنند.

 

•    SQL Server Business Intelligence Development Studio (BIDS)
اگر شما روی سیستم خود Visual Studio نداشته باشید و SSRS را نصب کنید، خود SQL Server برای شما Visual Studio IDE را برای شما نصب میکند تا شما بتوانید به راحتی به طراحی و تست گزارشات خود بپردازید. این IDE را با نام  SQL Server Business Intelligence Development Studio نصب کرده و با انتخاب آن میتوانید به راحتی به آن دست یابید. البته باید بگویم برای ساخت گزارشات وجود این IDE الزامی نیست.

 

•    ابزارهای Command-line
شما میتوانید از چندین ابزار Command-line مانند rs ، rsconfig و RSKeyMgmt برای پیکربندی و مدیریت محیط SSRS استفاده نمایید.

•    Custom Clients

•    Reporting Services Configuration Manager
ابزاری برای پیکربندی به صورت گرافیکیست که از نسخه ۲۰۰۵ به بعد به وجود آمد.

 

انواع گزارشات و ساختار آنها

به طور کلی دو نوع گزارش در RS موجود است:

 

  1.     Client Report
  2.     Server Report

در Visual Studio 2005  به بعد کنترل جدیدی به آن افزوده شد با نام MicrosoftReportViewer که مخصوص نمایش گزارشات بود. گزارشات فایلهایی با پسوند rdl برای گزارش remote و rdlc برای گزارش  clientهستند که میتوانید آن را به پروژه خود بیفزایید. پس از افزودن آن چندین ابزار به شما برای ساخت گزارش داده خواهد شد. شما میتوانید با این ابزارها گزارش مورد نظر خود را بسازید.
RDL یک مدل بر مبنای XML است که هر عنصر گزارش  مانند قالب بندی، اطلاعات dataset، grouping و sorting، پارامترها و فیلترها را تعریف میکند. همانطور که شما آیتمی را اضافه میکنید، این ساختار دچار تغییرات میشود.
در IDE این ساختار از شما مخفیست ولی در صورت نیاز به تغییر کلی در گزارشات ، میتوانید از find and replace در این ساختار به صورت مستقیم استفاده نمایید. در VS 2005  و بعد از آن با زدن دکمه F7 در زمان کار با گزارش میتوانید این ساختار را ببینید. به تکه ای از این ساختار در یک گزارش توجه کنید :

 

 

در نسخه ۲۰۰۵ نه ابزار برای ساخت گزارش وجود داشت که در نسخه ۲۰۰۸ کمی تغییر کردند. لیست این ابزار در تصویر زیر آمده است:

 

هر گزارش شامل سه بخش ۱- Header  ۲- Body  ۳- Footer است که در هرکدام از برخی از این ابزار میتوان استفاده کرد. شما میتوانید از امکانات زیر در گزارشات استفاده نمایید که من فقط آنها را نام میبرم :

•    نوشتن expression برای اکثر اجزای گزارش مثلا امکان visibility و …
•    استفاده از توابع از قبل آماده در نوشتن expression
•    نوشتن expression با زبان VB (مثلا مد تغییر تاریخ)
•    استفاده از پارامترها برای نوشتن query پویا
•    استفاده از فایلهای اسمبلی (dll) : مثلا نوشتن تابعی با زبان c# و استفاده ازآن در گزارش
•    کنترل قوی روی اجزا گزارش
•    امکان قرار دادن sorting و filter بر اساس عناصر محتلف گزارش
•    امکان استفاده از گروه بندی های داده ای تودرتو
•    امکان استفاده از stored procedure و text query به عنوان dataset
•    امکان ساخت گزارشات تعاملی مثلا استفاده از زیرگزارشات
•    استفاده از چندین dataset به عنوان تامین کننده داده
•    امکان دادن به کاربر برای ساختن گزارشات دلخواه با استفاده از report model

 

 

تفاوتهای موجود بین دو نوع گزارش

ساختار گزارشات rdl و rdlc کاملا شبیه هم است ولی در نحوه اجرا و تامین داده با هم کم متفاوت هستند. تفاوتهای موجود را به ترتیب در زیر بیان میکنم :

۱- گزارشات server باید در یک پروژه از نوع report server project و در محیط BIDS افزوده شوند در صورتیکه گزارشات client در یک پروژه معمولی .NET اضافه میشوند.

۲- گزارشات server از یک query مستقیم که به صورت stored procedure یا text  است به عنوان تامین کننده داده استفاده میکنند در حالی که گزارشات client باید در کد مقداردهی شوند. مثلا داده مربوط به آنها میتواند توسط یک dataset یا یک xml data source تامین شود. در ضمن برای انجام این کار احتیاج به نوشتن مقداری کد مثلا در c# است.

۳-برای نمایش داده شدن گزارشات server کنترل MicrosoftReportViewer صرفا وظیفه نمایش گزارش در انتهای عملیات را دارد و تمام عملیات برای تهیه گزارش و render آن در report server انجام میشود. این در حالیست که برای نمایش گزارش client کنترل MicrosoftReportViewer نقش اساسی را انجام میدهد و عملیات render شدن گزارش در این کنترل انجام میشود.

۴-گزارشات client به نصب SSRS نیازی ندارند در حالیکه گزارشات server  بدون این کار قابل دسترسی نیستند.

۵- کنترل MicrosoftReportViewer در گزارشات client و در نسخه ۲۰۰۵ دارای دکمه چاپ نبودند ولی گزارشات server این مشکل را نداشتند. البته لازم به ذکر است این مشکل در نسخه ۲۰۰۸ حل شده است.

۶-گزارشات client نیازی به publish روی report server ندارند در حالیکه گزارشات server برای اجرا شدن حتما باید publish شوند.

نکته : من این نوشته را بر اساس نسخه ۲۰۰۵ نوشتم و باید بیان کنم که نسخه ۲۰۰۸ بهبودهای خوبی داشته است. البته اصول تغییری نکرده است.

 
 
 |    نوشته شده توسط محسن
 
 
   
 
 

برنامه چند لایه چیست؟

http://hamed.blogfa.com

 

 

N-Tier Application

برنامه چند لایه چیست؟

در معماری چند لایه تمام برنامه به چندین بخش تقسیم می شود. این بخش ها می توانند فیزیکی یا منطقی باشند. هر بخش کار خاصی را انجام می دهد مثلا نمایش اینترفیس کاربر یا دسترسی به داده ها. برنامه می تواند به هر تعداد لایه داشته باشد ولی به هر حال بیشتر برنامه ها سه لایه مجزا دارند که عبارتند از :
1- Presentation Layer
2- Business Logic Layer
3- Data Access Layer

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

در بیشتر موارد داده هایی که توسط کاربر وارد می شوند نیاز به اعتبارسنجی یا پردازش اضافی دارند. این مسوولیت لایه Business Logic است.

در نهایت داده های برنامه شما نیاز به ذخیره و بازیابی از طریق یک انبار داده دارند ( مثلا سیستم مدیریت دیتابیس های رابطه ای یا RDBMS و یا XML , .. ) این وظیفه توسط لایه دسترسی به داده انجام  می شود.

به طور خلاصه، فرآیند مورد نظر ما این گونه کار می کند:

- کاربر برای داده های برنامه درخواستی ارسال می کند.
- لایه Data Access داده های مورد نظر را بازیابی می کند و از طریق لایه Business Logic آن ها را به لایه نمایش می فرستد.بعضی مواقع لایه دسترسی به داده ها، این داده ها را مستقیما به لایه نمایش ارسال می کند.
- لایه نمایش اطلاعاتی که باید نمایش داده شوند را از طریق لایه Business Logic دریافت می کند.
- کاربر داده ها را تغییر می دهد و عمل مناسب در مورد آن ها را اجرا می کند ( مثل اضافه یا به روز کردن داده ها )
- لایه Business Logic صحت داده های وارد شده توسط کاربر را بررسی می کند ( داده ها را اعتبار سنجی می کند)
- اگر داده ها معتبر باشند آن ها را برای به روز رسانی در بانک اطلاعاتی به دست لایه دسترسی به داده می سپارد.

مزیت های برنامه های چند لایه

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

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

انتخاب های لایه Presentation

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

با استفاده از ویندوز فرم ها شما می توانید برنامه های دسکتاپ فرم محور ( form base ) معمول را بسازید. برنامه های ویندوز فرمی می توانند المان های رابط کاربری بسیار غنی به کاربر پیشنهاد کنند.آن ها کم و بیش شبیه به فرم های ویژوال بیسیک هستند.

جذاب ترین گزینه برای توسعه لایه نمایش استفاده از وب فرم های ASP.NET است. کنترل هایی مثل دیتاگرید، دیتالیست و تقویم ( Calendar ) یک رابط کاربری قدرتمند را با مقدار کمی کد فراهم  می کنند.

انتخاب هایی که در بالا برای ساخت یک لایه نمایش بررسی کردیم می توانند توسط زبان های مختلفی مثل سی شارپ  یا ویژوال بیسیک دات نت پیاده سازی شوند.

انتخاب های لایه Business Logic

لایه Business logic از چندین بخش که کارهایی نظیر اعتبار سنجی کار، گردش کار یا کارهای مشابه را انجام می دهند تشکیل شده است.

کامپوننت های دات نت این لایه را شکل می دهند. شما می توانید با interop از کامپوننت های COM استفاده کنید ولی این کار کارآیی را پایین خواهد آورد.

وب سرویس های ASP.NET هم می توانند به عنوان یک business logic  عمل کنند. اما به هر حال آن ها را نمی توان در همه شرایط به عنوان جایگزین کامپوننت ها به کار برد. وب سرویس ها تنها زمانی قابل استفاده خواهند بود که اعتبار سنجی در جایی بیرون از شبکه شما اتفاق افتاده باشد.

کامپوننت هایی که شما توسعه می دهید به ماندن روی ماشین های مشابه نیازی ندارند. با استفاده از .NET Remoting شما می توانید آن ها را روی چندین ماشین توزیع کنید.

انتخاب های لایه Data Access 

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

ADO.NET فناوری دسترسی به داده تحت دات نت است. اگر چه ADO.NET از طریق کلاس های DataReader اجازه دسترسی به داده های در هنگام اتصال را می دهد ولی بیشترین تمرکز روی دسترسی به داده ها در زمان متصل نبودن است. دیتاست نقش کلیدی را در این مورد بازی می کند. در بعضی موارد شما می توانید ADO را هم برای دسترسی به داده ها استفاده کنید ولی استفاده از آن باید دلیل معتبری داشته باشد. از ADO استفاده نکنید فقط به خاطر اینکه RecordSet ها را دوست دارید !

این جا هم کامپوننت های دات نت لایه را تشکیل می دهند. همان طور که قبلا گفته شد شما می توانید از کامپوننت های کلاسیک COM هم استفاده کنید.

همچنین وب سرویس ها هم می توانند لایه دسترسی به داده را شکل دهند. این مخصوصا زمانی درست است که دیتابیس شما فراهم کننده  ( provider )  داده ندارد. در این گونه موارد شما می توانید مقداری کد  برای اتصال به داده ها و پر کردن دیتاست ها و بازگرداندن نتایج درون دیتاست به درخواست کننده داده بنویسید.

علاوه بر ADO.NET شما می توانید از امکانات سیستم مدیریت دیتابیس خود مثل توابع و یا روال های ذخیره شده ( Stored Procedures ) استفاده کنید.

ارسال داده از یک لایه به لایه دیگر

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

برنامه چند لایه چیست؟

http://hamed.blogfa.com

 

 

N-Tier Application

برنامه چند لایه چیست؟

در معماری چند لایه تمام برنامه به چندین بخش تقسیم می شود. این بخش ها می توانند فیزیکی یا منطقی باشند. هر بخش کار خاصی را انجام می دهد مثلا نمایش اینترفیس کاربر یا دسترسی به داده ها. برنامه می تواند به هر تعداد لایه داشته باشد ولی به هر حال بیشتر برنامه ها سه لایه مجزا دارند که عبارتند از :
1- Presentation Layer
2- Business Logic Layer
3- Data Access Layer

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

در بیشتر موارد داده هایی که توسط کاربر وارد می شوند نیاز به اعتبارسنجی یا پردازش اضافی دارند. این مسوولیت لایه Business Logic است.

در نهایت داده های برنامه شما نیاز به ذخیره و بازیابی از طریق یک انبار داده دارند ( مثلا سیستم مدیریت دیتابیس های رابطه ای یا RDBMS و یا XML , .. ) این وظیفه توسط لایه دسترسی به داده انجام  می شود.

به طور خلاصه، فرآیند مورد نظر ما این گونه کار می کند:

- کاربر برای داده های برنامه درخواستی ارسال می کند.
- لایه Data Access داده های مورد نظر را بازیابی می کند و از طریق لایه Business Logic آن ها را به لایه نمایش می فرستد.بعضی مواقع لایه دسترسی به داده ها، این داده ها را مستقیما به لایه نمایش ارسال می کند.
- لایه نمایش اطلاعاتی که باید نمایش داده شوند را از طریق لایه Business Logic دریافت می کند.
- کاربر داده ها را تغییر می دهد و عمل مناسب در مورد آن ها را اجرا می کند ( مثل اضافه یا به روز کردن داده ها )
- لایه Business Logic صحت داده های وارد شده توسط کاربر را بررسی می کند ( داده ها را اعتبار سنجی می کند)
- اگر داده ها معتبر باشند آن ها را برای به روز رسانی در بانک اطلاعاتی به دست لایه دسترسی به داده می سپارد.

مزیت های برنامه های چند لایه

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

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

انتخاب های لایه Presentation

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

با استفاده از ویندوز فرم ها شما می توانید برنامه های دسکتاپ فرم محور ( form base ) معمول را بسازید. برنامه های ویندوز فرمی می توانند المان های رابط کاربری بسیار غنی به کاربر پیشنهاد کنند.آن ها کم و بیش شبیه به فرم های ویژوال بیسیک هستند.

جذاب ترین گزینه برای توسعه لایه نمایش استفاده از وب فرم های ASP.NET است. کنترل هایی مثل دیتاگرید، دیتالیست و تقویم ( Calendar ) یک رابط کاربری قدرتمند را با مقدار کمی کد فراهم  می کنند.

انتخاب هایی که در بالا برای ساخت یک لایه نمایش بررسی کردیم می توانند توسط زبان های مختلفی مثل سی شارپ  یا ویژوال بیسیک دات نت پیاده سازی شوند.

انتخاب های لایه Business Logic

لایه Business logic از چندین بخش که کارهایی نظیر اعتبار سنجی کار، گردش کار یا کارهای مشابه را انجام می دهند تشکیل شده است.

کامپوننت های دات نت این لایه را شکل می دهند. شما می توانید با interop از کامپوننت های COM استفاده کنید ولی این کار کارآیی را پایین خواهد آورد.

وب سرویس های ASP.NET هم می توانند به عنوان یک business logic  عمل کنند. اما به هر حال آن ها را نمی توان در همه شرایط به عنوان جایگزین کامپوننت ها به کار برد. وب سرویس ها تنها زمانی قابل استفاده خواهند بود که اعتبار سنجی در جایی بیرون از شبکه شما اتفاق افتاده باشد.

کامپوننت هایی که شما توسعه می دهید به ماندن روی ماشین های مشابه نیازی ندارند. با استفاده از .NET Remoting شما می توانید آن ها را روی چندین ماشین توزیع کنید.

انتخاب های لایه Data Access 

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

ADO.NET فناوری دسترسی به داده تحت دات نت است. اگر چه ADO.NET از طریق کلاس های DataReader اجازه دسترسی به داده های در هنگام اتصال را می دهد ولی بیشترین تمرکز روی دسترسی به داده ها در زمان متصل نبودن است. دیتاست نقش کلیدی را در این مورد بازی می کند. در بعضی موارد شما می توانید ADO را هم برای دسترسی به داده ها استفاده کنید ولی استفاده از آن باید دلیل معتبری داشته باشد. از ADO استفاده نکنید فقط به خاطر اینکه RecordSet ها را دوست دارید !

این جا هم کامپوننت های دات نت لایه را تشکیل می دهند. همان طور که قبلا گفته شد شما می توانید از کامپوننت های کلاسیک COM هم استفاده کنید.

همچنین وب سرویس ها هم می توانند لایه دسترسی به داده را شکل دهند. این مخصوصا زمانی درست است که دیتابیس شما فراهم کننده  ( provider )  داده ندارد. در این گونه موارد شما می توانید مقداری کد  برای اتصال به داده ها و پر کردن دیتاست ها و بازگرداندن نتایج درون دیتاست به درخواست کننده داده بنویسید.

علاوه بر ADO.NET شما می توانید از امکانات سیستم مدیریت دیتابیس خود مثل توابع و یا روال های ذخیره شده ( Stored Procedures ) استفاده کنید.

ارسال داده از یک لایه به لایه دیگر

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

برنامه چند لایه چیست؟

http://hamed.blogfa.com

 

 

N-Tier Application

برنامه چند لایه چیست؟

در معماری چند لایه تمام برنامه به چندین بخش تقسیم می شود. این بخش ها می توانند فیزیکی یا منطقی باشند. هر بخش کار خاصی را انجام می دهد مثلا نمایش اینترفیس کاربر یا دسترسی به داده ها. برنامه می تواند به هر تعداد لایه داشته باشد ولی به هر حال بیشتر برنامه ها سه لایه مجزا دارند که عبارتند از :
1- Presentation Layer
2- Business Logic Layer
3- Data Access Layer

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

در بیشتر موارد داده هایی که توسط کاربر وارد می شوند نیاز به اعتبارسنجی یا پردازش اضافی دارند. این مسوولیت لایه Business Logic است.

در نهایت داده های برنامه شما نیاز به ذخیره و بازیابی از طریق یک انبار داده دارند ( مثلا سیستم مدیریت دیتابیس های رابطه ای یا RDBMS و یا XML , .. ) این وظیفه توسط لایه دسترسی به داده انجام  می شود.

به طور خلاصه، فرآیند مورد نظر ما این گونه کار می کند:

- کاربر برای داده های برنامه درخواستی ارسال می کند.
- لایه Data Access داده های مورد نظر را بازیابی می کند و از طریق لایه Business Logic آن ها را به لایه نمایش می فرستد.بعضی مواقع لایه دسترسی به داده ها، این داده ها را مستقیما به لایه نمایش ارسال می کند.
- لایه نمایش اطلاعاتی که باید نمایش داده شوند را از طریق لایه Business Logic دریافت می کند.
- کاربر داده ها را تغییر می دهد و عمل مناسب در مورد آن ها را اجرا می کند ( مثل اضافه یا به روز کردن داده ها )
- لایه Business Logic صحت داده های وارد شده توسط کاربر را بررسی می کند ( داده ها را اعتبار سنجی می کند)
- اگر داده ها معتبر باشند آن ها را برای به روز رسانی در بانک اطلاعاتی به دست لایه دسترسی به داده می سپارد.

مزیت های برنامه های چند لایه

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

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

انتخاب های لایه Presentation

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

با استفاده از ویندوز فرم ها شما می توانید برنامه های دسکتاپ فرم محور ( form base ) معمول را بسازید. برنامه های ویندوز فرمی می توانند المان های رابط کاربری بسیار غنی به کاربر پیشنهاد کنند.آن ها کم و بیش شبیه به فرم های ویژوال بیسیک هستند.

جذاب ترین گزینه برای توسعه لایه نمایش استفاده از وب فرم های ASP.NET است. کنترل هایی مثل دیتاگرید، دیتالیست و تقویم ( Calendar ) یک رابط کاربری قدرتمند را با مقدار کمی کد فراهم  می کنند.

انتخاب هایی که در بالا برای ساخت یک لایه نمایش بررسی کردیم می توانند توسط زبان های مختلفی مثل سی شارپ  یا ویژوال بیسیک دات نت پیاده سازی شوند.

انتخاب های لایه Business Logic

لایه Business logic از چندین بخش که کارهایی نظیر اعتبار سنجی کار، گردش کار یا کارهای مشابه را انجام می دهند تشکیل شده است.

کامپوننت های دات نت این لایه را شکل می دهند. شما می توانید با interop از کامپوننت های COM استفاده کنید ولی این کار کارآیی را پایین خواهد آورد.

وب سرویس های ASP.NET هم می توانند به عنوان یک business logic  عمل کنند. اما به هر حال آن ها را نمی توان در همه شرایط به عنوان جایگزین کامپوننت ها به کار برد. وب سرویس ها تنها زمانی قابل استفاده خواهند بود که اعتبار سنجی در جایی بیرون از شبکه شما اتفاق افتاده باشد.

کامپوننت هایی که شما توسعه می دهید به ماندن روی ماشین های مشابه نیازی ندارند. با استفاده از .NET Remoting شما می توانید آن ها را روی چندین ماشین توزیع کنید.

انتخاب های لایه Data Access 

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

ADO.NET فناوری دسترسی به داده تحت دات نت است. اگر چه ADO.NET از طریق کلاس های DataReader اجازه دسترسی به داده های در هنگام اتصال را می دهد ولی بیشترین تمرکز روی دسترسی به داده ها در زمان متصل نبودن است. دیتاست نقش کلیدی را در این مورد بازی می کند. در بعضی موارد شما می توانید ADO را هم برای دسترسی به داده ها استفاده کنید ولی استفاده از آن باید دلیل معتبری داشته باشد. از ADO استفاده نکنید فقط به خاطر اینکه RecordSet ها را دوست دارید !

این جا هم کامپوننت های دات نت لایه را تشکیل می دهند. همان طور که قبلا گفته شد شما می توانید از کامپوننت های کلاسیک COM هم استفاده کنید.

همچنین وب سرویس ها هم می توانند لایه دسترسی به داده را شکل دهند. این مخصوصا زمانی درست است که دیتابیس شما فراهم کننده  ( provider )  داده ندارد. در این گونه موارد شما می توانید مقداری کد  برای اتصال به داده ها و پر کردن دیتاست ها و بازگرداندن نتایج درون دیتاست به درخواست کننده داده بنویسید.

علاوه بر ADO.NET شما می توانید از امکانات سیستم مدیریت دیتابیس خود مثل توابع و یا روال های ذخیره شده ( Stored Procedures ) استفاده کنید.

ارسال داده از یک لایه به لایه دیگر

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

 
 
 |    نوشته شده توسط محسن
 
 
   
 
 


انتقال اطلاعات روی خطوط قدرت پدیده جدیدی نیست . دهه های زیادی است که سیگنال های مخابراتی با اهداف کنترلی روی خطوط انتقال می یابند . این سیگنال ها معمولا در رنج فرکانس کیلوهرتز ( فرکانس های پائین ) کار می کنند و به همین دلیل ظرفیت انتقال نسبتاً کمی را ارائه می کنند . گاهی اوقات کمتر از یک کیلو بیت در هر ثانیه .

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

بر اساس تئوری شانون ، بزرگتر بودن ظرفیت انتقال اطلاعات معادل است با دسترسی به پهنای باند بیشتر.
اغلب پیشنهاد ها برای افزایش ظرفیت انتقال شبکه های PLC استفاده از فرکانس کاریری است که در رنج 1 تا 30 مگاهرتز کار کند. از آن جا فرکانس برق شهر در ایلات متحده 60 هرتز و در سایر کشورها 50 هرتز است ، دو نوع سیگنال خواهیم داشت و در نتیجه این مسئله خود یک محدودیت جدیدی محسوب می شود

تصویر زیر دیاگرام کلی یک سیستم PLC را نشان می دهد . به طور کلی در سیستم آمریکایی ( شبکه های توزیع ) برای توزیع برق به 10 مصرف کننده نهایی از یک ترانسفرمر توزیع استفاده می شود که این امر توانایی ایجاد و استفاده از شبکه های توزیع کوچکتر را فراهم میسازد . در مقابل در اروپا و آسیا ، اغلب ترانسفرمر های توزیع 100 تا 200 مصرف کننده نهایی را تغذیه می کنند .




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

طبق آنچه که ناکنون گفته شد ، عام ترین هدف سیستم های PLC ، روانه کرده سیگنال های PLC مابین یک جفت شبکه توزیع خواهد بود . اگر دیاگرام فوق را در نظر بگیرید در آن مصرف کننده نهایی از طریق یک مدم PLC به سوکت های برق خانگی متصل شده و در نتیجه نیازمند خریداری یک سری تجهیزات مقدماتی یا اصطلاحا CPE می باشد .
در مرحله بعد ، سیگنال های PLC مسیر شبکه ولتاژ ضعیف را به سوی ولتاژ متوسط می پیمایند تا به ایستگاه های جزء substation برسند . چنین طرحی را یک شبکه درختی میگویند که در آن تمامی مولفه های بالادست می توانند از سیگنال های جمع شده از سوی کاربران پائین دست خود استفاده کنند . بدین ترتیب فناوری PLC بر خلاف DSL یک سرویس اشتراکی میانی خواهد بود همانند سیستم های کابلی . می دانیم که DSL یک نوع ارتباط نقطه به نقطه را ارائه می کند که این خاصیت DSL باعث اقتصادی بودن آن نمی شود اما عملکرد و امنیت خوبی را ارائه می کند .

PLC بدلیل ویژگی هایش جایگزین دیگر شبکه های مخابراتی نمی شود ولی می توان از آن به عنوان یک روش دسترسی همانند DSL یا مدم کابلی استفاده کرد . طرح های مختلفی برای بخش توزیع PLC وجود دارد ، برای مثال .. برخی با قرار دادن اتصال Uplink قبل از ایستگاه و یا حتی در مرحله ترانسفرمر های توزیع این بخش را طراحی می کنند . طرح دیگری نیز از سوی Amperion ارائه شده که در آن بخش ولتاژ متوسط PLC برای انتقال سیگنال های جمع شده استفاده می شود . اما ارسال در فاصله " مایل آخر" تا مصرف کننده نهایی از طریق فناوری بیسیم - wireless - و با استاندارد 802.11 صورت می گیرد .
دلیل اصلی استفاده از WiFi بیسیم در میل پایانی مسیر ، ترانسفرماتور های الکتریکی است که میان بخش های ولتاژ متوسط و ضعیف شبکه توزیع واقع شده اند . این دستگاه ها همانند فیلتر پائین گذر عمل می کنند و در نتیجه مانع انتقال سیگنال های باند پهن ( مگاهرتز ) خواهند شد . راه حل هایی برای عبور سیگنالهای باند پهن از ترانسفورماتور ها ارائه شده است . برای مثال Main.Net پیشنهاد میکند به وسیله مکانیزم هایی همچون محدود سازی عمل کوپلینگ ، سیگنال به قدری تضعیف می شود که برای استفاده مفید نیازمند بازسازی می باشد ، اما بدی این روش پرهزینه بودن آن است .

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

 
 
 |    نوشته شده توسط محسن
 
 
   
 
  نویسنده: مهران شیخ الاسلامی

قسمت دوم : اولین پروژه

بعد از یک معرفی کلی درباره WF و قبل از ادامه آشنایی با جزئیات آن، ابتدا یک پروژه کوچک را با استفاده از WF ایجاد میکنیم تا با محیط برنامه نویسی WF در ویژوال استودیو آشنا شوید. پروژه ما نیز مانند بقیه زبانها که اولین پروژه خود را برای شروع ایجاد میکنند، پروژه Hello world معروف است. در این مثال و بقیه مثال ها که در ادامه می آیند، از زبان برنامه نویسی C# استفاده شده است.

برای ایجاد پروژه Hello world، یک گردش کار ترتیبی ایجاد و یک فعالیت استاندارد را به گردش کار اضافه میکنیم، در انتها نیز کد مورد نظر برای نمایش “Hello world” را اضافه میکنیم.

ایجاد پروژه گردش کار

پروژه های WF نیز به روش مشابهی مانند بقیه انواع پروژه ها در ویژوال استودیو ایجاد میشوند. بعد از اجرای Visual Studion آنگاه  File > New > Project را انتخاب میکنیم. یک پنجره ایجاد پروژه مانند شکل 1 نمایش داده میشود. بعد از انتخاب زبان C#، Workflow را به عنوان یک گروه از قالب های پروژه میبینیم. همانطور که در شکل 1 نشان داده شده است، چندین قالب پروژه در دسترس است. برای این مثال، باید Sequential workflow console application را انتخاب کنید. این موجب ایجاد برنامه در قالب کنسول میشود که از استفاده از WF پشتیبانی میکند. یک گردش کار ترتیبی (Sequential workflow) مدلی است که یک مجموعه از مراحل را که پشت سر هم تعریف شده اند، اجرا میکند.

حالا باید یک نام برای پروژه انتخاب کنیم(مثلا HelloWorldWF)، محل ایجاد پروژه را انتخاب سپس Ok میکنیم تا پروژه ایجاد شود.

شکل 1: پنجره ایجاد پروژه گردش کار جدید

بعد از ایجاد پروژه، پنجره Solution explorer فایل های اولیه را که به عنوان یک قسمت از پروژه ایجاد شده اند را نشان میدهد، که در شکل 2 نشان داده شده است. دقت کنید در شکل 2 پوشه References جهت نمایش ارجاعات اسمبلی برای پروژه نشان باز شده است. با انتخاب پروژه گردش کار به عنوان قالب، ارجاعات اسمبلی مورد نیاز برای استفاده از WF نیز اضافه میشود. اسمبلی های مرتبط با WF در زیر آمده است :

·         System.Workflow.Activities

·         System.Workflow.ComponentModel

·         System.Workflow.Runtime

با این اسمبلی ها کلاس های مرتبط با WF در تعدادی فضای نام (NameSpace) دسته بندی میشوند. قالب پروژه یک فایل Program.cs را نیز ایجاد کرده است. از آنجایی که این یک پروژه در محیط کنسول است، این فایل شامل متد Main مرتبط با پروژه است، که در قسمت های بعد کد تولید شده برای آن را نیز بررسی میکنیم.

شکل 2 پنجره Solution برای پروژه جدید گردش کار

معرفی محیط طراحی گردش کار (Workflow designer)

به همراه پروژه، یک فایل دیگر نیز به نام Workflow1.cs ایجاد شده است. این فایل شامل کد مشخص کننده گردش کار و همچنین محیط ویژوال طراحی گردش کار به عنوان ویرایشگر آن است. وقتی این فایل را باز کنید، چون زمانی است که پروژه ساخته شده است، نمای اولیه محیط طراحی باید شبیه شکل 3 باشد. محیط طراحی گردش کار، اصلی ترین محیطی است که شما برای تعریف گردش کار استفاده میکنید. همچنین میتوانید گردش کار را تماما در کد تعریف کنید. ولی یکی از بهترین ویژگی های WF محیط طراحی آن است، و استفاده از آن کارایی شما را در زمان تعریف گردش کار افزایش میدهد. محیط طراحی امکان کشیدن و انداختن (همان Drag & Drop) فعالیت (Activity) ها از جعبه ابزار ویژوال استودیو به محیط گردش کار را نیز میدهد.

 

استفاده از فعالیت های گردش کار (Workflow activities)

یک فعالیت (Activity) نمایش دهنده یک مرحله یا گام در گردش کار است و اساسی ترین جزء سازنده تمام گردش کار هاست. تمام فعالیت ها بطور مستقیم یا غیر مستقیم از کلاس پایه System.Workflow.ComponentModel.Activity مشتق شده اند. مایکروسافت یک سری از فعالیت های استاندارد را برای استفاده در اختیار قرار داده، ولی میتوانیم در صورت نیاز، فعالیت های سفارشی (Custom Activities) را نیز ایجاد کنیم.

شکل 3 نمای اولیه از محیط طراحی گردش کار

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

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

شکل 4 نمای جزیی از فعالیت های استاندارد

وارد کردن کد

برای این مثال، فقط باید یک فعالیت کد (CodeActivity) را به درون گردش کار بکشید. فعالیت کد ساده ترین راه برای اجرای هر کدی است که میخواهید به عنوان یک مرحله در گردش کار باشد. گردش کار شما حالا باید مشابه شکل 5 باشد.

شکل 5 گردش کار با یک فعالیت کد

به علامت تعجب در بالای فعالیت دقت کنید. این نشان دهنده وجود یک خطا یا بیشتر مرتبط با این فعالیت است. به عنوان مثال وقتی که فعالیت دارای ویژگی های لازم (Required properties) است که قرار داده نشده اند. (هر فعالیت دارای یک سری ویژگی است گه در زمان طراحی حتما باید قرار داده شوند) اگر روی علامت تعجب روی فعالیت کد کلیک کنید، خطایی مانند "Property ExecuteMode is not set" میبینید. برای رفع این خطا فعالیت را انتخاب و پنجره properties را انتخاب کنید. ویژگی های ممکن برای این فعالیت را میبینید.

شکل 6 پنجره ویژگی ها برای یک فعالیت

ExecuteCode در واقع یک رویداد عمومی (Public event) برای کلاس فعالیت کد است. این ویژگی نام یک اداره کننده رویداد را میخواهد. وقتی که فعالیت کد به عنوان قسمتی از گردش کار اجرا میشود، کدی که داخل این فعالیت قرار داده اید اجرا میشود.

نام codeActivity1_ExecuteCode را در مقدار وارد کرده و enter را بزنید. همچنین میتوانید بر روی فعالیت در محیط طراحی دو بار کلیک کرده تا برای این فعالیت یک اداره کننده (handler) را ایجاد کنید. پس از آن فایل workflow1.cs برای ویرایش باز میشود. در زیر کد موجود در این مرحله را میبینید.

using System;

using System.Workflow.Activities; 

namespace HelloWorldWF

{

    public sealed partial class Workflow1 : SequentialWorkflowActivity

    {

        public Workflow1()

        {

            InitializeComponent();

        }

   private void codeActivity1_ExecuteCode(object sender,

     EventArgs e)

        {

        }

    }

}

دقت کنید که کلاس Workflow1 از کلاس SequentialWorkflowActivities مشتق میشود. این کلاس پایه ای است که برای گردش کار های ترتیبی استفاده میشود. کلاس SequentialWorkflowActivity بطور غیر مستقیم از کلاس Activity مشتق شده، به این معنی که خود گردش کار در واقع یک نوع فعالیت است.

برای شروع، فقط به نمایش یک خط پیام بسنده میکنیم، بنابراین قطعه کد زیر را وارد میکنیم:

private void codeActivity1_ExecuteCode(object sender, EventArgs e)

        {

            Console.WriteLine("Hello");

        }

 
 
 |    نوشته شده توسط محسن
 
 
   
 
  نویسنده: مهران شیخ الاسلامی

قسمت اول : معرفی WF

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

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

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

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

زبان های برنامه نویسی عمومی مانند #C یا VB میتوانند برای حل مشکلات استفاده شوند. ولی مدل برنامه سازی گردش کار این اجازه را به ما میدهد که قوانین کار را با استفاده از اصطلاحات عمومی که در حوزه یک مسئله مشخص قرار دارد تعیین کنیم. متخصصان در آن حوزه کاری قادر به مشاهده گردش کار هستند و به سادگی آن را میفهمند.

به عنوان مثال، فرض کنید حوزه کاری شما بانکداری است، ممکن است از اصطلاحاتی مانند حساب، چک، مشتری و اعتبار استفاده کنید. ولی اگر مسئله درباره یک رستوران باشد، این موجودیت ها بی معنی خواهند بود. در عوض از اصطلاحاتی مانند منو، آدرس و شماره تلفن ها استفاده می کنیم.

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

اگر در حال توسعه برنامه های مبتنی بر انجام خطی یک سری فعالیت ها هستید، میتوانید از WF برای هماهنگ کردن قوانین کاری استفاده کنید. اگر برنامه شما از یک سری فعل و انفعالات انسانی تشکیل شده، می توانید برای اجرای منطقی که به آن فعالیت ها عکس العمل نشان دهد از ماشین حالت WF استفاده کنید. اگر واقعا به یک برنامه قابل سفارشی سازی نیاز دارید، برای جداسازی منطق کاری از گردش اجرا میتوانید از طبیعت اعلانی(نمایشی) گردش کاری WF استفاده کنید. این به شما اجازه سفارشی سازی گردش کنترل را بدون تاثیر در منطق کاری زیرین میدهد.

دلایل خوبی برای استفاده از WF وجود دارد، که در زیر تعدادی از آنها آمده است :

·         یک چارچوب قابل انعطاف و قدرتمند را برای توسعه گردش کار فراهم میکند.

·         یک روش قوی را برای توسعه برنامه هایتان ارائه میدهد. یک گردش کار بسیار شبیه گردش کار دیگر است. این پایداری در مدل برنامه سازی و ابزار بهره وری شما را به هنگام تولید برنامه های جدید و نگهداری از برنامه های موجود بالا میبرد.

·         از گردش کار های ترتیبی و ماشین حالت پشتیبانی میکند. گردش کار های ترتیبی عموما برای فعل و انفعالات سیستمی استفاده میشوند. گردش کار های ماشین حالت برای حل مسائلی که بر روی فعل و انفعالات انسان تمرکز دارند مناسب است.

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

يک سیستم گردش کاری کامل را ارائه میکند. علاوه بر خود گردش کار زمان اجرا، مایکروسافت همچنین یک مجموعه از فعالیت های مناسب، نگهداری گردش کار، نظارت و دنبال کردن گردش کار و یک محیط طراحی گردش کار را که با ویژوال استودیو ارائه شده است را فراهم کرده است.

 
 
 |    نوشته شده توسط محسن
 
 
   
 
 
ایمیل ملی جایگزین یاهومیل و جی‌میل می‌شود


از زمان طرح بحث ایمیل ملی، ابهاماتی نسبت به موفقیت‌آمیز بودن و یا کاربردی شدن این طرح مطرح شد؛ یکی از این موارد این بود در شرایطی که اکثر کاربران در بخش دولتی و یا غیردولتی ترجیح می‌دهند از سامانه‌ای مطمئن و قابل اعتماد و معتبر استفاده کنند، آیا درگاه خدمات الکترونیکی ایران به عنوان بستر ایمیل ملی، این قابلیت را داراست و یا اینکه به دلیل شناخته بودن یاهومیل یا جی‌میل اکثر کاربران به استفاده از این بستر برای تبادل پسا الکترونیک تمایل دارند؟

مدیر کل دفتر امور اجرایی
IT وزارت ارتباطات معتقد است که امنیت اطلاعات دولتی و سامانه‌ای درخور مدیران دولتی و دولت الکترونیکی کشور از جمله فواید پست الکترونیکی ایران است که تاکنون وزارت ارتباطات و فن‌آوری اطلاعات تلاش خود را در این زمینه انجام داده است.
مدیران ارشد کشور نیز معمولا از همین پست‌های الکترونیک استفاده می‌کنند که این امر در بخشنامه معاون اول رئیس ‌جمهور از نظر امنیتی و اعتبار کشور به صلاح دانسته نشده است. براساس بخشنامه دولت، تمام مدیران دولتی موظف شدند آدرس ایمیل خود را از طریق سامانه پست الکترونیک امن ملی
IRAN.IR دریافت کنند.
به گزارش خبرنگار ایسنا نمایندگان ویژه رئیس ‌جمهور در تاریخ 31 تیرماه 86 در اجرای تبصره 13 قانون بودجه سال 1386، معاونت فن‌آوری اطلاعات وزارتICT را مکلف به راه‌اندازی درگاه (پرتال) واحد دولت الکترونیک کردند و بر همین اساس بخشنامه‌ای از سوی معاون اول رئیس‌ جمهور مبنی بر ارائه خدمت پست الکترونیک توسط درگاه خدمات الکترونیکی ایران به مدیران دستگا‌ه‌های دولتی صادر شد و ظاهرا ارائه سرویس به عموم مردم در ابتدا در دستور کار نبود.

به گفته مسوولان سرویس پست الکترونیکی ایران از تاریخ 28 مهرماه سال 1386 به مدیران دولتی و افراد واجد شرایط ارایه شده و تا پایان اسفندماه 1386، در حدود 4500 کاربر در این سامانه تعریف شده‌اند، بر اساس بخشنامه‌ معاون اول رییس جمهور، درگاه (پورتال) خدمات الکترونیکی ایران به مدیران دستگاه‌های دولتی و افراد واجد شرایط که با خارج از سازمان خود مکاتبه دارند، خدمت پست الکترونیکی (
Email) ارائه کرد.

چندی پیش مدیر عامل شرکت فن‌آوری اطلاعات ایران با اشاره به ویژگی‌های صندوق پست الکترونیکی که توسط سامانه
iran.ir به کاربران ارائه می‌شود، گفته بود: در صورت استفاده کاربران از این سامانه، اطلاعات موجود در پست الکترونیکی آن‌ها به خارج از کشور منتقل نمی‌شود؛ این سامانه سه گیگا بایت فضا در اختیار کاربران قرار می‌دهد و دریافت و ارسال نامه از میل سرورهای دیگر نظیر یاهو و یا جی‌میل را دارد.

در حال حاضر امکان استفاده از صندوق پست الکترونیکی از طریق سامانه
iran.ir برای مدیران دستگاه‌های دولتی فراهم شده و متقاضیان می‌توانند با مراجعه به این سامانه نسبت به ایجاد صندوق پست الکترونیکی خود اقدام کنند؛ این موضوع را سعید مهدیون اعلام و اظهار امیدواری کرده بود که بر اساس برنامه‌ریزی‌های صورت گرفته، به زودی، امکان ارائه صندوق پست الکترونیکی امن به کاربران فراهم شود.

او با بیان اینکه به‌منظور استفاده کاربردی از پست الکترونیکی که از طریق سامانه
iran.ir ارائه می‌شود، این سیستم امن می‌شود، افزوده بود: ارایه صندوق پست الکترونیکی به کاربران عمومی به صورت آزمایشی در نمایشگاه تلکام امسال صورت گرفته و این سرویس به‌زودی به متقاضیان عمومی نیز ارایه خواهد شد.

مهدیون اظهار کرد: به همین منظور مذاکراتی با مرکز صدور گواهی دیجیتال (
CA) وزارت بازرگانی صورتگرفته است که در صورت اجرایی شدن این طرح، امکان افزودن امضای دیجیتالی به نامه‌های کاربران فراهم می‌شود و به واسطه آن امکان استفاده کاربردی‌تر از صندوق پست الکترونیکی فراهم خواهد شد. بر همین اساس امکان انجام کارهای تجاری و مالی از طریق یک محیط امن فراهم شده و توسعه تجارت الکترونیکی سرعت خواهد گرفت.

اما به گفته وزیر ارتباطات طبق پیش‌بینی‌ها برای برنامه پنجم توسعه در بحث زیرساخت‌ها آمادگی خواهیم داشت که همه‌ی دیتاسنترها و میزبانی سایت‌ها را به داخل کشور منتقل کنیم که ظاهرا اکنون بخشی از این کار آماده شده و تا سال دوم این برنامه کشور آمادگی دارد میزبانی همه‌ی سایت‌ها را در داخل کشور انجام دهد یعنی ما هیچ نیازی از نظر حجم حافظه به خارج از کشور نخواهیم داشت
 
 
 |    نوشته شده توسط محسن
 
 
   
 
 

منبع خبر آن لاین

همه چیز درمورد اینترنت‌اکسپلورر 9

دانش > فناوری اطلاعات  - مایکروسافت، با اعلام رسمی آغاز پروژه مرورگر اینترنت‌اکسپلورر 9 و داغ‌تر کردن رقابت مرورگرهای اینترنتی، نشان داد که می‌خواهد پیشگامی خود را در عرصه مرورگرها مجددا به دست آورد.

مجید جویا: اینترنت‌اکسپلورر شاید کماکان مرورگر برتر دنیای شبکه باقی مانده باشد، ولی از وقتی که مایکروسافت توانست در دهه 1990 / 1370، نت‌اسکیپ را از عرصه رقابت محو کند، هیچ گاه نشانی از یک فناوری برتر را به خود ندیده است.

این امر فرصت را در اختیار رقبای این شرکت قرار داد تا شکوفا شوند، به خصوص فایرفاکس بنیاد موزیلا که هم‌اکنون تقریبا یک‌چهارم کاربران دنیای اینترنت از آن استفاده می‌کنند، و البته سافاری اپل که اکنون علاوه بر سیستم عامل‌ OS X مکینتاش، بر روی ویندوز نیز به خوبی اجرا می‌شود. هم‌چنین کروم گوگل را نباید از یاد برد که در نظر دارد شبکه را سریع‌تر و تبدیل به بنیان بهتری برای کاربری‌ها کند!

با این وجود، مایکروسافت دوباره منابع مالی و پژوهشی خود را به سوی اینترنت‌اکسپلورر سرازیر کرده و در کنفرانس سازندگان متخصص این شرکت در لس‌آنجلس، بعضی از میوه‌های این آزمایشگاه را به نمایش درآورد. استیون سینوفسکی، رئیس قسمت ویندوز این شرکت، توانایی‌های متنی و گرافیکی شتاب‌گرفته سخت‌افزاری اینترنت‌اکسپلورر 9 را به نمایش گذاشت.

به گفته دین هاچامویچ، مدیر ارشد اینترنت‌اکسپلورر، ویژگی شتاب‌دهندگی با سخت‌افزار سبب شده که از توان‌های محاسباتی که تاکنون بی‌استفاده مانده بود، به روشی استفاده شود که از دیگر فناوری‌های تقویت مرورگرها مفیدتر باشد. برای مثال، کلاینت داخلی گوگل برای استفاده مستقیم از پردازنده کامپیوتر و WebGL موزیلا برای گرافیک سه‌بعدی شتاب یافته‌اند.

هاچامویچ در گفتگویی بعد از سخنرانی سینوفسکی گفت: «این، ارتقایی مستقیم برای استفاده همگانی از شبکه در مقیاس هر روزه است. تولیدکنندگان شبکه کاری را می‌کنند که پیش از این انجام داده بودند، تنها با این تفاوت که آنها اکنون می‌توانند مستقیما به سخت‌افزار گرافیکی کامپیوتر دسترسی داشته باشند تا کارهای متنی و گرافیکی خود را بهتر انجام دهند».

اما چرا مایکروسافتی‌ها تا این حد خود را به دردسر می‌اندازند؟ خلاصه بگوییم، برای این‌که تجارت ویندوز را زنده و رو به رشد نگاه دارند. هاچامویچ می‌گوید: «هدف ما در ساختن یک مرورگر بهتر برای مصرف‌کنندگان و برای همه، این است که آنها مصرف‌کنندگان ویندوز هستند. این دلیل اصلی این کار است».

او توضیح بیشتری در این مورد نداد، ولی باید توجه کرد که بخش رو به رشدی از تجارت مایکروسافت از طریق خدمات آنلاین آن مانند بینگ، ویندوز لایو و هم‌اینک آفیس 2010 است. هاچامویچ می‌گوید: «ما می‌خواهیم مرورگر بهتری بسازیم تا تمام سایت‌های اینترنتی بتوانند از تجربه بهتری بهره ببرند».

داغ کردن رقابت
به گفته سینوفسکی، مایکروسافت کار بر روی اینترنت‌اکسپلورر 9 را تنها سه هفته پیش آغاز کرده، ولی نشانه‌های کاملا آشکاری وجود دارد که شرکت دوباره به مرورگر خود علاقه‌مند شده است.

هنگامی که در اوایل سال جاری، اینترنت‌اکسپلورر 8 عرضه شد، ویژگی‌های خیره‌کننده امنیت و حریم خصوصی را با خود آورد، و در تغییر مسیر چشمگیری که تولیدکنندگان محتوای شبکه اهمیت آن را به خوبی درک می‌کنند، تلاش کرده است تا از استانداردهای متفاوت شبکه مانند HTML وCascading Style Sheets پیروی کند.

مدتی بعد از آن، مایکروسافت در ماه آگوست / مرداد به استانداردهای HTML پیوست و در اوایل ماه جاری، مایکروسافت بیش از ده نفر از اعضای گروه تولید اینترنت‌اکسپلورر را به جلسه کنسرسیوم شبکه جهانی وب (WWWC یا W3C) اعزام کرد.

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

این دیدگاه، مانند نغمه موسیقی برای گوش‌های برنامه‌نویسانی است که تلاش می‌کنند مطمئن شوند سایت‌هایی که می‌سازند، با تمام اعضای گروه رو به گسترش مرورگرها در شبکه سازگاری دارند.

شتاب سخت‌افزاری
سیستم شتاب‌دهندگی اینترنت‌اکسپلورر 9 با به کار گرفتن واسط Direct2D مایکروسافت به جای GDI (واسط تجهیز گرافیکی) کار می‌کند. واسط Direct2D یک راه دسترسی عمومی برای نرم‌افزارها فراهم می‌کند تا بتوانند از شتاب‌دهنده سخت‌افزاری کارت‌های گرافیک استفاده کنند و اینترنت‌اکسپلورر نیز از همین امکان بهره خواهد برد.

هاچامویچ که از این فناوری استفاده می‌کند، می‌گوید: «این سطح کاملا متفاوتی از عملکرد است، می‌توان آن‌را به تفاوت بین دیدن یک انیمیشن پیکسار یا بازی ایکس‌باکس در مقابل ویدیوهای یک کامپیوتر قدیمی تشبیه کرد».
دایرکت.تو.دی هم‌چنین از فناوری Sub Pixel Positioning استفاده می‌کند که می‌تواند متن را روی صفحه یکنواخت‌تر نمایش دهد. این کار خستگی چشم را کم خواهد کرد.

در یک ویدیوی تبلیغاتی برای فناوری Direct2D، مایکروسافت تاثیر شتاب‌دهندگی را روی یک وب‌سایت مبتنی بر نقشه نشان داد. کریستین فورتینی از تولیدکنندگان محصولات گرافیک مایکروسافت در این ویدیو می‌گوید که در حین حرکت روی تصویر به یک سو یا سوی دیگر، «نقشه به راحتی و همراه با حرکت موس جابجا می‌شود».

فناوری قدیمی با استفاده از 50 تا 60 درصد از توان پردازنده، تصویر با نرخ 5 تا 10 فریم در ثانیه به‌روز می‌کرد، درحالی‌که به ادعای هاچامویچ با استفاده از روش Direct2D، نرخ فریم‌ها به 40 تا 60 فریم در ثانیه افزایش و مصرف سی.پی.یو به شدت کاهش می‌یابد.

هاچامویچ رویکرد آتی مایکروسافت را همانند امروز، کاملا مناسب و سازگار با شبکه می‌داند. بر خلاف کلاینت داخلی و WebGL، این سیستم نیازی به مهارت‌های جدید برنامه‌نویسی برای طراحان محتوای شبکه ندارد.

هاچاموچ می‌گوید: «وب‌سایت‌ها نیازی به این ندارند که رفتار و کدگذاری خود را به شیوه متفاوتی تغییر دهند تا بتوانند از مزایای فناوری Direct2D بهره ببرند. با تعداد زیادی از فناوری‌های دیگر، این نیاز به حجم زیادی از کار و زمان خواهد داشت تا یاد بگیریم که چگونه یک کار را به شیوه‌ای متفاوت انجام دهیم. چنین چیزی الزاما یک نوع تعاملی و سازگار با دیگر انواع و استاندارد نخواهد بود؛ چنین محصولی فقط متعلق به یک فروشنده خاص خواهد بود. ما توانایی اجرای برنامه‌های تعاملی مانند سی.اس.اس را وارد سیستم خود می‌کنیم، چیزهایی که تولیدکنندگان از آنها استفاده می‌کنند و انتظار دارند که همه جا کار کنند و تلاش می‌کنیم آنها را بهتر کنیم».

او به این اشاره نکرد که آیا مایکروسافت بعضی از استانداردهای وب را برای گرافیک بهتر مانند کانواس پوشش می‌دهد یا نه، ولی او گفت که فناوری نمایش جدید تا حد وسیعی به هر فناوری گرافیکی که اینترنت‌اکسپلورر پوشش می‌دهد، کمک می‌کند. او می‌گوید: «هنگامی که ما بالای این زیرساخت فوق‌العاده پرقدرت گرافیک ایستادیم، تمام کاربری‌های گرافیکی که ما داریم نیز این را خواهند داشت».

و به رغم این‌که مایکروسافت مشخصا به آن اذعان نکرده، الیوت گراف، ویراستار فنی پیشروی اینترنت‌اکسپلورر در حال کمک کردن برای ویرایش واسط کانواس در گروه W3C است.

قسمت دردناک کار در استفاده از اینترنت‌اکسپلورر، پوشش کامل از تمام استانداردها است. در آزمایش Acid3، اینترنت‌اکسپلورر 8 تنها توانست 20 امتیاز از 100 امتیاز ممکن را کسب کند. اینترنت‌اکسپلورر 9 در حال حاضر به امتیاز 32 رسیده و این امتیاز همچنان در حال افزایش است! دست‌کم این ادعایی است که هاچامویچ در وبلاگ خود مطرح کرده است.

جاو ااسکریپت سریع‌تر
شتاب‌دادن یک وجه عملکردی است که مایکروسافت بر روی آن متمرکز شده است. دیگری اجرای جاوا اسکریپت است، زبان برنامه‌نویسی سان‌مایکروسیستمز که به طور گسترده‌ای در شبکه برای هر کاری استفاده می‌شود، از کارهای کوچک گرفته تا کاربری‌های کاملا آنلاین و پیچیده‌ای مانند جی‌میل و گوگل‌داکز.

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

مونتگومری می‌گوید: «ما این کارها را خیلی سریع‌تر از اینترنت‌اکسپلورر 8 انجام می‌دهیم. ما در اوایل فرایند تولید قرار داریم. هنوز چیزهای زیادی وجود دارند که می‌توانیم از این موتور جستجوگر بیرون بکشیم، ولی ما این کار را خیلیبهتر از آن‌چه تاکنون بود، انجام می‌دهیم».

ولی هاچامویچ یادآور می‌شود که جاوا اسکریپت تنها مشکل مرورگرها نیست. حتی به رغم این‌که این روزها موتورهای جاوا اسکریپت آن‌قدر اهمیت دارند که به نام‌های تجاری مانند V8 کروم، TraceMonkey فایرفاکس، نیتروی سافاری، فوتارک و کاراکان اپرا اعتبار ببخشند؛ مایکروسافت ترجیح می‌دهد که 9 وجه دیگر عملکرد مرورگر را نیز مد نظر قرار دهد.

هاچامویچ در وبلاگش، در مطلبی راجع به اینترنت‌اکسپلورر 9 نشان می‌دهد که چگونه گستره‌ای از کارها (دو سایت متفاوت خبری و دو کاربری مجزا در ویرایش آنلاین اکسل مایکروسافت) بخش‌های متفاوتی از این مرورگر را آزمایش می‌کنند.

او می‌گوید: «کاری که ما در مورد عملکرد انجام می‌دهیم شامل سیستم‌های زیادی در مرورگر می‌شود. با توجه به این‌که این موتورهای اسکریپت همگرا شده‌اند و تقریبا عملکرد مشابهی دارند، می‌توان فهمید که تمام زیرسیستم‌های دیگر از اهمیت بیشتری برخوردار می‌شوند. شما نیاز به این دارید که 9 بخش دیگر مرورگرها هم به خوبی کار کنند».

 
 
 |    نوشته شده توسط محسن
 
 
   
 
 

منبع:

اگر بخواهیم در یک textbox فقط عدد وارد شود

در رویداد control_keypres  کد زیر را وارد کنید

if (!char.IsNumber(e.KeyChar))

            {

                e.Handled = true;

                MessageBox.Show("insert Number","Error",MessageBoxButtons.OK,MessageBoxIcon.Error);

            }

 

 
 
 |    نوشته شده توسط محسن
 
 
   
 
 

طریقه بدست آوردن میزان کارکرد(روشن بودن) سیستم (به دقیقه)

string tic = string.Empty;

tic = Convert.ToString((Environment.TickCount / 1000)/60))

 
 
 |    نوشته شده توسط محسن
 
 
   
 
  برای درک معماری دات نت می توانید از کتاب زیر ترجمه ی مهندس سیاوش مرتضوی استفاده کنید.

Microsoft .NET Framwork 2.0 Aplication Development Foundation

این کتاب مرجع کاملی برای آزمون های دات نت ماکروسافت و مدرک MCTS می باشد

 
 
 |    نوشته شده توسط محسن
 
 
   
 
 
 

اشاره :
ماژول حافظه DDR3 در طراحي و اصول کار تفاوت زيادي با حافظه DDR نسل پيشين ندارد.


چه چيزي درDDR3 SDRAM جديد است؟

تکنولوژي ماژول‌هاي حافظه DDR3 بر دو برابر کردن پهناي گذرگاه ورودي اطلاعات از هسته DRAM واقعي به بافرهاي ورودي خروجي به نسبت حافظه‌هاي DDR2 بنا گرديده است در نتيجه افزايش مؤثر ميزان انتقال اطلاعات توسط ماژول‌هاي حافظه DDR3 نياز به عمل سريع‌تر هسته حافظه ندارد و فقط بافرهاي خارجي سريع‌تر کار خواهند کرد.


شكل 1‌

بنابراين، حافظه DDR3 مي‌تواند خيلي سريع به فرکانس‌هاي واقعي بالاتري نسبت به ماژول حافظه DDR2 بدون ايجاد هيچگونه تغيير يا بهبود در فرآيند ساخت قطعات نيمه‌ هادي برسد.
در اين نوع حافظه متأسفانه نه تنها پهناي باند بلکه ميزان تأخير حافظه نيز افزايش مي‌يابد در نتيجه، ما نبايد هميشه انتظار داشته باشيم که حافظه DDR3 با وجود فرکانس بالاتر سريع‌تر از حافظه DDR2 کار کند.
آخرين مشخصات ارائه داده شده براي ماژول حافظه DDR3  توسط تکنولوژي JEDEC ، اخيرا تغييرات فرکانس حافظه را از 800MHz تا 1600MHz شرح مي‌دهد. جدول 1 خصوصيات مهم تغييرات فرکانس حافظه را نشان مي دهد:


جدول 1: خصوصيات مهم تغييرات فرکانس در حافظه DDR3

با علم به اينکه ميزان تاخير ماژول حافظه DDR2- 800 با تايمينگ 4-4-4 مساوي با 10ns مي‌باشد، اين موقع ما مي‌توانيم کارايي ماژول حافظه DDR3 را مورد سئوال قرار دهيم.
حافظه DDR3 در تأخير بالا فقط مي تواند با داشتن پهناي باند بيشتر کارايي بالاتري داشته باشد.
متأسفانه حرکت بسوي ماژول حافظه DDR3 تا اندازه‌اي تحميلي است.
 DDR2 تا حد امکان فرکانس خود را مورد استفاده قرار داده است اگرچه ما هنوز مي توانيم با يک سري کارها فرکانس ماژول حافظه‌هاي DDR2 را تا1066MHz افزايش دهيم، اين افزايش فرکانس، توليد محصولات را بطور چشمگيري کاهش مي‌دهد و در نتيجه باعث افزايش قيمت ماژول‌هاي DDR2 مي شود.
به همين دليل تکنولوژي JEDEC ، کار کرد ماژول حافظه DDR2 را با فرکانس بالاتر از 800MHz استاندارد نمي‌داند و حرکت بسوي تکنولوژي DDR3 را پشتيباني مي کند.
به هرحال، ماژول حافظه DDR3 داراي پيشرفت‌هاي ديگري نيز مي‌باشد که نه نتها توليد کنندگان بلکه کاربران را نيز تشويق مي‌کند تا ذهن خود را با تکنولوژي جديد مطابقت دهند. در ميان اين امتيازات ما اول از همه مايليم که به ولتاژ پايين  ماژول حافظه DDR3 اشاره کنيم که در اين نوع ماژول تا 1.5V کاهش يافته است.
اين ولتاژ در مقايسه با کار حافظه DDR2 در سرعت‌هاي کلاک يکسان 20 % پايين‌تر مي‌باشد و سرانجام اين ولتاژ تا 30 % نيز کاهش خواهد يافت. تکنولوژي‌هاي ساخت تراشه‌هاي حافظه نيز به اين تأثير مثبت کمک مي کنند.


شكل 2

با اين اوصاف مي پردازيم به برترين برند در ارائه حافظه براي کاربران حرفه‌اي ، تا ببينيم در زمينه تکنولوژي DDR3 به چه نتايجي دست يافته است:

اخيرا OCZ حافظه‌هاي DDR3 خود را با باس 1800 مگاهرتز در سري Titanium به بازار عرضه نموده است . اين حافظه‌ها که مبتني بر چيپ‌هاي حافظه Micron Z9 مي‌باشند در تست‌هاي مختلف بالاترين راندمان را نسبت به کليه حافظه‌هاي موجود در بازار رايانه از خود نشان مي‌دهند .
 OCZ که در عرضه حافظه‌هاي DDR2 همواره پيشتاز بوده و قوي‌ترين حافظه‌هاي DDR2 را (FLEX XLC ) توليد نموده است که با قابليت Overclocking بسيار بالا بالاترين راندمان را به کاربران حرفه اي ارايه مي داده است ، اکنون نشان مي‌هد که در توليد حافظه‌هاي DDR3 نيز از پيشتازان است . يکي ازآزمايشگاه‌ايي که اين حافظه را مورد بررسي و تست قرار داده است ، Anandtech مي‌باشد . در سايت اينترنتي اين آزمايشگاه ، پس از ارايه توصيفي از شرکت OCZ ، نتايج مقايسه اين حافظه DDR3 1800Mhz با ساير حافظه‌هاي موجود آورده شده است . در شكل 3 يکي از اين نمودارهاي مقايسه‌اي مشاهده مي‌شود . 


شکل 3

همانطور که اشاره شد اين حافظه در سري Titanium ارايه شده است . علاقمندان قدرت در رايانه منتظر ارايه حافظه‌هاي DDR3 Flex باشند . با قدرتي که از حافظه‌هاي DDR2 Flex سراغ داريم ، اين حافظه در سري DDR3  غوغا خواهد کرد .

 
 
 |    نوشته شده توسط محسن
 
 
   
 
 
وب2 چيست؟

اشاره :
تا سال 2001 ، وب به صورت انفجاري رشد پيدا کرده بود و کارشناسان و خبرگان فن پيش‌بيني مي‌کردند که سايت‌ها و جاذبه‌هاي اينترنت نتوانند با همان توان به جذب مخاطب و کاربر ادامه دهند و دير يا زود از شتاب اين رشد کاسته خواهد شد. در اجلاسي که ناشر بزرگ کتاب‌هاي کامپيوتري ، O’Reilly Media Inc هم يکي از اعضاي آن بود ، براي اولين بار معاون اين شرکت به نام Dale Dougherty ، عنوان کرد که وب رو به افول نيست و سايت‌ها و سرويس‌هاي جذابي در حال شکل گرفتن هستند که جاي سايت‌ها و رسانه‌ها سنتي‌تر اينترنتي را خواهند گرفت ، وي از واژه «وب2» براي نخستين بار جهت نام‌گذاري مجموعه اين سايت‌ها و سرويس‌هاي اينترنتي استفاده کرد. از آن زمان تا به کنون ، واژه «وب2» يکي از تکيه ‌کلام‌هاي سايت‌هايي شده که به فن‌آوري اطلاعات مي‌پردازند ، حتي بعضي از سايت‌ها و وبلاگ‌هاي برجسته آي‌تي ، صرفا به معرفي سايت‌هاي اصطلاحا وب دويي اقدام مي‌کنند.


وب2 چيست؟
اما وب2 چيست و وقتي سايتي را وب دويي مي‌ناميم ، منظورمان کدام ويژگي‌ها و خصايص سايت است؟
شايد نگاهي به جدول 1 ، بتواند شما را تا حدي با مفهوم کلي وب2 آشنا کند:

                                                  جدول 1

وب2 به عنوان يک پلتفرم
مانند بسياري از مفاهيم ديگر ، وب2 يک گستره يا طيف است. به عبارت ديگر مي‌توان مجموعه‌اي از اصول و ويژگي‌ها را براي وب2 تعريف کرد و بعد بر حسب اينکه کدام سايت‌ها از همگي يا تعدادي از اين اصول پيروي کنند ، آنها را وب دويي دانست.

                              شکل 1 : لوگوي بعضي سايت‌هاي وب2

• نت اسكيپ در مقابل گوگل :
اگر نت‌اسكيپ را نماد وب1 بدانيم ، بي‌شک مي‌توان گوگل را نماد شاخص وب2 دانست. محصول اصلي شرکت نت‌اسکيپ يک نرم‌افزار مرورگر بود و اين شرکت قصد داشت با استفاده از محبوبيت اين مرورگر ، مقدمات فروش محصولات مربوط به سرورهاي پربها را فراهم نمايد. در مقابل شرکت گوگل از روز اول روي برنامه‌هاي تحت وب فعاليت مي‌کرد. محصولات اين شرکت به صورت بسته‌هاي نرم افزاري فروخته نمي‌شوند ،بلکه به صورت سرويس‌هاي آنلاين ارائه مي‌شوند ، محصولاتي که مشتريان به صورت مستقيم يا غيرمستقيم به آن پول مي‌دهند. در واقع گوگل مجموعه اي از بسته‌هاي نرم‌افزاري نيست ، بلکه يک پايگاه داده تخصصي است.

سايت DoubleClick در مقابل Overture و AdSense  :
علت اصلي موفقيت Overture و آگهي‌هاي متني گوگل را بايد در ديد و برداشت اين دو شرکت دانست. در حالي که «DoubleClick» باور داشت آگهي‌‌دهندگان صاحب اختيارند، نه مصرف‌كنندگان ، اين دو شرکت اعتقاد دارند که وب مشارکت است و نه انتشار.
استفاده از خدمات سايت DoubleClick نياز به ‌امضاي يك قرارداد رسمي دارد كه موجب محدود‌شدن بازار ‌اين شركت به‌ صرفا چند هزار سايت بزرگ شده است. Overture و گوگل دريافته‌اند كه چگونه مي‌‌توان تبليغات را تقريبا روي هر صفحه اينترنتي قرار داد. از آن مهم‌تر، اين شركت‌ها‌ فرمت‌هاي تبليغاتي مورد علاقه ناشران و آژانس‌هاي تبليغاتي، مثل بنر و آگهي‌هاي Pop-up را كنار گذاشتند و به‌جاي آن از تبليغات متني استفاده مي‌‌كنند كه آزاردهنده نيستند، به ‌محتواي صفحه حساسند و بيشتر با توجه بازديدکنندگان همراه هستند.
جاي شگفتي نيست که سرويس‌هاي اينترنتي موفق ديگر هم رفتاري مشابه از خود نشان مي‌دهند ، eBay معاملات کوچک چند دلاري را بين افراد مختلف ممکن مي‌سازد و نپستر هم با تبديل سيستم هر کاربر به يک سرور کوچک ، مبادله فايل‌هاي صوتي را امکانپذير مي‌کرد.

Akamai در مقايسه با BitTorrent :
Akamai براي بهتر كردن خدمات خود بايد تعداد سرورهايش را افزايش دهد ولي BitTorrent مانند ساير سرويس‌هاي مبادله پاياپاي داده P2P ، قصد تمرکز زدايي از وب را دارد.اين سرويس هر كلاينت را مبدل به يک سرور مي‌کند.فايل‌ها به‌ قطعات كوچكي تقسيم مي‌‌شوند كه از چندين محل ارسال مي‌‌شوند و به‌اين‌ترتيب يک شبكه از سيستم‌هاي داراي فايل براي ساير كاربران پهناي باند و داده فراهم‌مي‌كند. به اين ترتيب هرچه يک فايل پرطرفدارتر باشد، سرعت انتشار آن بيشتر خواهد شد ، چون كاربران بيشتري پهناي باند آن را فراهم مي‌کنند.
هرچه تعداد كاربران يك سرويس بيشتر باشد، كيفيت آن بهتر خواهد شد ، اين يکي از اصول اساسي وب2 است.

استفاده از خرد جمعي و ويکي‌ها:
سرويس‌هاي شاخص وب 1 مانند ياهو بيشتر به دنبال پديد آوردن دايرکتوري‌ها و پورتال‌هاي اينترنتي بودند ، اين دايرکتوري‌ها و پورتال‌ها با استفاده از دانش و سليقه گروه بسيار محدودي از مديران ، صفحات را ارزشيابي مي‌کردند و به آنها لينک مي‌دادند.
اما در وب2 ، همگان به پردازش اطلاعات مي‌پردازند. در سايت eBay هزاران کاربر در مورد کيفيت محصولات ابراز نظر مي‌کنند؛سرويس‌هاي و ابزارهاي متنوعي به همگي امکان مي‌دهند ، صفحات و فايل‌هاي چند رسانه‌اي را برچسب‌گذاري کنند.
يکي از شاخص‌ترين سايت‌هاي وب2 ، wikipedia ، همه کاربرانش را مبدل به نويسندگان بزرگ‌ترين دانشنامه آنلاين جهان کرده است.

            شکل 2 : سايت دانشنامه آنلاين Wikipedia يكي از نمونه‌هاي وب2

وبلاگ‌نويسي و خرد توده‌ها:
وبلاگ‌ها و سرويس‌هايي که وبلاگ‌نويسي را آسان مي‌کنند ، بي‌شک يکي از مظاهر وب2 هستند. اما وبلاگ‌ها چه تفاوتي با سايت‌هاي قديمي شخصي دارند که در آنها هم ممکن بود نوشته‌هاي شخصي را بخوانيم؟تفاوت را بيشتر مي‌توان در چند چيز خلاصه کرد:
توالي زماني عرضه نوشته‌ها يکي از تفاوت‌هاي موجود است. به علاوه امکان تعامل خوانندگان و بازديدکنندگان وبلاگ‌ها را با صاحب وبلاگ و نوشته‌هايش را مي‌توان تحولي ديگر فرض کرد. اين تعامل از راه‌هاي مختلفي مانند گذاشتن کامنت و Trackback صورت مي‌گيرد.
وبلاگستان يک جريان دائمي و سيال افکار است. وبلاگ‌نويس‌ها علاوه بر اينکه توليدکننده محتوي هستند يک گروه بزرگ پردازش‌کننده اطلاعات وب هم محسوب مي‌شوند،آنها به عنوان گروهي که بيشتر از ساير مردم وب را رصد مي‌کنند ، با دادن لينک چه به صورت ساده در وبلاگ‌هايشان و چه در سرويس‌هاي لينک‌دهي جمعي و برچسب‌گذاري روي صفحه‌هاي وب ، صفحات وب را ارزشيابي کنند.

Feed وRSS :
feed وسيله‌اي براي انتشار همزمان و ساده اطلاعات است. از طريق آن کاربران مي‌تواند به جاي مشاهده و مراجعه ساده به صفحات اينترنتي ، مشترک آنها شوند و به محض به روز‌رساني يک صفحه ، از آخرين تغييرات آن آگاه شوند. در حال حاضر برنامه‌هاي آنلاين و دسک‌تاپ زيادي براي مطالعه فيدها وجود دارد.

مشارکت همگان در توليد محتوا :
اين روزها در وب کمتر از صحبت مالکيت ديتا مي‌شود. ديگر ، توليدکننده‌هاي انواع محتوا ، از متن و عکس گرفته تا ويدئو ، به چند سايت بزرگ با توانايي مالي زياد محدود نمي‌شود. هر کسي مي‌تواند به راحتي با استفاده از يکي از سايت‌هاي رايگان همچون flickr، Youtube ، wikipedia ، odeo ، سرويس‌هاي متنوع وبلاگ‌نويسي ، يک توليدکننده محتوا باشد.

سايبر ژورناليست ، اصطلاحي است که به تعدادي از همين توليدکنندگان محتوا اطلاق مي‌شود. کساني که در مورد پديده‌هاي مختلف از امورات شخصي و اجتماعي گرفته تا ورزش و سياست و فن‌آوري ابراز نظر مي‌کنند ، آن هم به صورت چندرسانه‌اي. رفته ‌رفته آنها نه تنها تبديل به همکاراني براي روزنامه‌نگاران عادي و کاغذي شده‌اند ، بلکه وارد يک ميدان رقابت با آنها مي‌شوند.

رفع محدوديت سخت‌افزاري:
وب2 ، ديگر صرفا وسيله‌اي براي اتصال کامپيوترهاي شخصي به هم نيست ، وب2 مي‌کوشد همه اسباب و لوازم الکترونيکي را به هم متصل کند. iPodها ، گوشي‌هاي موبايل ، تلويزيون‌هاي اينترنتي و دوربين‌هاي ديجيتالي همه و همه در دنياي وب2 مي‌توانند بدون واسطه با اينترنت ارتباط برقرار کنند ، داده بگيرند و خود بر غناي محتواي آن بيفزايند.

وب2 و رسانه‌هاي سنتي:
بي‌ترديد رسانه‌هاي سنتي با رواج وب2 ، راهي جز همراهي با آن و شاخصه‌هايش را ندارند. چنين همراهي و هماهنگ‌سازي را مي‌توانيد اين روزها در سايت روزنامه‌ها و خبرگزاري‌هاي بزرگ جهان ببينيد.وبلاگ‌هاي شخصي در کنار مطالب اصلي روزنامه‌ها ، استفاده از فن‌آوري Feed ، مهيا کردن امکاناتي براي آسان کردن ارسال مطالب به سايت‌هاي لينک‌دهي جمعي و قسمت نظرخواهي ، همگي جلوه‌هايي از همراهي رسانه هاي سنتي با وب2 هستند.
به عبارت ديگر رسانه‌هاي سنتي دريافته‌اند که در صورت عدم همراهي با جريان گسترده وب2 با حجم بالاي محتواسازي و پردازش اطلاعات ، امکان رقابت و هماوردي با آنها را ندارند.

سخن پاياني:
گرچه معيارها و مثال‌هاي زيادي در اين نوشته براي تعريف وب و تمايز آن با نسخه قبلي وب ، زده شد. اما وب2 را مي‌توان تنها در يک کلمه خلاصه کرد : مشارکت!
مشارکت همگان در توليد ، ارائه و پردازش اطلاعات. در واقع همه سرويس‌ها و برنامه‌هاي آنلاين تنها ظرفي براي اين مشارکت فراهم مي‌آورند.

 
 
 |    نوشته شده توسط محسن
 
 
   
 
 

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

foreach (string portName in System.IO.Ports.SerialPort.GetPortName())

{

                                    }                 System.Windows.Forms.MessageBox.Show(portName);

 

 
 
 |    نوشته شده توسط محسن
 
 
   
 
 
آشنایی با خطای سخت افزاری سیستم

یکی از اصلی ترین عملیات کامپیوتر در هنگام روشن شدن عملیات POST یا Power On Self Test میباشد. که تمامی نرم افزارها و قطعات سخت افزاری لازم برای بوت سیستم را تست کرده و آماده به کار میکند و در واقع کامپیوتر شما بعد از فشردن کلید Pwoer توسط شما، در ابتدا تمامی فرمانها را از بایوس کامپیوتر دریافت می کند. از اینرو بایوس وظیفه دارد که مشکلات سخت افزاری را به شما گوشزد کند. همه بایوس ها در هنگام درست بوت شدن سیستم یک بوق کوتاه در شروع کارد میزنند که این بوق به معنی درست و کامل کار کردن تمامی نرمافزارها و سخت افزارهای اصلی سیستم است، اما گاهی نیز اتفاق می افتد که یک یا چندی از برنامه ها یا قطعات معیوب شده یا به عللی از انجام وظیفه باز می مانند، اینجاست که بایوس با تنها راه ارتباطی مستقیم با کاربر ( بوق ) شما را آگاه می سازد. کدهای بوقی بایوس AWARD : بایوس آوارد عمدتا به پیامهای خطا برای آگاه کردن کاربران از وجود مسئله اتکا دارد، اما چند کد بوقی مشهور وجود دارد که این تراشه بایوس تولید میکند: تعداد بوقها در عملیات Post مفهوم بوق نا محدود (تکرار شوند) خطای حافظه سیستم یک بوق بلند پس از دو بوق کوتاه خطای کارت گرافیک یک بوق باند پس از سه بوق کوتاه خطای گرافیک یا حفظه گرافیک بوقهای با ارتفاع بالای نا محدود (تکرار شونده) خطای داغ شدن پردازنده بوقهای با ارتفاع بالا ،با ارتفاع پایین ( تکرار شونده) خطای پرازنده کدهای بوقی بایوس AMIBIOS : بایوس AMIBIOS محصول شرکت American Megatrends یکی از بایوسهای متداول است و آخرین نگارش تعدادی کد بوقی دارد که اشکالات زمان بوت شدن را به کاربران می گوید: تعدا بو قها در زمان راه اندازی (پیش از POST) مفهوم بوقها 1 دیسکت را در دیسکران A: قرار دهید 2 فایل AMIBOOT.ROM بر روی دیسکت بوت شدنی نیست 3 خطای حافظه سیستمی 4 عملیات روز آمد سازی بایوس موفقیت آمیز بوده است 5 خطای خواندن دیسک 6 خرابی فرمان صفحه کلید 7 حافظه فلش بایوس تشخیص داده نشده است 8 خرابی کنترل کننده دیسکت ران 9 خطای مجموع بررسی (checksum) بایوس 10 خطای پاک کردن حافظه فلش 11 خطای برنامه سازی حافظه فلش 12 اندازه فایل AMIBOOT.ROM درست نیست ( یا حضور ویروس) 13 نا همسانی تصویر BIOS ( فایل ROM دقیقا همان نسخه درون بایوس نیست) تعداد بوقها در زمان POST 1 خطای Timer احیای حافظه سیستم 2 خطای پریتی حافظه سیستم 3 خطای آزمایش خواندن / نوشتن حافظه سیستم 4 زمان دار تخته مدار مادر کار نمیکند 5 خطای پردازنده 6 کامپیوتر نمی تواند به حافظه حالت حفاظت شده برود 7 خطای استثنای عمومی (مربوط به پردازنده) 8 خطای حافظه نمایش ( مربوط به کارت ویدئویی) 9 خطای مجموع بررسی AMIBIOS ROM 10 خطای خواندن / نوشتن رجیستر CMOS 11 اشکال آزمایش حافظه نهانگاهی (cache) نکته : اگر موقع عملیات POST یک ، دو یا سه بوق بشنوید، تعویض کارتهای RAM را در نظر بگیرید یا دست کم آنها را بررسی کنید تا اطمینان یابید که درست نصب شده اند. اگر در عملیات POST هشت بوق بشنوید اطمینان یابید که کارت ویدئویی درست نصب شده است، ممکن است لازم باشد که آن را عوض کنید. اگر موقع عملیات POST تعداد بوقها با آنچه گفته شد متفاوت بود ( چهار تا هفت یا 9 تا یازده بوق)، ممکن است یک مسئله جدی در تخته مدار مادر یا قطعات دیگر وجود داشته باشد، کامپیوتر را به یک تعمیرگاه تخصصی ببرید.

 
 
 |    نوشته شده توسط محسن
 
 
   
 
 

دستورات Run :

ترفند های ویندوز XP ،دستورات زیر را می توانید در منوی Run Box و بهتر است در cmd اجرا شوند.

Driverquery : فهرست کردن تمامی راه اندازهای (ِDRIVER) نصب شده بر روی سستم

DISKPART : انجام پارتیشن بندی دیسک

DEFRAG: انجام عمل یکپارچه سازی دیسک

BOOTCFG: نمایش محتویات فایل BOOT.INI

IPCONFIG : نمایش جزیات پیکره بندی

PAGEFILECONFIG : تنظیم حافظه مجازی

SYSTEMINFO: نمایش اطلاعات سیستم

TASKKILL: پایان دادن و حذف کردن یک یا چند وظیفه در TASK

TASKLIST: فهرست وظایف

HOSTNAME : دریافت نام میزبان

NETSTAT : پیاده سازی TCP/IP NETSTAT

RSH : پیاده سازی TCP/IP RSH

NSLOOKUP : انجام فرمان LOOKUP (نمایش نام سرویس دهنده و آی پی و ...)

MSCONFIG : انجام مدیریت برنامه های STARTUP و سرویس ها

SFC /SCANNOW : تعمیر ویندوز

 
 
 |    نوشته شده توسط محسن