<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>روزنوشت های آراد حقی</title>
	<atom:link href="http://fa.aradhaghi.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fa.aradhaghi.com</link>
	<description>نوشته های شخصی و فنی آراد حقی</description>
	<lastBuildDate>Mon, 14 May 2012 13:01:39 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>نمایی کلی از کنترل دسترسی (Access Control)</title>
		<link>http://fa.aradhaghi.com/1391/02/25/cissp-access-control-overview/</link>
		<comments>http://fa.aradhaghi.com/1391/02/25/cissp-access-control-overview/#comments</comments>
		<pubDate>Mon, 14 May 2012 13:01:39 +0000</pubDate>
		<dc:creator>آراد حقی</dc:creator>
				<category><![CDATA[امنیت]]></category>
		<category><![CDATA[CISSP]]></category>

		<guid isPermaLink="false">http://fa.aradhaghi.com/?p=21839</guid>
		<description><![CDATA[کنترل دسترسی به منابع یکی از مهمترین و در عین حال کلیدی ترین مفاهیم امنیت است. کنترل دسترسی مفهومی فراتر از این است که چه کاربری به چه فایل ها و یا سرویس هایی دسترسی داشته باشد. قبل از ارائه یک تعریف کلی در مورد کنترل دسترسی نیاز است با دو مفهموم &#8220;فاعل&#8221; و &#8220;مفعول&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p dir="RTL"><img class="aligncenter size-full wp-image-21840" title="CISSP_access_control_overview" src="http://fa.aradhaghi.com/wp-content/uploads/2012/05/CISSP_access_control_overview.jpg" alt="" width="400" height="275" /></p>
<p dir="RTL">کنترل دسترسی به منابع یکی از مهمترین و در عین حال کلیدی ترین مفاهیم امنیت است. کنترل دسترسی مفهومی فراتر از این است که چه کاربری به چه فایل ها و یا سرویس هایی دسترسی داشته باشد. قبل از ارائه یک تعریف کلی در مورد کنترل دسترسی نیاز است با دو مفهموم &#8220;فاعل&#8221; و &#8220;مفعول&#8221; آشنا شویم:</p>
<p dir="RTL"><strong>فاعل</strong> : یک &#8220;فاعل&#8221; را می توان به عنوان یک کامپیوتر، برنامه، فرآیند، فایل، کامپیوتر، بانک اطلاعاتی و مواردی از این دست در نظر گرفت.<br />
<strong>مفعول</strong> : یک &#8220;مفعول&#8221; را می توان به عنوان فایل، بانک اطلاعاتی، کامپیوتر، برنامه، فرآیند، پرینتر و یا فضای ذخیره سازی در نظر گرفت.</p>
<p dir="RTL">با در نظر داشتن موارد فوق، به طور کلی، فاعل همیشه به عنوان موجودیتی در نظر گرفته می شود که اطلاعاتی درباره مفعول و یا داده هایی از مفعول دریافت می نماید. همچنین فاعل موجودیتی به شمار می آید که توانایی ویرایش و دستکاری اطلاعات مرتبط ارائه شده و یا ذخیره شده در مفعول را دارد. مفعول نیز همیشه به عنوان موجودیتی در نظر گرفته می شود که اطلاعات و داده ها را میزبانی و یا ارائه می نماید. در ادامه توضیحات فوق، فاعل همیشه یک موجودیت فعال (Active) است که تلاش دارد از طریق برقراری دسترسی، از مفعول که یک موجودیت غیرفعال و کنش پذیر (Passive) است اطلاعات استخراج نمایید و یا در اطلاعات آن تغییر ایجاد نماید.</p>
<p>بنابراین <span style="color: #99cc00;"><strong>کنترل دسترسی</strong></span> را می توان به عنوان رابطه بین فاعل و مفعول درنظر گرفت.با توجه به توضیحات ارائه شده، انتقال اطلاعات از مفعول به فاعل <span style="color: #99cc00;"><strong>دسترسی </strong></span>نام دارد. در همین رابطه طبق اصل بنیادی کنترل دسترسی، اگر اجازه دسترسی فاعل به مفعول صراحتاً تعریف نشده باشد، عدم دسترسی (Deny Access) به عنوان دسترسی پیش فرض در نظر گرفته می شود.</p>
]]></content:encoded>
			<wfw:commentRss>http://fa.aradhaghi.com/1391/02/25/cissp-access-control-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>تکنیک های احراز هویت و اعتبارسنجی – کلمه عبور</title>
		<link>http://fa.aradhaghi.com/1391/02/24/cissp_identification_and_authentication_techniques_passwords/</link>
		<comments>http://fa.aradhaghi.com/1391/02/24/cissp_identification_and_authentication_techniques_passwords/#comments</comments>
		<pubDate>Sun, 13 May 2012 20:56:09 +0000</pubDate>
		<dc:creator>آراد حقی</dc:creator>
				<category><![CDATA[امنیت]]></category>
		<category><![CDATA[CISSP]]></category>

		<guid isPermaLink="false">http://fa.aradhaghi.com/?p=21831</guid>
		<description><![CDATA[متداول ترین تکنیک اعتبارسنجی استفاده از کلمه عبور (Password)  است. با این حال، استفاده از کلمه عبور برای اعتبارسنجی به عنوان ضعیف ترین شیوه اعتبارسنجی درنظر گرفته می شود. کلمات عبور بدلایلی که در ادامه مطرح خواهند شد، مکانیزم امنیتی ضعیفی به شمار می آیند: کاربران عموماً از کلمات عبور ساده ای استفاده می کنند [...]]]></description>
			<content:encoded><![CDATA[<p dir="RTL"><img class="aligncenter size-full wp-image-21832" title="CISSP_identification_and_authentication_techniques-passwords" src="http://fa.aradhaghi.com/wp-content/uploads/2012/05/CISSP_identification_and_authentication_techniques-passwords.jpg" alt="" width="400" height="275" /></p>
<p dir="RTL">متداول ترین تکنیک اعتبارسنجی استفاده از کلمه عبور (Password)  است. با این حال، استفاده از کلمه عبور برای اعتبارسنجی به عنوان ضعیف ترین شیوه اعتبارسنجی درنظر گرفته می شود. کلمات عبور بدلایلی که در ادامه مطرح خواهند شد، مکانیزم امنیتی ضعیفی به شمار می آیند:</p>
<ul>
<li>کاربران عموماً از کلمات عبور ساده ای استفاده می کنند که به حافظه سپردن آنها راحت باشد، و به همین دلیل نیز برای شکسته شدن و یا حدس زده شدن نیز راحت خواهند بود.</li>
<li>کلمه های عبوری که به صورت تصادفی ساخته می شوند برای به خاطر سپردن و یادآوری بسیار سخت هستند، در نتیجه، بسیاری از کاربران آنها را در جایی یادداشت می نمایند.</li>
<li>کلمات عبور براحتی به اشتراک گذاشته می شوند، در جایی یادداشت می شوند و یا فراموش می شوند.</li>
<li>کلمات عبور براحتی قابل سرقت هستند، بدین معنا که کلمات عبور براحتی قابل مشاهده، ضبط و بازآوری هستند و پایگاه داده های آنها نیز از سرقت در امان نیستند.</li>
<li>کلمات عبور غالبا به صورت متنی ساده (Clear Text) منتقل می شوند و یا الگورتیم های رمزنگاری آنها براحتی قابل شکسته شدن هستند.</li>
<li>پایگاه داده های کلمات عبور غالباً در محیط های آنلاین با قابلیت دسترسی همگانی نگهداری می شوند.</li>
<li>کلمه عبورهای کوتاه از طریق حملات brute-force به سرعت کشف می شوند.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://fa.aradhaghi.com/1391/02/24/cissp_identification_and_authentication_techniques_passwords/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>مـنوی ویژه : کیک شـکلاتی ASP.NET بــا نسکـافه داغ (قسمت دهم) – آغازی بر برنامه نویسی Razor</title>
		<link>http://fa.aradhaghi.com/1391/02/18/asp-dot-net-training-part-10_razor-programming-part1/</link>
		<comments>http://fa.aradhaghi.com/1391/02/18/asp-dot-net-training-part-10_razor-programming-part1/#comments</comments>
		<pubDate>Mon, 07 May 2012 08:51:15 +0000</pubDate>
		<dc:creator>آراد حقی</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[ASP.NET Web Pages]]></category>
		<category><![CDATA[Let's Learn ASP.NET]]></category>
		<category><![CDATA[Razor]]></category>
		<category><![CDATA[WebMatrix]]></category>

		<guid isPermaLink="false">http://fa.aradhaghi.com/?p=21818</guid>
		<description><![CDATA[اگر سری مقالات &#8220;منوی ویژه : کیک شکلاتی ASP.NET با نسکافه داغ&#8221; را دنبال کرده باشید، در مقاله پیشین به ماهیت Razor اشاره کردیم و مقرر شد در این قسمت از مقاله نگاهی بر برنامه نویسی Razor داشته باشیم. همانگونه که در مقالات پیشین اشاره شد کدهای مطرح شده در این سری از مقالات بر [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-21810" title="asp-dot-net-training-part10_razor-programming-part1" src="http://fa.aradhaghi.com/wp-content/uploads/2012/05/asp-dot-net-training-part10_razor-programming-part1.jpg" alt="" width="400" height="275" /></p>
<p>اگر سری مقالات &#8220;<a href="http://fa.aradhaghi.com/tag/learnasp-net/" target="_blank">منوی ویژه : کیک شکلاتی ASP.NET با نسکافه داغ</a>&#8221; را دنبال کرده باشید، در <a href="http://fa.aradhaghi.com/1391/01/29/asp-dot-net-training-part-9_webmatrix-and-razor-introduction/" target="_blank">مقاله پیشین</a> به ماهیت Razor اشاره کردیم و مقرر شد در این قسمت از مقاله نگاهی بر برنامه نویسی Razor داشته باشیم. همانگونه که در مقالات پیشین اشاره شد کدهای مطرح شده در این سری از مقالات بر اساس زبان #C نگارش می شوند با این حال می توانید در صورت تسلط، کدهای خود را به زبان Visual Basic نگارش نمایید. باتوجه به اینکه هدف این سری از مقالات مطرح کردن و آموزش موازی و همزمان تمامی تکنولوژی های لازم است، در ابتدا قصد داریم تا نگاهی مختصر به Razor داشته باشیم و نکاتی ضروری و اولیه را در مورد آن مطرح نماییم تا بتوانیم روند آموزشی خود را پیش ببریم.</p>
<p><span style="color: #99cc00;"><strong>هشت نکته اولیه که باید در مورد Razor بدانید</strong></span></p>
<p><span style="color: #00ccff;">یک . کدهای خود را با استفاده از کاراکتر @ به صفحه اضافه نمایید</span><br />
اگر مقاله قبلی را دنبال کرده باشید، اشاره شد که Razor ساختار زبانی درون خطی را دنبال می کند. این بدین معناست که با استفاده از Razor می توانید کدهای خود را در میان خطوط صفحه بگنجانید. View Engine ها را به خاطر دارید؟ برای قرار دادن کدهای خود در بین صفحه می توانید از علامت @ استفاده نمایید. مترجم با رسیدن به علامت @ متوجه می شود که به قسمت کد رسیده است. به طور کلی کدهایی که از طریق علامت @ می توانید در صفحه قرار دهید به سه دسته تقسیم می شوند:</p>
<p><span id="more-21818"></span></p>
<ul>
<li>بلاک عبارت تک خطی</li>
<li>بلاک عبارات چند خطی</li>
<li>عبارت های درون خطی</li>
</ul>
<p>نمونه ای از عبارت تک خطی در خط زیر مطرح شده است:</p>
<pre class="brush: csharp; title: ; notranslate">
@{ var num = 7; }
</pre>
<p>عبارت فوق با استفاده از علامت @ آغاز شده است و این نشان دهنده آغاز ساختار کد Razor است. بلوک کد توسط { آغاز و نهایتا توسط } بسته شده است. همانگونه که مشاهده می نمایید، عبارت شامل یک دستور است و به همین دلیل نام عبارت تک خطی را بر آن نهاده اند. در بلاک فوق، متغییری با نام num تعریف شده است که مقدار ۷ در آن قرار داده شده است و نهایتا پایان دستور با ; (سمی کالون) مشخص شده است.<br />
متغیر چیست؟ بعدا به تعریف مفصل تری از متغیر و نحوه کار با آن ها خواهیم پرداخت اما فعلا آن را مانند متغیر ریاضی تصور نمایید. حرفی که می توان مقداری را به آن نسبت داد. هنوز هم مشغول خواندن متن هستید؟ نترسید کاری با ریاضی نداریم! به کلام دیگر متغیر را ظرفی تصور کنید که می توانید چیزی را داخل آن قرار دهید و هر زمان که نیاز داشتید به محتوای آن دسترسی پیدا کنید.<br />
نمونه از عبارت چند خطی در تکه کد زیر مطرح شده است:</p>
<pre class="brush: csharp; title: ; notranslate">
@{
var Message = &quot;Welcome to Weblogina! &quot;;
var Today = “Today is: 4/23/2012”;
var displayMessage = Message + Today;
}
</pre>
<p>بلاک عبارات چند خطی را به صورت فوق در ساختار Razor می نویسیم. همانگونه که مشاهده می کنید عبارت فوق از سه دستور اجرایی تشکیل شده است و بنابراین یک بلاک عبارت چند خطی است. در مثال فوق در خط اول متغیری با نام Message تعریف کردیم و یک عبارت رشته ای را به آن اختصاص دادیم. عبارت رشته ای همانگونه که از نام آن پیداست دربرگیرنده رشته ای از حروف و اعداد به صورت کارکتری است. در مقالات آینده به نوع متغییرها و مقادیر آنها مفصلاً خواهیم پرداخت. در خط دوم نیز متغیری با نام Today ایجاد کردیم و رشته از کاراکترهای عددی و حرفی را به آن نسبت دادیم. در خط سوم متغیری با نام displayMessage ایجاد کردیم و حاصل اتصال دو متغیر Message و Today را در آن قرار دادیم. به نظر شما متغیر displayMessage باید در برگیرنده چه مقداری باشد؟</p>
<p>در مقاله بعدی قصد داریم تا به معرفی مختصری از ساختار HTML بپردازیم و کدهای HTML را با کدهای Razor ترکیب نماییم و در واقع حالت سوم از نحوه قرارگیری کدهای Razor در صفحه را نیز مورد بررسی قراردهیم، حالت عبارت های درون خطی.</p>
<p>پی نوشت : مقاله فوق را در راستای همکاری با سایت وبلاگینا ، اختصاصاً برای آن سایت نگارش کرده ام . این مقاله بازنشر <a href="http://weblogina.com/article/asp-dot-net-special-menu-part10/" target="_blank">مقاله اصلی</a> است. نظرات خود را در خصوص این مقاله می توانید در هر دو سایت ارائه نمایید. نظرات در هر دو سایت توسط بنده تایید و پاسخ داده خواهد شد.</p>
]]></content:encoded>
			<wfw:commentRss>http://fa.aradhaghi.com/1391/02/18/asp-dot-net-training-part-10_razor-programming-part1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>باشگاه بدن سازی ویندوز فون</title>
		<link>http://fa.aradhaghi.com/1391/02/09/windows-phone-app-review-six-week-training/</link>
		<comments>http://fa.aradhaghi.com/1391/02/09/windows-phone-app-review-six-week-training/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 20:01:30 +0000</pubDate>
		<dc:creator>آراد حقی</dc:creator>
				<category><![CDATA[موبایل]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Windows Phone App Review]]></category>

		<guid isPermaLink="false">http://fa.aradhaghi.com/?p=21802</guid>
		<description><![CDATA[Six Week Training نام برنامه رایگانی برای ویندوز فون است که می توانید بوسیله آن قدرت بدنی خود را تقویت نمایید و به صورت برنامه ریزی شده و بر اساس توانایی های جسمی و بدنی خود، به صورت اتوماتیک از نرم افزار، برنامه ورزشی و تمرینی دریافت نمایید. این برنامه بر روی ۵ تمرین ورزشی [...]]]></description>
			<content:encoded><![CDATA[<p dir="RTL"><img class="aligncenter size-full wp-image-21803" title="windows-phone-7-application_six-week-training" src="http://fa.aradhaghi.com/wp-content/uploads/2012/04/windows-phone-7-application_six-week-training.jpg" alt="" width="400" height="275" /></p>
<p dir="RTL">Six Week Training نام برنامه رایگانی برای ویندوز فون است که می توانید بوسیله آن قدرت بدنی خود را تقویت نمایید و به صورت برنامه ریزی شده و بر اساس توانایی های جسمی و بدنی خود، به صورت اتوماتیک از نرم افزار، برنامه ورزشی و تمرینی دریافت نمایید. این برنامه بر روی ۵ تمرین ورزشی &#8220;دراز و نشست&#8221;، &#8220;شنا&#8221;، &#8220;بارفیکس&#8221;، &#8220;Dip&#8221; و &#8220;Squat&#8221; تمرکز دارد و هدف آن رسیدن به توانایی انجام حداکثر میزان لازم از هرکدام از این تمرین ها در روز، در قالب مدت ۶ هفته است. به عنوان مثال در پایان دوره ۶ هفته ای استفاده از این برنامه باید بتوانید تا ۱۰۰ حرکت شنا، ۲۰۰ حرکت دراز و نشست و ۲۰ حرکت بارفیکس در روز انجام دهید. این برنامه ابتدا توانایی شما را در انجام این حرکت در مدت زمان خاصی ارزیابی کرده و سپس با پی بردن به سطح توانایی بدنی فعلی تان، برنامه ای را برای شما تنظیم می کند. در صورتی که تمایل دارید می توانید هر یک از این حرکات را جداگانه دنبال کنید و یا در واقع می توانید بر روی حرکات خاصی صرفا تمرکز نمایید و یا با استفاده از گزینه Super Set برنامه ای چند منظوره متشکل از تمامی حرکت های بالا از برنامه دریافت نمایید.</p>
<p dir="RTL"><img class="aligncenter size-full wp-image-21804" title="windows-phone-7-application_six-week-training-2" src="http://fa.aradhaghi.com/wp-content/uploads/2012/04/windows-phone-7-application_six-week-training-2.jpg" alt="" width="400" height="275" /></p>
<p dir="RTL">از جمله دیگر قابلیت های برنامه می توان به پخش موسیقی همزمان با شروع تمرینات از فایل های صوتی موجود بر روی روی تلفن همراه اشاره کرد. به عنوان یکی از مهمترین قابلیت های برنامه می توان به توانایی ایجاد پشتیبان از اطلاعات برنامه بر روی اکانت ویندوز لایو اشاره کرد. همچنین در صورتی که به هر دلیل از تمرینات برنامه عقب ماندید و یا احساس می کردید هنوز آمادگی لازم را برای انجام تمرین های سنگین تر ندارید، می توانید تمرینات را به عقب بر گردانید و آن را از سطح خاصی مجددا پی بگیرید.</p>
<p dir="RTL">برای آوردن باشگاه بدن سازی ویندوز فون به منزل لزومی به تماس گرفتن با شماره های روی صفحه نیست، کافیست به <a href="www.windowsphone.com/en-US/apps/361aeae0-4a82-e011-986b-78e7d1fa76f8" target="_blank">این آدرس</a> مراجعه کنید!</p>
]]></content:encoded>
			<wfw:commentRss>http://fa.aradhaghi.com/1391/02/09/windows-phone-app-review-six-week-training/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>مـنوی ویژه : کیک شـکلاتی ASP.NET بــا نسکـافه داغ (قسمت نهم) – آغازی بر Microsoft WebMatrix و Razor</title>
		<link>http://fa.aradhaghi.com/1391/01/29/asp-dot-net-training-part-9_webmatrix-and-razor-introduction/</link>
		<comments>http://fa.aradhaghi.com/1391/01/29/asp-dot-net-training-part-9_webmatrix-and-razor-introduction/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 16:53:12 +0000</pubDate>
		<dc:creator>آراد حقی</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[ASP.NET Web Pages]]></category>
		<category><![CDATA[Let's Learn ASP.NET]]></category>
		<category><![CDATA[Razor]]></category>
		<category><![CDATA[WebMatrix]]></category>

		<guid isPermaLink="false">http://fa.aradhaghi.com/?p=21790</guid>
		<description><![CDATA[در مقاله پیشین از سری مقالات &#8220;منوی ویژه : کیک شکلاتی ASP.NET با نسکافه داغ&#8221; به بررسی انواع تکنولوژی های توسعه برنامه های کاربردی وب تحت چارچوب ASP.NET پرداختیم و نهایتا ASP.NET Web Pages Framework مبتنی بر WebMatrix را به عنوان گزینه مناسبی برای شروع انتخاب کردیم. در جمع بندی کلیه مطالب پیشین مهمترین دلایل [...]]]></description>
			<content:encoded><![CDATA[<p dir="RTL"><img class="aligncenter size-full wp-image-21791" title="asp-dot-net-training-part9_introduction-to-razor" src="http://fa.aradhaghi.com/wp-content/uploads/2012/04/asp-dot-net-training-part9_introduction-to-razor.jpg" alt="" width="400" height="275" /></p>
<p dir="RTL">در <a href="http://fa.aradhaghi.com/1390/12/22/asp-dot-net-training-part-8_choose-right-model/" target="_blank">مقاله پیشین</a> از سری مقالات &#8220;<a href="http://fa.aradhaghi.com/tag/learnasp-net/" target="_blank">منوی ویژه : کیک شکلاتی ASP.NET با نسکافه داغ</a>&#8221; به بررسی انواع تکنولوژی های توسعه برنامه های کاربردی وب تحت چارچوب ASP.NET پرداختیم و نهایتا ASP.NET Web Pages Framework مبتنی بر WebMatrix را به عنوان گزینه مناسبی برای شروع انتخاب کردیم. در جمع بندی کلیه مطالب پیشین مهمترین دلایل این انتخاب به صورت زیر خلاصه می گردد:</p>
<ul>
<li>امکان یادگیری آسان برای مبتدیان</li>
<li>امکان رسیدن سریع به محصول بدلیل ساختار ساده توسعه</li>
<li>دسترسی کامل به تمامی قابلیت های NET Framework. در عین بهره گیری از ساختار توسعه ساده</li>
<li>امکان یادگیری ساده تر برای برنامه نویسان سایر زبان ها</li>
<li>تماماً رایگان بودن ابزارهای توسعه مبتنی بر آن</li>
</ul>
<p dir="RTL">آیا پیش نیازی برای شروع وجود دارد؟</p>
<p dir="RTL"><span id="more-21790"></span></p>
<p dir="RTL">هنگامیکه مایکروسافت در حال برنامه ریزی برای ارائه WebMatrix بود &#8220;ساده بودن&#8221; را سرلوحه کار خود قرارداد و این به معنای وجود حداقل موارد پیش نیاز برای یادگیری است. فارغ از اینکه از چه Framework ای برای توسعه وب سایت های داینامیک خود استفاده می کنید، مسلط بودن به تکنولوژی هایی مانند HTML ، CSS ، JavaScript و SQL پیش نیاز استفاده از آنهاست. هر Framework ای بسته به امکانات و ساختار خود به تمام یا بخشی از این تکنولوژی ها وابسته است. WebMatrix به ریشه های وب برگشته است، از همین رو خود را برای رویارویی با HTML ، CSS ، JavaScript و سایر تکنولوژی های امروزی توسعه وب آماده سازید. همچنین برای توسعه صفحات خود نیاز به برخورداری از حداقل دانش در مورد زبان های تحت دات نت از جمله #C و Visual Basic دارید. کدهایی که در طول این دوره آموزشی مطرح خواهیم کرد بر اساس زبان #C نگارش شده اند. در یک جمع بندی ، دانش های پیش نیازی که در شروع به آنها نیاز دارید در موارد زیر خلاصه می گردند:</p>
<ul>
<li>آشنایی با HTML و المان های پایه ای و ساختار آنها.</li>
<li>آشنایی با مبانی پایه زبان #C.</li>
<li>آشنایی با Syntax و ساختار زبان کد نویسی درون خطی (inline) سمت سرور Razor که به صورت پیش فرض در WebMatrix پیاده سازی شده است.</li>
<li>آشنایی با مبانی زبان درخواست بانک های اطلاعاتی SQL .</li>
</ul>
<p dir="RTL">همانگونه که به یاد دارید، این سری از مقالات با هدف آموزش طراحی وب سایت های مبتنی بر ASP.NET به افرادی که از دانش برنامه نویسی برخوردار نبوده اند نگارش می شوند. بنابراین پرداختن به حداقل آموزش هر یک از موارد ذکر شده در بالا در نگارش مطالب در نظر گرفته خواهد شد، با این حال امید است مخاطبان این سری از مقالات، خود نیز نسبت به افزایش دانش خود در موارد مطرح شده فوق اقدام ورزند.</p>
<p dir="RTL">یکی از پیش نیازهای مطرح شده فوق، زبان کد نویسی Razor است که نسبت به سایر موارد مطرح شده مهم تر است و در عین حال منابع آموزشی کمتری برای آن در دسترس است و همچنین ممکن است بسیاری از برنامه نویسان که از حداقل دانش توسعه وب برخوردار هستند در مورد آن اطلاعاتی نداشته باشند. بنابراین آشنایی با Razor اولین موردی است که قصد پرداختن به آن را داریم.</p>
<p dir="RTL"><strong>Razor</strong><strong> چیست؟<br />
</strong>Razor یک Syntax برنامه نویسی ASP.NET است که از آن برای ایجاد صفحات وب داینامیک با استفاده از زبان های برنامه نویسی C# یا Visual Basic استفاده می شود. Razor در ماه ژوئن ۲۰۱۰ توسعه داده شد و در ژانویه ۲۰۱۱ برای Visual Studio 2010 منتشر شد.  Razor یک View Engine با Syntax ساده است که به عنوان قسمتی از ASP.NET MVC 3 و مجموعه کامپوننت Microsoft WebMatrix منتشر شد. ساختار Razor را می توان یک template markup syntax دانست که به برنامه نویسان این امکان را می دهد که از جریان کاری ساختار HTML بر اساس زبان برنامه نویسی #C استفاده نمایند. گیج کننده بود؟ به زبان دیگر، تمامی زبان ها و تکنولوژی های برنامه نویسی راهی در اختیار برنامه نویس قرار می دهند تا داده های خود را به صورت داینامیک در خروجی HTML صفحات خود قرار دهند. بنابراین می توان گفت هر View Engine راهی خاص برای قرار دادن کدها در ساختار خروجی HTML صفحات است. هر چند تعریف فوق، کامل و بی عیب نیست اما فعلا به آن بسنده می نماییم. لازم به ذکر است که ASP.NET از View Engine های مختلفی پشتیبانی می نماید که Razor تنها یکی از آنهاست.</p>
<p>در مقاله آینده اولین قدم را برای پا گذاشتن به دنیای برنامه نویسی ASP.NET بر خواهیم داشت و قصد داریم تا شما را با مبانی کد نویسی Razor آشنا نماییم.</p>
<p>پی نوشت : مقاله فوق را در راستای همکاری با سایت وبلاگینا ، اختصاصاً برای آن سایت نگارش کرده ام . این مقاله بازنشر <a href="http://weblogina.com/article/asp-dot-net-special-menu-part9/" target="_blank">مقاله اصلی</a> است. نظرات خود را در خصوص این مقاله می توانید در هر دو سایت ارائه نمایید. نظرات در هر دو سایت توسط بنده تایید و پاسخ داده خواهد شد.</p>
]]></content:encoded>
			<wfw:commentRss>http://fa.aradhaghi.com/1391/01/29/asp-dot-net-training-part-9_webmatrix-and-razor-introduction/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>پنج برنامه رایگان ویندوز فون ۷ برای تقویت زبان</title>
		<link>http://fa.aradhaghi.com/1391/01/28/5-windows-phone-applications-to-improve-your-english-knowledge/</link>
		<comments>http://fa.aradhaghi.com/1391/01/28/5-windows-phone-applications-to-improve-your-english-knowledge/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 15:03:43 +0000</pubDate>
		<dc:creator>آراد حقی</dc:creator>
				<category><![CDATA[موبایل]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Windows Phone App Review]]></category>

		<guid isPermaLink="false">http://fa.aradhaghi.com/?p=21779</guid>
		<description><![CDATA[در این مقاله قصد داریم به معرفی و بررسی پنج برنامه رایگان جهت تقویت زبان انگلیسی بر روی پلتفرم ویندوز فون بپردازیم. برنامه های معرفی شده در ادامه لزوما بهترین برنامه های موجود نیستند اما با توجه به رایگان بودن و امکانات آنها انتخاب های خوبی برای تقویت زبان انگلیسی به شمار می آیند. Irregular [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-21780" title="5-windows-phone-applications-to-improve-your-english-knowledge" src="http://fa.aradhaghi.com/wp-content/uploads/2012/04/5-windows-phone-applications-to-improve-your-english-knowledge.jpg" alt="" width="400" height="275" /></p>
<p>در این مقاله قصد داریم به معرفی و بررسی پنج برنامه رایگان جهت تقویت زبان انگلیسی بر روی پلتفرم ویندوز فون بپردازیم. برنامه های معرفی شده در ادامه لزوما بهترین برنامه های موجود نیستند اما با توجه به رایگان بودن و امکانات آنها انتخاب های خوبی برای تقویت زبان انگلیسی به شمار می آیند.</p>
<p><span style="color: #99cc00;"><strong>Irregular Verbs</strong></span><br />
با استفاده از این برنامه می توانید لیستی از افعال بی قاعده را در تلفن خود داشته باشید و از آنها در جهت بررسی شکل افعال بی قاعده و یا حفظ کردن و یادگرفتن آنها استفاده نمایید. هر چند در این برنامه قابلیت جستجوی کلمات به چشم نمی خورد اما لغات بر حسب اولین حرف در یک Jump List قابل مرتب سازی و دسترسی هستند. با لمس کردن هر لغت می توانید به انواع فرمهای استفاده از آن در جملات پی ببرید و همچنین معنی لغت را بدست آورید. برای استفاده از این برنامه نیازی به ارتباط با اینترنت ندارید. برای اجرای این برنامه به ویندوز فون ۷ و یا نسخه ها بالاتر احتیاج دارید.<a href="http://www.windowsphone.com/en-US/apps/1ff982e6-a26b-e011-81d2-78e7d1fa76f8" target="_blank"><br />
لینک صفحه اصلی برنامه در Marketplace</a><br />
<strong></strong></p>
<p><strong><span style="color: #99cc00;">Practice English Grammar 2</span></strong><br />
با استفاده از این برنامه و با در نظر گرفتن این موضوع که موفقیت در یادگیری از تمرین ناشی می شود، می توانید گرامر زبان انگلیسی خود را تقویت نمایید. این برنامه مقاله های بسیاری در مورد مهمترین گرامرهای زبان انگلیسی به شما ارائه می کند و می توانید با تست های دسته بندی و طبقه بندی شده گنجانده شده در برنامه، آموخته های خود را تمرین نمایید و نهایتا نتیجه کار خود را مشاهده نمایید. انواع مختلفی از تمرین ها اعم از تست های چند گزینه ای ، جاهای خالی ، تطبیق دادن و&#8230; در این برنامه به چشم می خورند. برای اجرای این برنامه به ویندوز فون ۷٫۵ و یا نسخه های بالاتر احتیاج دارید.<a href="http://www.windowsphone.com/en-US/apps/2e1d7ed3-6711-4df4-8fbd-7742fd7ebb26" target="_blank"><br />
لینک صفحه اصلی برنامه در Marketplace</a></p>
<p><span id="more-21779"></span><strong></strong></p>
<p><strong><span style="color: #99cc00;">English Idioms</span></strong><br />
این برنامه کاربردی برای علاقمندانی است که تمایل دارند دانش خود را در زمینه اصطلاحات زبان انگلیسی تقویت نمایند. این برنامه دربرگیرنده بیش از یک هزار اصطلاح طبقه بندی شده در ۱۰ گروه موضوعی است. هر یک از اصطلاحات مطرح شده در این برنامه جهت فهم بیشتر زبان آموز با مثال هایی همراه شده است. برای اجرای این برنامه به ویندوز فون ۷٫۵ و یا نسخه های بالاتر احتیاج دارید.<a href="http://www.windowsphone.com/en-US/apps/254c4cb2-c40d-4235-a01e-e25958bae0b2" target="_blank"><br />
لینک صفحه اصلی برنامه در Marketplace</a><br />
<strong></strong></p>
<p><strong><span style="color: #99cc00;">Vocabulary Flash Cards</span></strong><br />
مجموعه ای از ۵۰۴ لغت زبان انگلیسی به صورت فلش کارت را می توانید در قالب این برنامه تجربه نمایید. لغات مطرح شده در این برنامه مناسب زبان آموزان مبتدی تا متوسط است با این حال مطمئنا دانستن این لغات برای موفقیت در هر آزمون زبانی الزامی به نظر می رسد. یکی از ویژگی های این برنامه توانایی ویرایش تعاریف لغات ارائه شده است. برای اجرای این برنامه به ویندوز فون ۷٫۵ و یا نسخه های بالاتر احتیاج دارید.<a href="http://www.windowsphone.com/en-US/apps/453c6e37-f50a-41d1-ab17-a807f8cd1162" target="_blank"><br />
لینک صفحه اصلی برنامه در Marketplace</a></p>
<p><span style="color: #99cc00;"><strong>Word of the day free</strong></span><br />
اگر از جمله افرادی هستید که همیشه به دنبال دانش هستید و مایل هستید روزانه یک لغت جدید را همراه با تعاریف و مثال ها و نحوه کاربرد آن در جمله یاد بگیرید، این برنامه رایگان که دقیقا عملکردی مانند نسخه غیر رایگان آن دارد، انتخاب خوبی خواهد بود. از جمله امکانات این برنامه تلفظ لغت ارائه شده و نمایش تعداد بخش های یک کلمه است. توانایی مرور لغات روزهای گذشته و نمایش تصادفی یک لغت از جمله سایر امکانات این نرم افزار به شمار می آید. با استفاده از این برنامه می توانید لغات مشکل و یا لغاتی را که بعدا قصد مرور آنها را دارید را نشانه گذاری نمایید. برای اجرای این برنامه به ویندوز فون ۷٫۵ و یا نسخه های بالاتر احتیاج دارید.<a href="http://www.windowsphone.com/en-US/apps/4f822a7c-9e3e-4284-84ba-e691a3500882" target="_blank"><br />
لینک صفحه اصلی برنامه در Marketplace</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fa.aradhaghi.com/1391/01/28/5-windows-phone-applications-to-improve-your-english-knowledge/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>تغییرات Razor در ASP.NET MVC 4</title>
		<link>http://fa.aradhaghi.com/1391/01/28/razor-changes-in-asp-net-mvc4/</link>
		<comments>http://fa.aradhaghi.com/1391/01/28/razor-changes-in-asp-net-mvc4/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 06:14:27 +0000</pubDate>
		<dc:creator>آراد حقی</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[ASP.NET MVC 4.0]]></category>
		<category><![CDATA[Razor]]></category>

		<guid isPermaLink="false">http://fa.aradhaghi.com/?p=21734</guid>
		<description><![CDATA[این مطلب برداشت آزادی از مطلب درج شده در وبلاگ Alexander Beletsky می باشد. ساختار دستورات Razor در ASP.NET MVC4 تغییرات کوچکی را بهمراه داشته است. هر چند از آنها نمی توان به عنوان تغییرات انقلابی یاد کرد اما مطمئنا می توانند پدید آمدن حس رضایت در بسیاری از برنامه نویسان را موجب شوند. مطمئنا [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-21735" title="asp-dot-net-mvc4-razor-changes" src="http://fa.aradhaghi.com/wp-content/uploads/2012/04/asp-dot-net-mvc4-razor-changes.jpg" alt="" width="400" height="275" /></p>
<p>این مطلب برداشت آزادی از <a href="http://www.beletsky.net/2012/04/new-in-aspnet-mvc4-razor-changes.html" target="_blank">مطلب درج شده</a> در وبلاگ Alexander Beletsky می باشد. ساختار دستورات Razor در ASP.NET MVC4 تغییرات کوچکی را بهمراه داشته است. هر چند از آنها نمی توان به عنوان تغییرات انقلابی یاد کرد اما مطمئنا می توانند پدید آمدن حس رضایت در بسیاری از برنامه نویسان را موجب شوند. مطمئنا بسیاری از برنامه نویسان از نوشتن کدهای کمتر برای حصول نتیجه ای یکسان خوشحال خواهند شد.</p>
<p><strong><span style="color: #99cc00;">عدم احتیاج به Url.Content@</span></strong><br />
در گذشته برای ارجاع به فایل های CSS و JavaScript باید از Url.Content@ استفاده می کردید. ازجائیکه این کد در توسعه بارها مورد استفاده قرار می گرفت، تیم توسعه دهنده تصمیم به انتقال آن به سطح Engine گرفت. بنابراین از این پس به جای:</p>
<pre class="brush: csharp; title: ; notranslate">
&lt;script src=&quot;@Url.Content(&quot;~/Scripts/Controls.js&quot;)&quot;&gt;
&lt;/script&gt;
</pre>
<p>می توانید براحتی بنویسید:</p>
<pre class="brush: csharp; title: ; notranslate">
&lt;script src=&quot;~/Scripts/Controls.js&quot;&gt;
&lt;/script&gt;
</pre>
<p>اگر Razor  با &#8220;~/ &#8221; در کد مواجه شود، حاصل مشابهی با Url.Content@ را در خروجی تولید می نماید.  برای این منظور تنها نیاز به تغییراتی در فایل های View دارید.</p>
<p><span style="color: #99cc00;"><strong>شرط ها</strong></span><br />
شرط های قرار گرفته در Attribute ها بسیار آشفته به نظر می رسیدند. آیا شما هم تابحال کدی مانند عبارت زیر را تولید کرده اید؟</p>
<pre class="brush: csharp; title: ; notranslate">
&lt;div @{if (myClass != null)
{ &lt;text&gt;class=&quot;@myClass&quot;&lt;/text&gt; } }&gt;Content&lt;/div&gt;
</pre>
<p>اگر با مورد مشابهی برخورد کرده بودید مطمئنا انجام آن چندان خوشایند نبود. بسیاری استفاده از HTML Helper ها ساده را به جای آن ترجیح می دادند. در ساختار جدید Razor مساله کمی ساده تر شده است، اکنون می توانید براحتی عبارت زیر را به جای عبارت فوق بنویسید:</p>
<pre class="brush: csharp; title: ; notranslate">
&lt;div class=&quot;@myClass&quot;&gt;Content&lt;/div&gt;
</pre>
<p>اگر مقدار myClass@ برابر null باشد، ویژگی Class به خروجی ارسال نخواهد شد. مورد توضیح داده شده فوق در مورد Boolean ها نیز به همین منوال است. در واقع شرط ها تنها از نوع های nullable پشتیبانی نمی نمایند بلکه Boolean ها نیز شامل همین تغییرات جدید می شوند. بنابراین به عنوان مثال در صورتی که کدی مانند عبارت زیر داشته باشیم:</p>
<pre class="brush: csharp; title: ; notranslate">
&lt;input checked=&quot;@ViewBag.Checked&quot; type=&quot;checkbox&quot;/&gt;
</pre>
<p>اگر ViewBag.Checked@ برابر null و یا false باشد، به صورت زیر Render خواهد شد:</p>
<pre class="brush: csharp; title: ; notranslate">
&lt;input type=&quot;checkbox&quot;/&gt;
</pre>
<p>و در غیراینصورت اگر ViewBag.Checked@ برابر true باشد، به شکل زیر Render خواهد شد:</p>
<pre class="brush: csharp; title: ; notranslate">
&lt;input checked=&quot;checked&quot; type=&quot;checkbox&quot;/&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://fa.aradhaghi.com/1391/01/28/razor-changes-in-asp-net-mvc4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>پنج قدم قبل از نصب ویندوز سرور ۸ بتا</title>
		<link>http://fa.aradhaghi.com/1391/01/15/5-steps-before-you-starts-windows-server-8-setup/</link>
		<comments>http://fa.aradhaghi.com/1391/01/15/5-steps-before-you-starts-windows-server-8-setup/#comments</comments>
		<pubDate>Tue, 03 Apr 2012 20:04:42 +0000</pubDate>
		<dc:creator>آراد حقی</dc:creator>
				<category><![CDATA[شبکه های کامپیوتری]]></category>
		<category><![CDATA[Windows Server 8]]></category>

		<guid isPermaLink="false">http://fa.aradhaghi.com/?p=21729</guid>
		<description><![CDATA[مقاله زیر بر اساس نسخه موجود از ویندوز سرور ۸ بتا نگارش شده است و ممکن است تمام یا بخشی از آن با انتشار نسخه اصلی تحت تاثیر قرار بگیرد. قبل از نصب ویندوز سرور ۸، گام های زیر را برای آماده سازی محیط نصب طی نمایید. قطع کردن دستگاه های UPS اگر به کامپیوتر [...]]]></description>
			<content:encoded><![CDATA[<p dir="RTL"><img class="aligncenter size-full wp-image-21730" title="5-steps-before-you-start-windows-server-8-setup" src="http://fa.aradhaghi.com/wp-content/uploads/2012/04/5-steps-before-you-start-windows-server-8-setup.jpg" alt="" width="400" height="275" /></p>
<p dir="RTL">مقاله زیر بر اساس نسخه موجود از ویندوز سرور ۸ بتا نگارش شده است و ممکن است تمام یا بخشی از آن با انتشار نسخه اصلی تحت تاثیر قرار بگیرد. قبل از نصب ویندوز سرور ۸، گام های زیر را برای آماده سازی محیط نصب طی نمایید.</p>
<p dir="RTL"><span style="color: #99cc00;"><strong>قطع کردن دستگاه های UPS</strong></span><br />
اگر به کامپیوتر مورد نظر برای نصب ویندوز سرور ۸ دستگاه UPS متصل است، ارتباط آن را قطع نمایید و کابل سریال آن را جدا نمایید. برنامه نصب به صورت خودکار اقدام به شناسایی دستگاه های متصل به پورت های سریال می نماید و اتصال UPS به دستگاه در هنگام نصب ممکن است فرآیند نصب را با مشکلاتی روبرو نماید و موجب بروز خطا در فرآیند نصب گردد.</p>
<p dir="RTL"><span style="color: #99cc00;"><strong>پشتیبان گیری از سرور</strong></span><br />
پشتیبان شما باید در برگیرنده تمامی اطلاعات داده ها و اطلاعات پیکربندی مورد نیاز برای عملکرد صحیح و مورد انتظار سیستم باشد. پشتیبان گیری از اطلاعات پیکربندی بویژه اطلاعات مرتبط با زیرساخت شبکه مانند اطلاعات DHCP سرور بسیار حیاتی و مهم است. درهنگام پشتیبان گیری از تهیه پشتیبان از پارتیشن های بوت و سیستم اطمینان حاصل نمایید.</p>
<p dir="RTL"><strong><span style="color: #99cc00;">غیرفعال سازی نرم افزارهای محافظت در برابر ویروس</span></strong><br />
نرم افزارهای محافظت در برابر ویروس می تواند با برنامه نصب تداخل ایجاد نماید. به عنوان مثال، می تواند موجب کاهش  چشمگیر سرعت نصب از طریق اسکن کردن و بررسی فایل هایی که در سیستم کپی می شوند، گردد.</p>
<p dir="RTL"><strong><span style="color: #99cc00;">اجرا و بهره گیری از Windows Memory Diagnostic  tool</span></strong><br />
قبل از نصب سیستم عامل با استفاده از این ابزار از RAM را تست و بررسی نمایید تا از سلامت و صحت عملکرد آن اطمینان حاصل نمایید.</p>
<p dir="RTL"><strong><span style="color: #99cc00;">ارائه درایورهای انبارهای ذخیره سازی (Mass Storage)</span></strong><br />
اگر سازنده اقدام به ارائه فایل درایور جداگانه ای برای فضای ذخیره سازی خود کرده است، فایل را بر روی فلاپی، CD، DVD و یا USB و در Root و یا پوشه amd64 آنها ذخیره نمایید. برای ارائه این فایل ها در صفحه انتخاب دیسک در فرآیند نصب بر روی گزینه Load Driver کلیک نمایید و یا F6 را فشار دهید.</p>
]]></content:encoded>
			<wfw:commentRss>http://fa.aradhaghi.com/1391/01/15/5-steps-before-you-starts-windows-server-8-setup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>مـنوی ویژه : کیک شـکلاتی ASP.NET بــا نسکـافه داغ (قسمت هشتم) – انتخاب کتاب آشپزی مناسب!</title>
		<link>http://fa.aradhaghi.com/1390/12/22/asp-dot-net-training-part-8_choose-right-model/</link>
		<comments>http://fa.aradhaghi.com/1390/12/22/asp-dot-net-training-part-8_choose-right-model/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 15:50:40 +0000</pubDate>
		<dc:creator>آراد حقی</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[ASP.NET Web Pages]]></category>
		<category><![CDATA[Let's Learn ASP.NET]]></category>
		<category><![CDATA[WebMatrix]]></category>

		<guid isPermaLink="false">http://fa.aradhaghi.com/?p=21717</guid>
		<description><![CDATA[اگر قسمت های قبلی از سری مقالات &#8220;منوی ویژه : کیک شکلاتی ASP.NET با نسکافه داغ&#8221; را دنبال کرده باشید، باید با ماهیت و وطایف اصلی مرورگر وب، وب سرور و چگونگی ارتباط آنها با یکدیگر آشنا شده باشید. همانگونه که در مقاله پیشین نیز اشاره شد از این قسمت قصد داریم به صورت تخصصی [...]]]></description>
			<content:encoded><![CDATA[<p dir="RTL"><img class="aligncenter size-full wp-image-21718" title="asp-dot-net-training-part8_into" src="http://fa.aradhaghi.com/wp-content/uploads/2012/03/asp-dot-net-training-part8_into.jpg" alt="" width="400" height="275" /></p>
<p dir="RTL">اگر قسمت های قبلی از سری مقالات &#8220;<a href="http://fa.aradhaghi.com/tag/learnasp-net/" target="_blank">منوی ویژه : کیک شکلاتی ASP.NET با نسکافه داغ</a>&#8221; را دنبال کرده باشید، باید با ماهیت و وطایف اصلی مرورگر وب، وب سرور و چگونگی ارتباط آنها با یکدیگر آشنا شده باشید. همانگونه که در <a href="http://fa.aradhaghi.com/1390/12/10/asp-dot-net-training-part-7_http-part3/" target="_blank">مقاله پیشین</a> نیز اشاره شد از این قسمت قصد داریم به صورت تخصصی تری پا به دنیای ASP.NET بگذاریم. ایجاد یک سایت مبتنی بر ASP.NET، شباهت های زیادی با پخت کیک شکلاتی دارد. اولین قدم برای پخت کیک شکلاتی چیست؟ شاید شما مهارت ویژه ای در پخت کیک شکلاتی داشته باشید اما حداقل بنده ترجیح می دهم به کتاب آشپزی مراجعه کنم. پس اولین ما انتخاب کتاب آشپزی خواهد بود. این وظیفه شماست که کتاب آشپزی مناسبی را انتخاب کنید. مسلما کتاب های آشپزی زیادی در بازار وجود دارند که هر یک دستور پخت مختص به خود را دارند اما در نهایت نتیجه کار، کیک شکلاتی خواهد بود که البته کیفیت آن بسته به مهارت و دقت شما ممکن است کمی متفاوت باشد. مسئله کتاب های آشپزی را به شیوه های ساخت وب سایت های مبتنی بر ASP.NET تعمیم بدهید. همانند کتاب های آشپزی متفاوتی که دستورات مختلفی را برای پختن کیک های شکلاتی ارائه کرده اند، مایکروسافت نیز سه اصطلاحا مدل برنامه نویسی متفاوت برای ساخت وب سایت های مبتنی بر ASP.NET ارائه کرده است. سوالی که برای یک آشپز (برنامه نویس) تازه کار پیش می آید این است که باید کدامیک از این کتاب ها (روش ها) را انتخاب کند؟ آیا نتیجه کار یکسان خواهد بود؟ کدامیک از این کتابها (روش ها) قابل اعتماد تر است؟ کدامیک از این کتابها (روش ها) برای یک آشپز (برنامه نویس) تازه کار مناسب تر است؟</p>
<p dir="RTL"><span id="more-21717"></span>ابتدا اجازه دهید نگاهی تیتروار به سه مدل برنامه نویسی معرفی شده توسط مایکروسافت داشته باشیم. Web Forms ، MVC و Web Pages سه مدل برنامه نویسی سایت های مبتنی بر ASP.NET را تشکیل میدهند. مطمئنا اگر تیتر پاراگراف فعلی تاریخچه بود از خواندن آن صرف نظر می کردید. به همین دلیل هیچ تیتری برای آن انتخاب نکردم! با اطلاع داشتن از تاریخچه ASP.NET می توانید براحتی مدل برنامه نویسی خود را انتخاب کنید بنابراین در این قسمت قصد داریم  به صورت مختصر تاریخچه ASP.NET را مورد بررسی قرار دهیم. هنوز مشغول خواندن این جملات هستید؟ در روزهای اولیه توسعه برنامه های تحت وب مبتنی بر پلتفرم ویندوز (اواخر دهه ۹۰ میلادی) ،مایکروسافت تکنولوژی ساده و در عین حال قابل قبولی را برای توسعه برنامه های تحت وب ارائه کرد. این تکنولوژی که در زمان خود با نام ASP و در حال حاضر با عنوان ASP Classic شناخته می شود به برنامه نویسان تحت وب و حتی غیربرنامه نویسان این امکان را می داد که سایت های خود را براحتی ایجاد نمایند. تنها چیزی که در آن زمان نیاز داشتید یک ویرایشگر متن ساده و یک فضای میزبانی بود! با انتشار ASP.NET و Visual Studio .NET در اوایل سال ۲۰۰۲ ، توسعه وب سایت های مبتنی بر تکنولوژی ASP به شکل قابل توجهی تغییر کرد. ASP.NET وارد میدان شده بود و هرچند فوق العاده قوی تر ظاهر شده بود اما دیگر مناسب افرادی که دانش چندانی از برنامه نویسی نداشتند، نبود. یادگیری و کار با این تکنولوژی نیازمند دانش برنامه نویسی بود. همچنین Visual Studio ابزاری بسیار قوی و در عین حال بسیار پیچیده تر از یک ویرایشگر متن ساده بود.</p>
<p dir="RTL">مایکروسافت به طور متداوم اقدام به بروزرسانی تکنولوژی ASP.NET می کرد و پیشرفت روز به روز ASP.NET نیز یادگیری آن را برای یک فرد تازه کار سخت تر می کرد. یکی از دلایل مقبولیت سایر زبان های تحت وب را نیز می توان در همین مورد جستجو کرد. بسیار از تکنولوژی های ضعیف تر از ASP.NET بدلیل سهولت یادگیری با مقبولیت بیشتر روبرو شدند. تا این زمان مایکروسافت تنها یک مدل برنامه نویسی برای ASP.NET داشت. این مدل برنامه نویسی که قدیمی ترین و در عین حال تکمیل ترین مدل برنامه نویسی ASP.NET است با نام Web Forms شناخته می شود. همانگونه که اشاره شد یادگیری این مدل برای یک تازه وارد به دنیای ASP.NET زمان زیادی را می طلبد. قدم دوم مایکروسافت ارائه مدل برنامه نویسی MVC بود. MVC یک مدل فوق العاده عالی و شفاف برای طراحی برنامه های تحت وب است اما MVC نیز نتوانست سد یادگیری تکنولوژی ASP.NET برای یک تازه کار را بشکند و بیشتر برای افرادی مناسب است که تجربه ای در Web Forms دارند. مایکروسافت توانست با ارائه اولین نسخه از WebMatrix در فوریه ۲۰۱۱ این سد را برای تازه واردان به دنیای ASP.NET بشکند. WebMatrix به مجموعه ای از کامپوننت ها اطلاق می شود که برای تولید وب سایت های مبتنی بر ASP.NET بر اساس سومین مدل برنامه نویسی یعنی Web Pages بکار می روند.</p>
<p>ذکر این نکته لازم است که هر یک از سه مدل برنامه نویسی مطرح شده فوق در حال حاضر پشتیبانی می شوند و توسط برنامه نویسان مورد استفاده قرار می گیرند. هر کدام مزایا و معایب خاص خود را دارند اما در نهایت حاصل خروجی کار یکی است: سایت مبتنی بر ASP.NET . بنابراین شما نیز به عنوان یک برنامه نویس باید اقدام به انتخاب مدل برنامه نویسی خود بکنید. در حال حاضر بهترین انتخاب WebMatrix و یا همان مدل برنامه نویسی مبتنی بر Web Pages است. دلیل این انتخاب را نیز می توان راحت تر بودن یادگیری آن دانست. بنابراین بهتر است ابتدا اقدام به یادگیری و پختن کیک شکلاتی مبتنی بر WebMatrix نماییم و سپس در صورت تمایل به سراغ سایر مدل ها نیز برویم. <a href="../1390/11/24/what-is-webmatrix/">با مطالعه این مقاله</a> می توانید با ماهیت WebMatrix بیشتر آشنا شوید. در قسمت بعدی قصد داریم به دلایل انتخاب WebMatrix بپردازیم.</p>
<p>پی نوشت : مقاله فوق را در راستای همکاری با سایت وبلاگینا ، اختصاصاً برای آن سایت نگارش کرده ام . این مقاله بازنشر <a href="http://weblogina.com/post/asp-dot-net-special-menu-part8/" target="_blank">مقاله اصلی</a> است. نظرات خود را در خصوص این مقاله می توانید در هر دو سایت ارائه نمایید. نظرات در هر دو سایت توسط بنده تایید و پاسخ داده خواهد شد.</p>
]]></content:encoded>
			<wfw:commentRss>http://fa.aradhaghi.com/1390/12/22/asp-dot-net-training-part-8_choose-right-model/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>چگونگی Sync کردن ویندوز فون از طریق Wireless</title>
		<link>http://fa.aradhaghi.com/1390/12/16/wireless-sync-for-windows-phone/</link>
		<comments>http://fa.aradhaghi.com/1390/12/16/wireless-sync-for-windows-phone/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 22:52:48 +0000</pubDate>
		<dc:creator>آراد حقی</dc:creator>
				<category><![CDATA[موبایل]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://fa.aradhaghi.com/?p=21713</guid>
		<description><![CDATA[همانند کابل USB ، از طریق Wireless می توانید ویندوز فون خود را Sync نمایید! Sync شدن گوشی های هوشمند موبایل غالباً از طریق اتصال فیزیکی آنها بواسطه کابل USB به PC و اجرای نرم افزار مربوطه آنها انجام می شود. این راه یقینا یکی از راه های Sync کردن تمامی اطلاعات گوشی تان نظیر [...]]]></description>
			<content:encoded><![CDATA[<p dir="RTL"><img class="aligncenter size-full wp-image-21714" title="wireless-sync-your-windows-phone-7" src="http://fa.aradhaghi.com/wp-content/uploads/2012/03/wireless-sync-your-windows-phone-7.jpg" alt="" width="400" height="275" /></p>
<p dir="RTL">همانند کابل USB ، از طریق Wireless می توانید ویندوز فون خود را Sync نمایید! Sync شدن گوشی های هوشمند موبایل غالباً از طریق اتصال فیزیکی آنها بواسطه کابل USB به PC و اجرای نرم افزار مربوطه آنها انجام می شود. این راه یقینا یکی از راه های Sync کردن تمامی اطلاعات گوشی تان نظیر فایل های صوتی ، ویدوئی و تصویری با کامیپوتر تان می باشد اما این راه تنها گزینه در پلتفرم ویندوز فون ۷ به شمار نمی آید! بعد از اینکه یکبار عملیات Sync را از طریق کابل USB با کامیپوترتان انجام دادید، در صورتی که یک روتر وایرلس در منزل دارید که گوشی مبتنی بر ویندوز فون تان و کامیپوترتان به آن متصل هستند، می توانید براحتی اطلاعات موجود در هر سمت را با دیگری و به صورت وایرلس به اشتراک بگذارید و داده های خود را Sync نمایید.</p>
<p dir="RTL">برای برپا سازی Wireless Sync کافیست دو مرحله زیر را دنبال نمایید. ابتدا باید گوشی ویندوز فون ۷ خود را به روتر وایرلس تان متصل نمایید. برای این منظور کافیست به <strong>Setting</strong> رفته و منوی <strong>WIFI</strong> را انتخاب نمایید. سپس از لیست ظاهر شده، اتصال روتر وایرلس خود را انتخاب نمایید. توجه نمایید که ویندوز فون ۷ در حال حاضر امکان نمایش SSID های مخفی را در این لیست ندارد، بنابراین از مخفی کردن SSID در تنظیمات روتر خودداری نمایید. بعد از انتخاب اتصال مورد نظر ، کلمه عبور را وارد نمایید تا اتصال برقرار شود. بعد از انجام این مرحله نوبت به پیکربندی Zune می رسد. در این قدم ابتدا اطمینان حاصل نمایید که گوشی شما به صورت کامل Sync شده است. عملیات Sync بصورت پیش فرض بعد از اتصال گوشی به کامپیوتر به صورت خودکار انجام می شود. برای تنظیم Sync بصورت Wireless در نرم افزار Zune کافیست به منوی <strong>Settings</strong> بروید، تب <strong>Phone</strong> را انتخاب نمایید، گزینه <strong>Wireless Syn</strong>c را انتخاب نمایید. در این مرحله به صفحه Confirm Network می رسید که از شما در مورد اتصالی که می خواهید عملیات Sync از طریق آن انجام شود سوال پرسیده می شود. توجه کنید که نام SSID انتخابی در این مرحله با نام SSID انتخاب شده در مرحله اول همخوانی داشته باشد. با کلیک روی گزینه Next به این مراحل پایان دهید. منتظر قدم های بیشتری بودید؟ توجه داشته باشید اطلاعات در بازه های زمانی یکسانی جهت Sync مورد ارزیابی قرار می گیرند.</p>
]]></content:encoded>
			<wfw:commentRss>http://fa.aradhaghi.com/1390/12/16/wireless-sync-for-windows-phone/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

