<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>فراسان</title>
	<atom:link href="http://farasun.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://farasun.wordpress.com</link>
	<description>به اشتراک بگذارید برای یادگیری، یاد بگیرید برای به اشتراگ گذاری</description>
	<lastBuildDate>Sun, 29 Nov 2009 15:09:51 +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&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>فراسان</title>
		<link>http://farasun.wordpress.com</link>
	</image>
			<item>
		<title>راه های دسترسی به داده در دات نت فریم ورک!</title>
		<link>http://farasun.wordpress.com/2009/11/29/data-access-ways-in-net-framework/</link>
		<comments>http://farasun.wordpress.com/2009/11/29/data-access-ways-in-net-framework/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 15:09:50 +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[ADO.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Data Access]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[Entity Framework]]></category>
		<category><![CDATA[Linq to SQL]]></category>
		<category><![CDATA[Logical Schema]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[NHibernate]]></category>
		<category><![CDATA[Object Relational Mapping]]></category>
		<category><![CDATA[ORM]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[لینک]]></category>
		<category><![CDATA[مایکروسافت]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[دیتابیس]]></category>
		<category><![CDATA[دات نت فریم ورک]]></category>
		<category><![CDATA[سی شارپ]]></category>
		<category><![CDATA[شی گرایی]]></category>

		<guid isPermaLink="false">http://farasun.wordpress.com/?p=1210</guid>
		<description><![CDATA[
در اکثر برنامه های کامپیوتری نیاز به ذخیره و بازیابی داده ها وجود دارد. داده هایی که بدون آن ها سیستم نرم افزاری ما معنایی ندارد. برنامه نویسان معمولاً راه های مختلفی برای این کار سراغ دارند. کسانی که با دات نت فریم ورک برنامه نویسی می کنند راه های مختلفی برای دسترسی به داده [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1210&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote>
<p style="text-align:justify;">در اکثر برنامه های کامپیوتری نیاز به ذخیره و بازیابی داده ها وجود دارد. داده هایی که بدون آن ها سیستم نرم افزاری ما معنایی ندارد. برنامه نویسان معمولاً راه های مختلفی برای این کار سراغ دارند. کسانی که با دات نت فریم ورک برنامه نویسی می کنند راه های مختلفی برای دسترسی به داده ها دارند. در این مطلب با تکنولوژی های مایکروسافت برای این کار آشنا خواهیم شد و سه ORM معروف دنیای دات نت را معرفی خواهیم کرد. مایکروسافت انتخاب های زیادی برای دسترسی به داده ها به برنامه نویسان دات نت می دهد که شما باید با بررسی آن ها و با توجه به نیازهای خودتان یکی از آن ها را انتخاب کنید.</p>
</blockquote>
<h2>ADO.NET</h2>
<p style="text-align:justify;"><strong>ADO.NET</strong> مجموعه ای از کامپوننت هاست که برنامه نویسان می توانند از آن ها برای برقراری ارتباط با دیتابیس های مختلف استفاده کنند. ADO.NET بخشی از کتابخانه کلاس های پایه دات نت فریم ورک است که توسط مایکروسافت توسعه داده می شود. برنامه نویسان به صورت گسترده از این تکنولوژی برای دسترسی و دستکاری داده های ذخیره شده در یک دیتابیس رابطه ای استفاده می کنند. ADO.NET می تواند با اکثر دیتابیس های موجود کار کند، هر چند به صورت پیش فرض در دات نت فریم ورک فقط فراهم کننده های SQL Server، OleDb و Odbc وجود دارد، افراد و شرکت های دیگر فراهم کننده های دیتابیس های دیگر را برای دات نت ایجاد کرده اند.</p>
<p style="text-align:justify;">برای هر <strong>Provider</strong> کامپوننت هایی وجود دارند که برنامه نویس با استفاده از آن ها به مقصودش می رسد. به طور مثال برای استفاده از SQL Server در روش ADO.NET کامپوننت هایی مانند <strong>SQLConnection</strong> و <strong>SQLCommand</strong> وجود دارد که با استفاده از آن ها می توانید یک دستور SQL را روی داده های موجود در یک دیتابیس SQL Server اجرا کنید. با SQLConnection به دیتابیس موجود در SQL Server وصل می شویم و با استفاده از یک SQLCommand می توانیم یک عبارت T-SQL را که می تواند دستور INSERT, UPDATE, DELETE یا SELECT باشد یا حتی یک Stored Procedure یا عبارت DDL باشد را برای مقصود خاصی روی دیتابیس اجرا کنیم. چون ADO.NET در مورد سینتاکس دیتابیس چیزی نمی داند، دستورات را به صورت یک رشته ساده به SQLCommand می دهیم و این شیء نیز به صورت مستقیم به دیتابیس دستور می دهد.</p>
<p style="text-align:left;"><code><span style="color:#0000ff;">string</span> query = <span style="color:#ff0000;">"SELECT * FROM tblCustomers"</span>;<br />
<span style="color:#33cccc;">SqlConnection</span> con = <span style="color:#0000ff;">new</span> <span style="color:#00ccff;">SqlConnection</span>(cnnString);<br />
<span style="color:#00ccff;">SqlCommand</span> command = <span style="color:#0000ff;">new</span> <span style="color:#00ccff;">SqlCommand</span>(query, con);<br />
con.Open();<br />
<span style="color:#00ccff;">SqlDataReader</span> reader = command.ExecuteReader();<br />
<span style="color:#0000ff;">while</span> (reader.Read())<br />
{<br />
Response.Write(reader.GetInt32(0) +<br />
reader.GetString(1));<br />
}</code></p>
<p style="text-align:justify;">نکته ای که باید در مورد ADO.NET بدانید این است که برای استفاده از هر سیستم دیتابیس رابطه ای، مجموعه کامپوننت های جدایی وجود دارد. در مثال بالا از آبجکت های مربوط به SQL Server استفاده کردیم. اگر بخواهید مثلاً از یک دیتابیس اوراکل در برنامه خود استفاده کنید، بایستی از کامپوننت های مربوط به اوراکل استفاده کنید. خوشبختانه تمام این کامپوننت ها بر پایه یک Interface ساخته شده اند، این یعنی شما می توانید با استفاده از کلاس DbProviderFactory برنامه ای بسیازید که با چند نوع دیتابیس مختلف کار کند.</p>
<h2>Linq to SQL</h2>
<p style="text-align:justify;">مایکروسافت با دات نت فریم ورک 3.0 و 3.5 یک <a title="Object Relational Mapping on Wikipedia" href="http://en.wikipedia.org/wiki/Object-Relational_mapping" target="_blank"><strong>ORM</strong></a> به نام <strong>Linq to SQL</strong> را به عنوان بخشی از پروژه LINQ خود عرضه کرد. این شرکت مدت ها پیش از آن قول داده بود که یک ORM برای دات نت فریم ورک طراحی کند اما تا نسخه 3.0 دات نت فریم ورک خبری از آن پروژه نشد. Linq to SQL به شما اجازه می دهد که کوئری های LINQ را روی دیتابیس های SQL Server اجرا کنید. علاوه بر این از یک Mapping Framework بهره می برد که به برنامه نویسان اجازه Map کردن جدول های یک دیتابیس را به کلاس ها و بالعکس می دهد. این کار در ویژوال استادیو می تواند به صورت ویژوال یا کدنویسی انجام گیرد. به این صورت که برای هر جدول از دیتابیس یک کلاس تعریف می شود که هر ستون از یک جدول به عنوان یک Property درون آن کلاس تعریف می شود.</p>
<p style="text-align:justify;">
<div id="attachment_1221" class="wp-caption aligncenter" style="width: 460px"><a title="برای دیدن نمای بزرگتر کلیک کنید" href="http://farasun.files.wordpress.com/2009/11/linq-to-sql-large.png" target="_blank"><img class="size-full wp-image-1221" title="linq-to-sql-thumb" src="http://farasun.files.wordpress.com/2009/11/linq-to-sql-thumb.png?w=450&#038;h=253" alt="" width="450" height="253" /></a><p class="wp-caption-text">نمایی از ابزار طراحی ویژوال Linq to SQL</p></div>
<p style="text-align:justify;">به مثال زیر توجه کنید :<br />
<code><span style="color:#0000ff;">public</span> <span style="color:#0000ff;">class</span> Customer<br />
{<br />
[<span style="color:#00ccff;">Column</span>(Name=<span style="color:#ff0000;">"CustomerID"</span>,IsPrimaryKey = <span style="color:#0000ff;">true</span>)]<br />
<span style="color:#0000ff;">public</span> <span style="color:#0000ff;">long</span> ID<br />
{<br />
<span style="color:#0000ff;">get</span> { <span style="color:#0000ff;">return</span> _ID;}<br />
<span style="color:#0000ff;">set</span> { _ID = value;}<br />
}<br />
[<span style="color:#00ccff;">Column</span>(Name = <span style="color:#ff0000;">"CustomerName"</span>)]<br />
<span style="color:#0000ff;">public</span> <span style="color:#0000ff;">string</span> Name<br />
{<br />
<span style="color:#0000ff;">get</span> { <span style="color:#0000ff;">return</span> _name; }<br />
<span style="color:#0000ff;">set</span> { _name = value; }<br />
}<br />
}</code><br />
کلاس بالا به جدول tblCustomers که دارای دو ستون CustomerID و CustomerName است Map می شود. قبل از اینکه بخواهید از Linq to SQL استفاده کنید باید این کلاس ها را تعریف کنید. ویژوال استادیو 2008 دارای ابزاری است که به صورت ویژوال به شما امکان Map کردن جدول های یک دیتابیس SQL Server را به کلاس های دات نت می دهد. این ابزار می تواند به صورت اتوماتیک کلاس های مورد نیاز شما را از روی مدل دیتابیس بسازد، و حتی اجازه تغییرات دستی و ایجاد Viewهای مختلف از دیتابیس را به شما می دهد. عملیات Mapping با استفاده از DataContext (که یک رشته اتصال به سرور نیاز دارد) پیاده سازی می شود. سپس شما قادر خواهید بود کوئری های LINQ خود را روی دیتابیس موجود در سرور اجرا کنید، که البته این کوئری ها ابتدا به دستوارت T-SQL متناظر ترجمه و سپس روی دیتابیس مورد نظر اجرا می شوند.</p>
<h2>Entity Framework</h2>
<p style="text-align:justify;"><a href="http://www.microsoft.com/sqlserver/2008/en/us/ado-net-entity.aspx" target="_blank"><strong>Entity Framework</strong></a> یک فریم ورک ORM برای دات نت فریم ورک است که نسخه یک آن به همراه دات نت فریم ورک 3.5 سرویس پک 1 عرضه شد اما مورد استقبال توسعه دهندگان قرار نگرفت. نسخه 2 این فریم ورک به صورت بتا به عنوان بخشی از ویژوال استادیو 2010 قابل دسترس است.<strong> ADO.NET Entity Framework</strong> نام اصلی این فریم ورک است و جزئی از تکنولوژی ADO.NET است.</p>
<p style="text-align:justify;">
<div id="attachment_1225" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-1225" title="SFS_EF_model" src="http://farasun.files.wordpress.com/2009/11/sfs_ef_model.jpg?w=450&#038;h=295" alt="ابزار طراحی Entity Framework در ویژوال استادیو" width="450" height="295" /><p class="wp-caption-text">ابزار طراحی Entity Framework در ویژوال استادیو</p></div>
<p style="text-align:justify;">Entity Framework مدل رابطه ای موجود در یک دیتابیس را به مدل مفهمومی تبدیل می کند و آن را به اپلیکیشن ما تحویل می دهد. در مدل رابطه ای عناصر ترکیبی از جداول هستند، به همراه کلید های اصلی و خارجی که جدول ها را به هم مرتبط می سازند. برعکس آن، انواع موجودیت ها مدل مفهومی داده را تعریف می کنند. انواع موجودیت  اجتماعی از چند فیلد است (هر فیلد به یک ستون از دیتابیس Map می شود) و می تواند شامل اطلاعات از چند جدول فیزیکی باشد. انواع موجودیت می توانند به هم مرتبط باشند، مستقل از ارتباطاتی که در مدل فیزیکی دارند. شمای منطقی و نگاشت (mapping) آن به شمای فیزیکی به عنوان یک Entity Data Model یا EDM نمایش داده می شوند که مشخصات EDM در یک فایل XML ذخیره می شود. Entity Framework از EDM برای انجام عملیات نگاشت و دادن قابلیت کار با موجودیت ها به اپلیکیشن استفاده می کند. Entity Framework اطلاعات مورد نیاز هر موجودیت را با Join کردن چندین جدول از مدل فیزیکی (دیتابیس) بدست می آورد. هنگامی که اطلاعات یک موجودیت آپدیت می شود، Entity Framework بررسی می کند که داده ها مربوط به کدام یک از جدول های موجود در دیتابیس هستند، سپس آن ها را با دستور SQL مناسب آپدیت می کند.</p>
<p style="text-align:justify;">هر چند Entity Framework و Linq to SQL بسیار شبیه به هم به نظر می رسند، هر دو ابزارهایی برای طراحی گرافیکی و ویزاردی برای نگاشت یک دیتابیس به مدل شیء گرا دارند و هر دو می توانند از کوئری های LINQ برای مقصود خاصی استفاده کنند، اما با هم تفاوت هایی هم دارند. بیان تفاوت های این دو در این مطلب جایی ندارد.</p>
<h2>NHibernate</h2>
<p style="text-align:justify;"><img class="alignright" title="orm" src="../files/2009/11/orm.png" alt="" width="280" height="190" />نمی توان در مورد ORMها در دات نت صحبت کرد اما نام <a href="http://www.nhforge.org/" target="_blank"><strong>NHiernate</strong></a> را ذکر نکرد. NH یک فریم ورک ORM اوپن سورس برای دات نت فریم ورک است که از روی پروژه موفق Hibernate جاوا وارد دنیای دات نت شد. توضیحات بیشتر در مورد NHibernate توضیحات اضافی است، زیرا این فریم ورک هم وظیفه ORMهای دیگر را انجام می دهد. اکثر برنامه نویسانی که از NH برای نگاشت استفاده می کنند، ابتدا کلاس های خود را تعریف می کنند و سپس با استفاده از یک فایل XML آن ها را به جدول های دیتابیس Map می کنند. Linq to SQL و Entity Framework برخلاف NHibernate از روش Model-first یا مبتنی در دیتابیس استفاده می کنند، به این معنی که هر دو ORM تصور می کنند شما دیتابیسی در اختیار دارید که می خواهید آن به تعدادی آبجکت Map کنید.</p>
<p>در مورد Nhibernate بیش از این صحبت نمی کنم، آقای وحید نصیری در<a href="http://vahidnasiri.blogspot.com/search/label/NHibernate" target="_blank"><strong> اینجا</strong></a> به صورت کامل در مورد این ORM محبوب نوشته است.</p>
<p><span style="color:#ffffff;">farasun.wordpress.com</span></p>
<p>انتخاب از میان روش های بالا به عهده خود شماست. در این مطلب کوتاه نمی توان به بررسی تمام زوایا و تفاوت های میان آن ها پرداخت. در مطالب آینده سعی میکنم در مورد نحوه استفاده از هر کدام یک مثال عملی بزنم (البته به جز NHibernate).</p>
Posted in LINQ, فناوری, مقالات, برنامه نویسی, دات نت Tagged: .NET, ADO.NET, C#, Data Access, Database, Entity Framework, LINQ, Linq to SQL, Logical Schema, Microsoft, NHibernate, Object Relational Mapping, ORM, Programming, SQL, لینک, مایکروسافت, XML, برنامه نویسی, دیتابیس, دات نت, دات نت فریم ورک, سی شارپ, شی گرایی <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1210/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1210/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1210&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/11/29/data-access-ways-in-net-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/11/linq-to-sql-thumb.png" medium="image">
			<media:title type="html">linq-to-sql-thumb</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/11/sfs_ef_model.jpg" medium="image">
			<media:title type="html">SFS_EF_model</media:title>
		</media:content>

		<media:content url="../files/2009/11/orm.png" medium="image">
			<media:title type="html">orm</media:title>
		</media:content>
	</item>
		<item>
		<title>اینترنت اکسپلورر 9 به دنبال رقیبان است</title>
		<link>http://farasun.wordpress.com/2009/11/26/internet-explorer-9-chasing-the-rivals/</link>
		<comments>http://farasun.wordpress.com/2009/11/26/internet-explorer-9-chasing-the-rivals/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 18:35:33 +0000</pubDate>
		<dc:creator>ایمان</dc:creator>
				<category><![CDATA[فناوری]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[IE 9]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[فایرفاکس]]></category>
		<category><![CDATA[مایکروسافت]]></category>
		<category><![CDATA[مرورگر اینترنت]]></category>
		<category><![CDATA[Web Browser]]></category>
		<category><![CDATA[اینترنت اکسپلورر]]></category>

		<guid isPermaLink="false">http://farasun.wordpress.com/?p=1200</guid>
		<description><![CDATA[چهارشنبه هفته پیش در کنفرانس PDC، مایکروسافت در مورد نسخه جدید مرورگر خود Internet Explorer 9 جزئیاتی را شرح داد. البته این توضیحات بیشتر مربوط به توسعه دهندگان بود تا کاربران نهایی، اما با نتیجه گیری از آن می توان آینده خوبی را برای این مرورگر تصور نمود.
اعضای تیم IE شروع به کار روی نسخه [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1200&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>چهارشنبه هفته پیش در کنفرانس PDC، مایکروسافت در مورد نسخه جدید مرورگر خود <strong>Internet Explorer 9</strong> جزئیاتی را شرح داد. البته این توضیحات بیشتر مربوط به توسعه دهندگان بود تا کاربران نهایی، اما با نتیجه گیری از آن می توان آینده خوبی را برای این مرورگر تصور نمود.</p>
<p style="text-align:justify;"><img class="size-full wp-image-1205 alignright" title="ie-logo" src="http://farasun.files.wordpress.com/2009/11/ie-logo.jpg?w=136&#038;h=134" alt="" width="136" height="134" />اعضای <a title="IE team blog" href="http://blogs.msdn.com/ie/" target="_blank"><strong>تیم IE</strong></a> شروع به کار روی نسخه جدید این مرورگر کرده اند، در حالی که نسخه 8 این مرورگر با قابلیت های جدیدی که ارائه میکرد نتوانست جای خود را میان کاربران اینترنت پیدا کند. این موضوع دلایل زیادی دارد. یکی از مهمترین دلایل عدم استفاده کاربران اینترنت از این مرورگر، <strong>سرعت</strong> پایین تر آن نسبت به سایر مرورگر هاست. این که مرورگرهای کروم و فایرفاکس از IE سریع تر هستند را خود مایکروسافت هم قبول دارد. از دید طراحان وب مهمترین مشکل IE پشتیبانی نکردن از برخی<strong> استانداردهای وب</strong> است. وقتی که مرورگرهای فایرفاکس، کروم و اپرا از <a title="HTML 5 on Wikipedia" href="http://en.wikipedia.org/wiki/HTML5" target="_blank"><strong>HTML 5</strong></a> و <a title="CSS3 . Info - All you ever needed to know about CSS3" href="http://www.css3.info/" target="_blank"><strong>CSS 3</strong></a> پشتیبانی می کنند اما IE 8 این کار را نمی کند، باعث آزردگی خاطر طراحان وب می شود. مشکل بعدی IE کارایی پایین در اجرای کدهای جاوا اسکریپت است. تمام سایت های وب 2.0 از جمله <a href="http://gmail.com">Gmail</a> و <a href="http://facebook.com" target="_blank">Facebook</a> از مقداری زیادی کدهای جاوا اسکریپت استفاده می کنند، که باعث می شود کاربران پاسخ های سریعتری از سرور دریافت کنند. IE با کارایی کم در این زمینه از رقبای خود بسیار عقب است.</p>
<p>شرکت مایکروسافت و اعضای تیم IE خیلی بهتر از من و شما به این مشکلات واقف هستند. به همین خاطر برنامه ریزی هایی برای IE 9 دارند تا هم کاربران نهایی و هم طراحان و توسعه دهندگان وب را راضی کنند.</p>
<h2>سرعت</h2>
<p style="text-align:justify;">مهمترین هدف مایکروسافت برای ارائه نسخه 9 مرورگرش، تسریع در بارگذاری صفحات وب است. این شامل تسریع در رندر کردن صفحات وب با استفاده از قابلیت های سخت افزاری مثل کارت گرافیک و بهبود کارایی کدهای جاوا اسکریپت می شود. هرچند بهبود کارایی کدهای جاوا اسکریپت معیار دقیقی برای تسریع بارگذاری صفحات وب نیست اما به دلیل استفاده وب اپلیکیشن ها از جاوا اسکریپت و فراگیر شدن آن در وب سایت های مبتنی بر وب 2.0 آیتم بسیار مهمی هم برای کاربران نهایی و هم برای توسعه دهندگان وب است. IE 7 و IE 8 در زمینه کارایی جاوا اسکریپت خیلی عقب تر از رقیبان خود هستند. تیم IE در <a href="http://blogs.msdn.com/ie/archive/2009/11/18/an-early-look-at-ie9-for-developers.aspx" target="_blank">وبلاگ خود</a> گرافی را منتشر کرده که کارایی جاوا اسکریپت در مرورگرهای مختلف را نمایش می دهد. در این گراف که در زیر مشاهده می کنید، IE 9 با فاصله کمی عقب تر از رقیبان خود کارایی جاوا اسکریپت را افزایش داده است.</p>
<div id="attachment_1203" class="wp-caption aligncenter" style="width: 482px"><img class="size-full wp-image-1203" title="ie-vs-rivals-in-js-performance" src="http://farasun.files.wordpress.com/2009/11/ie-vs-rivals-in-js-performance.png?w=472&#038;h=251" alt="" width="472" height="251" /><p class="wp-caption-text">کارایی اجرای جاوا اسکریپت در مرورگرهای مختلف</p></div>
<p style="text-align:justify;">همانطور که مشاهده می کنید هنوز هم IE 9 نتوانسته در این زمینه رقیبان خودش را شکست بدهد. البته باید تا ارائه نسخه نهایی این مرورگر صبر کرد و بعد نظر داد. هر چند موزیلا و گوگل در این مدت بیکار نخواهند نشست و حتماً کارایی مرورگر خودشان را افزایش خواهند داد.</p>
<h2>پشتیبانی از استانداردهای وب</h2>
<p style="text-align:justify;">در سال های اخیر مرورگر اینترنت اکسپلورر به جز دردسر و مشکل برای طراحان و توسعه دهندگان وب، چیز دیگری به ارمغان نیاورده است. مایکروسافت در این نسخه قول داده است که از HTML 5 و CSS 3 به طور کامل پشتیبانی کند. این در حالی است که مرورگرهای کروم و فایرفاکس در آخرین نسخه خود از HTML 5 و CSS 3 به طور کامل پشتیبانی می کنند. این خبر بسیار خوبی برای طراحان وب است که بالاخره مایکروسافت قصد اضافه کردن پشتیبانی کامل از استانداردهای وب را دارد. البته زیاد هم به این قضیه خوش بین نباشید! در حال حاضر IE 9 از اکثر قابلیت های CSS 3 پشتیبانی می کند اما در زمینه HTML 5 پیشرفت کندی دارد. بحث های زیادی برای پشتیبانی از HTML 5 در مرورگر IE 9 وجود دارد، زیرا مایکروسافت هنوز در این زمینه مصمم نیست. به هر حال این قضیه ممکن است باعث شکست IE در مقابل رقیبانی مثل گوگل کروم که از استانداردهای HTML 5 پیروی می کند، شود.</p>
<h2>استفاده کمتر از CPU</h2>
<p style="text-align:justify;">در اینترنت اکسپلورر 9 وظیفه رندر کردن گرافیک ها و متن های موجود در یک صفحه وب به جای اینکه بر دوش CPU باشد بر دوش کارت گرافیک خواهد بود. این یعنی استفاده کمتر از CPU وقتی که کاربر در حال مشاهده صفحاتی با گرافیگ های غنی و متن های با کیفیت است. IE برای این کار از DirectX استفاده می کند. این یعنی رندر کردن سریعتر صفحات وب، مخصوصاً در کامپیوترهای با کارت گرافیک قوی.</p>
<p><span style="color:#ffffff;">farasun.wordpress.com</span></p>
<p style="text-align:justify;">به هر حال چه از IE خوشمان بیاید و چه خوشمان نیاید، این مرورگر سهم عمده بازار مرورگرهای وب را در اختیار دارد. چون روی هر PC جدیدی نصب است و کاربران تازه وارد، اینترنت را با این مرورگر می شناسند. اکثر کارشناسان و کاربران حرفه ای وب اعتقاد دارند که Internet Explorer مرورگر مناسب و استانداردی نیست. مایکروسافت با عرضه نسخه بعدی مرورگرش وارد عرصه تازه ای از رقابت با مرورگرهای پرقدرت فایرفاکس و کروم می شود. این رقابت در آخر به نفع کاربران تموم خواهد شد، زیرا هر کدام از طرفین سعی می کنند مروگری بهتر، سریع تر، امن تر و سازگار با استانداردهای روز وب را عرضه کنند. باید منتظر ماند و دید که آیا IE 9 می تواند شکست های قبلی مایکروسافت را جبران کند!؟ نظر شما چیست؟</p>
Posted in فناوری Tagged: Browser, Chrome, Firefox, IE, IE 9, Internet Explorer, JavaScript, Microsoft, فایرفاکس, مایکروسافت, مرورگر اینترنت, Web Browser, اینترنت اکسپلورر <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1200/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1200/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1200/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1200&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/11/26/internet-explorer-9-chasing-the-rivals/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/11/ie-logo.jpg" medium="image">
			<media:title type="html">ie-logo</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/11/ie-vs-rivals-in-js-performance.png" medium="image">
			<media:title type="html">ie-vs-rivals-in-js-performance</media:title>
		</media:content>
	</item>
		<item>
		<title>از موقعیت خود به عنوان یک برنامه نویس راضی هستید!؟</title>
		<link>http://farasun.wordpress.com/2009/11/18/are-you-satisfied-as-a-programmer/</link>
		<comments>http://farasun.wordpress.com/2009/11/18/are-you-satisfied-as-a-programmer/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 07:42:34 +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>

		<guid isPermaLink="false">http://farasun.wordpress.com/?p=1187</guid>
		<description><![CDATA[این سئوالی است که هر چند وقت یکبار ممکن است دیگران از شما بپرسند. شاید شکلش فرق کند اما منظورشان همین است. حتی ممکن است بعضی وقت ها این سئوال را از خودتان بپرسید که آیا واقعاً از موقعیت خود به عنوان یک برنامه نویس راضی هستید!؟ تعداد جواب ها به این سئوال به تعداد [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1187&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:justify;">این سئوالی است که هر چند وقت یکبار ممکن است دیگران از شما بپرسند. شاید شکلش فرق کند اما منظورشان همین است. حتی ممکن است بعضی وقت ها این سئوال را از خودتان بپرسید که آیا واقعاً از موقعیت خود به عنوان یک برنامه نویس راضی هستید!؟ تعداد جواب ها به این سئوال به تعداد برنامه نویس هاست. شاید نظرها به هم نزدیک باشند اما هرکس از دریچه دید خودش و با توجه به شرایط کاری خودش پاسخ این سئوال را می دهد. پاسخ به این سئوال از این جهت مفید است که دیگران درک بهتری از این تخصص پیدا می کنند و با مزایای و معایب آن آشنا می شوند.</p>
<p style="text-align:justify;">در این مطلب از سه برنامه نویس باتجربه و وبلاگ نویس خواهش کردم که جواب سئوال فوق را بدهند. اینکه از نظر مالی، روحی و جسمی از این شغل راضی هستند یا خیر، استرس های مربوط به کار یک برنامه نویس، تغییر شغل از برنامه نویسی و تفاوت برنامه نویسی با شغل های دیگر موضوعات مرتبط با این سئوال بوده اند. دوستان لطف کردند و پاسخ های خودشان را برای من فرستاند تا به عنوان یک پست در این وبلاگ قرار بگیرد. هدف از این کار، آشنایی تازه کاران با مشکلات و مزایای برنامه نویسی و آسیب شناسی های مربوط به این حرفه است.</p>
<p><span style="color:#999999;">ترتیب مطالب بر اساس تاریخ فرستادن جواب های دوستان است.<br />
</span></p>
<p><span style="color:#ff9900;"><strong>وحید نصیری</strong></span> نویسنده وبلاگ <strong><span style="color:#ffffff;">x</span><a href="http://vahidnasiri.blogspot.com" target="_blank">.NET Tips</a><br />
</strong></p>
<blockquote>
<p style="text-align:justify;">از پويايي و خلاقيت موجود در دنياي IT لذت مي‌برم و به همين دليل در اين رشته مشغول به فعاليت شده‌ام. پاسخ دادن به تعدادي از سؤالات شما جنبه سياسي پيدا مي‌كنند. تا قبل از دولت فعلي وضع بهتر بود و پروژه بيشتر بود. الان وضع خيلي نسبت به قبل تفاوت كرده و پروژه كمتر شده (خيلي كمتر). به همين دليل روي اين صنف هم مسلما اين مسايل بدون تاثير نبوده.از موقعيت خودم به عنوان برنامه نويس راضي هستم. از نظر مالي تا حدودي راضي هستم و عرض كردم كه دولت فعلي كار ما را تحت تاثير شديد قرار داده است.</p>
<p style="text-align:justify;">استرس عمده كاري من تحويل دادن درخواست‌هاي جديد در اسرع وقت است (زمانيكه درخواست مي‌دهند يعني تا يكي دو ساعت ديگر بايد كار آماده باشد!) و همچنين اعمال تغييرات جديد به سيستمي مفصل كه شامل بازنويسي قسمت‌هاي عمده آن مي‌شود. در اين حالت واقعا جمع كردن يك سيستم بزرگ هنرمندي خاصي را لازم خواهد داشت (و پر استرس). بعلاوه اين مساله سبب شده كه ساعت كاري خاصي براي من وجود نداشته باشد و تعطيل و غير تعطيل و ساعت 11 شب و امسال آن هم جزئي از زندگي كاري من شده است.</p>
<p style="text-align:justify;">تفاوت مهم اين شغل با شغل‌هاي ديگر پويايي آن است. تا چند سال قبل مثلا asp كلاسيك وجود داشت، اما الان ASP.Net مطرح شده و جاي آن‌را گرفته. تا مدتي بعد هم ASP.Net MVC آن‌را حل و جذب خواهد كرد و web forms asp.net حالت از مد افتاده asp كلاسيك را پيدا مي‌كند. تمام اين‌ها مستلزم سعي و كوشش و مطالعه بسيار زياد است و گرنه خيلي زود بازنشسته خواهيد شد.</p>
<p style="text-align:justify;">مشكل مهمي هم كه اين پويايي براي ما در داخل ايران به همراه داشته، نبود منابع آموزشي به روز است. الان چندتا كتاب فارسي در مورد ASP.net MVC‌ داريم؟ در مورد WPF چطور؟ در مورد تازه‌هاي SQL Server 2008 چي؟ در مورد entity framework كتابي در بازار كتاب‌هاي فارسي هست؟ و &#8230;. تمام اين‌ها سبب مي‌شود كه به روز كردن دانش اين صنف در ايران به شدت با كندي مواجه باشد.</p>
<p style="text-align:justify;">و در پايان بايد عرض كنم كه بودن در اين رشته سن و سال خاصي را طلب نمي‌كند و تفاوت كار يك برنامه نويس با بالاي 10 سال سابقه رو خيلي خوب مي‌شود از مقايسه كدهاي او با كدهاي خام يك تازه كار درك كرد. همين فرد با سابقه پس از مدتي به اندازه كافي ابزار براي سرعت بخشيدن به كارش اختراع كرده كه بتواند با جواني با حوصله‌تر به سادگي و حتي در زمان كمتري رقابت كند و كار بهتري را نيز ارائه بدهد.</p>
</blockquote>
<p><span style="color:#ff9900;"><strong>سالار خلیل زاده</strong></span> نویسنده وبلاگ <a href="http://salarblog.wordpress.com/" target="_blank"><strong>نوشته های یک برنامه نویس</strong></a></p>
<blockquote>
<p style="text-align:justify;">براي بررسي راضي بودن از شغل برنامه نويسي تو ايران بايد يه مورد مهم رو در نظر بگيريم. اول موضوع مربوط به موقعيت برنامه نويس تو شهرش هست. اگر فرض ما شهرستان باشه در اين صورت قضيه با زماني که فرد تو تهران باشه خيلي فرق مي کنه.<br />
چون خودم من هم تو شهرستان هستم سعي مي کنم با اين فرض ها و سرانجام وضعيت خودم جواب بدم.</p>
<p style="text-align:justify;">از اينکه برنامه نويس هستيد راضي هستين يا نه؟<br />
البته که راضي هستم. برنامه نويسي رو هم کنار نخواهم گذاشت اما شايد در آينده به عنوان کار اوقات فراغت انجامش بدم.<br />
يکي از علت هايي که اکثر برنامه نويس ها دارن که باعث شده اين حرفه رو ادامه بدن لذتي هست که پس از توليد چيزي که خودتون درست کردين و مانند يه موجود جون داره. دليل بعدي عمق زياد مبحث برنامه نويسي هست که هرچه عموق تر بري باز هم چيزي هست که بخواي دنبالش بري.</p>
<p style="text-align:justify;">موقعيت خودتون رو به عنوان يک برنامه نويس چطور ميدونيد؟<br />
متاسفانه اين حرفه به جز در شهرهاي بزرگي چون تهران در جاهاي ديگر به عنوان يک حرف واقعي تلقي نميشه. اين هم بر ميگيرده بيشتر به تفکر و اقبال عمومي مردم از اين رشته. البته نکته مهم در اينجا وجود دخالت ها و حمايتهاي دولتي هست که باعث اين نوع اقبال عمومي شده.<br />
اقبال عمومي اين حرفه به اين زودي ها اصلاح نخواهد شد، چراکه دولت و قضيه حمايت از بخش خصوصي و چند مورد ديگر به زودي اصلاح پذير نيستند.</p>
<p style="text-align:justify;">از نظر مالي راضي هستيد؟<br />
پاسخ به اين سوال به يک جواب يک سوال ساده بستگي دارد! آيا به رشوه اعتقادي داريد؟ اگر پاسخ مثبت هست پس در اين صورت هم شما و هم شرکت شما نبايد مشکلات زيادي داشته باشيد و کارهايتان به غير از مرحله توليد که به برنامه نويسي بستگي دارد به خوبي پيش خواهد رفت.<br />
اگر پاسخ به رشوه منفي هست چند حالت در پيش رو داريد. يا اينکه در شرکتي هستيد که به شما حقوق ماهانه پرداخت مي کند. در اين صورت مسلما حقوق دريافت مناسب نخواهد بود. مگر شرايط خاص.<br />
و يا اينکه به عنوان برنامه نويس آزاد مشغول به فعاليت پروژه اي و نيمه وقت هستيد که در اين صورت هم به غير از مرحله کد نويسي با مشکلات عديده اي روبرو خواهيد بود.<br />
در مورد خود من، چون مسئله مالي زياد براي من مهم نبوده سعي کردم با چند جاي مختلف کار کنم و زياد بر روي مسئله مالي تمرکز نداشته باشم. ولي همين هم بلاي جان خودم شده و باعث به وجود آمدن بدهي هاي کلان به من شده!<br />
خوب نتيجه با شما!</p>
<p style="text-align:justify;">از نظر روحي و جسمي؟<br />
از نظر روحي بسيار شکسته شده ام و قصد خروج از ايران رو دارم. و براي همين مورد برنامه ريزي طولاني مدت کردم که پس از رفع مشکل سربازي اقدام کنم. عارضه جسمي حاصل هم کمر درد هست که علتش رو کوتاهي خودم مي دونم و بايد به يه باشگاهي برم حتما.</p>
<p style="text-align:justify;">از نظر استرس هايي که يک برنامه نويس بايد تحمل کنه، توضيح بدين شما چه استرس هاي دارين و آيا برنامه اي براي کنار آمدن با اين استرس ها دارين يا خير؟<br />
کلا: برنامه نويس به غير از رفع باگ نبايد هيچ گونه استرس ديگه اي داشته باشه. البته اگه اين مورد استرس بناميم. چون شخصا از رفع باگ لذت مي برم و باعث ميشه از اشتباها درس هاي زيادي رو بگيرم.<br />
ايران و موقعيت خودم: اگر استخدامي هستيد که استرس نبود پول و جيب خالي و فکر خروج از شرکت هميشه با شما خواهد بود.<br />
اگر آزاد کار مي کنيد، استرس و سر درد سروکله زدن با مشتري هاي دم دمي مزاج و چونه زدن بر سر قيمت و زمان پروژه دمار از روزگارتان مي برد!<br />
اگر هم پروژه اي کار مي کنيد تعهد هاي کمر شکن قلب شما رو هدف قرار داده!</p>
<p style="text-align:justify;">فرق شما با آدم هاي ديگه (شغل هاي ديگه) چيه و چه مشکلاتي داريد. بگين که تا چه موقع ميتونيد برنامه نويس بمونيد، آيا قصد تغيير شغل در آينده را داريد يا نه مي خواهيد در آينده هم در فيلد برنامه نويسي کار کنيد؟<br />
در مورد فرق ترجيح مي دم که جواب ندم چون فرق خيلي زياده.<br />
در عموميت فکر مي کنم يک نفر مي تونه براي هميشه برنامه نويس بمونه و از اون لذت بببره. اما اين مورد من زيادي خواه رو راضي نمکنه و هميشه به بيشتر از اينها فکر کردم. مثلا هدايت يک تيم نرم افزاري و هدايت شرکت و غيره. البته اين رو هم بگم که هدايت چند تيم نرم افزاري رو هم بر عهده داشتم ولي به دلايلي نشد که همکاري در رو اونجا ادامه بدم. در کل در آينده کار من شايد خود برنامه نويسي نباشد ولي در زمنيه برنامه نويسي خواهد بود.</p>
</blockquote>
<p><span style="color:#ff9900;"><strong>افشار محبی</strong></span> نویسنده وبلاگ <a title="افشار.میم: یک وبلاگ کامپیوتری/برنامه‌نویسی" href="http://afsharm.blogspot.com/" target="_blank"><strong>AfsharM</strong></a></p>
<blockquote>
<p style="text-align:justify;">مقدمتاً بگویم که ترجیح می‌دهم به جای عبارت «برنامه‌نویس» از عبارت «توسعه دهنده» یا «توسعه دهنده نرم‌افزار» استفاده کنم.</p>
<p style="text-align:justify;">جواب خلاصه من به این سوال، «بله» است. چون نزدیک به ۲۰ سال است که برنامه نویسی عشق و علاقه شماره یک من بوده و بعید است که به این زودی‌ها بتوانم از آن چشم پوشی کنم خصوصاً حالا که چندین سال است که برنامه‌نویسی تنها منبع درآمدم نیز بوده است.</p>
<p style="text-align:justify;">این شغل از لحاظ مالی ممکن است به پای خیلی از موقعیت‌های آنچنانی دولتی یا موقعیت‌هایی که مهندسین عمران و پزشکان متخصص دارند نرسد ولی از خیلی شغل‌های دیگر نیز بهتر است و به نظرم بتوان از نظر مالی آن در حالت عادی یک شغل متوسط به بالا دانست. البته دقت کنید حساب کسانی که از راه‌های دیگری مثل سرمایه‌گذاری و رانت‌های دولتی به پول می‌رسند و یا آنهایی که تحصیلات دانشگاهی نداشته و یک شغل خیلی معمولی دارند جداست. در اینجا مقایسه فقط بین کسانی است که صرفاً با تکیه بر یک مدرک دانشگاهی زیر دکترا و توانمندی‌های خودش کسب درآمد می‌کند. به این نکته باید دقت شود که برنامه نویسی به خاطر ماهیت آن این استعداد را دارد که چه در ایران حال حاضر و چه در ممالک صنعتی، فوق‌العاده تخصصی شده و درآمدهای خیلی بالایی را تولید کند. کما این که نمونه‌اش در داخل و خارج کشور بسیار یافت می‌شود. از دیگر سو این شغل این استعداد را هم دارد که افراد را خیلی زود بی‌انگیزه کرده و ترسانده و در نتیجه موجب پیدایش درآمدهای خیلی پایین گردد.</p>
<p style="text-align:justify;">با شناختی که همه ما از مشاغل موجود در ایران داریم، می‌دانیم که تقریباً در هیچ شغلی سلامت جسمی و روحی افراد رعایت نمی‌شود پس نباید از این لحاظ خیلی به شغل برنامه‌نویسی (توسعه نرم افزار) خرده گرفت.</p>
<p style="text-align:justify;">اما امان از استرس‌های یک برنامه نویس. اگر استرس‌های امنیت شغلی را فعلاً مستثنی بدانیم برنامه نویسی جز شغل‌های پر استرس محسوب می‌شود زیرا هر لحظه ممکن است برنامه‌ای که نوشته‌اید و حتی مدتی هم کار کرده، یک دفعه از کار افتاده و موبایل‌تان شروع به زنگ خوردن کند. خیلی وقت‌ها هم واقعاً نمی‌دانید راه حل فلان مسئله چیست و جناب رییس هم پشت سر شما در حال لحظه شماری برای رفع مشکل است. در برنامه نویسی تقریبا بیشتر از هر شغل دیگری باید به روز باشید، بسیاری از کارفرمایان شناخت خیلی خیلی ناقصی از کار برنامه نویسی دارند و در نتیجه توقعات عجیب و غریبی خصوصا در مورد زمان‌بندی و هزینه‌بندی پروژه‌ها دارند.</p>
<p style="text-align:justify;">در مورد امنیت شغلی به شخصه معتقدم از لحاظ امنیت شغلی بر خلاف تصور عمومی وضع برنامه نویس‌ها خیلی بد نیست و از متوسط دیگر شغل‌ها بهتر است. به عنوان نشانه می‌توانید برنامه‌نویسی را با شغل افرادی مثل کارمندان و کارگران معمولی بخش خصوصی، بسیاری از خرده فروشان اصناف مختلف، پزشکان عمومی و… مقایسه کرد.</p>
<p style="text-align:justify;">فرق برنامه‌نویس‌ها با آدم‌های دیگر چیست؟ هیچی! فقط چون کار ما برنامه‌نویس‌ها کار جدیدی است کمی ترسیده‌ایم و الا هیچ فرق آنچنانی نداریم. بنده به شخصه فکر می‌کنم اقلاً تا ۵ سال آینده بتوانم برنامه‌نویس باقی بمانم مگر آن که شرایط سیاسی-اقتصادی مملکت خیلی به هم بریزد. در مورد سال‌های بعد از این ۵ سال امیدوارم (و تلاش می‌کنم) آنقدر در یک حیطه خاص برنامه‌نویسی تسلط پیدا کنم که اگر مجبور شدم راه فرنگستان را در پیش گیرم بتوانم گلیمم را از آب بکشم و اگر در ایران ماندم و تعداد شرکت‌های نرم‌افزاری از این هم کمتر شد بتوانم جایی برای خودم دست و پا کنم.</p>
<p style="text-align:justify;">به عنوان نتیجه همان طور که در ابتدا ذکر کردم از زندگی حرفه‌ای خودم به عنوان یک برنامه‌نویس (توسعه دهنده نرم‌افزار) با همه فراز و نشیب‌هایش راضی هستم و امیدوارم بتوانم کارم را با موفقیت ادامه دهم.</p>
<p style="text-align:justify;">در پایان به همه کسانی که قصد دارند وارد شغل هیجان انگیز برنامه‌نویسی (توسعه نرم‌افزار) شوند یا آن را ادامه دهند توصیه می‌کنم خودشان را همیشه به روز نگه دارند، یادگیری مداوم زبان انگلیسی را فراموش نکنند و همیشه گوشه چشمی به آن سوی مرزها داشته باشند چون ممکن است هر کدام از ماها یک روز مجبور شویم وطن را به صندوقچه خاطره‌هایمان بسپاریم.</p>
</blockquote>
<p>نتیجه گیری از این مطلب با شما. یک خواهش از دوستانی که <a href="http://farasun.wordpress.com">این وبلاگ</a> را از طریق گوگل ریدر یا فیدخوان های دیگر دنبال می کنند دارم، لطفاً اگر برنامه نویس هستید جواب این سئوال را در قسمت نظرات این مطلب ارسال کنید. استثناً در مورد این مطلب نظر بدهید! جواب هر کدام از شما می تواند بر ارزش این مطلب بیفزاید. جمع بندی و نتیجه گیری را بهتر است شما خوانندگان انجام بدهید و در قسمت نظرات بیان کنید.</p>
<p>در آخر از دوستانی که من را در تهیه این مطلب کمک کردند تشکر میکنم. زحمت اصلی نوشتن این مطلب بر عهده آن ها بود.</p>
<p><strong>به روز رسانی</strong></p>
<p>چند نکته مهم در مورد این مطلب باید خدمت خوانندگان عرض کنم، متاسفانه بحث در قسمت نظرات به بیراهه کشیده شد. لطفاً به موارد زیر توجه کنید :</p>
<ol>
<li>کامنت هایی که شامل توهین به یکی از نویسنده های مطلب و یا هر شخص سوم دیگری باشد بدون اخطار قبلی حذف می شوند.</li>
<li>موضوع این مطلب کاملاً روشن است، البته اگر مطلب را کامل بخوانید، پس کامنت های بی ربط به موضوع بدون اخطار قبلی حذف می شوند.</li>
<li>لطفاً اگر با شخصی مشکل دارید، سعی نکنید در اینجا با او تصویه حساب کنید!</li>
<li>قبل از کامنت گذاشتن، ابتدا مطلب را به صورت کامل بخوانید!</li>
</ol>
<p>من واقعاً از خوانندگان محترم این وبلاگ پوزش میخواهم. متاسفانه مطلبی که قرار بود برای همه مفید واقع شود، باعث دلخوری و شرمندگی شد.</p>
<p><strong>از این پس نظرات ابتدا بررسی می شوند و سپس نشان داده خواهند شد.</strong></p>
<p><em>* قسمتی از مطلب آقای سالار خلیل زاده که باعث بوجود آمدن بحث های غیر مربتط توسط بعضی از افراد شده بود با درخواست خود ایشون حذف شد.</em></p>
Posted in مقالات, نرم افزار, برنامه نویسی Tagged: مزایای برنامه نویسی, مشکلات برنامه نویسی, ایران, استرس, برنامه نویس, برنامه نویسی, تغییر شغل, حرفه برنامه نویسی <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1187/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1187/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1187/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1187&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/11/18/are-you-satisfied-as-a-programmer/feed/</wfw:commentRss>
		<slash:comments>46</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ایمان</media:title>
		</media:content>
	</item>
		<item>
		<title>ساخت روبات به روش مایکروسافت!</title>
		<link>http://farasun.wordpress.com/2009/11/14/microsoft-robotics-developer-studio/</link>
		<comments>http://farasun.wordpress.com/2009/11/14/microsoft-robotics-developer-studio/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 12:54:35 +0000</pubDate>
		<dc:creator>ایمان</dc:creator>
				<category><![CDATA[دات نت]]></category>
		<category><![CDATA[فناوری]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MRDS]]></category>
		<category><![CDATA[MSRS]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Robotics Studio]]></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=1173</guid>
		<description><![CDATA[
رشته روباتیک و ساخت ربات در میان دانشجویان رشته های نرم افزار، سخت افزار و الکترونیک طرفداران زیادی دارد. در اکثر دانشگاه های ایران می توانید حداقل یک گروه فعال روباتیک پیدا کنید. معمولاً برای ساخت روبات در دانشگاه، یک تیم متشکل از بچه های نرم افزار، سخت افزار، الکترونیک و مکانیک تشکیل می شود [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1173&subd=farasun&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote>
<p style="text-align:justify;">رشته روباتیک و ساخت ربات در میان دانشجویان رشته های نرم افزار، سخت افزار و الکترونیک طرفداران زیادی دارد. در اکثر دانشگاه های ایران می توانید حداقل یک گروه فعال روباتیک پیدا کنید. معمولاً برای ساخت روبات در دانشگاه، یک تیم متشکل از بچه های نرم افزار، سخت افزار، الکترونیک و مکانیک تشکیل می شود که هر کدام بسته به تخصص خود در ساخت روبات کمک می کنند. معمولاً بچه های رشته نرم افزار در قسمت شبیه سازی و برنامه نویسی روبات کار می کنند. در این مطلب کوتاه با یک مجوعه نرم افزاری قدرتمند از شرکت مایکروسافت برای ساخت، شبیه سازی، تست و عیب یابی روبات ها آشنا می شویم.</p>
</blockquote>
<p style="text-align:justify;"><span style="color:#ff9900;"><strong>Microsoft Robotics Developer Studio</strong></span> یا به اختصار MRDS مجموعه کاملی از ابزارهای نرم افزاری تحت ویندوز برای کنترل و شبیه سازی انواع محتلف روبات است. از این مجوعه نرم افزاری می توان در ساخت روبات های آکادمیک و حتی تجاری کمک گرفت.  MRDS در ساخت نرم افزارهای مبتنی بر سرویس برای انواع مختلف سخت افزار کاربرد دارد.</p>
<p style="text-align:justify;"><strong>MRDS</strong> بیشتر از یک نرم افزار برای بازی با روبات هاست. تقریباً دو سال پیش واحد تحقیقات مایکروسافت راه حلی برای ساخت روبات ها و کنترل آن ها در محیط ویندوز ارائه نمود، که هم اکنون به یکی از بسترهای موفق و مناسب برای توسعه انواع روبات ها تبدیل شده است. یکی از مهمترین نکات مربوط به نرم افزارهای روباتیک این است که کدی که نوشته اید در محیط شبیه سازی و محیط واقعی به یک صورت عمل کند، یعنی بدون دستکاری کد روبات شما همانطور که در محیط شبیه سازی شده کار می کرده است در محیط واقعی نیز کار کند، که MRDS به خوبی این نکته را پیاده سازی کرده است. شما روبات خود را با استفاده از ابزارهای بصری (Visual) مدل می کنید و کدهای آن را می نویسید، سپس در محیط 3بعدی رفتار روبات را شبیه سازی می کنید، آن را تست و عیب یابی می کنید و در نهایت در محیط واقعی پیاده سازی اش می کنید.</p>
<p><img title="شبیه سازی در MRDS" src="http://farasun.files.wordpress.com/2009/11/msrds_simulation.jpg" alt="شبیه سازی در MRDS" /></p>
<p>مهمترین ویژگی های MRDS به شرح زیر است :</p>
<p style="text-align:justify;"><strong>زبان برنامه نویسی ویژوال</strong> یا <strong>Visual Programming Language</strong> یک محیط توسعه گرافیکی است که با دیاگرام های مختلف رفتار ربات را تعیین می کند. کاربر می تواند به صورت گرافیکی با ربات خود تعامل داشته باشد. یک سرویس یا یک فعالیت به صورت یک بلاک که دارای ورودی و خروجی است نشان داده می شود. کاربر فقط باید این بلاک ها را از کاتالوگ انتخاب و آن را به دیاگرام خود اضافه نماید. اتصال میان این بلاک ها بوسیله ماوس کشیده می شوند و جزئیاتی مانند نحوه عملیات و مقادیر ارسالی مشخص می شوند. VPL می تواند از روی سرویس های موجود در دیاگرام که توسط کاربر ایجاد شده اند، کد مربوطه را تولید کند. با VPL حتی افرادی که تا به حال یک خط برنامه ننوشته اند نیز می توانند ربات بسازند!</p>
<p>برای تست و خطایابی ربات<strong> </strong>می توانید از<strong> رابط های مبتنی بر ویندوز و وب </strong>استفاده کنید. این رابط ها به شما کمک می کنند تا به صورت ریموت ربات خود را کنترل و عیب یابی کنید.</p>
<p>محیط <strong>شبیه سازی 3بعدی</strong> MRDS به شما اجازه می دهد که رفتار ربات را در یک جهان مجازی که شامل قوانین پیشرفته فیزیکی است، شبیه سازی کنید.</p>
<p><strong>دستیابی آسان و سریع به سنسورها و فعال کننده های ربات</strong></p>
<p><strong>پشتیبانی از زبان های برنامه نویسی سی شارپ، ویژوال بیسیک و IronPython</strong> به برنامه نویسان دات نت اجازه می دهد که با استفاده از تجربه ها و مهارت های قبلی خود برای ربات ها برنامه های پیشرفته بنویسند.</p>
<h2>اجزای MRDS</h2>
<ul>
<li><strong>Concurrency and Coordination Runtime</strong> یا <strong>CCR</strong> یک کتابخانه دات نت فریم ورک است که از پردازش غیر همزمان (آسنکرون) پشتیبانی می کند. استفاده از پردازش آسنکرون برای ساخت یک روبات بسیار مهم است، زیرا سنسورها ممکن است به صورت همزمان داده ها را ارسال و دریافت کنند.</li>
<li><strong>Decentralized Software Services</strong> یا <strong>DSS</strong> یک ران تایم مبتنی بر سرویس بسیار سبک است که از مدل REST برای ارتباط استفاده می کند.</li>
<li><strong>Visual Programming Language</strong> یا <strong>VPL</strong> (که در بالا در مورد آن مفصل توضیح داده شد) یک زبان گرافیکی است که رفتار یک روبات را به صورت دیاگرام مدل می کند.</li>
<li><strong>Visual Simulation Environment</strong> یا <strong>VSE</strong> که محیطی برای شبیه سازی روبات ساخته شده توسط MRDS است. شما می توانید در این محیط مجازی رفتارهای روبات خود را در شرایط مختلف مشاهده کنید.</li>
</ul>
<h2>چگونه شروع کنیم</h2>
<p style="text-align:justify;"><img class="size-full wp-image-1181  alignright" title="robot" src="http://farasun.files.wordpress.com/2009/11/robot.jpg" alt="robot" width="165" height="240" /><strong>MRDS</strong> در سه نسخه Express، Standard و آکادمیک عرضه می شود. نسخه Express همانطور که از نامش پیداست رایگان است اما بعضی از قابلیت های نسخه استاندارد را ندارد و برای کاربردهای حرفه ای مناسب نیست. نسخه استاندارد پولی است و برای کاربدهای حرفه ای است. نسخه آکادمیک تمام ویژگی های نسخه استاندارد را داراست و برای دانشجویان رایگان است. پیش نیاز نصب MRDS یک کارت گرافیکی مناسب با پشتیبانی از Pixel Shader و Vertex Shader است. همچنین DirectX 9.0 باید روی ویندوز شما نصب باشد. به <a title="Download" href="http://msdn.microsoft.com/en-us/robotics/aa731520.aspx" target="_blank">این صفحه</a> از وب سایت مایکروسافت بروید و نسخه ای از MRDS را دانلود کنید. آن را نصب کنید. اگر ویژوال استادیو روی سیستم شما نصب باشد، تمپلیت های MRDS به صورت خودکار روی آن نیز نصب می شوند.</p>
<p style="text-align:justify;">قدم بعدی شما تلاش برای یادگیری خواهد بود. یک راهنمای خوب به همراه نرم افزار نصب می شود، می توانید آن را مطالعه کنید یا از <a title="MRDS User Guide" href="http://msdn.microsoft.com/en-us/library/dd936006.aspx" target="_blank">راهنمای آنلاین</a> کمک بگیرید. مثال ها و تمرین های خوبی نیز همراه نرم افزار ارائه شده است. با تمرین و پشتکار و علاقه ادامه دهید تا روبات خود را بسیازید!</p>
<p><span style="color:#ffffff;">farasun.wordpress.com</span></p>
<p style="text-align:justify;"><em><strong>راه حل غیر مایکروسافتی</strong></em> : اگر از مایکروسافت به هر دلیلی خوشتان نمیاد یا از این محصولش به خاطر کپی رایت و این حرفا نمی توانید استفاده کنید، من نرم افزار <strong><a href="http://simbad.sourceforge.net/" target="_blank">Simbad</a></strong> که یک نرم افزار اوپن سورس و رایگان  مبتنی بر جاواست را پیشنهاد میکنم.</p>
<p><a href="http://www.idevcenter.com/link/760/"><img title="Vote on iDevCenter " src="http://www.idevcenter.com/links/image?url=http%3a%2f%2ffarasun.wordpress.com%2f2009%2f11%2f14%2fmicrosoft-robotics-developer-studio%2f" alt="Vote on iDevCenter" /></a></p>
Posted in فناوری, دات نت Tagged: Microsoft, MRDS, MSRS, Robotics, Robotics Studio, مایکروسافت, برنامه نویسی, دات نت, روبات, روباتیک, ربات, رباتیک, سی شارپ <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/farasun.wordpress.com/1173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/farasun.wordpress.com/1173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/farasun.wordpress.com/1173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/farasun.wordpress.com/1173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/farasun.wordpress.com/1173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/farasun.wordpress.com/1173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/farasun.wordpress.com/1173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/farasun.wordpress.com/1173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/farasun.wordpress.com/1173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/farasun.wordpress.com/1173/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=farasun.wordpress.com&blog=1012050&post=1173&subd=farasun&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://farasun.wordpress.com/2009/11/14/microsoft-robotics-developer-studio/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">ایمان</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/11/msrds_simulation.jpg" medium="image">
			<media:title type="html">شبیه سازی در MRDS</media:title>
		</media:content>

		<media:content url="http://farasun.files.wordpress.com/2009/11/robot.jpg" medium="image">
			<media:title type="html">robot</media:title>
		</media:content>

		<media:content url="http://www.idevcenter.com/links/image?url=http%3a%2f%2ffarasun.wordpress.com%2f2009%2f11%2f14%2fmicrosoft-robotics-developer-studio%2f" medium="image">
			<media:title type="html">Vote on iDevCenter </media:title>
		</media:content>
	</item>
		<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>
	</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>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/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>
	</channel>
</rss>