<?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>Bamdad Dashtban</title>
	<atom:link href="http://dashtban.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dashtban.wordpress.com</link>
	<description>Developer</description>
	<lastBuildDate>Sun, 15 Jan 2012 18:39:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='dashtban.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Bamdad Dashtban</title>
		<link>http://dashtban.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://dashtban.wordpress.com/osd.xml" title="Bamdad Dashtban" />
	<atom:link rel='hub' href='http://dashtban.wordpress.com/?pushpress=hub'/>
		<item>
		<title>SiriProxy</title>
		<link>http://dashtban.wordpress.com/2012/01/15/siriproxy/</link>
		<comments>http://dashtban.wordpress.com/2012/01/15/siriproxy/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 18:39:50 +0000</pubDate>
		<dc:creator>dashtban</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Siri]]></category>
		<category><![CDATA[SiriProxy]]></category>
		<category><![CDATA[MITM]]></category>

		<guid isPermaLink="false">http://dashtban.wordpress.com/?p=111</guid>
		<description><![CDATA[I&#8217;ve seen few videos on YouTube which demonstrates the SiriProxy project. For those who doesn&#8217;t know what that is , it is a Ruby program which lets you control and change the results of Siri request in your local network (?) . For example you want Siri to turn the heater or boiler in your [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=111&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve seen few videos on YouTube which demonstrates the <a title="Siri Proxy" href="https://github.com/plamoni/SiriProxy">SiriProxy project</a>.<br />
For those who doesn&#8217;t know what that is , it is a Ruby program which lets you control and change the results of Siri request in your local network (?) .<br />
For example you want Siri to turn the heater or boiler in your house on or off , but you know that Apple doesn&#8217;t know any information about your heater so, whats the solution ?</p>
<p>Before telling you the solution I have to mention how does Siri works:</p>
<p>First , you speak and ask Siri a request , like &#8220;What is the status of my Boiler?&#8221;</p>
<p>There is a built in speech recognition software in the iPhone 4s device which process your question and change the voice to a text.</p>
<p><strong>Then , your phone send that text to  Apple servers to process your request and return the results.</strong></p>
<p>when the results come back to your device , Siri application shows it in a good way to you.</p>
<p>&nbsp;</p>
<p>That is the general scenario , but what SiriProxy doing is bypassing the step that the phone sends data to Apple server (Bold step) . Program tries to read the request sent from your phone and instead of sending it to Apple server try to respond it with its own resources. You can use boilers or heaters which provide APIs to get their status and connect them to your proxy program as its resources.</p>
<p>Thats what<a title="Siri Proxy demo" href="http://youtu.be/8wQIbZuUHMg" target="_blank"> this guy</a> has done using SiriProxy.</p>
<p>Its interesting for me to implement a software which works with SiriProxy , but I don&#8217;t have any idea yet if you have one tell me maybe we can work it out.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dashtban.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dashtban.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dashtban.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dashtban.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dashtban.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dashtban.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dashtban.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dashtban.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dashtban.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dashtban.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dashtban.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dashtban.wordpress.com/111/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dashtban.wordpress.com/111/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dashtban.wordpress.com/111/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=111&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dashtban.wordpress.com/2012/01/15/siriproxy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7239028986c7026a7edc89e1d0443c44?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dashtban</media:title>
		</media:content>
	</item>
		<item>
		<title>Banging KDE on Ubuntu!</title>
		<link>http://dashtban.wordpress.com/2012/01/14/banging-kde-on-ubuntu/</link>
		<comments>http://dashtban.wordpress.com/2012/01/14/banging-kde-on-ubuntu/#comments</comments>
		<pubDate>Sat, 14 Jan 2012 00:01:05 +0000</pubDate>
		<dc:creator>dashtban</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[kubuntu-desktop]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://dashtban.wordpress.com/?p=108</guid>
		<description><![CDATA[Finally , I switched to KDE desktop , I&#8217;ve downloaded KDE desktop manager for my Ubuntu and right now I&#8217;m using it. the whole process was extremely easy just a simple &#8220;sudo apt-get install kubuntu-desktop&#8221; It seems more fun , since I didn&#8217;t get used to the ubuntu unity , the KDE seems more rational [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=108&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Finally , I switched to KDE desktop , I&#8217;ve downloaded KDE desktop manager for my Ubuntu and right now I&#8217;m using it. the whole process was extremely easy just a simple &#8220;sudo apt-get install kubuntu-desktop&#8221;<br />
It seems more fun , since I didn&#8217;t get used to the ubuntu unity , the KDE seems more rational and nice to me .<br />
Try it if you are not satisfied with Unity &#8230;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dashtban.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dashtban.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dashtban.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dashtban.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dashtban.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dashtban.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dashtban.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dashtban.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dashtban.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dashtban.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dashtban.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dashtban.wordpress.com/108/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dashtban.wordpress.com/108/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dashtban.wordpress.com/108/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=108&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dashtban.wordpress.com/2012/01/14/banging-kde-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7239028986c7026a7edc89e1d0443c44?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dashtban</media:title>
		</media:content>
	</item>
		<item>
		<title>English</title>
		<link>http://dashtban.wordpress.com/2012/01/10/english/</link>
		<comments>http://dashtban.wordpress.com/2012/01/10/english/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 18:56:38 +0000</pubDate>
		<dc:creator>dashtban</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[back]]></category>
		<category><![CDATA[english]]></category>
		<category><![CDATA[exams]]></category>

		<guid isPermaLink="false">http://dashtban.wordpress.com/?p=105</guid>
		<description><![CDATA[I&#8217;m back From now on I&#8217;ll write my posts here in English. Why ? First of all I need to improve my English in someway , so I believe this will be the first step. ( please post comments on my mistakes ) Another reason for that is my friends here in Manchester can see [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=105&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>I&#8217;m back</strong></p>
<p>From now on I&#8217;ll write my posts here in English.</p>
<p><strong>Why ?</strong></p>
<p>First of all I need to improve my English in someway , so I believe this will be the first step. ( please post comments on my mistakes )</p>
<p>Another reason for that is my friends here in Manchester can see what am I writing.</p>
<p>&nbsp;</p>
<p>Right now I&#8217;m busy with the first semester exams of the MSc course.But I have a lot of things to write and there may be some changes between the posts before and things I&#8217;m going to write here . Just wait and you will see</p>
<p>And please wish me luck with the exams <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dashtban.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dashtban.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dashtban.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dashtban.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dashtban.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dashtban.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dashtban.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dashtban.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dashtban.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dashtban.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dashtban.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dashtban.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dashtban.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dashtban.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=105&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dashtban.wordpress.com/2012/01/10/english/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7239028986c7026a7edc89e1d0443c44?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dashtban</media:title>
		</media:content>
	</item>
		<item>
		<title>نصب Yii</title>
		<link>http://dashtban.wordpress.com/2011/05/01/%d9%86%d8%b5%d8%a8-yii/</link>
		<comments>http://dashtban.wordpress.com/2011/05/01/%d9%86%d8%b5%d8%a8-yii/#comments</comments>
		<pubDate>Sun, 01 May 2011 19:08:51 +0000</pubDate>
		<dc:creator>dashtban</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[yiii]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[yii]]></category>

		<guid isPermaLink="false">http://dashtban.wordpress.com/?p=99</guid>
		<description><![CDATA[نصب نصب Yii شامل 2 مرحله زیر است : دانلود فریم ورکYii  از yiiframwork.com باز کردن فایل های Yii در دایرکتوری قابل دسترس وب. نکته : لازم نیست که حتما Yii در یک دایرکتوری قابل دسترس وب نصب شود. یک اپلیکیشن Yii یک اسکریپت ورودی دارد که معمولا تنها فایلی است که باید در دسترس [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=99&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p dir="RTL">نصب</p>
<p dir="RTL">نصب Yii شامل 2 مرحله زیر است :</p>
<ol>
<li>دانلود فریم ورکYii  از <a title="فریم ورک Yii" href="http://www.yiiframework.com">yiiframwork.com</a></li>
<li>باز کردن فایل های Yii در دایرکتوری قابل دسترس وب.</li>
</ol>
<p dir="RTL">نکته : لازم نیست که حتما Yii در یک دایرکتوری قابل دسترس وب نصب شود. یک اپلیکیشن Yii یک اسکریپت ورودی دارد که معمولا تنها فایلی است که باید در دسترس کاربران وب قرار بگیرد.سایر اسکریپت های PHP شامل آن هایی که مربوط به Yii نباید   از طریق وب  قابل دسترس باشند زیرا امکان آن وجود دارد که برای هک کردن مورد سوء استفاده قرار بگیرند.</p>
<ol>
<li>پیش نیاز</li>
</ol>
<p dir="RTL">پس از نصب ، شما می توانید تایید کنید که سرور شما تمامی پیش نیاز ها را براورده می کنید . برای این کار کافی است آدرس اسکریپتی را که این امکان سنجی را انجام می دهد در سایت مرورگر خود وارد کنید.</p>
<p>http://hostname/path/to/yii/requirements/index.php</p>
<p dir="RTL">حداقل پیش نیاز Yii آن است که وب سرور شما از PHP نسخه 5.1.0 یا بیشتر پشتیبانی کند.Yii با وب سرور Apache در ویندوز و لینوکس آزمایش شده . احتمالا با وب سرور ها و پلت فرم های دیگری که PHP 5  را پشتیبانی می کند ، کار کند.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dashtban.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dashtban.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dashtban.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dashtban.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dashtban.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dashtban.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dashtban.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dashtban.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dashtban.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dashtban.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dashtban.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dashtban.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dashtban.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dashtban.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=99&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dashtban.wordpress.com/2011/05/01/%d9%86%d8%b5%d8%a8-yii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7239028986c7026a7edc89e1d0443c44?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dashtban</media:title>
		</media:content>
	</item>
		<item>
		<title>Yii چیست؟</title>
		<link>http://dashtban.wordpress.com/2011/04/29/yii-%da%86%db%8c%d8%b3%d8%aa%d8%9f/</link>
		<comments>http://dashtban.wordpress.com/2011/04/29/yii-%da%86%db%8c%d8%b3%d8%aa%d8%9f/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 08:19:05 +0000</pubDate>
		<dc:creator>dashtban</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[yiii]]></category>
		<category><![CDATA[yii framework]]></category>

		<guid isPermaLink="false">http://dashtban.wordpress.com/?p=93</guid>
		<description><![CDATA[Yii  چیست؟ Yii یک فریم ورک PHP با عملکرد بسیار بالاست که برای ایجاد سریع اپلیکیشن های وب به کار برده میشود.همچنین بیشترین قابلیت استفاده مجدد را در برنامه نویسی وب فراهم می کند و فرایند تولید نرم افزار را سرعت می بخشد.کلمه Yii که ییی (Yee or [jii])  خوانده می شود به معنای آسانی [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=93&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://dashtban.files.wordpress.com/2011/04/logo.png"><img class="alignleft size-full wp-image-94" title="فریم ورک Yii" src="http://dashtban.files.wordpress.com/2011/04/logo.png?w=500" alt="Yii framework"   /></a></p>
<p dir="RTL"><strong>Yii </strong><strong> چیست؟</strong></p>
<p dir="RTL">Yii یک فریم ورک PHP با عملکرد بسیار بالاست که برای ایجاد سریع اپلیکیشن های وب به کار برده میشود.همچنین بیشترین قابلیت استفاده مجدد را در برنامه نویسی وب فراهم می کند و فرایند تولید نرم افزار را سرعت می بخشد.کلمه Yii که ییی (<code>Yee</code> or <code>[jii])</code><code> </code><code> </code><code>خوانده می شود به معنای آسانی </code><code>(easy)</code><code>، کاربردی</code><code>(efficient)</code><code> و قابل گسترش</code><code>(extensible)</code><code> است .</code><code> </code><code></code></p>
<ol>
<li><code><strong>1.      </strong></code><code><strong>پیش نیاز ها :</strong></code></li>
</ol>
<p dir="RTL">برای اجرای Yii  شما نیاز به  یک وب سرور با قابلیت پشتیبانی PHP نسخه  5.1.0 یا بیشتر دارید.</p>
<p dir="RTL">برای توسعه دهندگان ، درک برنامه نویسی شی گرا (OOP) بسیار مفید است ، چونکه Yii یک فریم ورک شی گرای خالص است.</p>
<ol>
<li><strong>2.      </strong><strong>Yii</strong><strong> برای چه کارهایی مناسب است؟</strong></li>
</ol>
<p dir="RTL">Yii یک فریم ورک عمومی برنامه نویسی وب است و واقعا می تواند برای توسعه هر گونه اپلیکیشن وبی به کار برده شود.از آنجایی که بسیار سبک است و به سیستم پیچیده cache  کردن تجهیز می باشد ، مخصوصا برای توسعه اپلیکیشن های پر ترافیک از جمله فروم ،پورتال ، سیستم مدیریت محتوا، سیستم های تجارت الکترونیک و &#8230; مناسب است.</p>
<ol>
<li><strong>3.      </strong><strong>در مقایسه با سایر فریم ورک ها چگونه است؟</strong><strong></strong></li>
</ol>
<p dir="RTL">مانند سایر فریم ورک های PHP، Yii نیز MVC است.</p>
<p dir="RTL">برتری فریم ورک Yii به سایر فریم ورک در بهروری بیشتر ، غنی بودن ویژگی ها و مستندات واضح آن است.Yii  از پایه با دقت طوری طراحی شده تا نیاز های توسعه اپلیکیش های وبی جدی را به طور کامل براورده کند.همچنین نه نتیجه پروژه دیگری می باشد نه از بهم چسباندن کارهای دیگران است.آن نتیجه تجربه غنی نویسنده آن در توسعه اپلیکیشن های وب و تحقیقات  و انعکاسات فریم ورک ها و اپلیکیشن های دیگر وب است.</p>
<p dir="RTL">
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dashtban.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dashtban.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dashtban.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dashtban.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dashtban.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dashtban.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dashtban.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dashtban.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dashtban.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dashtban.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dashtban.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dashtban.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dashtban.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dashtban.wordpress.com/93/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=93&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dashtban.wordpress.com/2011/04/29/yii-%da%86%db%8c%d8%b3%d8%aa%d8%9f/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7239028986c7026a7edc89e1d0443c44?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dashtban</media:title>
		</media:content>

		<media:content url="http://dashtban.files.wordpress.com/2011/04/logo.png" medium="image">
			<media:title type="html">فریم ورک Yii</media:title>
		</media:content>
	</item>
		<item>
		<title>برنامه نویسی آیفون با بامداد دشت بان – قسمت اول (پروسه طراحی اپلیکیشن و محیط کاربری)</title>
		<link>http://dashtban.wordpress.com/2010/12/23/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a2%db%8c%d9%81%d9%88%d9%86-%d9%82%d8%b3%d9%85%d8%aa-1/</link>
		<comments>http://dashtban.wordpress.com/2010/12/23/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a2%db%8c%d9%81%d9%88%d9%86-%d9%82%d8%b3%d9%85%d8%aa-1/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 21:00:20 +0000</pubDate>
		<dc:creator>dashtban</dc:creator>
				<category><![CDATA[برنامه نویسی آیفون]]></category>
		<category><![CDATA[قسمت دوم]]></category>
		<category><![CDATA[برنامه نویسی]]></category>
		<category><![CDATA[طراحی محیط کاربری]]></category>

		<guid isPermaLink="false">http://dashtban.wordpress.com/?p=77</guid>
		<description><![CDATA[در این جلسه به  معرفی فرایندی که ساخت یک اپلیکیشن  موفق آیفون طی می کند می پردازیم. شاید خیلی از شما برنامه آیفونی نوشته و آن را برای فروش قرار داده باشید ،ولی شاید فروش شما آن طور که فکر می کردید نبوده! یا شاید می خواهید که App بعدیتون واقعا خوب باشه، ما امروز [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=77&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>در این جلسه به  معرفی فرایندی که ساخت یک اپلیکیشن  موفق آیفون طی می کند می پردازیم.<br />
شاید خیلی از شما برنامه آیفونی نوشته و آن را برای فروش قرار داده باشید ،ولی شاید فروش شما آن طور که فکر می کردید نبوده! یا شاید می خواهید که App بعدیتون واقعا خوب باشه، ما امروز و جلسه بعدی به این موضوع می پردازیم  و فرایند ساخت یک App را با هم مرور می کنیم.<br />
در این جلسه اصلا به برنامه نویسی نمی پردازیم بلکه نکات بنیادی برای برنامه نویسی آیفون را بررسی خواهیم کرد.</p>
<p>پس با یک سوال شروع می کنیم : <strong>بهترین قدم ها برای ساخت چیزی عالی چیست ؟</strong></p>
<p>به طور کلی 4 مرحله اصلی برای ساخت یک  محیط کاربری قوی آیفون وجود دارد<a href="http://dashtban.files.wordpress.com/2010/12/01_ui_design.jpg"><img class="aligncenter size-medium wp-image-78" title="طراحی محیط کاربری آیفون" src="http://dashtban.files.wordpress.com/2010/12/01_ui_design.jpg?w=300&#038;h=185" alt="طراحی محیط کاربری آیفون" width="300" height="185" /></a></p>
<ul>
<li><strong>مرحله  اول </strong><strong>-</strong><strong> شالوده </strong><strong>(Foundation) </strong> :<br />
در این مرحله تفاوت هایی که در استفاده از دستگاه های تاچ بوجود می آید را درک می کنیم و به راه های جدیدی در حل مسائل می اندیشیم.</li>
<li><strong>· </strong><strong>مرحله دوم – تعریف محصول </strong><strong>(Product Definition)</strong><strong> :<br />
</strong>اینجا می فهمیم آن چیزی که دست مشتری می دهیم چیست ؟<strong> </strong></li>
<li><strong>· </strong><strong>مرحله سوم </strong>– <strong>طراحی و نمونه سازی </strong><strong>(Design &amp; Prototyp)</strong><strong> : </strong><strong><br />
</strong>درک می کنیم که طراحی محیط کاربری آیفون چگونه است و از کاغذ برای نمونه سازی استفاده می کنیم.<strong> </strong></li>
<li><strong>· </strong><strong>مرحله چهارم </strong>– <strong>پولیش و بهبود </strong><strong>(Polish &amp; Refine)</strong><strong>:<br />
</strong>مرحله ایست  که نرم افزار پایدار ولی معمولی را تبدیل به اپلیکییشن جذاب و عالی می کند.<strong> </strong></li>
</ul>
<p>در این جلسه به دو مرحله اول می پردازیم و در جلسه بعد به دو مرحلی باقی مانده خواهیم پرداخت.</p>
<p><strong>مرحله  اول </strong><strong>-</strong><strong> شالوده </strong><strong>(Foundation) </strong> :</p>
<p><a href="http://dashtban.files.wordpress.com/2010/12/reveloution_iphone.jpg"><img class="aligncenter size-medium wp-image-80" title="reveloution_iphone" src="http://dashtban.files.wordpress.com/2010/12/reveloution_iphone.jpg?w=300&#038;h=200" alt="آیفون انقلابی" width="300" height="200" /></a></p>
<p>به طور قطع آیفون دستگاهی انقلابی است . آیفون دستگاهی همواره متصل به شبکه های مخابراتی است که درون جیب ما جا می شود و دارای GPS ، قطب نما ، دوربین ، شتاب سنج و یک مرورگر کامل وب  است وبه برنامه نویس اجازه می دهد تا از بهترین ورودی های موجود برای ساخت اپلیکیشن استفاده کند.</p>
<p>وقتی آیفون ارائه شد ، بسیاری از قوانین تغییر کرد. برای مثال در کامپیوتر های دسک تاپ دقت استفاده از ماوس 1 پیکس در 1 پیکسل بود و تنها یک بار در زمان رخ می داد، دقت در کامپیوترها تعریف شده بود ولی در آیفون که دستگاهی مالتی تاچ و دقت آن از 22 پیکسل  تا 55 پیکسل بسته به اندازه و نوع استفاده از انگشتان کاربر بر روی صفحه<span style="text-decoration:underline;"> متغیر</span> است . بر این اساس ما 5 ورودی همزمان داریم که باید آن ها را در یک زمان پیگیری کنیم.<a href="http://dashtban.files.wordpress.com/2010/12/touch_vs_mouse.jpg"><img class="aligncenter size-medium wp-image-81" title="touch_vs_mouse" src="http://dashtban.files.wordpress.com/2010/12/touch_vs_mouse.jpg?w=300&#038;h=251" alt="لمس در مقابل کلیک" width="300" height="251" /></a></p>
<p>در نتیجه بسیاری از ابزار هایی که در گذشته به کار می رفت و به یک استاندارد تبدیل شده بود کنار گذاشته شد و جایگزینی بهتر برای کار با انگشتان طراحی شد.</p>
<ul>
<li>اولین آن ها <a href="http://en.wikipedia.org/wiki/Scrollbar">Scroll-Bar</a> بود که بسیار کوچک بود و به سختی می توانستیم با آن ارتباط برقرار کنیم.و به طور کل آن ها حذف شد چراکه  دیگر با حرکات انگشتان می توانستیم کار آن ها را شبیه سازی کنیم و در اپلیکیشنContacts و یا مرور وب حتما جایگزین آن را دیده اید .</li>
</ul>
<ul>
<li>دومین آن ها <a href="http://en.wikipedia.org/wiki/Drop-down_list">Drop Down Menu</a> ها بودند که به خوبی کار نمی کرند و در کار با انگشتان بسیار ضعیف بود. چندین جایگزین برای آن معرفی شد که Picker یکی از آن ها بود که بیشترین کاربرد را در داده های از پیش تعیین شده دارد.<img class="alignleft" src="http://blog.izepto.com/wp-content/uploads/2008/06/screen-capture-10.png" alt="" width="127" height="238" /></li>
</ul>
<p>در آیفون برای اولین بار کاربران می توانستند به طور مستقیم تغییر ایجاد کنند(Direct Manipulation) و نیازی به استفاده از ماوس و کیبورد نداشت. این تغییرات مستقیم به انواع زیر تقسیم می شود:</p>
<ul>
<li>دستکاری مستیقم (Direct Manipulation): برای مثال در یک بازی تیر اندازی وقتی تنها یک بار صفحه را لمس می کنید تا تیری شلیک شود</li>
<li>لمس پی درپی (Sequential Tapping): مثلا وقتی که در نرم افزار Mail پشت سر هم  از لحظه باز شدن برنامه صفحه را لمس می کنید تا به ایمیل مورد نظرتان برسید.</li>
<li>لمس و کشیدن(Tapping &amp; Dragging): بیشترین شباهت به دنیای واقعی را دارد زیرا شما می توانید با لمس کردن نقاشی کنی , چیزی را تکان دهید و .. 90 درصد کاربران در هنگام کار با صفحه لمسی برای اولین بار لمس کردن و کشیدن را امتحان میکنند.</li>
</ul>
<p>پس حتما باید فکر کنید کدامیک از این ها در چه موقعی بیشتر در Application  شما به کار می رود.</p>
<p>خوب بیایید به تغییراتی که در <span style="text-decoration:underline;">طراحی محیط کاربری</span> ایجاد شده بپردازیم:</p>
<p>فهمیدن اینکه چیزی یک Button یا دکمه است بسیار ساده است و آن با نرم کردن گوشه های مربع قابل درک است. پس معمولا هر موقع دیدید دور چیزی نرم شده و همچنین درخشش خاصی دارد آن یک دکمه است. ولی در ToolBar  نمی توان اطراف همه دکمه ها را نرم کرد پس به جای آن می بینید که از تکنیک عمق دادن به دکمه استفاده شده که به آن یک Inner Shadow داده شده است و خود نوار هم درخشان یا Glossy  شده است که به کاربر یاد آوری می کند که قابل لمس شدن است.</p>
<p style="text-align:center;"><a href="http://dashtban.files.wordpress.com/2010/12/buttons.jpg"><img class="size-medium wp-image-85 aligncenter" title="buttons" src="http://dashtban.files.wordpress.com/2010/12/buttons.jpg?w=300&#038;h=218" alt="دکمه های آیفون" width="300" height="218" /></a></p>
<p>در اکثر پلت فرم ها اغلب 5 یا 6 درصد وقت طراحی می شود ولی در آیفون پیشنهاد می شود که حداقل نیمی از زمان شما به طراحی پرداخته شود. خیلی از شما با خود میگویید من یک برنامه نویس یا یک مهندس هستم و من طراحی نمی کنم و در فتوشاپ چیز ها را خوشگل نمی کنم ولی وقتی من در مورد طراحی می گویم منظورم تعیین وسعت نرم افزار ، اندیشیدن به سلسله مراتب و یافتن جریان نرم افزار  و درک اشیا موجود است و این ها همان کار های هستند که مهندسان از انجام آن لذت می برندو تنها راجع به نقاشی و زیبا کردن چیز ها صحبت نمی کنم ولی باید بدانید هیچ کسی در دنیای واقعی  چیزی را از شما نمی خرد که طراحی خوبی نداشته باشد و وقت زیادی روی طراحی آن گذاشته نشده باشد.</p>
<p><strong>مرحله دوم – تعریف محصول </strong><strong>(Product Definition)</strong><strong>:<a href="http://dashtban.files.wordpress.com/2010/12/iphone_dev_cycle.jpg"><img class="alignleft size-medium wp-image-88" title="iphone_dev_cycle" src="http://dashtban.files.wordpress.com/2010/12/iphone_dev_cycle.jpg?w=300&#038;h=201" alt="چرخه تولید در آیفون" width="300" height="201" /></a></strong></p>
<p>تا به حال ( قبل از آیفون) هر محصول نرم افزاری لیستی طولانی از خصوصیات و ویژگی ها را داشت که بدین منظور برنامه نویس مجبور بود محیطی بزرگ فراهم کند تا می توانست تمامی آن ویژگی ها را پیاده سازی کند، ولی مشکل آنجا است که خیلی از کاربران از تمام آن ویژگی ها استفاده نمی کردند.</p>
<p>باید بدانیم که در آیفون هدف آن است که یک راه حل تعریف کنیم نه اینکه مجموعه ای از ویژگی ها را کنار هم بگذاریم و نشان دهیم.<br />
بهترین اپلیکیشن های آیفون آن هایی هستند که یک مشکل را برای کاربر حل می کنند.یکی از بهترین روش ها به رسیدن به این هدف تعریف کردن &#8220;شرح تعریف برنامه&#8221;  Application Definition Statement  یا ADS است .</p>
<p>ADS از 3 قسمت تشکیل شده است:</p>
<p><strong>(تفاوت شما) ( راه حل شما) برای (مخاطب شما )</strong></p>
<p><strong>(Your Differentiator)(Your Solution) for (Your Audience)</strong><a href="http://dashtban.files.wordpress.com/2010/12/typical_dev_cycle.jpg"><img class="alignleft size-medium wp-image-87" title="typical_dev_cycle" src="http://dashtban.files.wordpress.com/2010/12/typical_dev_cycle.jpg?w=300&#038;h=187" alt="چرخه تولید پلت فرم ها غیر از آیفون" width="300" height="187" /></a></p>
<ul>
<li><strong>تفاوت شما</strong> : خاص بودن برنامه شما در مقابل سایر نرم افزار ها را نشان می دهد .برای مثال &#8220;استفاده آسان&#8221; یا &#8220;ظاهری زیبا&#8221;.</li>
<li><strong>راه حل شما</strong>: برای خود تعریف کنید که چه مشکلی را حلی یا آسان خواهید کرد.</li>
<li><strong>مخاطب شما </strong>: بسیار مهم است که بدانید مخاطبتان کیست ، برای مثال اگر مخاطب شما یک آتش نشان است که باید به سرعت هم تیمی های خود را پیدا کند شما نباید آن طور که برای یک تاجر محیطی طراحی می کنید که برای رسیدن به هدفش چندین بار باید صفحه را</li>
</ul>
<p>لمس کند برنامه را طراحی کنید.</p>
<p>این مرحله را با یک مثال جلو می رویم:در مک ما نرم افزاری به نام iPhotos  داریم که در iOS مشابه آن Aplication با نام Photos  است که همگی ما در آیفون برای مشاهده تصاویر استفاده کرده ایم.</p>
<p>ADS برنامه iPhotos  این است :</p>
<p style="text-align:center;">Easy to use , digital photo editing ,organizing &amp; sharing for causal &amp; amateur  photographers</p>
<p>تفاوت ما نسبت به سایر نرم افزار ها easy to use  بودن نرم افزار اس و می بینید که در اینجا 3 راه حل داریم :</p>
<p>1.     Digital Photo Editing</p>
<p>2.     Organizing</p>
<p>3.     Sharing</p>
<p>همچنین مخاطبین ما هم Causal &amp; amateur photographers  هستند.</p>
<p>لیست طولانی خصوصیات نرم افزار در این ADS خلاصه شده است و خیلی از این ها برای آیفون مناسب نیست زیرا انجام این کارها با انگشت سخت و زمانگیر است و کاربر آیفون می خواد به هدفی بسیار سریع برسد.پس با مشاهده راه حل ها می بینیم که تنها یکی به کار ِ کاربران آیفون می آید:</p>
<p>همه دوست دارند که عکس هایشان مرتب و Organize شده باشد و لی افراد کمی هستند که برای مرتب کردن عکس هایشان وقت می گذارند و اکثر مردم از یک لیست طولانی تصویر مورد نظرشان را پیدا می کنند.</p>
<p>همچنین افراد کمی هم هستند تا تصاویرشان را ویرایش یا Edit  کنند , آنها فقط عکس می گیرند و اگر عکسی بد شد آن را پاک می کنندو عکس جدید می گیرند و حوصله بریدن , چرخاندن و تنظیم نور آن ها را ندارند.</p>
<p>ولی به اشتراک گذاشتن یا Sharing کاری است که اکثر مردم آن را انجام می دهند چه از طریق نمایش Slide show برای اطرافیان چه از طریق ایمیل کردن یا آپلود کردن در وب سرور ها.</p>
<p>پس با توجه به مطالب گفته شده ADS برنامه Photos را اینگونه می نویسیم:</p>
<p style="text-align:center;">Easy to use digital photo sharing for casual iphone users</p>
<p>باید به مخاطب برنامه که در اینجا کاربران عمومی آیفون یاد شده هم توجه کرد که اگر عوض شود ، به طور کل ویژگی های برنامه نیز عوض می شود برای مثال ADS برنامه Apertureکه برنامه ای برای عکاسان حرفه ای است و کاملا متفاوت است به صورت زیر است:</p>
<p style="text-align:center;">Easy to use digital photo sharing for professional photographers</p>
<p>جمله ای معروف وجود دارد که می گوید :</p>
<p style="text-align:left;">Pick the few features</p>
<p style="text-align:left;">Most frequently used</p>
<p style="text-align:left;">By the majority of your users</p>
<p style="text-align:left;">Most appropriate for the mobile context</p>
<p>تنها چند ویژگی را انتخاب کنید</p>
<p>که بیشترین استفاده را داشته باشد</p>
<p>توسط اکثر کاربران بکار برده شوند</p>
<p>و مناسب برای دستگاهی قابل حمل باشند.</p>
<p>اگر به لیست ویژگی های iPhoto در مک نگاهی بیندازید می بینید که تنها قسمت کوچکی از ویژگی های آن برای نرم افزار Photos   آیفون پیاده سازی شده و همه با نرم افزار Photos کار کرده ایم.با  یک لیست از آلبوم ها شروع می کنیم و عکس مورد نظرتان را انتخاب می کنید , عکس تمام صفحه را می بینید و Toolbar در پایین کارهای مربوط به اشتراک گذاری را انجام می دهد. همان راه حلی که هدف ما ایجاد آن بود. می توانیم Slideshow  ببینیم ، عکس های بعدی و قبلی را ببینیم و به گالری mobileMe آپلود یا ایمیل کنیم.</p>
<p>با سادگی که این نرم افزار دارد ولی یکی از مهم ترین نرم افزار های آیفون است.پس هنگاهی که نرم افزاری را تهیه می کنید که نیاز ساده ای را براورده می کند تصور نکنید که نرم افزار شما برای کاربر بی ارزش است.</p>
<p>اگر شما به نرم افزار های موفق در App Store نگاهی بیندازین در خواهید یافت که بیش از 70 درصد آن ها وقتی برای نوشتنADS گذاشته اند.</p>
<p>ادامه در مطلب بعدی</p>
<p>خسته نباشید.</p>
<p>بامداد دشت بان</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dashtban.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dashtban.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dashtban.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dashtban.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dashtban.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dashtban.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dashtban.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dashtban.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dashtban.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dashtban.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dashtban.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dashtban.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dashtban.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dashtban.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=77&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dashtban.wordpress.com/2010/12/23/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a2%db%8c%d9%81%d9%88%d9%86-%d9%82%d8%b3%d9%85%d8%aa-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7239028986c7026a7edc89e1d0443c44?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dashtban</media:title>
		</media:content>

		<media:content url="http://dashtban.files.wordpress.com/2010/12/01_ui_design.jpg?w=300" medium="image">
			<media:title type="html">طراحی محیط کاربری آیفون</media:title>
		</media:content>

		<media:content url="http://dashtban.files.wordpress.com/2010/12/reveloution_iphone.jpg?w=300" medium="image">
			<media:title type="html">reveloution_iphone</media:title>
		</media:content>

		<media:content url="http://dashtban.files.wordpress.com/2010/12/touch_vs_mouse.jpg?w=300" medium="image">
			<media:title type="html">touch_vs_mouse</media:title>
		</media:content>

		<media:content url="http://blog.izepto.com/wp-content/uploads/2008/06/screen-capture-10.png" medium="image" />

		<media:content url="http://dashtban.files.wordpress.com/2010/12/buttons.jpg?w=300" medium="image">
			<media:title type="html">buttons</media:title>
		</media:content>

		<media:content url="http://dashtban.files.wordpress.com/2010/12/iphone_dev_cycle.jpg?w=300" medium="image">
			<media:title type="html">iphone_dev_cycle</media:title>
		</media:content>

		<media:content url="http://dashtban.files.wordpress.com/2010/12/typical_dev_cycle.jpg?w=300" medium="image">
			<media:title type="html">typical_dev_cycle</media:title>
		</media:content>
	</item>
		<item>
		<title>برنامه نویسی آیفون با بامداد دشت بان &#8211; قسمت 0</title>
		<link>http://dashtban.wordpress.com/2010/12/21/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a2%db%8c%d9%81%d9%88%d9%86-%d9%82%d8%b3%d9%85%d8%aa-0/</link>
		<comments>http://dashtban.wordpress.com/2010/12/21/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a2%db%8c%d9%81%d9%88%d9%86-%d9%82%d8%b3%d9%85%d8%aa-0/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 14:11:44 +0000</pubDate>
		<dc:creator>dashtban</dc:creator>
				<category><![CDATA[برنامه نویسی آیفون]]></category>
		<category><![CDATA[iios programming]]></category>
		<category><![CDATA[iphone programming]]></category>
		<category><![CDATA[قسمت اول]]></category>

		<guid isPermaLink="false">http://dashtban.wordpress.com/?p=70</guid>
		<description><![CDATA[سلام از امروز می خواهم آموزش برنامه نویسی برای iOS را در بلاگم بگذارم. که با استفاده از اون می توانید برای آیفون و آیپد , آیپاد تاچ و سایر دستگاه های شرکت اپل که سیستم عامل آن ها iOS هستش برنامه بنویسید. چند وقتی است که با کمک دوستانم در سایت i-Phone.ir برنامه نویسی [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=70&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://dashtban.files.wordpress.com/2010/12/iphonecocoatouch.jpg"><img class="aligncenter size-medium wp-image-67" title="برنامه نویسی آیفون" src="http://dashtban.files.wordpress.com/2010/12/iphonecocoatouch.jpg?w=283&#038;h=300" alt="برنامه نویسی آیفون با بامداد دشت بان" width="283" height="300" /></a></p>
<p>سلام</p>
<p>از امروز می خواهم آموزش برنامه نویسی برای iOS را در بلاگم بگذارم. که با استفاده از اون می توانید برای آیفون و آیپد , آیپاد تاچ و سایر دستگاه های شرکت اپل که سیستم عامل آن ها iOS هستش برنامه بنویسید.</p>
<p>چند وقتی است که با کمک دوستانم در سایت i-Phone.ir برنامه نویسی آیفون می کنم و خوب خودم هم در حال یادگیری هستم ولی تلاش می کنم هرچیزی که بلدم را به بهترین نحو آموزش بدم.</p>
<p>تلاش می کنم مطالب به صورت مرتب نوشته بشه تا دوستان بتوانند آموزش ها رو دنبال کنند و بینش وقفه نیوفته.</p>
<p>این مطالب به  صورت همزمان در <a href="http://dashtban.wordprees.com/">وبلاگ من</a> , وب سایت <a href="http://www.i-phone.ir/forums/">i-Phone.ir</a> و <a href="http://www.x-code.ir/forum/">x-code.ir</a> قرار می گیره و تلاش می کنم به سوالات در همه سایت ها پاسخ بدم.از سایر اساتید و دوستانی که تجربه دارند درخواست می کنم تا اشتباهات من را بگیرند تا از مسیر خارج نشیم.</p>
<p>برای برنامه نویسی آیفون باید با برنامه نویسی شی گرا آشنا باشید , من در طول آموزش هایم مفاهیم شی گرایی را آموزش نخواهم داد و از دوستان می خواهم که خودشتون از منابع مختلفی که وجود داره با مفاهیم ابتدایی شی گرایی آشنا شوند. ولی باز هم تلاش می کنم تا آنجا که می شه بنیادی آموزش بدم.</p>
<p>منابع من برای آموزش مختلف هستش و آموزش ها رو از خودم نمی نویسم ولی تلاش می کنم بهترین و کاملترین  دیسیپلین برای آموزش را پیاده کنم. لیست منابعی که ازشون استفاده می کنم در زیر می نویسم ولی لازم نیست شما آن ها رو تهیه کنید مگر در مواردی که خودم بگم چون بعضی از منابع ویدیویی هستند و حجم بالایی دارند.</p>
<ul>
<li>ویدیو های آموزشی Lynda.com</li>
<li>ویدیو های آموزشی myCodeTeacher.com</li>
<li>ویدیو های کنفرانس های شرکت اپل در Word Wide Developer Center</li>
<li>ویدیو های آموزشی دانشگاه استنفورد</li>
<li>کتاب های انتشارات Apress</li>
<li>منابع مختلف آموزش زبان Objective-c</li>
</ul>
<p>باید بگم چون خودم برای برنامه نویسی از آیفون استفاده می کنم از لغت &#8220;برنامه نویسی آیفون &#8221; استفاده می کنم ولی شما می تونید آموزش های منو برای برنامه نویسی در کلیه دستگاه های آی او اسی استفاده کنید.</p>
<p><strong>سوال</strong> : برای برنامه نویسی آیفون به چه چیز هایی احتیاج داریم؟</p>
<ul>
<li>اول از همه باید یک کامپیوتر اپل مکنتاش که پردازنده اینتل داره داشته باشید . البته شما می توانید از نسخه هک شده سیستم عامل MacOS استفاده کنید که به نام OSx86 project معروفه و میشه از طریق اون روی pc های معمولی macOS x  رو نصب کرد.( البته این کار می تونه سخت باشه و خیلی وقت ها هم نشه روی هر سیستمی نصبش کرد کاملا به سخت افزار ربط داره )</li>
<li>دوم اینکه شما به یک اکانت developer اپل نیاز دارید تا بتونید نرم افزار های مورد نیازو دانلود کنید و برنامه خودتون رو توی باهاش بنویسید و روی appStore قرار دهید. هزینه این اکانت سالیانه 99 دلار است.( البته دوستان فایل های مورد نیاز برای توسعه رو برای دانلود در سایت های مختلف به صورت لینک مستقیم قرار داده اند ولی شما نمیتونید بدون داشتن اکانت برنامه رو روی دستگاه خودتون اجرا کنید و روی اپ استور بفروشیدش )</li>
</ul>
<p><a href="http://developer.apple.com/">http://developer.apple.com</a></p>
<ul>
<li>شما در صورتی که احتیاج به کار کردن با دوربین , بلوتوث ، جی پی اس, اکسلومتر و &#8230; دستگاه ندارید , احتیاج نیست آیفون یا آی پاد یا آی پد داشته باشیدو می تونید از شبیه ساز آن استفاده کنید. ولی کل حالِ برنامه نویسی آیفون اینه که برنامتونو روی دستگاه امتحان کنید. پس بهتره که یکی از این دستگاه هارو تهیه کنید ، اگه نمی خواهید زیاد خرج کنید می تونید با آیپاد تاچ شروع کنید ولی آیپاد تاچ دوربین نداره</li>
<li>دانلود SDK  آیفون برای برنامه نویسی از طریق همون اکانت دولوپر اپل ( یا اگه خواستید از طریق <a href="http://www.x-code.ir/forum/forumdisplay.php?f=25">لینک های مختلفی</a> که دوستان در فروم گذاشتند )</li>
</ul>
<p><strong>سوال </strong><strong>:</strong>برنامه نویسی آیفون به چه زبانی است؟</p>
<p>به زبان object-c است که توسط شرکت Next( بنیانگذارش استیو جابز بوده ) تولید شده و الآن توسط اپل توسعه پیدا می کنه , این زبان شبیه C است چون از سی گرفته شده ولی تفاوت های زیادی دارید و زبانی شی گرا ( بر خلاف سی ) است . با زبان هایی مثل Java و C++ بسیار تفاوت در سینتکس دارد ولی مفاهیم شی گرایی در اکثر زبان های شی گرا شبیه به هم است گرچه تفاوت هایی در پیاده سازی و برداشت از مفاهیم وجود دارد.</p>
<p>در مورد خودم هم باید اضافه کنم که دانشجوی ترم آخرم مهندسی  نرم افزار هستم و چند سالی است که برنامه نویسی می کنم از c شروع کردم و با PHP کار کردم  , در حال حاضر هم برنامه نویسی java  می کنم و کمتر از 6 ماه است که با برنامه نویسی آیفون از طریق دوستانم شایان و بشیر در i-phone.ir آشنا شدم.</p>
<p>در مورد هدفم هم از نوشتن این آموزش ها اینه که با کمک شما اشکالات خودم برطرف شه , به علاوه اینکه نوشتن آموزش ها می تونه بهم کمک کنه که بیشتر وقت بگذارم برای برنامه نویسی آیفون و مطالب بیشتری برام جا بیوفته و اگه یه روزی خودم چیزی یادم رفت به آموزش های خودم رجوع کنم.</p>
<p>فکر می کنم برای شروع کافی باشه به زودی  با قسمت اول آموزش ها در خدمتتون هستم.</p>
<p>&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dashtban.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dashtban.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dashtban.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dashtban.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dashtban.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dashtban.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dashtban.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dashtban.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dashtban.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dashtban.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dashtban.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dashtban.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dashtban.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dashtban.wordpress.com/70/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=70&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dashtban.wordpress.com/2010/12/21/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a2%db%8c%d9%81%d9%88%d9%86-%d9%82%d8%b3%d9%85%d8%aa-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7239028986c7026a7edc89e1d0443c44?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dashtban</media:title>
		</media:content>

		<media:content url="http://dashtban.files.wordpress.com/2010/12/iphonecocoatouch.jpg?w=283" medium="image">
			<media:title type="html">برنامه نویسی آیفون</media:title>
		</media:content>
	</item>
		<item>
		<title>برنامه ریزی استراتژیک شرکتهای نرم افزاری</title>
		<link>http://dashtban.wordpress.com/2010/12/10/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d8%b1%db%8c%d8%b2%db%8c-%d8%a7%d8%b3%d8%aa%d8%b1%d8%a7%d8%aa%da%98%db%8c%da%a9-%d8%b4%d8%b1%da%a9%d8%aa%d9%87%d8%a7%db%8c-%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2/</link>
		<comments>http://dashtban.wordpress.com/2010/12/10/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d8%b1%db%8c%d8%b2%db%8c-%d8%a7%d8%b3%d8%aa%d8%b1%d8%a7%d8%aa%da%98%db%8c%da%a9-%d8%b4%d8%b1%da%a9%d8%aa%d9%87%d8%a7%db%8c-%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2/#comments</comments>
		<pubDate>Fri, 10 Dec 2010 14:30:30 +0000</pubDate>
		<dc:creator>dashtban</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dashtban.wordpress.com/?p=64</guid>
		<description><![CDATA[در بخش قبل (اینجا) به مواردی که بحث مدیریت و کنترل جریان نقدینگی را در شرکت های نرم افزاری خاص می سازد پرداختم. در ادامه می خواهم تجربیاتی که خودم در این چند ساله داشته ام را فهرست کنم. اما پیش از شروع، مجددا تاکید می کنم که یک مدیر مالی برجسته و خبره از [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=64&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>در بخش قبل (اینجا) به مواردی که  بحث مدیریت و کنترل جریان نقدینگی را در شرکت های نرم افزاری خاص می سازد پرداختم. در ادامه می خواهم تجربیاتی که خودم در این چند ساله داشته ام را فهرست کنم. اما پیش از شروع، مجددا تاکید می کنم که یک مدیر مالی برجسته و خبره از تکنیک ها و روشهای عمومی و یا اختصاصی استفاده می کند که می تواند یک شرکت ضرر ده را سود ده کند و آنچه من می نویسم نه از سرتجربه مالی است که در این زمینه هیچ نمی دانم بلکه موارد ذیل از سر مشاهداتم به عنوان مدیر یک شرکت کوچک و متوسط نرم افزاری است.  نکته بعدی توجه به فرمول های سود اوری و افزایش درآمد و کاهش هزینه ها است که خود بحث دیگری را طلب می کند (تلاش می کنم نوشته بعدی را به بحث کسب سود اختصاص دهم)، اما ده نکته ای که باید در زمینه مدیریت جریان مالی شرکت در نظر بگیرد اینها هستند:</p>
<p>   1. مراقب ریسک های پروژه باشید: در بخش قبل اشاره کردم که کسب درآمد در شرکتهای نرم افزاری همراه با ریسکهای رایج در تاخیر یا شکست پروژه های نرم افزاری است. بنابراین علاوه بر لزوم مدیریت ریسک در پروژه، در بحث پرداخت ها هم باید حواستان به تاخیر یا لغو دریافت های پیش بینی شده در پروژه باشد، بنابراین هیچگاه برای پرداختی که وابسته به یک دریافت از یک پروژه است، چک صادر نکنید مگر آنکه به اندازه کافی زمان پس از آن گذاشته باشید و بدانید در صورت عدم توفیق در دریافت پول، می توانید از محل دیگری آن هزینه را تامین کنید و یا می دانید در صورت عدم تامین موجودی لازم، می توانید دریافت کننده چک را به صبر کردن قانع کنید!</p>
<p>   2. یک جریان ثابت مالی ایجاد کنید:  همانگونه که در نوشته قبل هم به آن اشاره کردم، یکی از دشواری های شرکتهای پروژه محور آن است که یک جریان ثابت و مشخص از ورودی مالی وجود ندارد و همه چیز بسته به موفقیت در گرفتن پروژه جدید و موفقیت در دریافت ها صورتحساب ها و صورت وضعیت های آن پروژه است. هنر شما به عنوان مدیر آن است که برای جبران هزینه های ثابت و جاری، بتوانید یک جریان درآمدی هر چند اندک -همان آب باریکه خودمانی!- را ایجاد کنید. برای کسب این درآمد ثابت می توانید روی فعالیت های زود بازده تر و یا دائمی تر توجه کنید: برای مثال در کنار واحد تولید و گروه های مجری پروژه، یک واحد آموزش ایجاد کنید، فروش سخت افزار داشته باشید، درآمد های پشتیبانی را به یک سطح مطلوب و دائمی دربیاورید و یا فروش بسته های نرم افزاری آماده (Package) را در دستور کار قرار دهید و با با شرکتهایی برای اجرای خدمات مرتبط به صورت سالانه با پرداخت های منظم قرارداد ببندید.</p>
<p>   3. رسوب پول ایجاد کنید: یکی از مشکلات مهم ما آن است که همیشه دریافت های مالی مستقیما صرف هزینه ها می شود و یا در خوشبینانه ترین حالت بلافاصله از آن سود برداشت می کنیم، اما اگر بتوانیم با مجتمع سازی حساب های مالی، ایجاد گردش های منظم، ،تاخیر در پرداخت ها نسبت به زمان دریافت ها و یا تشکیل صندوق های پس انداز مشخص از درآمد، یک میزان متوسط اندوخته را در حساب های شرکت نگه داشت، می توان روی سود پول، اخذ وام و یک پشتوانه مشخص در زمان تغییرات بنیادی در شرکت و یا شروع پروژه های جدید حساب باز کرد، این اندوخته، برای روز مبادای شما است!</p>
<p>   4.  دولتی ها متفاوت از خصوصی ها هستند: در مورد هرکدام از تقسیم بندی های بازار باید در همه بخشهای فروش و پشتیبانی و مالی رفتار متفاوتی داشته باشید. در بحث مالی هم رفتار خرید و رفتار پرداخت ها  در دولتی ها و خصوصی ها با یکدیگر تفاوت دارد، برای اینکه خیالتان از پرداخت ها راحت باشد تلاش کنید حتی در فروش Package های آماده در دولتی ها قرارداد ببنید و در خصوصی ها فاکتور با پرداخت یک مرحله ای داشته باشید، حتی اگر در خصوصی ها مایل به عقد قرارداد هستید تلاش کنید برای همه مراحل پرداخت در همان زمان عقد قرارداد چک مدت دار دریافت کنید.  به این ترتیب می توانید خیالتان نسبت به عدم سوخت و سوز پولتان اندکی راحت باشد.</p>
<p>   5. مراقب ۸۰/۲۰  باشید. تئوری ۸۰/۲۰ در بحث مدیریت تقریبا در همه موارد دیده می شود، حواستان باشد ۸۰% مشتریانتان خوش حساب باشند و ۲۰% بدحساب، بنابراین در بخش فروش یا عقد پروژه با هر مشتری کار نکنید، حواستان باشد حداقل ۸۰% دریافت های مالی پروژه را تا قبل از تحویل نهایی پروژه دریافت کنید و حداکثر ۲۰% را به مرحله پرداخت آخر موکول کنید تا در صورت عدم موفقیت در دریافت ضرر مالی چندانی به شما وارد نشود، تلاش کنید قسط های اول پروژه حداقل ۸۰% هزینه های ثابت شما را پوشش دهند و از پرداخت های مراحل بعد، حداکثر ۲۰% صرف هزینه های پروژه گردد و بتوانید از باقیمانده روی سود و سرمایه گذاری حساب کنید. تلاش کنید ۲۰% مشتریانی که ۸۰% درآمد های شما از آنها تامین می شود را شناسایی کنید و روی آنها حساب ویژه باز کنید. از آن سو وقتی می دانید که اکثر هزینه های شرکت نرم افزاری شما (۸۰%) مربوط به نیروی انسانی است، چرا ۲۰% توجه خود را به آن معطوف کنید، شما باید به نیروی انسانیتان به عنوان یک سرمایه نگاه کنید و برای آن سرمایه گذاری کنید (توانمند سازی، آموزش،افزایش بهره وری(کارایی + اثر بخشی) فراهم کردن شرایط مناسب برای محیط کار و ….)</p>
<p>   6. پشتیبانی یا فروش، سود در کدام است؟ ایده آل آن است که شما بتوانید از طریق پشتیبانی (یا همان جریان ثابت مالی مورد ۲) هزینه های شرکت را پوشش دهید و در آمدهای حاصل از فروش را به عنوان سود، سرمایه گذاری و یا توسعه محصول یا بازار کنار بگذارید. البته اینکار برای شرکتهای نوپا و یا با محصولات غیر حیاتی دشوار است و  اینگونه شرکتها می توانند به صورت معکوس عمل کنند تا زمانیکه یک سهم قابل توجه از بازار بدست آوردند و نیاز مشتریان به نرم افزار آنها واقعی و اساسی باشد و به تدریج این روند را معکوس نمایند. در کنار این باید مراقب بود که فعالیت های فروش و خدمات پس از فروش خود به یک مرکز هزینه جدی که سود اقتصادی ندارد تبدیل نشود و منابع حاصل از فروش صرف آن نگردد. ایجاد یک نرم افزار درست از طریق تست های چند لایه متعدد، ساده سازی محصول، تهیه یک رویه سیلابس آموزشی استاندارد و مشخص، مستند سازی کامل و جامع نرم افزار، فروش یک نرم افزار مشخص به چندین مشتری و تقسیم هزینه بین آنها، توانمند سازی تیم پشتیبانی، ارانه خدمات به صورت راه دور و یا از طریق نمایندگی های محلی، کاهش زمان نصب از طریق ارائه زمانبندی دقیق برای انجام کار و معتقد بودن به آن، عینی سازی نرم افزار از طریق ایجاد الگوها (prototype) و مدل های مشخص و … تکنیک هایی برای کاهش هزینه های پشتیبانی است.</p>
<p>   7.  بحث تولید قبل از فروش را جدی بگیرید. پیشتر به بحث فروش قبل از تولید یا تولید قبل از فروش اشاره کرده ام (اینجا) اصولا تولید تحت فشار و یا تولید پس از فروش هزینه بالاتری نسبت به تولید قبل از فروش دارد. بنابراین هزینه های تولید را تا آنجا که می توانید کاهش دهید. برای شرکتهای فروشنده محصول آماده، ایجاد نرم افزار های پویا و دقت در فرآیند نسخه بندی (versioning) نرم افزارها و فروش نرم افزار در تیراژ بالا می تواند موجب کاهش منطبق سازی (customization) اختصاصی برای هر مشتری و طبیعتا کاهش هزینه های تولید و قیمت تمام شده محصول گردد و در شرکتهای پروژه محور، ساخت کتابخانه های آماده، ایجاد کامپوننت ها و مولفه های پرکاربرد، حرکت به سمت نرم افزار های متن باز، ساده سازی و اختصاصی سازی متدولوژی های توسعه نرم افزارها می تواند مد نظر قرار گیرد.</p>
<p>   8. بازار خود را درست انتخاب کنید:اگر بهترین محصول را تولید کنید اما بازار هدفی که انتخاب می کنید مناسب آن نباشد به سود دست پیدا نخواهید کرد. باید دقت کنید که قیمت تمام شده محصول برای آن بازار مناسب باشد و هزینه های بازاریابی و تبلیغات صرف امور موثر برای ان بازار باشد. با هدفمند کردن و کاهش هزینه های سربار فروش از طریق انتخاب بازار درست، تبلیغات موثر، افزایش اثربخشی فرآیند فروش، هرس کردن مشتریان و تمرکز بر یک گروه مشخص، وجود بازارهای چندگانه که بتوان در مواقع افت یک بخش یا ورود رقبای جدی به آن، بخش دیگری را جایگزین کرد، باعث می شود شما به یک نرخ فروش پایدار دست پیدا کنید، این پایداری به شما کمک می کند که در بخش هزینه ها نیز به یک ثبات و برنامه ریزی مشخص دست پیدا کنید و کار شما در مدیریت مالی شرکت ساده تر شود.</p>
<p>   9.  با دولت شوخی نکنید! این اشتباه بزرگی است که سازمانهایی مثل دارایی، تامین اجتماعی و ادارات کار را دست کم بگیرید و هزینه های بیمه، مالیات تکلیفی، مالیات بر ارزش افزوده، مالیات حقوق و یا قراردادهایی مانند کار را سرسری گرفته، در آنها تعویق بیاندازید و یا با بکارگیری حسابدار ناوارد، دچار مشکلات و سوء تفاهم با این سازمانها شوید. شاید بکار گیری یک حسابدار با تجربه گران باشد، اما اگر واقعا ارزشش را داشته باشد، بسیار به شما کمک خواهد کرد و می تواند هزینه های جاری و کسورات قانونی شما را تا حد قابل توجه ای پایین نگه داشته و کنترل کند.</p>
<p>  10. بازی کنید. رابرت کیوساکی کتابی نوشته است به نام “بابای پولدار، بابای بی پول”، اگر چه این کتاب برای ما ایرانی ها نوشته نشده است اما خواندن آن بد نیست. یک بازی هم ساخته است به نام بازی “گردش پول”.  “گردش پول” برای ما فنی ها که دید مالی نداریم، ابزار خوبی است برای یادگیری و کسب دیدگاه، تجربه و شناخت مالی از طریق بازی. فرصت کردید همراه با خانواده، دوستان و یا حتی مدیران و کارکنان شرکت خود این بازی را انجام دهید. البته دقت کنید که به خاطر این بازی گمراه نشوید و ریسک های بدون منطق انجام ندهید. دنیای واقعی با محیط بازی متفاوت است!</p>
<p>مجدا تاکید می کنم که دقت کنید ما فنی ها عقل کل نیستیم و باید از کمک افراد خبره در زمینه مسائل مالی کمک بگیریم. بنابراین به موارد بالا صرفا به عنوان یک به اشتراک گذاری تجربه نگاه کنید تا یک دستورالعمل شفا بخش!</p>
<p>همین!</p>
<p>منبع : <a href="http://weblog.radmanitd.com/index.php/archives/896">رادمان</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dashtban.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dashtban.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dashtban.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dashtban.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dashtban.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dashtban.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dashtban.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dashtban.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dashtban.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dashtban.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dashtban.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dashtban.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dashtban.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dashtban.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=64&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dashtban.wordpress.com/2010/12/10/%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d8%b1%db%8c%d8%b2%db%8c-%d8%a7%d8%b3%d8%aa%d8%b1%d8%a7%d8%aa%da%98%db%8c%da%a9-%d8%b4%d8%b1%da%a9%d8%aa%d9%87%d8%a7%db%8c-%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7239028986c7026a7edc89e1d0443c44?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dashtban</media:title>
		</media:content>
	</item>
		<item>
		<title>مشکلات من در تهیه کتب خارجی</title>
		<link>http://dashtban.wordpress.com/2010/08/31/%d9%85%d8%b4%da%a9%d9%84%d8%a7%d8%aa-%d9%85%d9%86-%d8%af%d8%b1-%d8%aa%d9%87%db%8c%d9%87-%da%a9%d8%aa%d8%a8-%d8%ae%d8%a7%d8%b1%d8%ac%db%8c/</link>
		<comments>http://dashtban.wordpress.com/2010/08/31/%d9%85%d8%b4%da%a9%d9%84%d8%a7%d8%aa-%d9%85%d9%86-%d8%af%d8%b1-%d8%aa%d9%87%db%8c%d9%87-%da%a9%d8%aa%d8%a8-%d8%ae%d8%a7%d8%b1%d8%ac%db%8c/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 11:58:54 +0000</pubDate>
		<dc:creator>dashtban</dc:creator>
				<category><![CDATA[Uncategorized]]></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://dashtban.wordpress.com/?p=59</guid>
		<description><![CDATA[دیگه تقریبا همه دوستان و اطرافیان من در جریان هستند که به خاطر مطالعه Ebook با کامپیونر مدتی است که چشمانم آسیب دیده و باعث شده که از زمانبندی و انتظاری که از خودم داشتم عقب بیوفتم. برای همین  چند روزیه که با همه مشورت می کنم که یه راهی برای اینکه کتاب هایی رو [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=59&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>دیگه تقریبا همه دوستان و اطرافیان من در جریان هستند که به خاطر مطالعه Ebook با کامپیونر مدتی است که چشمانم آسیب دیده و باعث شده که از زمانبندی و انتظاری که از خودم داشتم عقب بیوفتم.</p>
<p>برای همین  چند روزیه که با همه مشورت می کنم که یه راهی برای اینکه کتاب هایی رو که می خونم به صورت کاغذی تهیه کنم تا بلکه چشمام آروم تر بشه.</p>
<p>البته چند سری به فکر خرید تبلت و ایبوک ریدر افتادم ولی چیزهایی که نظرم رو جلب کرد خیلی گرون تر از خرید سالیانه کتاب من بود که منصرفم کرد البته یک دلیل سخت پیدا شدن این دستگاه ها در بازار ایران و عدم امکان تست و بررسی آنها قبل از خرید بود</p>
<p>از اونجایی که کتب مورد نظر من هیچ یک در ایران حتی چاپ افست هم نمیشه تنها راه حل خرید آنها از سایت هایی مثل آمازون و ارسال آنها به ایران هستش</p>
<p>سایت <a title="کتاب فروشی آدینه بوک" href="http://www.adinebook.com" target="_blank">آدینه بوک</a> برای شما سرویسی را فراهم می کند که با استفاده از آن می توانید تمامی کتاب های موجود در آمازون رو سفارش بدید منتها چند ایراد وجود دارد</p>
<ul>
<li>اگر تا به حال سری به آمازون زده باشید حتما متوجه شده اید که در اکثر مواقع کتاب ها با مقداری تخفیق ارائه میشه برای مثال کتابی که من در نظر داشتم قیمتش 40 دلار بود که تخفیف خورده بود و به 31 دلار رسیده بود که نسبتا قیمت معقولی داشت, ولی آدینه بوک تخفیف آمازون رو حساب نمی کنه و کتاب رو با قیمت بدون تخفیف براتون تهیه می کنه</li>
<li>آدینه بوک به ازای خرید هر کتاب مقدار زیادی پول ازتون  برای هزینه ارسال و سود می گیره که با قیمت اصلی کتاب برابری می کنه و اگه کتابتون ارزون باشه شاید از قیمت اصلی کتاب هم بیشتر بشه , برای کتابی که من سفارش دادم 27 هزار تومان هزینه ارسال در نظر گرفته شد</li>
<li>کتاب اگه برسه پس از 25 روز به دستتون می رسه که حتما توی اون 25 روز ایبوک کتابو خوندید و چشمانتوتم اذیت کردید</li>
</ul>
<p>سایت های دیگری مثل آدینه بوک هم وجود دارند که با کمی قیمت بالا و پایین میشه کتاب رو تهیه کرد ولی باز هم برای من قیمت کتاب ها غیر منصفانه است و زمان تحویل هم خیلی دیره!</p>
<p>هدف من از نوشتم این مطلب این بود تا از دوستان بخواهم اگه راهی میشناسند که کتاب های آمازون را با قیمتی منصفانه تر در تهران تحویل بگیرم به من هم بگویند &#8230;</p>
<p>ممنون</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dashtban.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dashtban.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dashtban.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dashtban.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dashtban.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dashtban.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dashtban.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dashtban.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dashtban.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dashtban.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dashtban.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dashtban.wordpress.com/59/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dashtban.wordpress.com/59/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dashtban.wordpress.com/59/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=59&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dashtban.wordpress.com/2010/08/31/%d9%85%d8%b4%da%a9%d9%84%d8%a7%d8%aa-%d9%85%d9%86-%d8%af%d8%b1-%d8%aa%d9%87%db%8c%d9%87-%da%a9%d8%aa%d8%a8-%d8%ae%d8%a7%d8%b1%d8%ac%db%8c/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7239028986c7026a7edc89e1d0443c44?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dashtban</media:title>
		</media:content>
	</item>
		<item>
		<title>Java EE چه هست و چه نیست ؟</title>
		<link>http://dashtban.wordpress.com/2010/08/11/java-ee-%da%86%d9%87-%d9%87%d8%b3%d8%aa-%d9%88-%da%86%d9%87-%d9%86%db%8c%d8%b3%d8%aa-%d8%9f/</link>
		<comments>http://dashtban.wordpress.com/2010/08/11/java-ee-%da%86%d9%87-%d9%87%d8%b3%d8%aa-%d9%88-%da%86%d9%87-%d9%86%db%8c%d8%b3%d8%aa-%d8%9f/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 09:47:04 +0000</pubDate>
		<dc:creator>dashtban</dc:creator>
				<category><![CDATA[javaEE]]></category>
		<category><![CDATA[مقایسه جاوا با دات نت]]></category>
		<category><![CDATA[جاوا]]></category>
		<category><![CDATA[جاوا انترپرایز ادیشن]]></category>
		<category><![CDATA[جاوا ای ای]]></category>

		<guid isPermaLink="false">http://dashtban.wordpress.com/?p=54</guid>
		<description><![CDATA[داشتم در انجمن برنامه نویس به دنبال مطالبی در مورد جاوا ای ای می گشتم که به تاپیکی برخوردم که دیدم برای شروع نوشتنم در مورد جاوا ای ای خیلی خوبه که این مطلب را اینجا بگذارم در ادامه این پست کاربران و برنامه نویسان سایت برنامه نویس به پرسش و پاسخ در مورد Java [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=54&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em>داشتم در انجمن <a href="http://www.barnamenevis.org">برنامه نویس</a> به دنبال مطالبی در مورد <strong>جاوا ای ای </strong>می گشتم که به <a href="http://www.barnamenevis.org/forum/showthread.php?p=180624#post180624">تاپیکی</a> برخوردم که دیدم برای شروع نوشتنم در مورد جاوا ای ای خیلی خوبه که این مطلب را اینجا بگذارم</em></p>
<p><em>در ادامه این پست کاربران و برنامه نویسان سایت برنامه نویس به پرسش و پاسخ در مورد Java EE پرداخته اند که گزیده ای از آن ها را هم اینجا قرار خواهم داد.</em></p>
<p><em><strong>نکته : </strong>این تاپیک مربوط به<strong> بهمن ماه سال 1384 </strong>است پس امکان<strong> قدیمی بودن</strong> خیلی از محتوای مطالب وجود دارد گرچه برای آشنایی بسیار مطلوب است.</em></p>
<p><strong><a href="http://www.barnamenevis.org/forum/member.php?u=3493"><span style="color:red;"><strong> zehs_sha  نوشته است :</strong></span></a></strong></p>
<div id="post_message_186444">
<p><strong><span style="color:red;">J2EE چه هست و چه نیست؟</span></strong></p>
<p>“Java2 Platform-Enterprise Edition” یک تکنولوژی میان افزار است که توسط  شرکت سان میکروسیستم ابداع شده است و در حال حاضر به عنوان یک راه حل اساسی  جهت برآورد کردن نیازها و مسائل مختلف در نظر گرفته می شود. تکنولوژی های  میان افزار از Corba و IDLS تا سیستم های پیغام گرا، راه بسیاری را پیموده  اند و تکامل آنها مرحله به مرحله بوده است که طرح آن فراتر از محدوده این  مقاله است.<br />
J2EE شرکت سان یک نقطه تحول قطعی در تاریخ تکنولوژی های میان افزار و سبب پذیرش و تشخیص تشکیلات کامپیوتری شناخته می شود.<br />
در ادامه مطلب در مورد “J2EE” چیست و چه نیست؟ بررسی دقیق تری صورت می  گیرد. به هر حال، با وجود مجموعه ای بزرگ از استانداردها و ویرایش ها از یک  سو و وجود سرورهای برنامه های کاربردی گوناگون از سوی دیگـر، معمولا J2EE  غیرقابل درک می نماید.<br />
J2EE چیست؟<br />
قبل از آن که تعریف کنیم J2EE چیست بهتر است درک کنیم که J2EE زبان بـرنامه  نویسی بسته نرم افزاری، یک ابزار و یا یک سرویس نیست. به عبارت ساده تر  J2EE لزوما یک میان افزار استاندارد است که شرکت سان میکروسیستم آن را برای  توسعه و به کارگیری برنامه های کاربردی تجاری در مقیاس گسترده و با قابلیت  الکترونیکی و به صورت توزیعی و چندلایه ارائه کرده است.<br />
برنامه های کاربردی که برای استانداردهای J2EE نوشته می شوند مزایای زیادی  را در بر می گیرند که قـابلیت جابه جایی، امنیت، مقایس پذیری، توازن بار و  قابلیت استفاده مجدد از آن جمله است.<br />
میان افزارها، راه حل های نرم افزاری سمت سروری هستند که بنیاد و اساس مورد  نیاز در اتصال سیستم های نامتجانس و منابعی توزیعی در شبکه را فراهم می  کنند. پیش از J2EE، راه حلهای میان افزار و محدود به محصولات و عرضه کننده  ها بودند. این میان افزارهای قدیمی ویژگی های محدودی داشتند و سازگاری آنها  نیز کم بود و حتی در قابلیت های عملکردی و جابه جایی در مسائل مختلف نیز  محدود بودند. به عبارت دیگر، هیچ استاندارد صنعتی مشترک و قابل قبولی برای  این منظور وجود نداشت و بسیرای از ویژگی ها به انتخاب عرضه کننده بود.<br />
J2EE با یادگیری از اشتباهات گذشته و ارائه نیازمندی های ضروری صنعت سبب  رشد و کمال تکنولوژی میان افزار شد. همچنین امکان گسترش و توسعه های آتی  نیز در آن لحاظ گردید.<br />
در توسعه این استاندارد، سان با دیگر عرضه کننده های اصلی میان افزار،  سیستم عامل و سیستم های مدیریت پایگاه داده از جمله IBM و اوراکل همکاری  کرد.<br />
در اصل J2EE مجموعه ای از اتانداردها و خط مشی هایی است که تعریف می کند  چگونه برنامه های کاربردی در لایه توزیعی می توانند با استفاده از زبان  جاوا ساخته شوندً؟ توسعه دهنده ها، برنامه های کاربردی خودشـان را تحت این  استانداردها می سازند و عرضه کننده های زیرساختار، سازگاری با این مجموعه  خط مشی ها را از طریق J2EE تضمین می کنند. از این طریق، برنامه های J2EE می  توانند به صورت مدخلی برای به کارگیـری چندین سرور برنامه های کاربردی با  حداقل تغییرات در سطح کم (و حتی بدون تغییر) در نظر گرفته شوند.</p>
<p><span style="color:red;">ا</span><strong><span style="color:red;">عمال J2EE</span> </strong></p>
<p>J2EE به ارائه محیط های مختلفی می پردازد که این محیط ها در ادامه بررسی شده است:<br />
J2EE ترکیبی برای میان افزار توزیعی چندلایه<br />
J2EE کاملا بین لایه های مختلف درگیر در محیط برنامه کاربردی حد فاصل قایل  می شود و مولفه های قرار گرفته در هر لایه را تعریف می کند. این لایه ها می  توانند هر یک از لایه های Client، لایه طرح، لایه تجارت و یا ارائه سیستم  های اطلاعاتی گسترده باشند.<br />
کلیه برنامه های کاربردی J2EE براساس این قالب کاری ساخته شده است.<br />
همچنین هر لایه در سیستم چندلایه ممکن است در چند سرور توزیع شده باشد.<br />
با J2EE توسعه برنامه های کاربردی توزیعی دیگر یک وظیفه پیچیده نیست. مولفه  های J2EE هیچ فرضی درباره محیط سرور و منابعی که از طریق دایرکتوری های  گسترده دسترسی می یابند، ندارند. این بدان معناست که توسعه دهندگان برنامه  های کاربردی برای توزیع مولفه ها و منابع اشان به تلاش زیادی نیاز ندارند.<br />
J2EE محیطی برای برنامه های کاربردی در مقیاس گسترده<br />
J2EE به صورت سرورهای برنامه های کاربردی مانند BEA WEB Logic یا IBM WEB  Sphere پیاده سازی شده که محیطی برای برنامه های کاربردی توزیعی در مقیاس  گسترده است.<br />
برنامه های کاربردی می توانند براساس مدل برنامه نویسی برنامه های کاربردی  J2EE ساخته شوند و حتی در یک یا چند سرور برنامه های کاربردی وب سازگار با  J2EE به کار گرفته شوند.<br />
به عبارت دیگر می توان مناسب ترین محیط سرور برنامه کاربردی از محصولات  گسترده سازگار J2EE را انتخاب کرد. حتی بدون توجه به این ویژگی های منحصر  به فرد نیز، کلیه سرورهای برنامه های کاربردی J2EE یک حیطه کاری مشترک برای  توسعه و به کارگیری برنامه های کاربردی گسترده فراهم می کنند.<br />
J2EE مدلی برای توسعه برنامه های کاربردی با قابلیت الکترونیکی<br />
برنامه های کاربردی J2EE به راحتی می توانند بر روی وب، پالم و دستگاه های  دستی، تلفن های همراه و بسیاری دیگر از دستگاه های نمایش داده شوند. به  عبارت دیگر، مولفه های برنامه های کاربردی می توانند بدون هیچ مشکلی دارای  قابلیت الکترونیکی باشند. مدل برنامه نویسی J2EE تضمین می کند که منطق  تجاری و سیستم های BackOffice بدون تغییر باقی بمانند و به عنوان تسهیلاتی  برای نمایش به راه های گوناگون و دسترسی Clientها به کار روند.<br />
یکی دیگر از ویژگی های خوب محیط J2EE توازن بار اتوماتیک، مقایس پذیری و  تحمل خرابی است. مولفه های به کار رفته در محیط J2EE به طور اتوماتیک این  تسهیلات را به دنبال خواهند داشت که به این ترتیب دیگر نیازی به کدنویسی  نخواهد بود. این ویژگی ها در ساخت مدخل های وب مورد نیاز Clientها اهمیت  چشمگیری دارند.<br />
J2EE استاندارد سازگار در سرورهای برنامه های کاربردی وب<br />
J2EE را می توان اولین استاندارد صنعتی در پذیرش و تشخیص دنیای میان افزار  دانست. تقریبا تمام سرورهای برنامه های کاربردی وب (BEA WEB Logic, IBM WEB  Sphere, HP’S Application Server, Sun-Netscapes’s inlanet, Macromedia’s  Jrunو غیره(، سرورهای تایید شده برنامه کاربردی J2EE هستند. تاکنون هیچ  استاندارد دیگری تا این حد پشتیبانی و تایید نشده بود.<br />
همگام بافًـزوده شدن دیگر مولفه های برنامه های کاربردی به خصوصیات J2EE،  می توان آنها را در سرورهای گوناگون برنامه های کاربردی در شبکه های گسترده  به کار برد. از این رو، به منظور تضمین سازگاری و همبستگی بین سرورهای  متفاوت برنامه های کاربردی J2EE، مجموعه تست سازگاری را ارائه کرده است.</p>
<p><strong><span style="color:red;">بینش J2EE </span></strong></p>
<p>بینش اولیه خلق و ایجاد J2EE را می توان به صورت زیر خلاصه نمود:<br />
“توسعه دهندگان باید کدهای مختلفی را بنویسند تا تجارت و منطق طرحشان را  شرح دهند، در همین حین، زیرساختار میان افزار از مسائل سطحی سیستم مانند  مدیریت حافظه، تخصیص منابع، عملیات چندرشته ای، دسترس پذیری و جمع آوری  آشغال به طور اتوماتیک مراقبت می کند.<br />
آیا J2EE مشـکلات را رفع می کند؟<br />
حال بهتر است بررسی شود که J2EE چگونه مسائل و مشکلات اصلی ناشی از گستردگی  را رفع می نماید و چگونًـًـه امکان توسسعه آتی برقرار می شودً؟<br />
استقلال از سیستم عامل و سخت افزار<br />
J2EE runtime بر روی ماشین مجازی جاوا (JVM) قرا رمی گیرد. شکل 2 نشانگر  این امر است. JVM مستقل از سخت افزار و سیستم عامل است. محیط (JRE) Java  runtime تقریبا برای تمام سخت افزارها و سیستم عامل های مشهود در دسترس  است. بنابراین با پذیرش جاوا، J2EE تشکیلات کامپیوتـری را از سرمایه گذاری  در سیستم عامل ها و سخت افـزارگران و پرهزینه خلاصی می بخشد.<br />
امکان نزدیک تر ساختن لایه یکپـارچه گسترده J2EE به سیستم های Backoffice  مزیت ویژه دیگری است. در برخی موارد، می توان لایه J2EE را در خود محیط  سرور EES جای داد و از این طریق ترافیک شبکه را کاهش و عملکرد آن را افزایش  داد.</p>
<p><strong><span style="color:red;">پیوستگی با طراحی شی گرا و متدولوژی مولفه </span></strong></p>
<p>ارتباط تنگاتنگ با شی گرایی، جاوا را به یک زبان کدنویسی و خوش ترکیب تبدیل  کرده است. تقریبا کلیه ویژگی های برنامه نویسی شی گرا در جاوا پشتیـانی  شده است. مدل برنامه نویسی J2EE براساس متدولوژی های شی گرا و طراحی مبتنی  بر مولفه ساخته شده است.<br />
J2EE مدل های مولفه ای گوناگونی برای لایه های متفاوت دارد. بنابراین با  پذیرش ترکیب های مناسب یک پروژه، توسعه دهندگان می توانند مولفه های بسیاری  را فراهم کرده و گسترش دهند که در نتیجه توسعه برنامه های کاربردی تسریع  می شود.<br />
با این تفاسیر و قابلیت ها در تشکیلات کامپیوتری، برنامه های کاربردی خوش ساختار، انعطاف پذیر و قابل استفاده مجدد شکل خواهند گرفت.</p>
<p><strong><span style="color:red;">انعطاف پذیری، قابلیت جابه جایی و قابلیت عملیات متقابل </span></strong></p>
<p>کدهای جاوا را می توان از یک سیستم عاملی به سیستم عامل دیگر انتقال داد و  مولفه های J2EE را نیز می توان از محیط یک سرور برنامه های کاربردی به محیط  دیگر سرور برنامه های کاربردی انتقال داد. این بدان معناست که دیگر لزومی  به قراردادن تشکیلات کامپیوتری بر روی یک محیط توسعه خاص نخواهد بود.  برنامه های کاربردی را می توان در بیش از یک سرور برنامه کاربردی J2EE می  توانند به خوبی با هم کار کنند. این ویژگی قابلیت عملیات متقابل بی سابقه  ای را در جمع آوری مولفه های برنامه های کربردی می دهد. به عنوان مثال ممکن  است که EJB را مستقیما در ارتباط متقابل با محیط های mainframelcics د  رمحیط IBM قرار داد و از سرورهای BEA WEB Logic به EJB دست یافت.<br />
یکپارچه سازی سیستم های اطلاعاتی گسترده</p>
<p>J2EE به سرعت در استانداردهای صنعت مانند JMS, JOBC و JCA به کار گرفته شده  و موجب سادگی و یکپارچه سازی سیستم های اطلاعاتی گسترده مانند سیستم های  قانونی، پیاده سازی های EID و پایگاه های داده شده است.<br />
تقریبا تمام عرضه کننده های اصلی پایگاه های داده JDBC را پشتیبانی می  کنند. بنابراین برنامه های کاربردی J2EE از قابلیت ارتباط با کلیه پایگاه  های داده مشهور با کمک درایورهای مورد نیاز JDBC بهره می برند. متقابلا  تعدادی از adapterهای EI مبتنی بر استانداردهای معماری متصل کننده جاوا به  بازار شده اند که یکپارچه سازی نامریی با سیستم های قانونی متفاوت و پیاده  سازی های ERP/CRM را انجام می دهد.</p>
<p><strong><span style="color:red;">پذیرش معماری های سرویسگرا در J2EE </span></strong></p>
<p>با ظهور سروریس های وب و استانداردهای باز مانند SOAP، قابلیت کار متقابل  در سیستم های مجزا در تشکیلات کامپیوتری امکان پذیر شد. J2EE محیط قابل  گسترشی است که می توان از مولفه ها و منابع آن در سرویس های وب استفاده  کرد.<br />
شرکت سان مجوعه بهم پیوستهای از API ها به نام بسته JAX ارائه کرده که  تمامی انواع نیازمندیهای سرویس های وب مانند XML Binding, XML Parsing  ترخیص و دریافت پیغام SOAP، جست وجو در XML RPC, Registry و پیغام دهی XML  را پشتیبانی می کند.<br />
اگرچه محیط J2EE بسیار پیش از ظهور تکنولوژی های سرویس های وب پشتیبانی شده  است، لیکن متناسب بودن با آخرین توسعه را نیز لحاظ کرده است. با اطمینان  می توان J2EE را قادر به فًـًـًـًـراهم نمودن و ارائه پیشرفت های بیش تر  تکنولوژی بدون اعمال اثرات منفی در قالب کاری مرکزی و مدل برنامه نویسی  برنامه کاربردی ساخت.<br />
<strong><span style="color:red;">نتیجه </span></strong></p>
<p>J2EE یک استاندارد میان افزار است که به طور گسترده ای در صنعت پذیرفته شده  است. یک محیط ایده آل برای توسعه برنامه های کاربردی گسترده مستقل از  محیط، توزیعی و چندلایه که قادر به مقیاس دهی شود و توازن بار است. مزیت  اولیه J2EE فراهم سازی زیرساختار میان افزار استانداردشده ای است که کلیه  مشکلات سطح پایین سیستم را نظارت می کند که در نتیجه توسعه دهندگان می  توانند صرفا روی کدگذاری منطق و تجاری و کاری شان تمرکز نمایند.<br />
J2EE با ایجاد یک محیط مستقل از سیستم عامل نیازهای صنعت را کاملا و به طور  کارا رفع می نماید؛ بدین ترتیب، برنامه های کاربردی نهایی، انعطاف پذیر،  متحرک و قابل استفاده مجدد در پیاده سازی های مختلف عرضه کننده هستند.<br />
علاوه بر تمام این موارد، زیرساختار J2EE قادر به پشتیبانی تکنولوژی های جدیدتر و توسعه صنایع است.</p>
<p><strong>منبع </strong>:</p>
</div>
<div><a href="http://www.ictnews.ir/news/4470.aspx" target="_blank">http://www.ictnews.ir/news/4470.aspx</a></div>
<div><a href="http://www.barnamenevis.org/forum/showthread.php?p=180624#post180624">http://www.barnamenevis.org/forum/showthread.php?p=180624#post180624</a></div>
<div>در صورت تمایل روی <strong>ادامه </strong> کلیک کنید</div>
<div><span id="more-54"></span></div>
<div><a href="http://www.barnamenevis.org/forum/member.php?u=11766"> Milad.a.p نوشته است :</a></div>
<div>سلام<br />
با تشکر از تمامی دوستان این تاپیک خیلی به درد من خورد شخصا جواب خیلی از سوالاتم رو گرفتم ولی هنوز چند تا باقی مونده.</p>
<p>سوالات من در مورد دات نت و J2EE هستش لطفا حذف نشه چون میدونم اینپرایز اینجا زیاد سر میزنه اینجا نوشتم.</p>
<p>J2EE یک استاندارد برای تولید اپلیکیشن سروره . یک اپلیکیشن سرور مثلا  اوراکل که همه چی داره مثل RDBMS , GUI Builder و &#8230; ولی مایکروسافت هم  فکر کنم تمام اینهارو تحت عنوان Dot Net Enterprise Servers عرضه کرده مثل  ,IIS,SQL Server,Biztalk Server و &#8230; برای GUI بیلدر هم ویژوال استودیو  دات نت.ولی اون چیزی که اینجا مایکروسافت کم داره یه استاندارد برای تولید  اپلیکیشن سرور برای دات نت که اصلا لازم نیست وقتی مایکروسافت تمام  محصولاتش رو به صورت کامل ساپورت میکنه دیگه استاندارد میخواد چیکار  درسته؟ولی سان به یک استاندارد احتیاج داشت چون که هیچ کدوم از اون موارد  بالا رو برای جاوا فراهم نکرده بود ولی تازه تازه به فکر افتاده. ولی در  باره سایر تکنولوژی های موجود در J2EE موارد مشابهی هم در دات نت هست مثلا  برای JDBC  = ADO.Net برای RMI  = Dot Net Remoting و &#8230;. و در مورد قابل  انتقال بودن جاوا هم که دیگه بحثی نیست جاوا از این نظر کاملا برتره.حالا  طرز فکر من درسته یا غلط ؟ چرا؟<br />
در ضمن اگه یه مطلب کامل هم در مورد EJB  مثل بالا بنویسید ممنون میشم .</p>
</div>
<div><strong><a href="http://www.barnamenevis.org/forum/member.php?u=3493"><span style="color:red;"><strong>zehs_sha</strong></span></a> نوشته است :<br />
</strong></div>
<div>
<p>این مقاله توسط <a href="http://www.barnamenevis.org/forum/member.php?u=1341" target="_blank">Inprise</a> عزیز نوشته شده است که در آن مقایسه ای با دات نت شده است :</p>
<p>قبل از اینکه نظرم رو عرض کنم چند تا نکته مقدماتی لازمه ذکر بشه تا ابهام  موجود در ذهن بعضی از دوستان بر طرف بشه <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=':wink:' class='wp-smiley' />  منطقا&#8221; مقایسه دات نت و  J2EE یه چیزی است تو مایه های مقایسهء نوت بوک و MainFrame . ( عمدا&#8221; از  این دو لفظ برای تشبیه استفاده کردم . بعدا&#8221; مشخص میشه چرا ) هر دو به نوعی  کامپیوتر هستند ، یعنی محاسبه کننده و هر دو از سخت افزارهائی تحت کنترل  نرم افزار تشکیل شده اند اما هر کدام برای هدف خاصی طراحی شده اند و برای  کاربرد خاصی مناسب هستند . مقایسه های مختلفی بین این دو تکنولوژی روی  اینترنت موجوده که من به دو دسته تقسیمشون میکنم . گروه اول کسانی هستند که  طرفدار یکی از دو تکنولوژی هستند ( به هر دلیلی ) و قصد دارند با براهین و  ادله بعضا علمی و بعضا غیر علمی برتری یکی رو بر دیگری اثبات کنند و گروه  دوم کسانی هستند که بدون تعصب اما با نیت مشخص کردن برتریهای هر تکنولوژی  بر دیگری در حوزه ای خاص تولید شده اند مثلا&#8221; یکی میگه ASP .NET برای تولید  محتوای وب بهتره و RMI برای ایجاد ارتباط Multi Tire و &#8230; و فی الواقع  بگن هر دو چیزهای خوبی دارند اما هر کدام در یک بخش . &#8220;نظر شخصی&#8221; من اینه  که هر دو گروه اشتباه میکنند . اول در مورد علت این طرز فکر توضیح میدم ،  بعد در مورد بخشهای مختلف هر دو تکنولوژی یه سری مطلب عرض میکنم .</p>
<p>سوال : چرا فکر میکنم میشه به دات نت و J2EE به عنوان دو موجودیت مستقل نگاه کرد و هر دو رو بررسی کرد اما مقایسه نکرد ؟</p>
<p>جواب : بخاطر مؤلفه های ذاتی هر کدام از این تکنولوژی ها . J2EE یک  استاندارد برای تحقق یک Application Server است در حالیکه دات نت یک &#8221; نرم  افزار&#8221; است که &#8220;فقط&#8221; کلاسهای &#8220;پایه&#8221; برای تولید نرم افزارهای مستقل یا  مرتبط شبکه ای رو در اختیار توسعه گر قرار میده .</p>
<p>دات نت : یعنی یک بستر برای ایجاد نرم افزار . یک بار توسط مایکروسافت  نوشته شده و بقیه باید از اون استفاده کنند اما تمام دات نت چیزی بیشتر از  یک &#8220;بستر اجرای کد و کتابخانه مقدماتی کلاس&#8221; نیست . تمام دات نت یک  FrameWork است و یک محیط تولید نرم افزار + مستنداتی جهت ایجاد ابزارهای  متفرقه تولید نرم افزار ( e.g : compiler )</p>
<p>J2EE : یک استاندارد است که مشخص میکند برای پاسخ دادن به یک نیاز نرم  افزاری &#8221; سازمان مقیاس&#8221; چگونه باید با اجزاء نرم افزار رفتار کرد و برای  مدیریت طول عمر نرم افزار ( Application Lifecycle Management ) چکار باید  کرد . این استاندارد توسط سان ارائه شده . خیلی ها مبتنی بر این استاندارد  نرم افزارهای خودکار سازی ایجاد کرده اند ، سان مایکروسیستمز نیز هم .  استاندارد J2EE میگه چگونه با &#8220;زبان جاوا&#8221; یک FrameWork ایجاد کنیم ، چگونه  کتابخانهء کلاس برای تمام مقاصد بنویسیم ، بانک اطلاعاتی چطور باشه و &#8230; و  شرکتهای متعددی بر اساس این استاندارد Application Server های مبتنی بر  J2EE ایجاد کرده اند که برخی شون تمام J2EE رو پیاده سازی کرده اند و برخی  شون فقط بخشی از اون رو . در مورد جزئیات Application Server های J2EE کمی  بعد توضیح میدم .</p>
<p>سوال : پس احتمالا&#8221; کلید درک تفاوت ماهیتی دات نت و J2EE در درک صحیح از مفهوم Application Server خلاصه میشه ، درسته ؟</p>
<p>جواب : بله . Application Server یک بستهء نرم افزاری است که وظیفه اش  Application Lifecycle Management است . یعنی از ابتدای تولد یک نرم افزار  &#8220;سازمان مقیاس&#8221; تا انتهای اتمام تولید ، باید به تمام نیازهای نرم افزاری  پاسخ دهد . یعنی اگر برنامه نویس به یک FrameWork احتیاج داشت ،  Application Server یک Framework به او بدهد ، اگر بانک اطلاعاتی خواست ،  Application Server یک بانک اطلاعاتی کامل برایش فراهم کند ، اگر وب سرور  خواست ، Application Server یک وب سرور تمام عیار به او بدهد ، اگر برای  ارسال نامه های الکترونیکی برنامه اش به یک SMTP سرور نیاز داشت ،  Application Server یک سرور SMTP به او بدهد ، اگر قرار شد برای احراز هویت  از Kerberos استفاده کند یک پیاده سازی کربرایزد از استک TCP/IP در  Application server وجود داشته باشد ، اگر خواست برای منطق محاسباتی برنامه  اش یک GUI ایجاد کند ، Application Server یک IDE و GUI Builder به او  بدهد ، اگر خواست داده های کاربری رو از کارتهای هوشمند ( smart Card )  دریافت کند ، رابطهای لازم و API های مربوطه را از Application Server  بگیرد و &#8230; به دیگر بیان Application Server یک محیط Integrated است برای  طراحی و تولید و مدیریت و توزیع و کاربرد یک نرم افزار &#8220;سازمان مقیاس&#8221; .  شاید این سوال در ذهن عده ای ایجاد بشه که مگه تمام اجزاء یک Application  Server رو نمیشه بصورت منفرد پیدا کرد ؟ وب سرور ، GUI Builder ، سرور پست  الکترونیکی ، توابع احراز هویت ، بستر اجرای کد و &#8230; ؟ جواب مثبته اما چه  کسی میتونه تضمین کنه تمام این اجزاء دارای &#8220;سطح&#8221; ی یکنواخت و یکسان باشند ؟  ( Innovative Integrated Interface ) یا مثلا&#8221; کی میتونه تضمین کنه یک  بستر اجرای کد بتونه توابع دسترسی به بانک اطلاعاتی رو با بهینه ترین وضعیت  تولید کنه ؟ یا تضمین کنه این عناصر با هم سازگاری مناسبی داشته باشن ؟  همگی تولید شده توسط یک بستر خاص باشند که توسط همون بستر بشه بین اونها  ارتباط برقرار کرد ؟ اینجا مسئله سازگاریه . یعنی اگر قرار شد یک گروه نرم  افزاری برای بزرگترین سازمان بیمه غیر دولتی امریکا یک راهکار جامع ERP  تولید کند ( یا بخرد و خصوصی سازی کند برای محیطش ) باید به چه بستری  اعتماد کنه که مطمئن باشه تمام درخواستهای نرم افزاری &#8221; سازمان مقیاس&#8221; ش رو  میتونه جواب بده و مشخصه های اون ، سازمانش رو به یک نرم افزار خاص ، سخت  افزار خاص ، پروتکل خاص و &#8230; محدود نمیکنه ؟ ( اصولا&#8221; محدودیت در ادبیات  آی تی ، سطح اعتماد و قابلیت وثوق &#8211; Reliability &#8211; رو کاهش میده ) اینجاست  که یک Application Server خودنمائی میکنه . یک Application Server تضمین  میکنه که از بستر اجرای کد گرفته تا وب سرور ، از توابع امنیتی گرفته تا  بانک اطلاعاتی ، از IDE گرفته تا ابزارهای حمایت از UP ( یا Unified  Process ) و &#8230; در بستهء نرم افزاریش وجود داره .</p>
<p>سوال : خوب حالا با این توصیفات J2EE دقیقا&#8221; چیه ؟<br />
جواب : J2EE در واقع یوتوپیا ( آرمان شهر ) شرکت سان مایکروسیستمز است برای تولید یک Application Server.</p>
<p>نتیجه : فکر میکنم مطالب بالا باعث شده باشه این تصور غلط که میشه بین دات نت و J2EE مقایسه ای وجود داشته باشه ، از بین برده باشه .</p>
<p>ابسترکت : چه زمانی J2EE مناسب است ؟</p>
<p>شرکت سان غیر از ارائه یوتوپیای یک Application Server کارهای دیگری هم  انجام داده . مثلا&#8221; توسعه زبان جاوا . طبیعیه که زبان جاوا زبان استاندارد  توسعه نرم افزارهای مبتنی بر J2EE باشه ، هر چند بر خلاف اظهارات ناشیانه  برخی ، J2EE و خصوصا&#8221; بستر اجرای کدش ، به زبان جاوا منحصر نیست . یعنی  همونطور که [مثلا"] بستر دات نت قابلیت پذیرش زبانهای مختلف رو داره ،  بسترهای مبتنی بر جاوا هم میتونن به سایر زبانهای برنامه نویسی سرویس بده .  یعنی براحتی میشه بین جاوا و سایر کتابخانه هائی که توسط سایر زبانهای  برنامه نویسی تولید شده ارتباط برقرار کرد . ( Java Native Interface ) هر  چند که مثل دات نت منعطف نیست . سان داره تلاش میکنه یک Application Server  مبتنی بر استاندارد خودش یعنی J2EE تولید کنه اما هنوز تکمیل نشده . ( سان  فعالیت گسترده ای برای توسعه خود جاوا و بهینه سازی منطق J2EE و کلاسهای  تولید نرم افزار داره ، فعالیتهای خفنی در هم در عرصه سخت افزار داره ،  نباید انتظاری بیش از این ازش داشت ) اما نگارشهای عملیاتی متعددی از  Application Server های مبتنی بر J2EE وجود داره که فقط یکی از اونها تمام  جزئیات رو پیاده سازی کرده .</p>
<p>معرفی Application Server اوراکل به عنوان جامعترین Application Server :</p>
<p>در ایران اغلب اوراکل رو به عنوان یک بانک اطلاعاتی میشناسن در حالیکه بانک  اطلاعاتی اوراکل فقط بخشی از اون چیزی است که اوراکل تحت عنوان e-Bussines  Suite منتشر کرده . Application Server اوراکل تمام اون چیزهائی که در وصف  یک Application Server عرض کردم داره . بطور مختصر و لیست وار در موردش  توضیحاتی عرض میکنم تا کمی روشنتر بشه بحث :</p>
<p>1. یک بانک اطلاعاتی کامل : اوراکل فعلا&#8221; تنها بانک اطلاعاتی است که نه  تنها نسخه های متعددی برای MainFrame ها داره ، برای تمام بسترهای نرم  افزاری و سخت افزاری موجود هم نسخه هائی رو ارائه کرده . بزرگترین بانک  اطلاعاتی که این حقیر در جریانش هستم و با اوراکل کار میکنه بانک اطلاعاتی  وزارت انرژی ایالات متحده آمریکاست که روی یک MainFrame شرکت IBM اجرا شده .  بانک اوراکل یک نسخهء کامل زبان پرس و جوی ساخت یافته یعنی PL/SQL ، یک  سوئیت کامل بنام PSP که برای تولید صفحات وب بطور مستقیم از PL/SQL استفاده  میکنه است . اوراکل تنها بانک اطلاعاتی است که موتور آن ( DB Engine ) هم  میتونه بصورت توزیع شده و چند بخشی ( Clustered ) اجرا بشه . حتی میشه بخضی  از انجین رو روی یک بستر کوچک وینتل( ویندوز + اینتل) و بخشی دیگر رو روی  یک ماشین غول پیکر HP مجهز به HP-UX اجرا کرد . حتی میشه حین سرویس دهی  بانک ، بانک رو از یک پلت فرم به پلت فرم دیگه منتقل کرد . ( ویژگی های  منحصر به فردش رو عرض کردم )</p>
<p>2. یک بستر اجرای کد نرم افزار : Application Server شرکت اوراکل بطور کامل  &#8220;بخش نرم افزاری J2EE &#8221; یعنی کتابخانه های کلاسش رو پیاده سازی کرده .</p>
<p>JDBC Connectors<br />
JSP Engine<br />
JavaBeans Engine<br />
RMI<br />
JMS<br />
JINI<br />
JMX<br />
JIRO<br />
J2EE CORBA ORB<br />
JXTA<br />
JXML<br />
JCP<br />
JNI<br />
Web Service Implementation<br />
و &#8230;</p>
<p>یعنی هر کسی هر برنامه ای مبتنی بر J2EE نوشته باشه در بستر Application  Server اوراکل قابل اجرا و سرویس دهی است . اوراکل J2SE و J2ME رو هم حمایت  میکنه ( دومی برای تولید برنامه های موبایل برای پورتابل دیوایسها کاربرد  داره ) . همچنین اوراکل بطور کامل یک نسخه از Java Smart Card API رو پیاد  سازی کرده . در حال حاضر جاوا تنها ابزاری است که میشه توسط اون تقریبا&#8221;  برای تمام کارتهای هوشمند برنامه نوشت ضمن اینکه توسط قابلیت فوق الذکر  قطعه کدهای قابل ذخیره سازی در کارتهای هوشمند هم قابل تولید است . فرض  کنید یک تابع تبدیل تاریخ مینویسید و تابع رو داخل کارت هوشمند قرار میدید ،  هر وقت نرم افزار اون تابع رو صدا زد کارت رو در کارت خوان میگذارید و  برنامه شما تابع رو روی کارت هوشمند صدا میزنه و جواب میگیره بدون اینکه در  مورد پیاده سازی اش چیزی بدونه .</p>
<p>3. اوراکل یک<span style="text-decoration:underline;"> وب سرور </span>مخصوص به خود ، همچنین سرورهای :</p>
<p>POP3<br />
SMTP<br />
FTP<br />
WebDav<br />
Cache Server<br />
Common Internet File system &#8211; CIFS<br />
LDAP compatible Directory Service<br />
و&#8230;</p>
<p>رو بطور کامل پیاده سازی کرده . تمام این سرورهای نرم افزاری کاملا&#8221; با هم  سازگار هستند و برای کار روی یک محیط مبتنی بر J2EE بهینه سازی و خصوصی  سازی شدن .</p>
<p>4. اوراکل یک content Management System داره که قابلیت ایجاد پورتال های  مبتنی بر وب روی اینترنت یا اینترانت رو به &#8220;نرم افزار&#8221; های J2EE میده .</p>
<p>5. اوراکل یک محیط کامل تولید برنامهء کاربردی بنام اوراکل J Developer داره که یک IDE و GUI Builder کامل است .</p>
<p>6. اوراکل یک سرویس ( یعنی نرم افزارهائی + سرویس دهنده هائی ) برای ایجاد  ویژوال گزارش از بانک اطلاعاتی داره . گزارشها میتونن طراحی بشن تا از داده  ها استفاده کنن و خروجی بدن ، یا یک سرویس تولید گزارش به یک نرم افزار  متصل بشه تا در زمان اجرا مولفه های گزارش به سرویس گزارش درخواست داده بشن  تا گزارش رو طراحی کنه ، به داده متصل کنه و خروجی بده . بهش میگن  Reporting Service</p>
<p>7. ابزارهای مددیریتی قدرتمند برای کنترل تراکنشهای بانک اطلاعاتی خارج از  محیط بانک ( منحصر به فرد ) ، کنترل وضعیت اشیاء مثلا&#8221; EJB ها و سطح دسترسی  آنها ، انتقال سرویسهای از یک پلت فرم به پلت فرم دیگر بدون توقف روند  سرویس دهی ، صف گذاری منطقی و مدیریت شده درخواستها و &#8230;</p>
<p>8. Load Balancer اوراکل کمک میکنه سرویسها ، بانکهای اطلاعاتی و سرورها و  سایر نرم افزارهای مبتنی بر وب یا شبکه روی یک بستر توزیع شده اجرا بشن و  اگر فشار ترافیک روی یک سرور زیاد بود ، Load Balancer درخواستها رو به  سایر سرورها که توسط قابلیت Replication Service اوراکل بصورت mirror آماده  هستند هدایت میکنه . این Load Balancer قابلیت درک جلسات کاربری ( Session  ) ها یا مثلا&#8221; متغیرهای سطح برنامه ( Application &#8211; Level Variables ) رو  داره . یعنی اگر شما به کتابخانهء ملی سنای امریکا ( Pwered By Sun ) لاگ  این کنید و در حال انتقال صفحاتی از یک کتاب به دایرکتوری شخصی خودتون  باشید و فشار روی سرور بانک اطلاعاتی زیاد بشه ، درخواستهای بعدی شما بصورت  خودکار به سرور خلوت تری ارسال میشن بدون اینکه State-Less بدون محیط به  کانال ارتباطی شما لطمه بزنه ، یعنی هویت شما و Session شما همچنان معتبر  است اما روی یک سرور دیگر ( این منحصر به فرد نیست اما فقط شرکت مکرومدیا  در JRUN که اون هم یک Application Server نصفه نیمه است چنین چیزی داره که  در مورد اون هم مطالبی عرض میکنم )</p>
<p>نتیجه اول : اگر شما یک Application Server کامل و قابل اتکاء میخواهید  باید بستهء نرم افزاری فوق العاده گران قیمت Oracle 11i &#8211; e bussines Suite  رو تهیه کنید که هر انچه ذکر شد داخلش موجوده .</p>
<p>نتیجه دوم : برای پاسخ دادن به نیازهای &#8220;خیلی بزرگ&#8221; و &#8221; سازمان مقیاس&#8221; که  هزینه های میلیونی و میلیاردی براش در نظر گرفته میشه و خطا در انتخاب  معماری یا عدم سازگاری اجزاء نا بخشودنی است فقط باید از یک Application  Server استفاده کرد که ضمن دارا بودن همه چیز یکجا ، سازگاری ، قابلیت  اتکاء و وثوق ، یک شرکت بزرگ و عریض و طویل ازش حمایت کنه . اوراکل یکی از  پیشنهادهای موجوده . در بازار E- bussines دنیا اوراکل قدرتمند ترین  فروشنده نرم افزاره ، فقط به عنوان مثال مراجعه کنید به خبری از اوراکل که  یک پیشنهاد &#8221; نه میلیارد دلاری&#8221; برای خرید شرکت People Soft ( تولید کنندهء  ERP های قدرتمند ) داده . لازم به ذکره 9 میلیارد دلار ، کمی کمتر از نصف  بودجهء یکسال جمهوری اسلامی ایران است !!</p>
<p>یاد آوردی اول : یک بستر اجرای کد مثل دات نت ، با یک استاندارد برای تولید Application Server یعنی J2EE قابل قیاس نیست .</p>
<p>یاد آوری دوم : داخل یک Application Server یک بستر اجرای کد هم وجود داره  که سرویسهای خاصی رو ارائه میکنه . شاید بشه این بسترهای مختلف موجود رو با  هم مقایسه کرد .</p>
<p>&amp;lt; اتمام مبحث Application Server ها &gt;</p>
<p>سوال : اگر انچه دات نت ارائه میکنه و به همون &#8220;شکل&#8221; در بسترهای مبتنی بر J2EE هم موجوده مقایسه کنیم چه نتیجه ای میگیریم ؟</p>
<p>جواب : من دو جور میتونم به این سوال جواب بدم . یکی مبتنی بر تجربه شخصی . یکی مبتنی بر صرفا&#8221; ذکر آیتمهای قابل قیاس در مقابل هم .</p>
<p>جور دوم (!) :</p>
<p>الف. کتابخانه کلاس : دات نت و JDK هر دو کتابخانه های قدرتمندی هستند که  اغلب نیازهای پایه برای تولید نرم افزار رو حمایت میکنند . اما برای تولید  نرم افزارهای بزرگ مقیاس هیچکدام کافی نیستند . دات نت چیز دیگری ندارد اما  برای جاوا راهکارهای دیگری هم وجود دارد . کاربری دات نت راحت تر است .  پیچیدگی های دات نت هم کمتر است . نمودار یادگیری جاوا بسیار کم شیب است . (  اگر نمودار عمودی پیشرفت باشه و نمودار افقی زمان ) در حالیکه یادگیری دات  نت خیلی سریعتر است .</p>
<p>ب. زمان اجرا : زمان اجرای دات نت تقلیدی صرف از زمان اجرای جاوا ست . هیچ  بحثی هم درش نیست . حتی کسانیکه مثل بنده عقلشون کم باشه و بشینن و IL رو  با ByteCode مقایسه کنن درک خواهند کرد که مایکروسافت خلاقیتی از خودش نشون  نداده . JIT در هر دو محیط خوب است . سرعت اجرای &#8220;برنامه&#8221; های دات نت از  برنامه های جاوا کندتر است اگر از JIT استفاده نکند . این حقیقت رو هر کسی  با چند آزمایش کوچولو میتونه درک کنه . سیستم Code Caching و JITC دات نت  کمک زیادی به افزایش سرعت برنامه ها کرده . جاوا با عمر طولانی اش به ادعای  اسکات مک نلی حدود پنجاه بار بهینه سازی شده در حالیکه دات نت هنوز جوونه .  به نظر میاد در این یک مقوله باید منتظر آینده شد . اما فی الحال وضع دات  نت در این راستا خوبه .</p>
<p>ج. اتصالات : دات نت از ریموتینگ ، وب سرویس و کام پلاس حمایت میکنه (  بصورت داخلی ) . جاوا بجای ریموتینگ چیزی بنام ریموت متد اینووکیشن داره ،  وب سرویس رو حمایت میکنه ، CORBA رو حمایت میکنه ، چیزی بنام EJB داره که  اشیاء شناور در یک &#8220;مخزن سازمانی&#8221; هستند که افراد ، سرویسها و نرم افزارها  بنا به میزان دسترسی میتونن ازش استفاده کنن . کنترلهای دات نت هنوز چنین  قابلیتی ندارند و دات نت هنوز راهی برای ایجاد یک Object Repository  سازمانی ارائه نکرده . اشیاء کام پلاس و محیط MTS ویندوز هم ( با اینکه  ربطی به دات نت نداره بطور مستقیم ) مانند EJB ها منعطف نیستند . EJB ها  State-Less نیستند .</p>
<p>د. ارتباط با داده : دات نت چیزی بنام ADO .NET ارائه کرده که راه حلی است  منحصر به فرد . جاوا JDBC رو داره که چه در connection Pooling و چه در  objecy pooling به خوبی ADO .NET کار میکنه اما ADO .NET فوق العاده  امکانات زیادی داره . چون اینجا دات نت کار زیاده لزومی به توضیح نیست . من  با تمام وجود به ADO .NET اعتقاد دارم و تصور نمیکنم معادلی داشته باشه (  یکسال و خورده ای پیش چند مقاله کامل در مورد ADO .NET در سایت ایران  دولوپرز نوشتم که این مطلب رو اونجا هم عرض کردم . یکسال قبل )</p>
<p>ه. امنیت : امنیت در این حوزه رو &#8220;من&#8221; به سه بخش تقسیم میکنم ( تقسیم بندی کاملا شخصی و تجربی )</p>
<p>ه.1) حفاظت از متن کد<br />
ه.2) حفاظت از ارتباطات<br />
ه.3) حفاظت از خود بستر و حفظ مانائی</p>
<p>در مورد اول هر دو محیط ضعیف هستند . Obfuscator ها نمیتونن به مفهوم واقعی  از کد حفاظت کنند و راهکارهای Third party موجود هم بیشتر به طنز شبیه  هستند . با داشتن IL یا بایت کد براحتی کد اصلی یا کدی &#8221; با قابلیت های&#8221; کد  اصلی قابل باز-تولید است . پسوردها ، اعداد خصوصی ، کلمه های عبور و &#8230;  براحتی قابل بازیافت هستند اگر در متن نرم افزارهای Managed دات نت یا  برنامه ها جاوا بکار رفته باشند . اینجا واقعا هیچ ایمنی &#8221; نمیتواند&#8221; وجود  داشته باشد .</p>
<p>در مورد دوم هر دو محیط با Open Standard ها کار میکنند . از SSL گرفته تا  Kerberos و از ارتباط با Directory Service ها گرفته تا CA . در این مورد  تفاوتی وجود نداره .</p>
<p>در مورد سوم تا حالا مستندی که بر قوت یا ضعف یکی دلالت کنه نخوندم ( نمیگم نیست ، نخوندم ) و تجربه شخصی و عملی هم ندارم .</p>
<p>فی المجموع در حوزه امنیت دو محیط چندان متفاوت نیستند .</p>
<p>و. انتقال : جاوا از MainFrame ها تا کارتهای هوشمند رو حمایت میکنه . دات  قراره بزودی بسترهای دیگه رو حمایت کنه . پس اصولا&#8221; در این زمینه هیچ  رقابتی وجود نداره . جاوا پانزده سال جلو تره . من با مونو ( که قراره بشه  دات نت روی لینوکس ) کار کردم و فعلا&#8221; ناقص و غیر قابل اعتماده .  مایکروسافت هم یقینا&#8221; تا انتهای 2005 هیچ نسخه ای از دات نت مبتنی بر NIX*  ها توزیع نخواهد کرد .</p>
<p>ز. تولید محتوای وب : دات نت ASP .NET رو ارائه کرده . جاوا JSP رو . سرعت  پاسخگوئی دات نت در کاربردهای معمولی بالاتره . اما با توجه به محدودیت  ویندوز ( به عنوان تنها بستر دت نت ) برای حمایت از ترافیک و فشار بالا ،  اگر کاربردهای خیلی سنگین مد نظر باشه ASP .NET نمیتونه حرفی داشته باشه .  موتور JSP هم قابلیت Clustring داره و میشه مجموعه ای از سرورها رو با &#8221; یک  موتور&#8221; راه اندازی کرد . ( میدونم به بحث ربطی نداره اما یکبار یکی ازم  پرسید چرا مایکروسافت برای MSN و هات میل از فری بی اس دی استفاده میکنه ؟ و  نه ویندوز ؟ جواب بنده این بود دلیل هر چیزی هست ربطی به امنیت نداره .  سایت خود مایکروسافت با ترافیک بالا و دشمنانی قسم خورده بدون مشکل داره  روی ویندوز کار میکنه . اما وقتی قرار باشه بخاطر ترافیک خیلی بالای مسنجر و  ایمیل ، از یک ماشین با مثلا&#8221; 30 تا پردازنده استفاده بشه تجربه ویندوز  چندان موفقیت آمیز نیست ! در حالیکه فری بی اس دی &#8211; اچ پی یو ایکس و  سولاریس همین حالا روی ماشینهائی بیشتر از پنجاه پردازنده هم خوب کار  میکنند . سان سرور بنام 15K Fire داره &#8211; ر.ک بخش سرورهای سایت سان &#8211; به  قیمت &#8221; ده میلیون دلار&#8221; میفروشتش و 105 تا پردازنده 64 بیتی داره و همین  نسخهء سولاریس معمولی روی اون هم کار میکنه و جواب میده و توانائیش 6500  میپسه ! یعنی 2000 میپس قوی تر از بزرگترین مین فریمه IBM &#8211; تاریخ این امار  متعلق به یکسال پیشه که من پروژه ای داشتم در این مورد )</p>
<p>نتیجه : برای کاربردهای عمومی وب یعنی اونچیزی که در 99 درصو اوقات مد نظره  ASP .NET بهتر است مگر اینکه برنامهء خاصی برای انتقال وجود داشته باشه یا  احتمال وجودش قابل تامل باشه .</p>
<p>نتیجهء کلی : تا اون حد که دات نت امکانات و توانائی داره ، قالبلیتهای  مشابهش در بستر جاوا موجوده . در برخی موارد دات نت و در برخی دیگر جاوا  برتر است الا اینکه اگر کاربرد خیلی بزرگ باشه یا برنامه خاصی برای انتقال  بستر وجود داشته باشه یا احتمال وجودش قوی باشه ، در هر حال &#8221; تنها گزینهء  موجود&#8221; جاوا ست ، در غیر این صورت باید بررسی کرد .</p>
<p>&amp;lt; اتمام بحث مقایسه بسترهای دات نت و جاوا &gt;</p>
<p>سوال : من متوجه شدم دات نت دقیقا&#8221; چیه و جاش کجاست و متوجه شدم یک  Application Server چیه و به چه دردی میخوره و باز هم متوجه شدم فرق اینها  در &#8220;مقیاس&#8221; پروژه است ، حالا میخوام کمی درمورد Application Server های  دیگه بدونم .</p>
<p>جواب : اینترنت دریائی از اطلاعات است که میتونید ازش کمک بگیرید . تجربه  شخصی من به استفاده از اوراکل و اوریون محدوده . در مورد JRUN هم مطالعه  کردم . اوریون یک Application Server مبتنی بر J2EE است اما برای محیط  لینوکس بهینه سازی شده است . در یکی از شرکتهای نفتی ایرانی هم داره ازش  استفاده میشه و فوق العاده جوابگوست . اما مثل اوراکل کامل نیست ، مثلا&#8221;  بانک اطلاعاتی نداره ، باید از چیزی مثل اوراکل یا مای اسکوئل استفاده کرد ،  و نواقصی از این دست اما مجانی است و سورس آزاد . <a href="http://www.orionserver.com/" target="_blank">www.orionserver.com</a> .<br />
JRUN محصول مکرومدیاست . این هم ناقصه و خیلی از قابلیتهای اوراکل رو نداره  ( اوراکل خیلی خیلی گرونه ) اما برخی مزایای خاصش باعث میشه آدم به  انتخابش فکر کنه . مثلا&#8221; قابلیت کلاسترینگ و لود بالانسینگ داره یا مثلا&#8221;  ColdFusion رو حمایت میکنه و &#8230; قیمتش هم ارزونه . مثلا&#8221; همین حالا سازمان  ملی علوم و تحقیقات و تکنولوژی امریکا یعنی NIST داره از جی ران استفاده  میکنه و زبان برنامه های وب اش ، خصوصا بخش امنیتی اش که زیاد کل کل میکنه  هم کلد فیوژن است . اپلیکیشن سرورهای دیگه ای وجود دارن که چندان معروف  نیستند . مثلا&#8221; Borland Application Server که این مورد هم مبتنی بر J2EE  است و بخشی از سایت خود بورلند هم روی همین کار میکنه . اپلیکیشین سرور  بورلند از اوریون و جی ران کاملتره هر چند هنوز هم از اوراکل عقب تره .  دپارتمان نرم افزار &#8220;ارتش امریکا&#8221; هم بطور کامل از محصولات بورلند استفاده  میکنه . برای توسعه نرم افزارهای ویندوزی از دلفی ، برای UP از توگدر و  برای ارائه سرویس از اپلیکیشن سرور بورلند . ( وایت پیپر هاش رو میتونید تو  سایت خود بورلند پیدا کنید ) و &#8230; موارد متعدد دیگه .</p>
<p>جور اول : ( تجربه شخصی )</p>
<p>کار با جاوا یا در مقیاسهای بزرگ Application Server ها جاوا واقعا&#8221; سخته .  ( خصوصا&#8221; اگر آدم به محیطهای قدرتمند و راحتی مثل دلفی عادت کرده باشه )  در حالیکه کار با دات نت واقعا&#8221; راحته . کاربری جاوا هم مشکل تر از دات نته  . در محیط دات نت اغلب تنظیمات یا وظایف کلیک اند ران هستند در حالیکه  برای آماده سازی یک محیط مبتنی بر جاوا برای ارائه واقعی سرویس تخصص و  تجربه لازمه و همیشه تجربه های اولیه با شکست همراه هستند . دات نت گرون  نیست هر چند اگر واقع بین باشیم مجانی هم نیست . جاوا مجانی است و سورس  آزاد . اون چیزی که من بهش فکر میکنم اینه که برای کاربردهای کوچک ، معمولی  ، متوسط دات نت مناسبه . برای کاربردهای واقعا&#8221; بزرگ دات نت اصولا&#8221; جوابگو  نیست که بخاد مناسب باشه یا نباشه و جاوا تنها گزینه است حالا میخواد خوب  باشه میخواد بد باشه . یعنی اگر قرار باشه سازمانی تیم نرم افزار تشکیل بده  ، یک الگو و راه حل جامع ( Total Solution ) برای نرم افزار انتخاب کنه ،  برای برنامه نویسهاش پول خرج کنه و پول بیشتری خرج کنه تا بمونن ، قرار  نیست برنامه هاش خیلی خیلی بزرگ باشن ، دات نت گزینهء خوبیه . اگر سازمانی  قراره تیم نرم افزار داشته باشه و برنامه های فوق العاده بزرگ بنویسه که با  توجه به نوع کاربرد احتمال تغییر پلت فرم یا خرید ماشینهای بزرگتر و قوی  تر و تغییر پردازنده و &#8230;. محتمل باشه ، اون محیط مال جاواست . امیدوارم  در تمام متن مطلبم به عبارت &#8221; سازمان مقیاس&#8221; که برجسته تر بود دقت کرده  باشید .</p>
<p>من قبلا&#8221; به برادر عریضی قول داده بودم در مورد اپلیکیشن سرور ها مطلبی  بنویسم و جواب این سوال رو هم مایل بودم بدم که شد یک تیر و دو نشون <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=':wink:' class='wp-smiley' />   حالا اگر یک نفر از ملت با مرام برنامه نویس لطف کنه و با سواد و دانش  خودش این نوشته رو ویرایش کنه و یه مقاله به درد بخور ازش در بیاره و به  بخش مقاله های سایت اضافه کنه ممکنه بتونه خیلی مفید واقع بشه در آینده .</p>
<p>خوش و موفق باشید .<br />
<span style="color:#808000;">Gone Inprise</span></p>
<p><span style="color:#808000;">منبع :</span><br />
<a href="http://www.barnamenevis.org/forum/showthread.php?t=5935&amp;page=2" target="_blank">http://www.barnamenevis.org/forum/sh&#8230;?t=5935&amp;page=2</a></p>
</div>
<div><strong>باید بگویم من تنها این مطالب را نقل قول کرده ام و چیزی از آن را خودم ننوشته ام.</strong></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/dashtban.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/dashtban.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/dashtban.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/dashtban.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/dashtban.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/dashtban.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/dashtban.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/dashtban.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/dashtban.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/dashtban.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/dashtban.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/dashtban.wordpress.com/54/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/dashtban.wordpress.com/54/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/dashtban.wordpress.com/54/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=dashtban.wordpress.com&amp;blog=4850467&amp;post=54&amp;subd=dashtban&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://dashtban.wordpress.com/2010/08/11/java-ee-%da%86%d9%87-%d9%87%d8%b3%d8%aa-%d9%88-%da%86%d9%87-%d9%86%db%8c%d8%b3%d8%aa-%d8%9f/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7239028986c7026a7edc89e1d0443c44?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dashtban</media:title>
		</media:content>
	</item>
	</channel>
</rss>
