<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2enclosuresfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0">

<channel>
	<title>فراسان</title>
	
	<link>http://farasun.wordpress.com</link>
	<description>به اشتراک بگذارید برای یادگیری، یاد بگیرید برای به اشتراگ گذاری</description>
	<lastBuildDate>Sun, 25 Oct 2009 11:04:27 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain="farasun.wordpress.com" port="80" path="/?rsscloud=notify" registerProcedure="" protocol="http-post" />
<image>
		<url>http://www.gravatar.com/blavatar/a211e2bedd89b7f4aa2da28d2eb8493f?s=96&amp;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>فراسان</title>
		<link>http://farasun.wordpress.com</link>
	</image>
			<itunes:explicit>no</itunes:explicit><itunes:subtitle>به اشتراک بگذارید برای یادگیری، یاد بگیرید برای به اشتراگ گذاری</itunes:subtitle><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/Farasun" type="application/rss+xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">Farasun</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>لینک به توییتر! راهی دیگر برای استفاده از توییتر در دات نت</title>
		<link>http://farasun.wordpress.com/2009/10/25/linq-to-twitter/</link>
		<comments>http://farasun.wordpress.com/2009/10/25/linq-to-twitter/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 09:38:45 +0000</pubDate>
		<dc:creator>ایمان</dc:creator>
				<category><![CDATA[LINQ]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[دات نت]]></category>
		<category><![CDATA[سی شارپ]]></category>
		<category><![CDATA[کد باز]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[LINQ Provider]]></category>
		<category><![CDATA[LINQ2Twitter]]></category>
		<category><![CDATA[LinqToTwitter]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Twitter API]]></category>
		<category><![CDATA[لینک به توییتر]]></category>
		<category><![CDATA[کتابخانه]]></category>
		<category><![CDATA[کدباز]]></category>
		<category><![CDATA[اوپن سورس]]></category>
		<category><![CDATA[توییتر]]></category>

		<guid isPermaLink="false">http://farasun.wordpress.com/?p=1154</guid>
		<description><![CDATA[من قبلاً هم مطلبی نوشته بودم و نحوه استفاده از API توییتر در دات نت را توضیح داده بودم +. اگر نمی دانید توییتر چیست به همان مطلب مراجعه کنید. در این مطلب به معرفی یک کتابخانه کدباز می پردازم که تمام امکانات API توییتر را به شما در قالب یک Linq Provider می دهد.
LinqToTwitter [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1154&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p>من قبلاً هم مطلبی نوشته بودم و نحوه استفاده از API توییتر در دات نت را توضیح داده بودم <a title="API توییتر برای دات نت فریم ورک" href="http://farasun.wordpress.com/2009/03/31/twitter-api-for-net-framework/" target="_blank">+</a>. اگر نمی دانید توییتر چیست به همان مطلب مراجعه کنید. در این مطلب به معرفی یک کتابخانه کدباز می پردازم که تمام امکانات API توییتر را به شما در قالب یک Linq Provider می دهد.</p></blockquote>
<p style="text-align:justify;"><span style="color:#ff9900;"><strong>LinqToTwitter</strong></span> یک فراهم کننده <a title="LINQ on Wikipedia" href="http://en.wikipedia.org/wiki/Language_Integrated_Query" target="_blank"><strong>LINQ</strong></a> برای استفاده از معروف ترین سرویس دهنده میکرو بلاگینگ یعنی <a title="Twitter - What are you doing now!?" href="http://twitter.com" target="_blank"><strong>توییتر</strong></a> در برنامه های مبتنی بر دات نت فریم ورک 3.0 به بعد است. LINQToTwitter از سینتاکس استاندارد LINQ برای ایجاد کوئری و انجام متدهایش استفاده می کند. این یعنی برای استفاده از آن در برنامه خود باید با قواعد LINQ آشنایی داشته باشید.</p>
<p style="text-align:justify;"><img class="alignright size-full wp-image-1168" title="200xColor_2" src="http://farasun.files.wordpress.com/2009/10/200xcolor_2.png?w=100&#038;h=100" alt="200xColor_2" width="100" height="100" />اگر با LINQ آشنایی داشته باشید به راحتی می توانید با استفاده از این کتابخانه با وب سایت توییتر ارتباط برقرار کنید و کوئری های خود را روی آن اجرا کنید و نتیجه را مشاهده کنید. این کتابخانه علاوه بر امکان برگرداندن PublicTiemLine و FriendsTimeLine، می تواند TimeLine یک کاربر خاص را نیز به شما تحویل دهد و متدهایی برای آپدیت کردن وضعیت، فرستادن دایرکت مسیج، بلاک کردن یک کاربر خاص، فالو کردن، تغییر در پروفایل کاربر وسرچ کردن در تایم لاین توییتر را در اختیارتان قرار میدهد تا بتوانید یک کلاینت بی نقص برای توییتر بسازید.</p>
<p style="text-align:justify;">با این کتابخانه اوپن سورس شما می توانید از توییتر در وب سایت های مبتنی بر ASP.NET و ASP.NET MVC و برنامه های WinForms و دیگر نرم افزارهای تحت دات نت فریم ورک استفاده کنید. هیچکس نمی تواند منکر محبوبیت و تاثیر بسیار زیاد توییتر در دنیای امروز شود. به طور مثال می توانید کاری کنید که خبرهای وب سایت خودتان یا مشتری تان به محض انتشار در اکانت توییتر مخصوص به آن نیز توییت شود.</p>
<h2>چطور از LinqToTwitter استفاده کنیم؟</h2>
<p style="text-align:justify;">ابتدا به <a href="http://www.codeplex.com/LinqToTwitter" target="_blank"><strong>وب سایت  LinqToTwitter</strong></a> بروید و آخرین نسخه آن را <a title="Download LINQ2Twitter Beta" href="http://linqtotwitter.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=33850" target="_blank">دریافت</a> کنید. همانطور که گفتم این کتابخانه کدباز است، وقتی دانلود شما تمام شد، سورس کد کامل این پروژه را در اختیار دارید. برای استفاده از این کتابخانه در پروژه خود باید ابتدا آن را کامپایل کنید. سولوشن LinqToTwitter.sln را با ویژوال استادیو 2008 باز کنید. این سولوشن دارای چند دمو بسیار مناسب هم هست که نحوه استفاده از این کتابخانه را به شما نشان می دهند. روی پروژه LinqToTwitter در Solution Explorer کلیک راست کنید و گزینه Build را انتخاب کنید.الان فایل LinqToTwitter ساخته شده. در پروژه خودتان به فایل LinqToTwitter.dll ارجاع دهید. حالا برای استفاده از آن در هر جا که نیاز دارید فضای نام LinqToTwitter را using/Import کنید.</p>
<p style="text-align:justify;">مانند LinqToSQL که یک DataContext وجود دارد، در این کتابخانه نیز یک TwitterContext وجود دارد. حداقل کاری که می توانید با آن بکنید این است که نام کاربری و زمز عبور حساب توییتر خود را ست کنید و یک توییت با آن انجام دهید. در زیر مثالی به زبان سی شارپ را برای انجام این کار می آورم.</p>
<p><code><span style="color:#0000ff;">var</span> context = <span style="color:#0000ff;">new</span> <span style="color:#33cccc;">TwitterContext</span>(<span style="color:#ff0000;">"[myusername]"</span>, <span style="color:#ff0000;">"[mypassword]"</span>);<br />
<span style="color:#0000ff;">var</span> status = context.UpdateStatus(<span style="color:#ff0000;">"</span><span style="color:#ff0000;">Tweeted via linq2twitter</span><span style="color:#ff0000;">"</span>);</code><br />
اگر می خواهید لیستی از توییت های خود را در وب سایت خود نمایش دهید می توانید به صورت زیر عمل کنید :</p>
<p><code><span style="color:#0000ff;">var</span> context = <span style="color:#0000ff;">new</span> <span style="color:#33cccc;">TwitterContext</span>(<span style="color:#ff0000;">"[yourusernamehere]"</span>, <span style="color:#ff0000;">"[yourpasswordhere]"</span>);<br />
var MyTweets =<br />
<span style="color:#0000ff;">from</span> tweet <span style="color:#0000ff;">in</span> context.Status<br />
<span style="color:#0000ff;">where</span> tweet.Type == StatusType.User<br />
&amp;&amp; tweet.ID == <span style="color:#ff0000;">"[youruserid]"</span><br />
&amp;&amp; tweet.Page == 1<br />
&amp;&amp; tweet.Count == 10<br />
<span style="color:#0000ff;">select</span> tweet;</code></p>
<p>در مثال بالا، شما باید نام کاربری و رمز عبور خود را ست کنید تا این کوئری 10 توییت آخر شما را برگرداند.</p>
<p>اگر عضو توییتر نیستید، می توانید برای امتحان کردن این کتابخانه از کد زیر استفاده کنید. این مثال آخرین توییت ها در تایم لاین عمومی توییتر را برمیگرداند (مثال موجود در وب سایت رسمی پروژه) :</p>
<p><code><span style="color:#0000ff;">var</span> twitterCtx = <span style="color:#0000ff;">new</span> <span style="color:#33cccc;">TwitterContext</span>();<br />
<span style="color:#0000ff;">var</span> publicTweets =<br />
<span style="color:#0000ff;">from</span> tweet in twitterCtx.Status<br />
<span style="color:#0000ff;">where</span> tweet.Type == StatusType.Public<br />
<span style="color:#0000ff;">select</span> tweet;</code></p>
<p style="text-align:justify;">LinqToTwitter مثال خوب دیگری است که نشان می دهد <strong>LINQ</strong> فقط برای دسترسی به داده های یک دیتابیس نیست، بلکه می توان از آن برای کار با داده های مختلف، اشیاء و حتی توییت ها استفاده کرد.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">farasun.wordpress.com</span></p>
<p style="text-align:justify;">مطالب مرتبط با این پست را بخوانید :</p>
<ul>
<li><a title="LINQ چیست؟" href="http://farasun.wordpress.com/2008/09/09/linq-intro/" target="_blank"><strong>LINQ چیست؟</strong></a></li>
<li><a title="API توییتر برای دات نت فریم ورک" href="http://farasun.wordpress.com/2009/03/31/twitter-api-for-net-framework/" target="_blank"><strong>API توییتر برای دات نت فریم ورک</strong></a></li>
</ul>
Posted in LINQ, کد باز, برنامه نویسی, دات نت, سی شارپ Tagged: .NET, C#, LINQ, LINQ Provider, LINQ2Twitter, LinqToTwitter, OpenSource, Twitter, Twitter API, لینک به توییتر, کتابخانه, کدباز, اوپن سورس, توییتر, دات نت, سی شارپ <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1154/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1154&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/10/25/linq-to-twitter/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ایمان</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/10/200xcolor_2.png" medium="image">
			<media:title type="html">200xColor_2</media:title>
		</media:content>
	</item>
		<item>
		<title>ویژوال استادیو 2010 بتا 2 آمد!</title>
		<link>http://farasun.wordpress.com/2009/10/23/visual-studio-2010-beta-2/</link>
		<comments>http://farasun.wordpress.com/2009/10/23/visual-studio-2010-beta-2/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 21:35:15 +0000</pubDate>
		<dc:creator>ایمان</dc:creator>
				<category><![CDATA[اخبار]]></category>
		<category><![CDATA[دات نت]]></category>
		<category><![CDATA[فناوری]]></category>
		<category><![CDATA[ویژوال استادیو]]></category>
		<category><![CDATA[.NET 4.0]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[مایکروسافت]]></category>
		<category><![CDATA[ویژوال استادیو 2010]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[تازه های دات نت]]></category>
		<category><![CDATA[دات نت 4.0]]></category>

		<guid isPermaLink="false">http://farasun.wordpress.com/?p=1142</guid>
		<description><![CDATA[ویژوال استادیو 2010 و دات نت فریم ورک 4.0 پیشرفت زیادی کرده اند و قابلیت های بسیار بسیار زیادی به آن ها اضافه شده است به طوریکه در آینده ای نه چندان دور توسعه برنامه های تحت ویندوزو وب را تحت تاثیر قرار خواهند داد. توسعه برنامه های مبتنی بر ویندوز با WinForms جدید و [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1142&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;"><strong>ویژوال استادیو 2010</strong> و <strong>دات نت فریم ورک 4.0</strong> پیشرفت زیادی کرده اند و قابلیت های بسیار بسیار زیادی به آن ها اضافه شده است به طوریکه در آینده ای نه چندان دور توسعه برنامه های تحت ویندوزو وب را تحت تاثیر قرار خواهند داد. توسعه برنامه های مبتنی بر ویندوز با WinForms جدید و همچنین  نسخه جدید WPF انجام خواهد شد. ASP.NET نسخه 4.0 نیز دارای بهبودها و ویژگی های جدیدی است که توسعه وب را لذت بخش تر و حرفه ای تر از قبل خواهد کرد. Silverlight جایگاه خود را کم کم در توسعه وب مستحکم می کند و آینده خوبی برایش پیش بینی می شود. توسعه راهکارهای Sharepoint و Office با ویژوال استادیو 2010 پیشرفت قابل توجهی داشته و به محاسبات ابری یا <a title="Cloud Computing on Wikipedia" href="http://en.wikipedia.org/wiki/Cloud_computing" target="_blank"><strong>Cloud Computing</strong></a> در این نسخه توجه بیشتری شده است.</p>
<p align="center"><img title="ویژوال استادیو 2010" src="http://farasun.files.wordpress.com/2009/10/vs-2010.png" alt="ویژوال استادیو 2010" /></p>
<p style="text-align:justify;">ویژوال استادیو 2010 بتا 2 دارای بهبودهای بسیار خوبی در هسته IDE، ویرایشگر کد، زبان های برنامه نویسی، ابزارهای تست و طراحی برنامه است. نصب ویژوال استادیو 2010 راحت تر از قبل انجام می گیرد و می تواند در کنار ویژوال استادیو 2008 نصب شود و بدون هیچ مشکلی کار کند. شما می توانید ویژوال استادیو 2010 بتا 2 را روی کامپیوتری که در حال حاضر ویژوال استادیو 2008 دارد، نصب کنید، بدون اینکه مشکلی برایتان پیش بیاید.</p>
<p style="text-align:justify;">ظاهر این نسخه کاملاً با استفاده از WPF ساخته شده و بسیار زیباست (<a title="ظاهر جدید برای ویژوال استادیو 2010" href="http://farasun.wordpress.com/2009/02/27/new-look-for-visual-studio-2010/" target="_blank">+</a>) لوگوی ویژوال استادیو در این نسخه تغییر یافته و مدرن تر شده، هر چند من شخصاً لوگوی قبلی ویژوال استادیو را بیشتر می پسندم.</p>
<p align="center"><img title="لوگوهای قدیمی و جدید ویژوال استادیو" src="http://farasun.files.wordpress.com/2009/10/old_vs_new_vs_logos.png" alt="وگوهای قدیمی و جدید ویژوال استادیو" /></p>
<p style="text-align:justify;"><a title="TFS on Wikipedia" href="http://en.wikipedia.org/wiki/Team_Foundation_Server" target="_blank"><strong>Team Foundation Server</strong></a> در تمام نسخه های ویژوال استادیو 2010 وجود دارد. تیم های کوچک می توانند از TFS برای کنترل سورس، باگ ترکینگ و اتوماسیون Build پروژه هایشان در ویژوال استادیو 2010 استفاده نمایند. نسخه بیسیک TFS به راحتی بر روی کامپیوترهای سرور و کلاینت قابل نصب و استفاده است.</p>
<p style="text-align:justify;">از نسخه بتای 1 ویژوال استادیو 2010، می توانستید با ابزارهای <a title="Windows Azure Services Platform" href="http://www.microsoft.com/windowsazure/windowsazure/" target="_blank"><strong>Windows Azure</strong></a> کار کنید اما حالا و با نسخه بتای 2 آسان تر می توانید توسعه برنامه های Windows Azure را شروع کنید. این یعنی تجربه لذت بخش استفاده از &#8220;<a title="محاسبات ابری در ویکی پدیا" href="http://fa.wikipedia.org/wiki/%D9%85%D8%AD%D8%A7%D8%B3%D8%A8%D8%A7%D8%AA_%D8%A7%D8%A8%D8%B1%DB%8C" target="_blank"><strong>محاسبات ابری</strong></a>&#8221; با دات نت و ویژوال استادیو!</p>
<p style="text-align:justify;">در این نسخه نیز مانند نسخه 2008 می توانید نسخه فریم ورک خود را تغییر دهید. این امکان بسیار کاربردی ومفید است، به طور مثال شما می توانید از ویژوال استادیو 2010 برای توسعه برنامه های مبتنی بر دات نت فریم ورک 2.0 یا 3.5 استفاده کنید.</p>
<p style="text-align:justify;">پیمایش کد در ویرایشگر کد با قابلیت های ویژوال استادیو 2010 بسیار آسان تر شده (<a title="Searching and Navigating Code in VS 2010 - ScottGu" href="http://weblogs.asp.net/scottgu/archive/2009/10/21/searching-and-navigating-code-in-vs-2010-vs-2010-and-net-4-0-series.aspx" target="_blank">+</a>) و <a title="IntelliSense on Wikipedia" href="http://en.wikipedia.org/wiki/IntelliSense" target="_blank"><strong>Intellisense</strong></a> در این نسخه دستخوش تغییرات و بهبود شده است. (<a title="VS 2010 Code Intellisense Improvements -ScottGu" href="http://weblogs.asp.net/scottgu/archive/2009/10/22/vs-2010-code-intellisense-improvements-vs-2010-and-net-4-0-series.aspx" target="_blank">+</a>)</p>
<p style="text-align:justify;">من هنوز سعادت استفاده از ویژوال استادیو 2010 بتا 2 را پیدا نکردم اما سعی میکنم به محض استفاده، در مطلب کامل به بررسی ویژگی های جدیدش بپردازم. احتمالاً من تا آمدن نسخه پایدار صبر خواهم کرد. هرچند واقعاً صبر کردن برای تجربه ویژوال استادیو 2010 آسان نیست!</p>
<p style="text-align:justify;"><span style="color:#ff9900;"><strong>ویژوال استادیو 2010 بتا 2 را دانلود کنید</strong></span></p>
<p style="text-align:justify;">برای دریافت ویژوال استادیو 2010 به <strong><a title="Download Visual Studio 2010 beta 2" href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx" target="_blank">اینجا</a></strong> بروید. از 21 اکتبر (29م مهر) دریافت برای عموم آزاد است!البته مشترکان MSDN دو روز زودتر از بقیه می توانستند این نسخه را دریافت کنند.</p>
<p><span style="color:#ff9900;"><strong>منابع بیشتر برای آشنایی با دات نت فریم ورک 4.0<br />
</strong></span></p>
<p style="text-align:justify;">من قبلاً در<a href="http://farasun.wordpress.com"> این وبلاگ</a> در مطالبی به بررسی دات نت فریم ورک 4.0 پرداخته بودم. می توانید برای آشنایی بیشتر با این نسخه آن ها را مطالعه کنید. در آینده به بررسی کامل ویژوال استادیو 2010 نیز خواهیم پرداخت که جزوی از همین سری پست ها خواهد بود.</p>
<ul>
<li><a href="http://farasun.wordpress.com/2009/06/14/net-framework-4-0-clr-changes/" target="_blank"><strong>بررسی تغییرات CLR در دات نت 4.0</strong></a></li>
<li><a href="http://farasun.wordpress.com/2009/07/03/net-framework-4-0-base-class-libraries/" target="_blank"><strong>بررسی کتابخانه های کلاس پایه در دات نت 4.0</strong></a></li>
<li><a href="http://farasun.wordpress.com/2009/07/07/net-framework-4-0-visual-basic-2010/" target="_blank"><strong>بررسی ویژوال بیسیک 2010</strong></a></li>
</ul>
<p style="text-align:justify;">در آخر می توانید برای کسب اطلاعات بیشتر <a href="http://weblogs.asp.net/scottgu/" target="_blank"><strong>وبلاگ ScottGu</strong></a> را بخوانید که ایشون<a title="Visual Studio 2010 and .NET 4.0 Series - ScottGu" href="http://weblogs.asp.net/scottgu/archive/2009/08/25/vs-2010-and-net-4-series.aspx" target="_blank"> یک سری پست </a>در مورد ویژگی های جدید این نسخه نوشته اند و در آینده هم خواهند نوشت.خواندن<strong> <a href="http://www.hanselman.com/blog/" target="_blank"><strong>وبلاگ Scott Hanselman </strong></a> </strong>نیز توصیه می شود.</p>
<p style="text-align:justify;">برای اطلاع از به روز رسانی این وبلاگ،<a title="Subcribe to Farasun feed" href="http://feeds2.feedburner.com/Farasun" target="_blank"><strong> مشترک فید فراسان شوید!</strong></a> <a href="http://farasun.wordpress.com/about/rssfeed" target="_blank"><span style="color:#c0c0c0;"><em>چطور مشترک شویم!</em></span></a></p>
Posted in فناوری, ویژوال استادیو, اخبار, دات نت Tagged: .NET 4.0, Microsoft, مایکروسافت, ویژوال استادیو 2010, Visual Studio, Visual Studio 2010, برنامه نویسی, تازه های دات نت, دات نت 4.0 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1142/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1142/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1142/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1142&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/10/23/visual-studio-2010-beta-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ایمان</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/10/vs-2010.png" medium="image">
			<media:title type="html">ویژوال استادیو 2010</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/10/old_vs_new_vs_logos.png" medium="image">
			<media:title type="html">لوگوهای قدیمی و جدید ویژوال استادیو</media:title>
		</media:content>
	</item>
		<item>
		<title>Paint.NET، داستان موفقیت یک پروژه کدباز</title>
		<link>http://farasun.wordpress.com/2009/10/17/paint-net-a-successful-open-source-project-story/</link>
		<comments>http://farasun.wordpress.com/2009/10/17/paint-net-a-successful-open-source-project-story/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 11:54:17 +0000</pubDate>
		<dc:creator>ایمان</dc:creator>
				<category><![CDATA[Paint.net]]></category>
		<category><![CDATA[خلاقیت]]></category>
		<category><![CDATA[دات نت]]></category>
		<category><![CDATA[کد باز]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Success Story]]></category>
		<category><![CDATA[کدباز]]></category>
		<category><![CDATA[پینت دات نت]]></category>
		<category><![CDATA[پروژه کدباز]]></category>
		<category><![CDATA[اوپن سورس]]></category>
		<category><![CDATA[داستان موفقیت]]></category>

		<guid isPermaLink="false">http://farasun.wordpress.com/?p=1128</guid>
		<description><![CDATA[
Paint.NET را قبلاً در اینجا معرفی کرده بودم. یک نرم افزار کدباز برای ویرایش تصاویر دیجیتالی است که با داشتن یک رابط کاربری بسیار خوب و مناسب و پشتیبانی از لایه ها و افکت های گوناگون به رقیبی هر چند کوچک برای نرم افزارهای ویرایش عکس مانند فتوشاپ تبدیل شده است. این نرم افزار با [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1128&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote>
<p style="text-align:justify;"><span style="color:#ff9900;"><strong>Paint.NET</strong></span> را قبلاً در <a title="Paint.net جایگزینی مناسب برای Paint ویندوز" href="http://farasun.wordpress.com/2007/08/01/pain-dot-net-intro/" target="_blank">اینجا</a> معرفی کرده بودم. یک نرم افزار کدباز برای ویرایش تصاویر دیجیتالی است که با داشتن یک رابط کاربری بسیار خوب و مناسب و پشتیبانی از لایه ها و افکت های گوناگون به رقیبی هر چند کوچک برای نرم افزارهای ویرایش عکس مانند فتوشاپ تبدیل شده است. این نرم افزار با داشتن رابط کاربری ساده و قابلیت های مناسب می تواند به کاربران معمولی و آن هایی که چیزی از فتوشاپ سر در نمی آورند یا از آن نمی خواهند استفاده کنند، کمک کند تا تصاویر دیجیتالی خود را ویرایش کنند و در قالب فرمت های گوناگون ذخیره نمایند.</p>
</blockquote>
<p><img class="size-full wp-image-1131  alignright" title="paint.net logo" src="http://farasun.files.wordpress.com/2009/10/paint-ney-logo.png?w=237&#038;h=58" alt="paint.net logo" width="237" height="58" /></p>
<p style="text-align:justify;"><span style="color:#ff9900;"><strong>Paint.NET یک پروژه اوپن سورس و آزاد است.</strong></span> هر کس می تواند با رفتن به <a title="Paint.NET official web site" href="http://www.getpaint.net/" target="_blank">وب سایت رسمی Paint.NET</a> (یا هرسایت دیگر <a title="Download Paint.NET on filehippo" href="http://www.filehippo.com/download_paint.net/" target="_blank">+</a>) نسخه ای از آن را دریافت و روی ویندوز خودش نصب کند و بدون پرداخت هیچ هزینه ای از آن برای هر کاری (چه شخصی و چه تجاری) استفاده کند. کد این پروژه در دسترس همه قرار دارد و هرکسی می تواند در پیشرفت این پروژه سهیم باشد.</p>
<p style="text-align:justify;">در این مطلب کوتاه به تاریخچه ایجاد نرم افزار Paint.NET و داستان موفقیت آن می پردازیم. سپس در مورد اینکه چطور درآمدزایی می کند بحث می کنیم و در آخر نیز دلایل موفقیت این پروژه را از نظر خودم به صورت خیلی خلاصه بیان می کنم.</p>
<p><span style="color:#ff9900;"><strong>همه چیز از یک پروژه دانشجویی شروع شد&#8230;</strong></span></p>
<p style="text-align:justify;">Paint.NET در بهار سال 2004 به عنوان یک پروژه دانشجویی سال آخر رشته علوم کامپیوتر مقطع لیسانس از دانشگاه <strong><a title="Washington State University" href="http://en.wikipedia.org/wiki/Washington_State_University">Washington State University</a></strong> شروع شد.  <strong>Rick Brewster</strong> دانشجوی با سلیقه ای که روی طراحی رابط کاربری و گرافیک مسلط بود به عنوان رهبر توسعه تیم انتخاب شد. زبان سی شارپ به عنوان زبان برنامه نویسی و دات نت فریم ورک به عنوان پلت فرم توسعه برگزیده شدند. پس از طراحی نسخه اولیه  و پس از هماهنگی با شرکت مایکروسافت، Paint.NET به عنوان نام این پروژه انتخاب شد. پس از این اتفاق، توجه مایکروسافت به این پروژه معطوف شد.</p>
<p style="text-align:justify;">برای نسخه اول، مایکروسافت دو نفر از کارمندان خود را مامور نظارت روی این پروژه کرد. یک نفر به عنوان مربی و راهنما و دیگری به عنوان اسپانسر و تامین کننده هزینه های این پروژه دانشجویی شروع به همکاری کردند. نسخه اول به عنوان یک نرم افزار کدباز تحت دات نت، موفقیت خوبی را بدست آورد. همین موقع ها بود که مایکروسافت در پی جا انداختن پلت فرم دات نت میان برنامه نویسان بود. Paint.NET به عنوان یک مثال قدرتمند و عالی برای پلت فرم دات نت بود. مایکروسافت خوشحال بود چون این پروژه به برنامه نویسان نشان می داد که با دات نت فریم ورک می توان نرم افزارهای بهینه گرافیکی ساخت و کاربران معمولی ویندوز نیز می توانستند از یک نرم افزار قدرتمند تر از Paint به صورت رایگان برای ویرایش تصاویر دیجیتالی خود روی ویندوز استفاده کنند.</p>
<div id="attachment_1133" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-1133" title="paint.net-screenshot" src="http://farasun.files.wordpress.com/2009/10/paint-net-screenshot.jpg?w=500&#038;h=300" alt="نمایی از نسخه 3.5 بتا Paint.NET" width="500" height="300" /><p class="wp-caption-text">نمایی از نسخه 3.5 بتا Paint.NET</p></div>
<p style="text-align:justify;">در دسامبر 2004، نسخه 2.0 پایدار با امکانات قدرتمند و پشتیبانی از افکت های بیشتر عرضه شد. در می 2005 نسخه 2.1 در حالی که اکثر باگ های نسخه های قبل رفع شده بود و کارایی نرم افزار بالاتر رفته بود، عرضه شد. در نسخه 2.5 پشتیبانی از محلی سازی برای زبان های مختلف اضافه شد و در نسخه 2.6 پروژه به دات نت فریم ورک نسخه 2.0 منتقل شد و از معماری 64بیت به صورت کامل پشتیبانی شد. از این نسخه به بعد Rick Brewster و Tom Jackson توسعه دهنده های اصلی Paint.NET هستند. در می 2006 Paint.NET با دو میلیون دانلود خود را به عنوان یکی از بهترین نرم افزارهای ویرایش تصاویر دیجیتالی در سیستم عامل ویندوز معرفی کرد.</p>
<div id="attachment_1135" class="wp-caption alignright" style="width: 150px"><img class="size-full wp-image-1135" title="rickbrewster" src="http://farasun.files.wordpress.com/2009/10/rickbrewster.jpg?w=140&#038;h=157" alt="Rick Brewster" width="140" height="157" /><p class="wp-caption-text">Rick Brewster</p></div>
<p style="text-align:justify;">ریک بروستر شرکتی به نام <a href="http://www.dotpdn.com/" target="_blank"><strong>dotPDN</strong></a> تاسیس کرد و لوگو و نشان تجاری Paint.NET را به نام خود ثبت کرد. dotPDN شرکتی است که تا الان تنها محصولش Paint.NET است و هزینه های خود را از راه Donation و تبلیغات اینترنتی تامین می کند. هم اکنون آخرین نسخه Paint.NET نسخه 3.5 بتا است که با استفاده از دات نت فریم ورک 3.5 توسعه پیدا می کند. (<a title="Download Paint.NET 3.5" href="http://www.dotpdn.com/files/Paint.NET.3.5.Beta.3572.Install.zip" target="_blank">دریافت کنید</a>) Paint.NET دارای اجتماع کاربری مناسبی است که در آن کاربران به یکدیگر در زمینه های مختلف نرم افزار Paint.NET کمک می کنند. (<a title="Paint.NET Forum" href="http://paintdotnet.forumer.com/" target="_blank">اینجا</a>) هیچ سئوالی در این جامعه کوچک بی پاسخ نمی ماند.</p>
<p><span style="color:#ff9900;"><strong>Paint.NET چگونه درآمدزایی می کند؟</strong></span></p>
<p style="text-align:justify;">شاید این سئوال برای شما پیش بیاید که این نرم افزار که هم کدباز است و هم رایگان، چگونه درآمدزایی می کند و چه نفعی برای سازنده اش دارد. در پاراگراف بالا اشاره کردم که شرکت dotPDN از طریق Donation (هدیه نقدی کاربران) و تبلیغات اینترنتی هزینه های خود را تامین می کند. اگر به <a title="Paint.NET official web site" href="http://www.getpaint.net/" target="_blank">وب سایت Paint.NET</a> مراجعه کنید، در بخش هایی از آن، حتماً تبلیغات گوگل را مشاهده خواهید کرد. بسیاری از کاربران Paint.NET نیز به صورت داوطلبانه به سازنده آن کمک نقدی کرده اند و می کنند. شرکت مایکروسافت هم که اسپانسر این پروژه است. Donation و استفاده از تبلیغات یکی از معمول ترین راه های درآمدزایی نرم افزارهای کدباز هستند. (<a title="نرم افزارهای متن باز چگونه درآمدزایی می کنند؟ (زنگوله)" href="http://zangoole.com/1388/06/15/how-open-source-software-makes-money/" target="_blank">اطلاعات بیشتر</a>)</p>
<p style="text-align:justify;">ریک بروستر توسعه دهنده اصلی Paint.NET در حال حاضر، در دنیای دات نت و اوپن سورس اسم و رسمی دارد. اینطور که به نظر میرسد در مایکروسافت نیز مشغول به کار است (البته برای این حرفم منبع معتبری پیدا نکردم). موقعیت های شغلی یکی از مزایای توسعه پروژه های نرم افزارهای کدباز است که برای ریک نیز بوجود آمده است.</p>
<p><strong><span style="color:#ff9900;">دلایل موفقیت Paint.NET</span> </strong><em>(از نظر من)</em></p>
<p style="text-align:justify;">اولین و مهمترین دلیل موفقیت Paint.NET از نظر من اوپن سورس بودن این پروژه است. اگر کدباز نبود امکان این که توجه شرکت مایکروسافت را به خودش جلب کند بسیار پایین بود و اگر مایکروسافت از آن پشتیبانی نمی کرد، شاید هیچ وقت تا این حد موفق نمی شد. دلیل مهم دیگر موفقیت این پروژه، بی شک دانشگاه واشنگتن استیت واستاد راهنمای ریک بروستر آقای Jack Hagemeister بوده اند که با انجام چنین پروژه ای موافقت نموده اند و امکان همکاری با مایکروسافت را برای او فراهم کرده اند.</p>
<p style="text-align:justify;">موقعیت ریک را در زمان دانشجویی با یک دانشجوی رشته کامپیوتر در ایران مقایسه کنید. آیا دانشگاه های ما به چنین پروژه هایی بها می دهند؟ آیا ارتباط دانشگاه و صنعت در ایران آنقدر قوی است که یک شرکت تجاری اسپانسر یک پروژه دانشجویی شود و به پیشرفت آن کمک کند؟</p>
<p style="text-align:justify;">به نظر شما اگر آقای بروستر در یکی از دانشگاه های ایران دانشجو بود، می توانست چنین پروژه موفقی را به انجام برساند!؟</p>
<p style="text-align:justify;"><span style="color:#ffffff;">farasun.wordpress.com</span></p>
<p style="text-align:justify;">منابع :</p>
<ul>
<li><a title="Paint.NET official web site" href="http://www.getpaint.net/" target="_blank">وب سایت Paint.NET</a></li>
<li><a title="Paint.NET on Wikipedia" href="http://en.wikipedia.org/wiki/Paint.NET" target="_blank">ویکی پدیا</a></li>
<li><a title="Rick Brewster's blog on MSDN" href="http://blogs.msdn.com/rickbrew/" target="_blank">وبلاگ Rick Brewster در MSDN</a></li>
<li><a title="Paint.NET blog" href="http://blog.getpaint.net/" target="_blank">وبلاگ Paint.NET</a></li>
</ul>
Posted in Paint.net, کد باز, خلاقیت, دات نت Tagged: .NET, C#, Free, OpenSource, Paint.net, Success Story, کدباز, پینت دات نت, پروژه کدباز, اوپن سورس, دات نت, داستان موفقیت <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1128/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1128/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1128/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1128&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/10/17/paint-net-a-successful-open-source-project-story/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ایمان</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/10/paint-ney-logo.png" medium="image">
			<media:title type="html">paint.net logo</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/10/paint-net-screenshot.jpg" medium="image">
			<media:title type="html">paint.net-screenshot</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/10/rickbrewster.jpg" medium="image">
			<media:title type="html">rickbrewster</media:title>
		</media:content>
	<enclosure url="http://www.dotpdn.com/files/Paint.NET.3.5.Beta.3572.Install.zip" length="5036101" type="application/zip" /><itunes:subtitle> Paint.NET را قبلاً در اینجا معرفی کرده بودم. یک نرم افزار کدباز برای ویرایش تصاویر دیجیتالی است که با داشتن یک رابط کاربری بسیار خوب و مناسب و پشتیبانی از لایه ها و افکت های گوناگون به رقیبی هر چند کوچک برای نرم افزارهای ویرایش عکس مانند فتوشاپ تبدیل شده</itunes:subtitle><itunes:summary> Paint.NET را قبلاً در اینجا معرفی کرده بودم. یک نرم افزار کدباز برای ویرایش تصاویر دیجیتالی است که با داشتن یک رابط کاربری بسیار خوب و مناسب و پشتیبانی از لایه ها و افکت های گوناگون به رقیبی هر چند کوچک برای نرم افزارهای ویرایش عکس مانند فتوشاپ تبدیل شده است. این نرم افزار با [...]</itunes:summary><itunes:keywords>Paint.net, خلاقیت, دات نت, کد باز, .NET, C#, Free, OpenSource, Success Story, کدباز, پینت دات نت, پروژه کدباز, اوپن سورس, داستان موفقیت</itunes:keywords></item>
		<item>
		<title>چطور یک برنامه قابل حمل بسازیم!؟</title>
		<link>http://farasun.wordpress.com/2009/10/08/how-to-develop-a-portable-application/</link>
		<comments>http://farasun.wordpress.com/2009/10/08/how-to-develop-a-portable-application/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 22:40:40 +0000</pubDate>
		<dc:creator>ایمان</dc:creator>
				<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[دات نت]]></category>
		<category><![CDATA[دلفی]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Develop. Programming]]></category>
		<category><![CDATA[Portable]]></category>
		<category><![CDATA[Portable Application]]></category>
		<category><![CDATA[برنامه قابل حمل]]></category>
		<category><![CDATA[برنامه پرتابل]]></category>

		<guid isPermaLink="false">http://farasun.wordpress.com/?p=1115</guid>
		<description><![CDATA[در این مطلب قصد ندارم از دید یک کاربر معمولی به نرم افزارهای پرتابل نگاه کنم. همانطور که از تیتر مطلب پیداست، میخواهم از دید یک برنامه نویس، نحوه نوشتن یک برنامه قابل حمل را جدا از زبان و محیط برنامه نویسی و البته برای پلت فرم ویندوز مورد بررسی قرار دهم. در آخر نیز [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1115&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p>در این مطلب قصد ندارم از دید یک کاربر معمولی به نرم افزارهای پرتابل نگاه کنم. همانطور که از تیتر مطلب پیداست، میخواهم از دید یک برنامه نویس، نحوه نوشتن یک برنامه قابل حمل را جدا از زبان و محیط برنامه نویسی و البته برای پلت فرم ویندوز مورد بررسی قرار دهم. در آخر نیز به بررسی قابل حمل بودن برنامه های نوشته شده در پلت فرم دات نت و زبان برنامه نویسی دلفی خواهم پرداخت.</p></blockquote>
<p style="text-align:justify;">یک <span style="color:#ff9900;"><strong>بر</strong><strong>نامه قابل حمل</strong></span> یا <span style="color:#ff9900;"><strong>Portable Application</strong></span>(=پرتابل) برنامه ای است که به صورت مستقل و بدون نیاز به نصب در یک سیستم عامل اجرا شود و به درستی کار کند. معمولاٌ از این برنامه ها در حافظه های قابل حمل مانند CD و USB flash drive استفاده می شود. این روزها کاربران بسیاری با این برنامه ها آشنایی دارند و همیشه یکی دو جین از این نرم افزارها را روی کول دیسک خودشان به همراه دارند.</p>
<p style="text-align:justify;">واژه &#8220;<strong>برنامه قابل حمل</strong>&#8221; نباید با &#8220;قابلیت حمل برنامه&#8221; اشتباه گرفته شود. منظور از &#8220;<strong>قابلیت حمل برنامه</strong>&#8221; یا <a title="Software Portability on Wikiepdia" href="http://en.wikipedia.org/wiki/Software_portability" target="_blank"><strong>Software Portability</strong></a> این است که سورس کد یک برنامه را بتوان برای پلت فرم های مختلف کامپیوتری کامپایل و بر روی آن ها اجرا کرد. برنامه های قابل حمل معمولاٌ برای تنها یک پلت فرم خاص ایجاد می شوند و در برخی مواقع حتی نیاز به پیش نیازهایی برای اجرا در همان پلت فرم دارند.</p>
<p>برنامه های قابل حمل برای این طراحی شده اند که :</p>
<ul>
<li>بدون نیاز به نصب روی سیستم عامل، اجرا شوند</li>
<li>هیچ ردپایی از خود در سیستم عاملی که اجرا می شوند، باقی نگذارند</li>
<li>داده ها و تنظیماتشان را در کنار خودشان (حافظه قابل حمل) نگهداری کنند</li>
</ul>
<p align="center"><img title="چطور یک برنامه قابل حمل بسازیم!؟" src="http://farasun.files.wordpress.com/2009/10/how-to-develop-a-portable-application.png" alt="" /></p>
<p>پس شما برای اینکه یک برنامه قابل حمل بسازید باید شرط های زیر را رعایت کنید :</p>
<p><strong>1</strong><strong>- یک فایل اجرایی از برنامه بسازید که در یک سیستم عامل خاص بدون نیاز به نصب فایل هایی خاص، اجرا شود و کار اصلی خودش را انجام دهد</strong></p>
<p style="text-align:justify;"><strong> </strong> برای این کار شما باید مطمئن شوید که برنامه شما برای اجرا به هیچ فایلی وابسته نیست، یا اگر وابسته است، از نوع فایل های <a title="ActiveX on Wikipdia" href="http://en.wikipedia.org/wiki/ActiveX" target="_blank">ActiveX</a> و DLLهای <a title="COM on Wikipedia" href="http://en.wikipedia.org/wiki/Component_Object_Model" target="_blank">COM</a> نیست! به این علت که این نوع فایل ها باید در سیستم عامل ویندوز کاربر ثبت شوند و معمولاٌ دردسر های زیادی با خود به همراه دارند. اگر فایل اجرایی برنامه شما به فایل های معمولی متنی یا نوع دار (مثلاً باینری) وابسته است، برای اجرا روی سیستم های مختلف مشکلی نخواهد داشت. در مورد وابستگی برنامه شما به یک دیتابیس هم باید به نوع فایل دیتابیس خود توجه کنید. دیتابیس های SQL Server را که به هیچ وجه منطقی نیست در برنامه های قابل حمل استفاده کنید، چون این نوع دیتابیس در برنامه های چندکاربره و تحت شبکه استفاده می شود. دیتابیس های Microsoft Access هم به علت وابستگی به یکسری فایل خاص ممکن است برنامه شما را برای اجرا با مشکل مواجه کند. بهترین انتخاب برای دیتابیس در یک برنامه قابل حمل <a href="http://sqlite.org" target="_blank"><strong>SQLite</strong></a> خواهد بود. SQLite یک دیتابیس توکار است که هم سبک است و هم ساده و البته رایگان.</p>
<p><strong>2- برنامه شما هیچ تغییری در سیستم عامل کاربر یا فایل های سیستمی آن ندهد</strong></p>
<p style="text-align:justify;">معمولاً کاربران برنامه های قابل حمل را روی حافظه فلش خود ذخیره می کنند تا به راحتی بتوانند آن ها را روی کامپیوترهای مختلف اجرا کنند و به مقصود خود برسند. در واقع برنامه های قابل حمل نقش مهمان ناخوانده را برای یک سیستم عامل دارند. بدون اینکه نصب شوند و یا خود را معرفی کنند، اجرا می شوند و کار خودشان را انجام می دهند. به همین علت یک برنامه قابل حمل نباید تغییری ناخواسته در سیستم عامل کاربر ایجاد کند، زیرا ممکن است این اولین و آخرین باری باشد که در این سیستم عامل اجرا می شود. به طور مثال یک برنامه قابل حمل به هیچ وجه نباید رجستری ویندوز را تغییر دهد.</p>
<p style="text-align:justify;">البته در این مورد یک حالت خاص داریم، زمانی که برنامه قابل حمل برای تغییر قسمتی از سیستم عامل ساخته شده، مثلاً یک نرم افزار Registry Tweak یا یک برنامه برای حذف فایل های اضافی از روی سیستم عامل، که می توانید در این گونه موارد این شرط را رعایت نکنید و البته که کاربر از هدف اجرای نرم افزار شما آگاه است.</p>
<p><strong>3- تنظیمات و داده های احتمالی برنامه را در کنار خود برنامه ذخیره کنید</strong></p>
<p style="text-align:justify;">تنظیمات یک برنامه قابل حمل نیز باید قابل حمل باشد! این جمله بدین معنی است که اگر کاربر در یک سیستم عامل تنظیمات برنامه را تغییر داد، دفعه بعد و در یک سیستم عامل دیگر برنامه را با تنظیمات جدیدش (که در سیستم عامل قبلی تغییر داده) اجرا کند. پس نباید تنظیمات برنامه را در هارد دیسک های یک کامپیوتر ذخیره کرد (مگر اینکه برنامه از روی هارد دیسک اجرا شود)، بلکه باید در کنار برنامه (معمولاٌ فلش دیسک) ذخیره نمود. یادتان باشد که با توجه به قانون دوم، شما نباید تنظیمات برنامه خود را در رجیستری ویندوز ذخیره کنید. در این حالت بهترین راه ذخیره سازی تنظیمات در فایل های متنی با ساختار <a title="INI on Wikipedia" href="http://en.wikipedia.org/wiki/INI_file" target="_blank"><strong>INI</strong></a> در کنار فایل اجرایی برنامه شماست.</p>
<p align="center"><img title="نوشتن برنامه های پرتابل در محیط های برنامه نویسی دات نت و دلفی" src="http://farasun.files.wordpress.com/2009/10/csharpportable.png" alt="csharpportable" /></p>
<p><strong>نوشتن برنامه قابل حمل در پلت فرم دات نت</strong></p>
<p style="text-align:justify;">اکثر برنامه های نوشته شده با زبان های دات نتی پرتابل هستند! شاید بگویید که وابستگی به دات نت فریم ورک، پرتابل بودن نرم افزارهای نوشته شده در دات نت را نقض می کند. اما این تفکر شما اشتباه است. تمام نرم افزارهای پرتابل یک پیش نیاز دارند، آن هم پلت فرم اجراست. به طور مثال یک برنامه پرتابل فقط روی ویندوز اکس پی اجرا می شود. این پرتابل بودن این برنامه را نقض نمی کند، فقط پیش نیاز اجرا که همان پلت فرم است را مشخص می کند. در مورد دات نت نیز همینطور است. دات نت یک پلت فرم است که برنامه های نوشته شده توسط این فریم ورک برای اجرا به آن نیاز دارند. این به هیچ وجه پرتابل بودن برنامه های دات نت را نقض نمی کند.</p>
<p>پس در حالت عادی تمام نرم افزارهای تحت دات نت قابل حمل هستند. اگر یکی از شرط های بالا را نقض کنید، آن وقت برنامه دات نت خود را غیر قابل حمل کرده اید!</p>
<p><strong>نوشتن برنامه قابل حمل در دلفی</strong></p>
<p style="text-align:justify;">در حالت عادی، برنامه های نوشته شده به این زبان، شرط اول را دارند. یعنی به فایل خاصی برای اجرا وابسته نیستند. کامپایلر دلفی کد Native تولید می کند، و به همین علت فایل اجرایی آن روی هر ویندوزی و بدون احتیاج به نصب اجرا می شود. مگر اینکه خود شما با وابسته کردن فایل اجرایی برنامه خود به کامپوننت خاصی، این شرط را نقض کنید. در دلفی شما فقط کافیست که دو شرط آخر را رعایت کنید تا یک برنامه پرتابل عالی ساخته باشید.</p>
<p><span style="color:#ffffff;">farasun.wordpress.com</span></p>
<p><a title="Subcribe to Farasun feed" href="http://feeds2.feedburner.com/Farasun" target="_blank"><strong>مشترک فید فراسان شوید!</strong></a></p>
Posted in مقالات, برنامه نویسی, دلفی, دات نت Tagged: .NET, Delphi, Develop. Programming, Portable, Portable Application, برنامه قابل حمل, برنامه نویسی, برنامه پرتابل, دلفی, دات نت <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1115/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1115&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/10/08/how-to-develop-a-portable-application/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ایمان</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/10/how-to-develop-a-portable-application.png" medium="image">
			<media:title type="html">چطور یک برنامه قابل حمل بسازیم!؟</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/10/csharpportable.png" medium="image">
			<media:title type="html">نوشتن برنامه های پرتابل در محیط های برنامه نویسی دات نت و دلفی</media:title>
		</media:content>
	</item>
		<item>
		<title>تخمین هزینه های یک پروژه نرم افزاری</title>
		<link>http://farasun.wordpress.com/2009/09/24/estimating-a-software-project-costs/</link>
		<comments>http://farasun.wordpress.com/2009/09/24/estimating-a-software-project-costs/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 17:59:59 +0000</pubDate>
		<dc:creator>ایمان</dc:creator>
				<category><![CDATA[مقالات]]></category>
		<category><![CDATA[مهندسی نرم افزار]]></category>
		<category><![CDATA[نرم افزار]]></category>
		<category><![CDATA[مقاله]]></category>
		<category><![CDATA[برآورد هزینه]]></category>
		<category><![CDATA[برآورد هزینه نرم افزار]]></category>
		<category><![CDATA[برآورد هزینه پروژه نرم افزاری]]></category>
		<category><![CDATA[تخمین هزینه]]></category>
		<category><![CDATA[تخمین هزینه مهندسی نرم افزار]]></category>
		<category><![CDATA[تخمین هزینه نرم افزار]]></category>
		<category><![CDATA[تخمین هزینه پروژه]]></category>

		<guid isPermaLink="false">http://farasun.wordpress.com/?p=1105</guid>
		<description><![CDATA[انجام محاسبات مربوط به هزینه یک نرم افزار معمولاً کار مشکلی است. این امر دلایل زیادی دارد. پروژه های نرم افزاری اغلب ملموس و در ابتدا قابل درک نیستند. همیشه چیزی که در ذهن مشتری است با چیزی که در ذهن شماست تفاوت های بسیاری دارد. امروزه نرم افزار گرانترین بخش سیستم های کامپیوتری است. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1105&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p>انجام محاسبات مربوط به هزینه یک نرم افزار معمولاً کار مشکلی است. این امر دلایل زیادی دارد. پروژه های نرم افزاری اغلب ملموس و در ابتدا قابل درک نیستند. همیشه چیزی که در ذهن مشتری است با چیزی که در ذهن شماست تفاوت های بسیاری دارد. امروزه نرم افزار گرانترین بخش سیستم های کامپیوتری است. تخمین هزینه می تواند تفاوتی میان سود و زیان باشد.</p></blockquote>
<p><strong>تخمین هزینه</strong> مشکل است اما حیاتی است. یک خطای بزرگ در تخمین هزینه می تواند ضرر مالی و زمانی بسیاری به شما وارد کند. متغیرهای بسیاری مانند انسان، محیط، لوازم، زمان، ریسک، اندازه و پیچیدگی پروژه بر روی هزینه های شما تاثیرگذارند. معمولا وظیفه تخمین هزینه در شرکت ها و تیم های برنامه نویسی بر عهده مدیر پروژه است. یک مدیر پروژه هم باید با تجربه و دانش قبلی خود این کار را انجام بدهد. من و شمایی که دانش مدیریت پروژه نداریم و پروژه هایمان را اغلب تک نفری انجام می دهیم، چطور تخمین هزینه کینم!؟ به منظور دستیابی به تخمین هزینه تقریباً قابل اطمینان سه راه پیشنهاد می شود :</p>
<ul>
<li> تخمین هزینه تا انتهای پروژه به تاخیر انداخته شود</li>
</ul>
<ul>
<li> بر اساس پروژه های مشابهی که قبلاً انجام شده، تخمین هزینه کنیم</li>
</ul>
<ul>
<li> از روش های تجربی و سلسله مراتبی استفاده کنیم</li>
</ul>
<p>متاسفانه، حالت اول در اکثر مواقع عملی نیست. مشتری شما می خواهد قیمت شما را بداند تا هم خودش برآورد هزینه کند و هم قمیت شما را با دیگران مقایسه کند.</p>
<p>حالت دوم تا حد قابل قبولی خوب عمل می کند، اما اگر پروژه جاری کاملاً شبیه پروژه های انجام شده قبلی باشد. که معمولاً اینطور نیست. تجربه گذشته همیشه نشان دهنده راه خوبی برای نتایج آینده نیستند.</p>
<p>حالت سوم می تواند روش عملی مناسبی برای تخمین هزینه های پروژه های نرم افزاری باشد. در این حالت باید عوامل موثر در هزینه های نرم افزار را تشخیص و هرکدام را مورد بررسی قرار دهید. در این مطلب به بررسی مهمترین عوامل تاثیرگذار در برآورد هزینه یک پروژه نرم افزاری می پردازیم :</p>
<h2>اندازه پروژه</h2>
<p>اولین چیزی که تاثیر مستقیم روی هزینه های شما دارد اندازه یک پروژه است. شما باید بر اساس مشاهدات و مستنداتی که از مشتری بدست آورده اید، تخمین مناسبی از اندازه (بزرگی یا کوچکی) پروژه داشته باشید. با افزایش اندازه پروژه هزینه های زمانی، مالی و انسانی شما بالاتر خواهد رفت. شاید فکر کنید تخمین اندازه پروژه کار راحتی است، اما اشتباه شما همین جاست! مشتری ها در ابتدای کار فقط یک هدف دارند، اینکه کارشان را با نرم افزار شما راحت و بادقت انجام دهند. اغلب مشتری های پروژه های نرم افزاری نمی توانند در ابتدای کار تمام انتظارات خودشان را مشخص کنند. بعد از اینکه شما پروژه را تحویل دادید و مشتری مدتی با آن کار کرد، باید پذیرای انتظارات و احیاناً ایرادهای جدید مشتری باشید.</p>
<h2>پیچیدگی پروژه</h2>
<p>عامل مهم دیگری که حتماً باید در تخمین هزینه پروژه در نظر بگیرید، پیچیدگی است. شما باید بتوانید پیچیدگی یک پروژه را بر اساس دانش خود اندازه بگیرید. این نکته را در نظر داشته باشید که فاکتور اندازه و پیچیدگی یکسان نیستند. یک پروژه با اندازه کوچک ممکن است پیچیدگی بسیار بیشتری از یک پروژه با اندازه بزرگ داشته باشد. به طور مثال نوشتن یک برنامه مدل سازی سه بعدی پیچیده تر و مشکل تر  از نوشتن یک ویرایشگر متن است. البته پیچدگی هم می تواند یک عامل نسبی باشد. مثلاً نوشتن یک پروژه تحت وب تجاری برای کسی که تا به حال تجربه چنین کاری را نداشته ممکن است بسیار پیچیده به نظر برسد، اما کسی که دهمین وب سایت تجاری خود را توسعه می دهد، انجام این کار را معمول می داند.</p>
<h2>زمان انجام پروژه</h2>
<p>شما باید زمان مفیدی را که روی یک پروژه کار می کنید را محاسبه کنید. این عامل وابستگی مستقیم به اندازه و پیچیدگی پروژه دارد. هر چقدر اندازه و پیچیدگی پروژه بیشتر باشد، مشخص است که زمانی که شما باید روی پروژه بگذارید نیز افرایش می یابد. این عامل می تواند تحت تاثیر تقاضای مشتری باشد، یعنی اینکه او بخواهد خروجی پروژه را در زمان مشخصی از شما تحویل بگیرد. در این موقعیت که مورد بحث ما نیست، شما بایستی زمان پروژه را تخمین بزنید. یا ممکن است زمان انجام پروژه در ابتدای کار مشخص نشود و برای مشتری هم آنچنان مهم نباشد، در اینجا شما باید با یک برنامه ریزی مشخص و یک تخمین زمان مناسب، فاکتور زمان را برای تخمین هزینه پروژه بدست آورید.</p>
<h2>منابع انسانی</h2>
<p>این فاکتور فقط برای تیم های برنامه نویسی و شرکت ها کاربرد دارد. این عامل تحت تاثیر هر سه عامل بالاست. شما پس از تخمین عوامل بالا، بایستی برای انجام کارهای پروژه افرادی را استخدام کنید. معمولاً در پروژه های کوچک همه کارها را یک نفر انجام می دهد، اما هنگامی که اندازه و پیچیدگی پروژه بیشتر و زمان انجام آن (به اجبار) کمتر می شود، نیاز به استفاده از نیروی انسانی افزایش پیدا می کند.</p>
<p><span style="color:#ffffff;">farasun.wordpress.com</span></p>
<p>حتماً عوامل دیگری در تخمین هزینه دخیل هستند که در این نوشته کوتاه به آن ها پرداخته نشد. سختی این کار اینجاست که برای تخمین مناسب هزینه های یک پروژه، شما بایستی ابتدا بتوانید اندازه، پیچیدگی و زمان مورد نیاز برای انجام پروژه را تخمین بزنید.</p>
<p>شما هم می توانید تجربه خود را با ما توسط فرم نظرات به اشتراک بگذارید.</p>
<p><strong>به روز رسانی :</strong> آقای مجید آواژ لطف کردن و مطلبی پخته تر و علمی تر در مورد تخمین هزینه های پروژه های نرم افزاری نوشتند، از <a href="http://www.behsad.org/weblog/1388/07/%d8%aa%d8%ae%d9%85%d9%8a%d9%86-%d9%87%d8%b2%d9%8a%d9%86%d9%87%e2%80%8c%d9%87%d8%a7%d9%8a-%d9%8a%da%a9-%d9%be%d8%b1%d9%88%da%98%d9%87-%d9%86%d8%b1%d9%85%e2%80%8c%d8%a7%d9%81%d8%b2%d8%a7%d8%b1%d9%8a/" target="_blank"><strong>اینجا</strong></a> می توانید این مطلب را بخوانید.</p>
<p>مطالب مرتبط :</p>
<ul>
<li><a href="http://farasun.wordpress.com/2009/05/23/how-to-done-a-software-project/" target="_blank"><strong>چگونه یک پروژه نرم افزاری را با موفقیت انجام دهیم!؟</strong></a></li>
<li><a href="http://farasun.wordpress.com/2009/05/15/how-to-design-an-standard-user-interface/" target="_blank"><strong>چگونه یک رابط کاربری مناسب و استاندارد طراحی کنیم؟</strong></a></li>
<li><a href="http://farasun.wordpress.com/2009/03/12/oslo-microsoft-modeling-platform/" target="_blank"><strong>Oslo; پلت فرم مدل سازی مایکروسافت</strong></a></li>
</ul>
Posted in مقالات, مهندسی نرم افزار, نرم افزار Tagged: مقاله, مهندسی نرم افزار, برآورد هزینه, برآورد هزینه نرم افزار, برآورد هزینه پروژه نرم افزاری, تخمین هزینه, تخمین هزینه مهندسی نرم افزار, تخمین هزینه نرم افزار, تخمین هزینه پروژه <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1105&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/09/24/estimating-a-software-project-costs/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ایمان</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP.NET MVC; ساخت صفحات وب بدون فرم های وب!</title>
		<link>http://farasun.wordpress.com/2009/09/15/asp-net-mvc-framework/</link>
		<comments>http://farasun.wordpress.com/2009/09/15/asp-net-mvc-framework/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 22:00:31 +0000</pubDate>
		<dc:creator>ایمان</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[دات نت]]></category>
		<category><![CDATA[فناوری]]></category>
		<category><![CDATA[مقالات]]></category>
		<category><![CDATA[کد باز]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[ASP.NET MVC Framework]]></category>
		<category><![CDATA[ASP.NET MVC چیست]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Model View Controller]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[فریم ورک ASP.NET MVC]]></category>
		<category><![CDATA[وب فرم]]></category>
		<category><![CDATA[WebForms]]></category>
		<category><![CDATA[الگوی طراحی MVC]]></category>
		<category><![CDATA[ام وی سی]]></category>
		<category><![CDATA[برنامه نویسی وب]]></category>
		<category><![CDATA[توسعه وب]]></category>

		<guid isPermaLink="false">http://farasun.wordpress.com/?p=1091</guid>
		<description><![CDATA[اگر برای توسعه وب اپلیکیشن ها از ASP.NET استفاده می کنید و با نام MVC آشنایی ندارید، پس در حال حاضر از وب فرم ها در ASP.NET استفاده می کنید. اگر نمی دانید منظور از وب فرم ها (WebForms) چیست، این مطلب را بخوانید. شرکت مایکروسافت علاوه بر وب فرم ها، فریم ورک دیگری به [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1091&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p>اگر برای توسعه وب اپلیکیشن ها از ASP.NET استفاده می کنید و با نام <strong>MVC</strong> آشنایی ندارید، پس در حال حاضر از وب فرم ها در ASP.NET استفاده می کنید. اگر نمی دانید منظور از وب فرم ها (WebForms) چیست، <a href="http://farasun.wordpress.com/2009/01/30/introduction-to-asp-dot-net-web-forms/" target="_blank"><strong>این مطلب</strong></a> را بخوانید. شرکت مایکروسافت علاوه بر وب فرم ها، فریم ورک دیگری به نام ASP.NET MVC برای ایجاد وب اپلیکیشن ها در ASP.NET در اختیار توسعه دهندگان وب قرار داده است. این فریم ورک جدید، رایگان و کدباز است و روشی متفاوت از وب فرم ها برای توسعه صفحات وب به توسعه دهندگان ASP.NET ارائه می کند. در این مطلب به معرفی فریم ورک قدرتمند ASP.NET MVC می پردازم.</p></blockquote>
<p><span style="color:#ff9900;"><strong>ASP.NET MVC</strong></span> فریم ورک قدرتمندی برای ایجاد اپلیکیشن های تحت وب است که از الگوی <span style="color:#ff9900;"><strong>MVC</strong></span> استفاده می کند و توسط مایکروسافت به صورت اوپن سورس توسعه داده می شود. MVC یک الگوی طراحی و مخفف کلمات <a href="http://en.wikipedia.org/wiki/Model-view-controller" target="_blank"><strong>Model-View-Controller</strong></a> است. فریم ورک ASP.NET MVC الگوی طراحی MVC را در پلت فرم وب اپلیکیشن مایکروسافت یعنی ASP.NET پیاده سازی می کند. این فریم ورک اولین بار در دسامبر 2007 و با یک نسخه CTP توسط مایکروسافت معرفی شد. در مارس 2009 نسخه 1 پایدار آن عرضه شد و یک ماه بعد یعنی در آپریل 2009 شرکت مایکروسافت سورس کد فریم ورک ASP.NET MVC را تحت مجوز MS-PL منتشر نمود.</p>
<h2>MVC چیست!؟</h2>
<p><img class="size-full wp-image-1098 alignright" title="mvc" src="http://farasun.files.wordpress.com/2009/09/mvc.png?w=278&#038;h=350" alt="mvc" width="278" height="350" /></p>
<p>مفهوم کلیدی این فریم ورک همان سه حرف آخر آن یعنی MVC است. پس کمی در مورد آن توضیح می دهم. همانطور که گفتم، MVC یک الگوی طراحی است که همانطور که از نامش پیداست، یک پروژه نرم افزاری را به سه قسمت منطقی Model, View و Controller تقسیم می کند. شاید شما در حال حاضر با معماری 3 لایه نرم افزاری آشنا باشید. اگر اینطور است، شما مشکلی در درک الگوی طراحی MVC نخواهید داشت. MVC مفهوم جدیدی نیست، خیلی وقت است که در جاوا، رابی، PHP و بسیاری پلت فرم های دیگر از این الگو برای طراحی نرم افزار استفاده می شده است. اما خب برای توسعه دهندگان ASP.NET تازه است. سه قسمت اصلی الگوی MVC :</p>
<ul>
<li><strong>Model </strong>: مدل قسمتی از یک اپلیکیشن است که وظایف سنگین دسترسی به داده ها، پیاده سازی منطق و موجودیت ها را بر عهده دارد. به طور معمول یک مدل وظیفه Map کردن جداول اطلاعاتی یک دیتابیس را به کلاس های شیء گرا و برعکس را بر عهده می گیرد. احتمالاً شما همین الان هم در پروژه های خود، مدل را پیاده سازی می کنید و به آن لایه دسترسی به داده می گویید! Model باید طوری پیاده سازی شود که به هیچ وجه به رابط کاربری وابستگی نداشته باشد.</li>
<li><strong>View </strong>: احتمالاً کاربرد View را حدس زده اید! رابط کاربری همان View است. در واقع بخشی که یک کاربر نهایی با آن تعامل خواهد داشت و اطلاعات را نمایش می دهد، View نام دارد. همانطور که رابط کاربری برای Model هیچ اهمیتی ندارد، اینکه چطور داده ها اعتبارسنجی یا ذخیره می شوند یا منطق اپلیکیشن شما چطور پیاده سازی شده است، برای View مهم نیست.</li>
<li><strong>Controller </strong>: فضای خالی میان Model و View را Controller پر می کند. از آنجا که Model و View هیچ ارتباطی با هم ندارند و برای یکدیگر هیچ اهمیتی قائل نیستند، Controller داده ها را از Model به View برای نمایش به کاربر انتقال می دهد. کنترلرها تصمیم می گیرند که اطلاعاتی که شما وارد کرده اید را به کجا برسانند و همینطور چه چیزی را باید در خروجی مشاهده کنید. در واقع کنترل کننده و هماهنگ کننده میان Model و View است.</li>
</ul>
<p>فقط به این نکته توجه داشته باشید که در یک اپلیکیشن MVC کامپوننت View فقط جهت نمایش خروجی به کاربر مورد استفاده قرار می گیرد و این Controller است که ورودی ها را از کاربر می گیرد و به آن ها پاسخ می دهد.</p>
<h2>چرا از ASP.NET MVC استفاده کنیم؟</h2>
<p>حالا که با الگوی طراحی MVC آشنا شدین، حتماً درک می کنید که چرا فریم ورک ASP.NET MVC علاوه بر ASP.NET WebForms توسط مایکروسافت ایجاد شده است. وب فرم ها که تا قبل از این تنها روش مورد استفاده در توسعه یک اپلیکیشن تحت ASP.NET بودند، حالا صاحب یک برادرخوانده قدرتمند شده اند. نمی گویم رقیب، چون ASP.NET MVC به هیچ وجه قصد از بین بردن وب فرم ها و جایگزین شدن به جای آن ها را ندارد. ASP.NET WebForms هم توسط مایکروسافت در نسخه های بعدی پشتیبانی خواهد شد و حتمآً بهبود خواهند یافت.</p>
<p>یکی از مزایای مهم استفاده از متدولوژِی ASP.NET MVC این است که شما را مجبور می کند تا یک جداسازی شفاف میان اجزای برنامه خود ایجاد کنید. این کار باعث می شود که توسعه پروژه در دراز مدت و آزمایش آن به آسانی انجام گیرد. الگوی MVC به شما کمک می کند تا بتوانید از <a title="TDD on Wikipedia" href="http://en.wikipedia.org/wiki/Test-driven_development" target="_blank"><strong>Test Driven Development</strong></a> یا TDD در پروژه خود استفاده کنید. شما را قادر می سازد تا از تست واحد یا <a title="Unit Testing on Wikipedia" href="http://en.wikipedia.org/wiki/Unit_testing" target="_blank"><strong>Unit Test</strong></a> استفاده کنید. به طور مثال شما می توانید عملکرد یک Controller را بدون اینکه روی ASP.NET اجرا شود، بررسی کنید که این کار عملیات تست واحد را سرعت می بخشد. برای انجام تست، می توانید از هر فریم ورک تست واحدی مثل <a title="NUint - An unit testing framework that is open source written in C#." href="http://www.nunit.org/" target="_blank"><strong>NUnit</strong></a> استفاده کنید.</p>
<p>URLهای ایجاد شده در یک پروژه مبتنی بر فریم ورک ASP.NET MVC بسیار بسیار واضح هستند و البته برای موتورهای جستجوگر دوستانه (SEO Friendly) هستند. این کار را کامپوننت URL Mapping فریم ورک ASP.NET MVC برای شما انجام می دهد. URLهایی که نیازی به داشتن پسوند aspx یا هر پسوند دیگری ندارند و به آسانی از قوانین SEO و الگوهای نام گذاری REST پشتیبانی می کنند.</p>
<p>نکته ای که شما را خوشحال خواهد کرد این است که فریم ورک ASP.NET MVC از بسیاری از امکاناتی که در حال حاضر در ASP.NET هستند مثل MasterPage, Data Binding, Form/Windows Authorization, Membership/Roles, Data Caching, Session/Profile state management, Health Monitoring پشتیبانی کامل می کند.</p>
<p>نکته ای هم که ممکن است شما را اذیت کند این است که در فریم ورک ASP.NET MVC از برنامه نویسی مبتنی بر رویداد خبری نیست و همچنین نمی توانید از Post Back برای تعامل دوباره با سرور استفاده کنید. ASP.NET MVC برخلاف وب فرم ها که به صورت خودکار و با استفاده از ViewState حالت یک صفحه وب را به صورت مصنوعی حفظ می کنند، از مدل طبیعی بی حالت (=Stateless) وب پیروی می کند. البته این موضوع آنقدرها هم بد نیست چون باعث حذف ViewState می شود و حذف ViewState هم به معنی صفحات سبک تر و در نتیجه لود شدن سریعتر صفحات وب است.</p>
<h2>برای شروع ASP.NET MVC به چه چیزهایی احتیاج دارید!؟</h2>
<ul>
<li>دات نت فریم ورک 3.5 با سرویس پک 1</li>
<li><a title="Download ASP.NET MVC" href="http://www.asp.net/mvc/download/" target="_blank"><strong>دانلود آخرین نسخه ASP.NET MVC</strong></a></li>
<li>ویژوال استادیو 2008 با سرویس پک 1</li>
<li><a title="Learn ASP.NET MVC and Watch video abuout it" href="http://www.asp.net/mvc/learn/" target="_blank"><strong>شروع یادگیری و مشاهده ویدئوهای آموزشی</strong></a></li>
<li>خواندن یک کتاب در مورد ASP.NET MVC (مانند <a href="http://www.amazon.com/gp/product/047043399X?ie=UTF8&amp;tag=aspnettelligent-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=047043399X" target="_blank">این</a>)</li>
<li>مشاهده مثال واقعی، تمرین، تمرین و تمرین!</li>
</ul>
<p>منابع این مطلب :</p>
<ul>
<li><a href="http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx" target="_blank">ASP.NET MVC Framework &#8211; ScottGu&#8217;s Blog</a></li>
<li><a href="http://weblogs.asp.net/jeff/archive/2009/04/30/asp-net-mvc-from-webforms-to-mvc-introduction.aspx" target="_blank">ASP.NET MVC: From Webforms to MVC &#8211; Introduction &#8211; Jeff&#8217;s Junk</a></li>
</ul>
<p><span style="color:#ffffff;">farasun.wordpress.com</span></p>
<p>برای باخبر شدن از مطالب آینده این وبلاگ <a title="Subcribe to Farasun feed" href="http://feeds2.feedburner.com/Farasun" target="_blank"><strong>مشترک فید فراسان شوید!</strong></a></p>
<p><span style="color:#ffffff;">farasun.wordpress.com</span></p>
<p><span style="color:#999999;">پ.ن : مطلب مناسبی به زبان فارسی در مورد ASP.NET MVC در وب پیدا نکردم، به همین علت این مطلب را نوشتم. در آینده اگر علاقه مند بودید، در مورد تفاوت های ASP.NET MVC و ASP.NET WebForms خواهم نوشت.</span></p>
Posted in ASP.NET, فناوری, مقالات, کد باز, دات نت Tagged: .NET, ASP.NET, ASP.NET MVC, ASP.NET MVC Framework, ASP.NET MVC چیست, Microsoft, Model View Controller, MVC, فریم ورک ASP.NET MVC, وب فرم, WebForms, الگوی طراحی MVC, ام وی سی, برنامه نویسی وب, توسعه وب, دات نت <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1091/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1091/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1091/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1091/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1091/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1091/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1091&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/09/15/asp-net-mvc-framework/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ایمان</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/mvc.png" medium="image">
			<media:title type="html">mvc</media:title>
		</media:content>
	</item>
		<item>
		<title>یادگیری ASP.NET با پروژه های کدباز</title>
		<link>http://farasun.wordpress.com/2009/09/13/learn-asp-net-with-open-source-starter-kits/</link>
		<comments>http://farasun.wordpress.com/2009/09/13/learn-asp-net-with-open-source-starter-kits/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 10:06:09 +0000</pubDate>
		<dc:creator>ایمان</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[LINQ]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[دات نت]]></category>
		<category><![CDATA[سورس کد]]></category>
		<category><![CDATA[سی شارپ]]></category>
		<category><![CDATA[کد باز]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[BlogEngine.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[ClubSite]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[e-Commerce]]></category>
		<category><![CDATA[FlexWiki]]></category>
		<category><![CDATA[Free Projects]]></category>
		<category><![CDATA[JobPers]]></category>
		<category><![CDATA[Kigg]]></category>
		<category><![CDATA[nopCommerce]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Starter Kits]]></category>
		<category><![CDATA[TheBeerHouse]]></category>
		<category><![CDATA[وب سایت کاریابی نیرویابی]]></category>
		<category><![CDATA[وب سایت شخصی]]></category>
		<category><![CDATA[کدباز]]></category>
		<category><![CDATA[YetAnotherForum]]></category>
		<category><![CDATA[آموزش]]></category>
		<category><![CDATA[اوپن سورس]]></category>
		<category><![CDATA[تجارت الکترونیکی]]></category>

		<guid isPermaLink="false">http://farasun.wordpress.com/?p=1066</guid>
		<description><![CDATA[برای یادگیری هر تکنولوژی جدیدی، در کنار خواندن کتاب و مقاله، بهترین راه، مشاهده مثال های واقعی و قرار گرفتن در سناریوهای عملی است. در برنامه نویسی شما هر چقدر هم که کتاب بخوانید و آموزش ببینید اما تمرین نکنید و کد ننویسید هیچ پیشرفتی نخواهید کرد. ASP.NET فریم ورک رایگان و قدرتمند مایکروسافت برای [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1066&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p>برای یادگیری هر تکنولوژی جدیدی، در کنار خواندن کتاب و مقاله، بهترین راه، مشاهده مثال های واقعی و قرار گرفتن در سناریوهای عملی است. در برنامه نویسی شما هر چقدر هم که کتاب بخوانید و آموزش ببینید اما تمرین نکنید و کد ننویسید هیچ پیشرفتی نخواهید کرد. <strong>ASP.NET</strong> فریم ورک رایگان و قدرتمند مایکروسافت برای تولید اپلیکیشن های تحت وب است. اگر هم اکنون در حال یادگیری ASP.NET هستید و یا حتی در آن حرفه ای شده اید، به شما توصیه میکنم حتماً به پروژه های کدباز جامعه ASP.NET نگاهی بیندازید. علاوه بر نکات و ترفندهای جدیدی که در این پروژه ها فرا خواهید گرفت، می توانید از آن ها به عنوان پایه پروژه های خود استفاده کنید.</p></blockquote>
<p>پروژه های کدباز زیر توسط<a href="http://www.asp.net/community/" target="_blank"><strong> اجتماع کاربری ASP.NET</strong></a> تولید شده اند که مثال های عملی و بسیار مناسبی برای کسانی که می خواهند با فریم ورک ASP.NET برنامه نویسی کنند، فراهم کرده اند.</p>
<p><a href="http://www.codeplex.com/MyWebPagesStarterKit/" target="_blank"><strong>My Web Pages Starter Kit</strong></a></p>
<p><img class="size-full wp-image-1071 alignright" title="My_Web_Pages" src="http://farasun.files.wordpress.com/2009/09/my_web_pages.png?w=140&#038;h=105" alt="My_Web_Pages" width="140" height="105" /> یک CMS کوچک و جمع و جور برای راه اندازی یک وب سایت شخصی است. تغییر ظاهر آن ساده است. به راحتی می توانید امکانات آن را بر اساس نیازهای خودتان ارتفا دهید. با استفاده از ASP.NET 2.0 توسعه داده شده و برای ذخیره داده ها از روش مبتنی بر فایل های XML استفاده می کند و بیخود شما را درگیر پیچیدگی های SQL Server نمی کند. MasterPage, Themes, Data binding, Navigation, Custom Membership Provider از مفاهیمی هستند که در این پروژه مورد استفاده قرار گرفته اند. توسعه دهندگان این پروژه سعی کردند تا سادگی در استفاده برای کاربران نهایی و سادگی در توسعه برای توسعه دهندگان را حفظ کنند.</p>
<p><a href="http://www.codeplex.com/TheBeerHouse/" target="_blank"><strong>TheBeerHouse: CMS and E-commerce Starter Kit</strong></a></p>
<p><img class="size-full wp-image-1073 alignleft" title="TheBeerHouse" src="http://farasun.files.wordpress.com/2009/09/thebeerhouse.png?w=140&#038;h=105" alt="TheBeerHouse" width="140" height="105" />این پروژه به شما کمک می کند تا یک وب سایت تجارت الکترونیکی راه اندازی کنید و آن را به خوبی مدیریت کنید. با مشاهده کدها و مستندات این پروژه با قابلیت های کلیدی موجود در ASP.NET 2.0 آشنا خواهید شد. با نحوه استفاده از Master Page، Theme، Membership، WebParts و کنترل های GridView, FormView، DetailsView آشنا خواهید شد. این پروژه کدباز، مثال مورد استفاده در کتاب “ASP.NET 2.0 Website Programming / Problem &#8211; Design &#8211; Solution.” است.</p>
<p><a href="http://msdn.microsoft.com/en-us/cc533487.aspx" target="_blank"><strong>Club Site Starter Kit</strong></a></p>
<p><img class="size-full wp-image-1074  alignright" title="Club" src="http://farasun.files.wordpress.com/2009/09/club.png?w=140&#038;h=105" alt="Club" width="140" height="105" />این پروژه می تواند نقطه شروعی برای ایجاد وب سایت باشگاه یا سازمان شما باشد. شامل سیستم اخبار، اعضاء، تقویم و آلبوم عکس است. ایجاد اخبار و مقالات و انتشار و به اشتراک گذاری تصاویر بسیار آسان انجام می گیرد. توسعه و اضافه کردن قابلیت های جدید به این پروژه کدباز بسیار آسان است. دو پروژه دیگر که بر اساس این پروژه کدباز شکل گرفته اند، اماکنات بیشتری را در اختیار شما و کاربران نهایی می گذارند.</p>
<p><a href="http://www.codeplex.com/ClubStarterKit/" target="_blank"><strong>CodePlex Club Site Starter Kit</strong></a></p>
<p>نسخه گسترش داده شده پروژه اصلی Club Site است که شامل ابزار وبلاگ نویسی و قابلیت های مدیریتی بهتر است. امکانات نسخه اصلی بهبود یافته اند و امکانات جدیدی مثل نظرسنجی، مدیریت لیگ و فاروم به آن اضافه شده است.</p>
<p><a href="http://devcow.com/files/9/apps/entry1627.aspx" target="_blank"><strong>Extended  Club Site Starter Kit</strong></a></p>
<p>نسخه گسترش یافته دیگری از پروژه  Club Site است که صفحات مدیرتی جدیدی برای تعیین نقش های کاربران (User Roles) و ساختار نقشه سایت (Site Map) فراهم می کند. کاربران وب سایت با استفاده از WebParts می توانند صفحات خانگی خودشان را سفارشی کنند و به علت استفاده از قابلیت Theme در ASP.NET 2.0 کاربران می توانند ظاهر سایت را بر اساس سلیقه خود تغییر بدهند.</p>
<p><a href="http://www.binaryintellect.net/articles/a203c824-aec1-41b7-b3ec-49a15d5c9ebb.aspx" target="_blank"><strong>Job Site Starter Kit</strong></a></p>
<p><img title="Job" src="../files/2009/09/job.png" alt="Job" width="140" height="105" /></p>
<p>یک اپلیکیشن وب برای راه اندازی وب سایت های کاریابی است. کارفرمایان نیازهای شغلی خود را تعریف می کنند و کارجویان با جستجو میان این نیازها، شغل مورد نظر خود را پیدا می کنند. مفاهیم کلیدی ASP.NET 2.0 از جمله Master Page, Themes, Membership, Roles, Profiles و Data Controls در این پروژه استفاده شده اند. ساده طراحی شده و استفاده از آن برای کاربران ساده است اما امکانات خیلی زیادی ندراد.</p>
<p><a href="http://www.codeplex.com/Kigg/" target="_blank"><strong>Kigg</strong></a></p>
<p><img class="alignnone size-full wp-image-1082" title="Kigg" src="http://farasun.files.wordpress.com/2009/09/kigg1.png?w=253&#038;h=191" alt="Kigg" width="253" height="191" /></p>
<p>یک وب سایت با کارکرد شبیه به <a href="http://digg.com" target="_blank">Digg</a> که با استفاده از ASP.NET MVC ، LINQ to SQL و ASP.NET AJAX توسعه داد شده است. کاربران می توانند لینک های خود را ارسال کنند و دیگر کاربران می توانند به آن ها امتیاز دهند.</p>
<p><a href="http://www.flexwiki.com/" target="_blank"><strong>FlexWiki</strong></a></p>
<p><img class="alignnone size-full wp-image-1083" title="FlexWiki" src="http://farasun.files.wordpress.com/2009/09/flexwiki.jpg?w=140&#038;h=105" alt="FlexWiki" width="140" height="105" /></p>
<p>اپلیکیشنی مناسب برای راه اندازی ویکی ها است که برای ذخیره داده هایش از فایل های معمولی استفاده می کند. البته می توانید از مخزن مبتنی بر SQL Server هم استفاده کنید.</p>
<p><a href="http://www.yetanotherforum.net/" target="_blank"><strong>YetAnotherForum</strong></a></p>
<p><img class="alignnone size-full wp-image-1078" title="YetAnotherForum" src="http://farasun.files.wordpress.com/2009/09/yetanotherforum.png?w=140&#038;h=105" alt="YetAnotherForum" width="140" height="105" /><br />
یک اپلیکیشن قدرتمند برای راه انداری فاروم های بحث و گفتگو در دنیای دات نت است. YAF هم به صورت جداگانه می تواند نصب شود و هم می تواند به عنوان یک ماژول برای دات نت نیوک مورد استفاده قرار گیرد.</p>
<p><a href="http://www.codeplex.com/blogengine" target="_blank"><strong>BlogEngine.NET</strong></a></p>
<p><img class="alignnone size-full wp-image-1081" title="benlogo80" src="http://farasun.files.wordpress.com/2009/09/benlogo80.gif?w=266&#038;h=80" alt="benlogo80" width="266" height="80" /><br />
اپلیکیشن کدباز بسیار قدرتمند برای ایجاد و نوشتن وبلاگ که نصب و استفاده از آن بسیار آسان است. داده های وبلاگ می توانند بر اساس انتخاب کاربر در یک دیتابیس SQL Server یا در فایل های XML ذخیره شوند. این پروژه کدباز با C#<span style="color:#ffffff;">x</span> و ASP.NET 2.0 نوشته شده و با مهارتی که در دات نت دارید می توانید به راحتی آن را توسعه دهید.</p>
<p><a href="http://www.nopcommerce.com/" target="_blank"><strong>nopCommerce</strong></a></p>
<p><img class="size-full wp-image-1079  alignright" title="nopCommerce" src="http://farasun.files.wordpress.com/2009/09/nopcommerce.jpg?w=315&#038;h=66" alt="nopCommerce" width="315" height="66" /></p>
<p>اپلیکیشن تحت وب برای ایجاد وب سایت های تجارت الکترونیکی است که مبتنی بر ASP.NET 3.5 و SQL Server است. این پروژه راه حلی حرفه ای برای تجارت الکترونیکی در اختیار کاربران قرار می دهد و از آخرین تکنولوژی های مایکروسافت برای توسعه آن استفاده شده است.</p>
<p><a href="http://jobpers.codeplex.com" target="_blank"><strong>JobPers</strong></a></p>
<p><img class="alignnone size-full wp-image-1084" title="jobpers" src="http://farasun.files.wordpress.com/2009/09/jobpers.jpg?w=300&#038;h=247" alt="jobpers" width="300" height="247" /></p>
<p>یک پروژه کاملاً فارسی برای ایجاد وب سایت های کاریابی/نیرویابی است که با استفاده از ASP.NET 3.5 و LINQ to SQL ساخته شده است. با استفاده از معماری سه لایه و کاملاً شیء گرا توسعه داده شده است. من این پروژه را برای درس مهندسی نرم افزار خودم ارائه داده ام. قرار بود در تابستان کتابی در مورد ASP.NET 3.5 و LINQ to SQL چاپ شود و از این پروژه به عنوان مثال استفاده شود که متاسفانه به علت یکسری مشکلات، این اتفاق رخ نداد. به هر حال هنوز نمی توان با این پروژه یک وب سایت کاریابی و نیرویابی کامل راه اندازی کرد اما برای یادگیری مفاهیم مناسب خواهد بود. این پروژه کدباز بوده و تحت مجوز<a href="http://www.gnu.org/licenses/gpl-2.0.html" target="_blank"> GPL نسخه 2</a> توزیع شده است.</p>
<p><span style="color:#ffffff;">farasun.wordpress.com</span></p>
<p>منبع :<a href="http://www.asp.net/community/projects/" target="_blank"> <strong>ASP.NET Starter Kits and Community Projects</strong></a></p>
<p><strong><a title="Subcribe to Farasun feed" href="http://feeds2.feedburner.com/Farasun" target="_blank">مشترک فید فراسان شوید!</a></strong> <a href="../category/about/rssfeed" target="_blank"><span style="color:#c0c0c0;"><em>نمی دانید فید چیست!؟</em></span></a></p>
<p>مطالب مرتبط :</p>
<ul>
<li><a href="http://farasun.wordpress.com/2009/05/02/open-source-dot-net-cms/" target="_blank"><strong>کاهش زمان و هزینه تولید پروژه های تحت وب با CMSهای اوپن سورس دات نت</strong></a></li>
<li><a href="http://farasun.wordpress.com/2009/02/14/asp-dot-net-file-and-directory-types/" target="_blank"><strong>انواع فایل ها و دایرکتوری ها در ASP.NET</strong></a></li>
<li><a href="http://farasun.wordpress.com/2009/08/06/best-rich-text-editors-for-web-developers-reviewed/" target="_blank"><strong>بررسی بهترین ویرایشگرهای متن آنلاین برای توسعه دهندگان وب</strong></a></li>
</ul>
Posted in ASP.NET, LINQ, کد باز, برنامه نویسی, دات نت, سورس کد, سی شارپ Tagged: .NET, ASP.NET, BlogEngine.NET, C#, ClubSite, CMS, e-Commerce, FlexWiki, Free Projects, JobPers, Kigg, nopCommerce, OpenSource, Starter Kits, TheBeerHouse, وب سایت کاریابی نیرویابی, وب سایت شخصی, کدباز, YetAnotherForum, آموزش, اوپن سورس, تجارت الکترونیکی, دات نت, سی شارپ <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1066/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1066/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1066/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1066&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/09/13/learn-asp-net-with-open-source-starter-kits/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ایمان</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/my_web_pages.png" medium="image">
			<media:title type="html">My_Web_Pages</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/thebeerhouse.png" medium="image">
			<media:title type="html">TheBeerHouse</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/club.png" medium="image">
			<media:title type="html">Club</media:title>
		</media:content>

		<media:content url="../files/2009/09/job.png" medium="image">
			<media:title type="html">Job</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/kigg1.png" medium="image">
			<media:title type="html">Kigg</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/flexwiki.jpg" medium="image">
			<media:title type="html">FlexWiki</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/yetanotherforum.png" medium="image">
			<media:title type="html">YetAnotherForum</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/benlogo80.gif" medium="image">
			<media:title type="html">benlogo80</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/nopcommerce.jpg" medium="image">
			<media:title type="html">nopCommerce</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/jobpers.jpg" medium="image">
			<media:title type="html">jobpers</media:title>
		</media:content>
	</item>
		<item>
		<title>چرا از گوگل کروم استفاده نخواهم کرد!؟</title>
		<link>http://farasun.wordpress.com/2009/09/07/whay-i-wont-be-using-google-chrome/</link>
		<comments>http://farasun.wordpress.com/2009/09/07/whay-i-wont-be-using-google-chrome/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 08:31:12 +0000</pubDate>
		<dc:creator>ایمان</dc:creator>
				<category><![CDATA[فایرفاکس]]></category>
		<category><![CDATA[کد باز]]></category>
		<category><![CDATA[گوگل]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Iran]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[مرورگر وب]]></category>
		<category><![CDATA[نرم افزار آزاد]]></category>
		<category><![CDATA[کاربران ایرانی]]></category>
		<category><![CDATA[کدباز]]></category>
		<category><![CDATA[کروم]]></category>
		<category><![CDATA[کروم غیر آزاد]]></category>
		<category><![CDATA[اوپن سورس]]></category>
		<category><![CDATA[ایران]]></category>
		<category><![CDATA[تحریم گوگل]]></category>

		<guid isPermaLink="false">http://farasun.wordpress.com/?p=1055</guid>
		<description><![CDATA[گوگل یک سال پیش در میان حیرت کاربران اینترنت، مرورگر وب خود را با نام کروم عرضه کرد.  برای خیلی ها از جمله من این سئوال بود که با وجود مرورگر اوپن سورس و قدرتمندی مثل فایرفاکس، چه نیازی به یک مرورگر جدید کدباز خواهد بود!؟
کروم خیلی سریع تر از آن چه فکر میکردیم پیشرفت [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1055&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;"><strong>گوگل</strong> یک سال پیش در میان حیرت کاربران اینترنت، مرورگر وب خود را با نام <a href="http://google.com/chrome" target="_blank">کروم</a> عرضه کرد.  برای خیلی ها از جمله من این سئوال بود که با وجود مرورگر اوپن سورس و قدرتمندی مثل فایرفاکس، چه نیازی به یک مرورگر جدید کدباز خواهد بود!؟<br />
کروم خیلی سریع تر از آن چه فکر میکردیم پیشرفت کرد و توسعه آن بسیار سریع اتفاق افتاد. الان و پس از یک سال، کروم به نسخه  4 بتا رسیده است. همینطور ادامه بدهد سال دیگر به نسخه 10 هم می رسد! کروم مرورگر سبکی است، ظاهر زیبایی دارد، سرعت خیلی خوبی در اجرا و باز کردن صفحات وب دارد، اما با این حال مرورگر من نیست. من از گوگل کروم استفاده نخواهم کرد، به دلایل زیر :<br />
مهمترین دلیل من برای استفاده نکردن از گوگل کروم سیاست های غلط شرکت گوگل در مورد کاربران ایرانی است. گوگل نمیخواهد من از مرورگرش استفاده کنم، پس من هم استفاده نخواهم کرد. به همین سادگی!</p>
<p align="center"><img title="chrome" src="http://farasun.files.wordpress.com/2009/09/chrome.png" alt="chrome" /></p>
<p style="text-align:justify;"><strong>شرکت گوگل دانلود تمامی محصولاتش را بر روی IPهای ایران بسته است.</strong> وقتی از ایران میخواهید یکی از محصولات این شرکت را دانلود کنید با پیغام This product is not available in your country مواجه می شوید. گوگل خیلی محترمانه از علاقه شما به این محصول تشکر می کند و اجازه دریافت آن را به علت ایرانی بودنتان به شما نمی دهد! خدا را شکر میکنم که تا به حال هیچ نیاز حیاتی به محصولات این شرکت نداشته ام. من هنوز هم از جی میل و گوگل ریدر و دیگر سرویس های این شرکت که برایم قابل دسترس است استفاده خواهم کرد اما تا زمانی که گوگل نخواهد، من از محصولاتش استفاده نمیکنم.<br />
شاید به خاطر قوانین دولت آمریکا و تحریم های علیه ایران به گوگل حق بدهید که این رفتار را با ما داشته باشد، اما مگر مایکروسافت یک شرکت آمریکایی نیست! <strong>تا به حال نشده بخواهم چیزی از سایت مایکروسافت دانلود کنم و مایکروسافت بخاطر جبر جغرافیایی و کشوری که در آن زندگی میکنم، اجازه دانلود ندهد.</strong> مایکروسافتی که این همه من و شما و خیلی های دیگه توی سرش میزنیم، از سیاست های غلطش حرف میزنم و محصولاتش را سرزنش میکنیم، هیچ وقت با ما اینطور رفتار نکرده!</p>
<p align="center"><img title="google-is-not-availabe-in-your-country" src="http://farasun.files.wordpress.com/2009/09/google-is-not-availabe-in-your-country.png" alt="google-is-not-availabe-in-your-country" /></p>
<p style="text-align:justify;">گوگل کروم با <a href="http://en.wikipedia.org/wiki/BSD_licenses" target="_blank">مجوز BSD</a> که یک مجوز اوپن سورس معروف است، توزیع می شود. IE مرورگر مایکروسافت یک نرم افزار کد بسته است. حالا با IP ایران، کدام یک از مرورگرهای فوق را می توانید از سایت رسمی آن دانلود کنید!<br />
<strong>دلیل دیگرم برای استفاده نکردن از گوگل کروم، وجود مرورگر آزاد و قدرتمند فایرفاکس است. </strong>هر چقدر هم کروم از فایرفاکس ساده تر و زیباتر و سریع تر باشد، باز هم نمی تواند به این سادگی جای فایرفاکس را برای من بگیرد. من به فایرفاکس وابسته شدم. نمی توانم به این راحتی فایرفاکس را با این همه افزونه کارآمد و حیاتی رها کنم و با مرورگر دیگری کار کنم. وب گردی و انجام کارهای روزمره من بدون فایرفاکس غیر ممکن است!<br />
<strong>گوگل باید توسعه یک مروگر آزاد و اوپن سورس را از موزیلا یاد بگیرد.</strong> به من به شما قول می دهم که هرگز کروم نمی تواند فایرفاکس را از نظر سهم تعداد کاربری و محبوبیت شکست بدهد. مگر اینکه یک روزی توسعه فایرفاکس متوقف شود که این هم گوگل فقط در خواب می بیند!<strong> این رقابت فقط فایرفاکس را قوی تر می کند!</strong><br />
جالب است بدانید که <strong>دولت آلمان در شبکه تلویزیون و روزنامه های رسمی خود مردم کشورش را به استفاده نکردن از گوگل کروم تشویق می کند!</strong> آن ها معتقدند نباید تمام اطلاعات مهم یک کاربر آلمانی اعم از ایمیل ها، جستجوها، چت ها و تاریخچه وب گردی او نزد یک شرکت آمریکایی باشد. البته دولت آلمان صفحه دریافت گوگل کروم را بلاک نکرده و به تصمیم کاربران اینترنت خود احترام می گذارد.<br />
گوگل در حال حاضر مهمترین بخش های اینترنت را تحت پوشش قرار داده است. ایمیل های من نزد گوگل می ماند، مطالبی که می خوانم را گوگل می بیند، گوگل می داند دنبال چه چیزهایی در اینترنت می گردم، دیگر نمی خواهم تاریخچه وب گردی من را نزد خودش نگهداری کند!<br />
من نمیخواهم به شما توصیه کنم که از کروم استفاده نکنید. اگر شما هم از کروم استفاده نمی کنید، دلایل خودتان را با ما به اشتراک بگذارید.</p>
<p style="text-align:justify;"><span style="color:#ffffff;">farasun.wordpress.com</span></p>
<p style="text-align:justify;">پیشنهاد من به شما استفاده کردن از <a href="http://getfirefox.com" target="_blank"><strong>فایرفاکس</strong></a> (یک مروگر واقعاً آزاد) برای مرور وب است!</p>
<ul>
<li><a href="http://farasun.wordpress.com/2009/02/10/20-useful-firefox-extensions-for-web-developers-and-web-designer/" target="_blank"><strong>20+ افزونه فایرفاکس برای توسعه دهندگان و طراحان وب </strong></a></li>
<li><a href="http://farasun.wordpress.com/2008/07/11/firefox3-review/" target="_blank"><strong>بررسی نسخه 3 فایرفاکس</strong></a></li>
<li><a href="http://farasun.wordpress.com/2008/03/15/8-utilities-extensions-for-firefox/" target="_blank"><strong>8 افزونه سودمند برای فایرفاکس</strong></a></li>
</ul>
<p>پ.ن :  <a href="http://zangoole.com/1388/06/15/how-open-source-software-makes-money/" target="_blank">نرم افزارهای متن باز چگونه درآمد زایی می کنند؟</a> نوشته من به عنوان نویسنده مهمان در <a href="http://zangoole.com/" target="_blank">زنگوله</a> وبلاگ بابک عزیز</p>
<div id="_mcePaste" style="overflow:hidden;position:absolute;left:-10000px;top:0;width:1px;height:1px;">
<h1>This product is not available in your country</h1>
</div>
Posted in فایرفاکس, کد باز, گوگل Tagged: Browser, Chrome, Firefox, Google, Iran, OpenSource, فایرفاکس, مرورگر وب, نرم افزار آزاد, کاربران ایرانی, کدباز, کروم, کروم غیر آزاد, گوگل, اوپن سورس, ایران, تحریم گوگل <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1055/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1055/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1055/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1055/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1055/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1055/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1055&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/09/07/whay-i-wont-be-using-google-chrome/feed/</wfw:commentRss>
		<slash:comments>54</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ایمان</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/chrome.png" medium="image">
			<media:title type="html">chrome</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/09/google-is-not-availabe-in-your-country.png" medium="image">
			<media:title type="html">google-is-not-availabe-in-your-country</media:title>
		</media:content>
	</item>
	<media:rating>nonadult</media:rating></channel>
</rss>
