<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[انجمن فرفره - اولین انجمن تخصصی نرم افزار های رایگان (Freeware) و متن باز (Open Source) - تمام انجمن‌ها]]></title>
		<link>http://www.forum.ferfereh.ir/</link>
		<description><![CDATA[انجمن فرفره - اولین انجمن تخصصی نرم افزار های رایگان (Freeware) و متن باز (Open Source) - http://www.forum.ferfereh.ir]]></description>
		<pubDate>Sun, 01 Aug 2010 07:25:03 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[salam]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=36</link>
			<pubDate>Tue, 27 Jul 2010 17:29:40 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=36</guid>
			<description><![CDATA[bache ha salam man avalin bare linux nasb mikonam alan roye systemam mandriva 2010 hast va hich chi bahash balad nistam aval az hame yeki yadam bede chetori farsi benevisam engar shift+alt saresh nemishe aslan avaz nemikone zaban ro cpanel ham nadare toro khoda komakam konid<br />
bebakhshid finglish dadam javabamo bedid in post ham delete konid ya be farsi baresh gardonid <br />
ba tashakor]]></description>
			<content:encoded><![CDATA[bache ha salam man avalin bare linux nasb mikonam alan roye systemam mandriva 2010 hast va hich chi bahash balad nistam aval az hame yeki yadam bede chetori farsi benevisam engar shift+alt saresh nemishe aslan avaz nemikone zaban ro cpanel ham nadare toro khoda komakam konid<br />
bebakhshid finglish dadam javabamo bedid in post ham delete konid ya be farsi baresh gardonid <br />
ba tashakor]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا - جلسه چهارم]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=35</link>
			<pubDate>Sat, 24 Jul 2010 16:36:34 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=35</guid>
			<description><![CDATA[<div style="text-align: justify;">
آموزش جاوا جلسه چهارم:<br />
	نوبت کار با یک برنامه واقعی با جاواست. همانطور که قبلا گفته شد، امروز کار با یک فایل در قالب جاوا بیان خواهد شد. <br />
جاوا دارای کلاسهای بسیار زیادی برای کار با فایل است. شکل یک جریان های ورودی و خروجی ممکن در جاوا را نمایش می-دهد. در شکل دو سلسله مراتب کلاس های نویسنده و خواننده(Reader &amp;Writer ) نمایش داده شده است. برای اطلاعات بیشتر می توانید به سایت سان مراجعه نمایید.<br />
مراحل انجام کار:<br />
ابتدا باید یک برنامه برای ارتباط با فایل بنویسیم. بعد از ایجاد یک کلاس با نام دلحواه که از جلسه سوم آن را فرا گرفته اید به سراغ نوشتن برنامه  می رویم.<br />
در اینجا یک کلاس با نام FileReading می سازیم. نکته ا توجه داشته باشید که کلاسی با نامهای File، FileReader و مانند آنها که اسامی آنها جز اسامی کلاسهای جاواست استفاده ننمایید چراکه باعث تداخل در کار شما خواهد شد. جاوا به جای مراجعه به کلاس اصلی در کتابخانه کلاس شما را به عنوان مرجع برای همین کلاس یا کلاسهای بعدی انتخاب خواهد کرد. <br />
سپس ما یک سازنده برای آن تعریف خواهیم نمود.(سازنده چیست؟) به شکل کد زیر دقت نمایید:<br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>JAVA5 Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="java5" style="font-family:monospace;text-align:left;direction:ltr;"><span style="color: #000000; font-weight: bold;">class</span> ClassName
<span style="color: #009900;">&#123;</span>
   constructor1
   constructor2
   . . .
   <span style="color: #006633;">method1</span>
   method2
   . . .
   <span style="color: #006633;">field1</span>
   field2
   . . .
<span style="color: #009900;">&#125;</span></pre></code></div><br /></div><br />
این نمایانگر اسکلت یک کلاس کامل است. هر کلاس دارای یک یا بیش از یک سازنده(در حالت معمول) است. در واقع بعد از این هرگاه بخواهیم با این  شی تعریفی خود کار نماییم می توانیم در متد اصلی کلاس (main) یا در کلاسهای های دیگر آن را فراخوانی نماییم، باید یکی از این سازنده های تعریف شده در کلاس را صدا بزنیم. هر سازنده به صورت <br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>JAVA5 Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="java5" style="font-family:monospace;text-align:left;direction:ltr;">Public ClassName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
…
<span style="color: #009900;">&#125;</span></pre></code></div><br /></div><br />
که در آن سازنده می تواند یک(یا چند) پارامتر ورودی از اشیاء پیشفرض زبان یا اشیاء تعریف شده توسط کاربر را بگیرد.<br />
در مورد برنامه ما به صورت <br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>JAVA5 Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="java5" style="font-family:monospace;text-align:left;direction:ltr;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> FileWorking <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a> fileName<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html"><span style="color: #003399; font-weight: bold;">File</span></a> fin<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">public</span> FileWorking<span style="color: #009900;">&#40;</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a> fName<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        fileName=fName<span style="color: #339933;">;</span>
        fin=<span style="color: #000000; font-weight: bold;">new</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html"><span style="color: #003399; font-weight: bold;">File</span></a><span style="color: #009900;">&#40;</span>fileName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        Prop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #006600; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span>argv<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        FileWorking f=<span style="color: #000000; font-weight: bold;">new</span> FileWorking<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;d:<span style="color: #000099; font-weight: bold;">\\</span>1.txt&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #006600; font-weight: bold;">void</span> Prop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color: #003399; font-weight: bold;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span>fileName+<span style="color: #0000ff;">&quot;Properties  Are :<span style="color: #000099; font-weight: bold;">\n</span>Can execute :&quot;</span>+fin.<span style="color: #006633;">canExecute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color: #003399; font-weight: bold;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Can Read :&quot;</span>+fin.<span style="color: #006633;">canRead</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color: #003399; font-weight: bold;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;File Path:&quot;</span>+fin.<span style="color: #006633;">getAbsolutePath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></code></div><br /></div><br />
در ابتدای تعریف کلاس دو شی ایجاد می نماییم. یکی filename و دیگر fin. <br />
یک شی به نام fin از نوع File تعریف شده تا با استفاده از آن به فایل در محل اشاره شده، دسترسی داشته باشیم.<br />
یک در سازنده تعریف شده یک مسیر فایل به همراه نام فایل از کاربر گرفته می شود. در سازنده نام آن به یک شی به نام filename انتساب می یابد. با این انتساب و تعریف متغیر فوق به صورت خصوصی، می توان در جای جای برنامه با این نام متغیر دسترسی داشت. <br />
بعد از انتساب مقادیر، نوبت به بکارگیر آنهاست. در بخش Prop() یک متد  تعریف شده در کلاس است. وظیفه ی آن چاپ مشخصات فایلی است که مسیر آن داده شده.<br />
<br />
</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;">
آموزش جاوا جلسه چهارم:<br />
	نوبت کار با یک برنامه واقعی با جاواست. همانطور که قبلا گفته شد، امروز کار با یک فایل در قالب جاوا بیان خواهد شد. <br />
جاوا دارای کلاسهای بسیار زیادی برای کار با فایل است. شکل یک جریان های ورودی و خروجی ممکن در جاوا را نمایش می-دهد. در شکل دو سلسله مراتب کلاس های نویسنده و خواننده(Reader &amp;Writer ) نمایش داده شده است. برای اطلاعات بیشتر می توانید به سایت سان مراجعه نمایید.<br />
مراحل انجام کار:<br />
ابتدا باید یک برنامه برای ارتباط با فایل بنویسیم. بعد از ایجاد یک کلاس با نام دلحواه که از جلسه سوم آن را فرا گرفته اید به سراغ نوشتن برنامه  می رویم.<br />
در اینجا یک کلاس با نام FileReading می سازیم. نکته ا توجه داشته باشید که کلاسی با نامهای File، FileReader و مانند آنها که اسامی آنها جز اسامی کلاسهای جاواست استفاده ننمایید چراکه باعث تداخل در کار شما خواهد شد. جاوا به جای مراجعه به کلاس اصلی در کتابخانه کلاس شما را به عنوان مرجع برای همین کلاس یا کلاسهای بعدی انتخاب خواهد کرد. <br />
سپس ما یک سازنده برای آن تعریف خواهیم نمود.(سازنده چیست؟) به شکل کد زیر دقت نمایید:<br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>JAVA5 Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="java5" style="font-family:monospace;text-align:left;direction:ltr;"><span style="color: #000000; font-weight: bold;">class</span> ClassName
<span style="color: #009900;">&#123;</span>
   constructor1
   constructor2
   . . .
   <span style="color: #006633;">method1</span>
   method2
   . . .
   <span style="color: #006633;">field1</span>
   field2
   . . .
<span style="color: #009900;">&#125;</span></pre></code></div><br /></div><br />
این نمایانگر اسکلت یک کلاس کامل است. هر کلاس دارای یک یا بیش از یک سازنده(در حالت معمول) است. در واقع بعد از این هرگاه بخواهیم با این  شی تعریفی خود کار نماییم می توانیم در متد اصلی کلاس (main) یا در کلاسهای های دیگر آن را فراخوانی نماییم، باید یکی از این سازنده های تعریف شده در کلاس را صدا بزنیم. هر سازنده به صورت <br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>JAVA5 Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="java5" style="font-family:monospace;text-align:left;direction:ltr;">Public ClassName<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
…
<span style="color: #009900;">&#125;</span></pre></code></div><br /></div><br />
که در آن سازنده می تواند یک(یا چند) پارامتر ورودی از اشیاء پیشفرض زبان یا اشیاء تعریف شده توسط کاربر را بگیرد.<br />
در مورد برنامه ما به صورت <br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>JAVA5 Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="java5" style="font-family:monospace;text-align:left;direction:ltr;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> FileWorking <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a> fileName<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html"><span style="color: #003399; font-weight: bold;">File</span></a> fin<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">public</span> FileWorking<span style="color: #009900;">&#40;</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a> fName<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        fileName=fName<span style="color: #339933;">;</span>
        fin=<span style="color: #000000; font-weight: bold;">new</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html"><span style="color: #003399; font-weight: bold;">File</span></a><span style="color: #009900;">&#40;</span>fileName<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        Prop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #006600; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span>argv<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        FileWorking f=<span style="color: #000000; font-weight: bold;">new</span> FileWorking<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;d:<span style="color: #000099; font-weight: bold;">\\</span>1.txt&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">private</span> <span style="color: #006600; font-weight: bold;">void</span> Prop<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color: #003399; font-weight: bold;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span>fileName+<span style="color: #0000ff;">&quot;Properties  Are :<span style="color: #000099; font-weight: bold;">\n</span>Can execute :&quot;</span>+fin.<span style="color: #006633;">canExecute</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color: #003399; font-weight: bold;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>Can Read :&quot;</span>+fin.<span style="color: #006633;">canRead</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color: #003399; font-weight: bold;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;File Path:&quot;</span>+fin.<span style="color: #006633;">getAbsolutePath</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></code></div><br /></div><br />
در ابتدای تعریف کلاس دو شی ایجاد می نماییم. یکی filename و دیگر fin. <br />
یک شی به نام fin از نوع File تعریف شده تا با استفاده از آن به فایل در محل اشاره شده، دسترسی داشته باشیم.<br />
یک در سازنده تعریف شده یک مسیر فایل به همراه نام فایل از کاربر گرفته می شود. در سازنده نام آن به یک شی به نام filename انتساب می یابد. با این انتساب و تعریف متغیر فوق به صورت خصوصی، می توان در جای جای برنامه با این نام متغیر دسترسی داشت. <br />
بعد از انتساب مقادیر، نوبت به بکارگیر آنهاست. در بخش Prop() یک متد  تعریف شده در کلاس است. وظیفه ی آن چاپ مشخصات فایلی است که مسیر آن داده شده.<br />
<br />
</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[مقاله آموزش PHP]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=34</link>
			<pubDate>Sun, 18 Jul 2010 18:06:03 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=34</guid>
			<description><![CDATA[سيلام برو بچ<br />
يه مقاله آموزش PHP واستون گذاشتم به شرط تشكررررررر<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />يادتون نره<img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><br />
خواستين بگيد دوباره بزارم.<br />
اينقدر مقالات من زياده.<br />
جور وا جور دارم.<br />
<br />
<a href="http://www.persiangig.com/pages/download/?dl=http://jiros.persiangig.com/Learn/Learn-PHP.rar" target="_blank">دانلود</a>]]></description>
			<content:encoded><![CDATA[سيلام برو بچ<br />
يه مقاله آموزش PHP واستون گذاشتم به شرط تشكررررررر<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />يادتون نره<img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><br />
خواستين بگيد دوباره بزارم.<br />
اينقدر مقالات من زياده.<br />
جور وا جور دارم.<br />
<br />
<a href="http://www.persiangig.com/pages/download/?dl=http://jiros.persiangig.com/Learn/Learn-PHP.rar" target="_blank">دانلود</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[مقاله آموزش ASP.NET]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=33</link>
			<pubDate>Sun, 18 Jul 2010 18:01:46 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=33</guid>
			<description><![CDATA[سلام<br />
امروز واستون يك مقاله آموزش ASP.NET گذاشتم.<br />
اميدوارم خشتون بياد.<br />
اگر خواستيد بگيد تا دباره بزارم.<br />
زياد دارم<img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><br />
<br />
<a href="http://www.persiangig.com/pages/download/?dl=http://jiros.persiangig.com/Learn/ASP.NET.rar" target="_blank">دانلود مقاله از پرشين گيگ</a>]]></description>
			<content:encoded><![CDATA[سلام<br />
امروز واستون يك مقاله آموزش ASP.NET گذاشتم.<br />
اميدوارم خشتون بياد.<br />
اگر خواستيد بگيد تا دباره بزارم.<br />
زياد دارم<img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><br />
<br />
<a href="http://www.persiangig.com/pages/download/?dl=http://jiros.persiangig.com/Learn/ASP.NET.rar" target="_blank">دانلود مقاله از پرشين گيگ</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[جاوا را بهتر بشناسیم]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=32</link>
			<pubDate>Sun, 18 Jul 2010 17:56:46 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=32</guid>
			<description><![CDATA[چرا جاوا زباني جالب است ؟<br />
<br />
در يكي از مقالات در باره ي زبان شركتSun جاوا را با اين خصوصيات شرح مي دهد :<br />
جاوا يك زبان ساده ، شي گرا ،‌توزيع شده ، تفسير شده ، قدرتمند ، ايمن ، با معماري خنثي ، قابل حمل ، با عملكرد سطح بالا چند نخ كشي شده و پويا است .<br />
Sun تصديق ميكند كه به طور قطع اين كلمات رشته هايي از واژه هاي متداول در زبان برنامه نويسي هستند ، اما حقيقت اين است كه اين واژه ها به طور ماهرانه اي خصوصيات اين زبان را شرح ميدهند .<br />
حال به برخي از خصلت هاي جاوا در پشت اين واژه ها ميپردازيم .<br />
<br />
شي گرا :Object Oriented<br />
<br />
جاوا يك زبان برنامه نويسي شي گرا است . براي يك برنامه نويس اين به اين معنا است كه به جاي فكر كردن به قسمت هاي رويه برنامه ، بايد به كاربرد داده ها و روش هايي كه روي آن داده ها عمل ميكنند ، توجه شود.<br />
اگر شما به برنامه نويسي با اعلان رويه در C عادت كرده ايد ،ممكن است دريابيد كه به هنگام استفاده از جاوا مجبور به تغيير در روش و چگونگي برنامه تان هستيد . هنگامي كه فهميديد اين الگوي جديد چقدر قدرتمند است ، به سرعت با آن هماهنگ ميشويد .<br />
در يك سيستم شي گرا ، يك كلاس مجموعه اي از داده ها و روش هايي است كه روي آن داده عمل ميكنند. همراه بودن داده ها و متد ها رفتار و حالت يك شي را بيان مي دارد . كلاس ها به صورت سلسله مراتبي مرتب شده اند ، بنابر اين يك زير كلاس ميتواند رفتار هايي را از كلاس بالاتر به ارث ببرد . يك كلاس سلسله مراتبي هميشه يك كلاس ريشه دارد كه كلاسي است با رفتار هاي كاملا عمومي .<br />
جاوا به همراه دسته ي گسترده اي از كلاس هايي است كه در بسته هايي مرتب شده اند و شما مي توانيد از آنها در برنامه ي خود استفاده كنيد . براي مثال جاوا كلاس هايي را ايجاد ميكند كه :<br />
بخش هاي رابط گرافيكي را ميسازند (the java.awt package) ،كلاس هايي كه عمليات ورودي و خروجي را به عهده دارند(the java.io package) و كلاس هايي كه از شبكه پشتيباني ميكنند (the java.net package ) .<br />
يك شي كلاس(in the java.lang package) به عنوان ريشه كلاس سلسله مراتبي جاوا انجام وظيفه ميكند .<br />
جاوا بر خلاف C طوري طراحي شده است كه از همان ابتدا به صورت شي گرا باشد . اكثر چيز ها در جاوا اشيا هستند . ارقام ابتدايي ، كاراكترها و مدل هاي منطقي تنها استثناء ها هستند . حتي رشته ها هم در جاوا به وسيله اشيا حاضر ميشوند ،همان طور كه ساختمان هاي مهم ديگر اين زبان ، مثل نخ ها احضار ميشوند . يك كلاس يك واحد پايه براي كامپايل و اجرا شدن در جاوا است . تمام برنامه هاي جاوا متشكل از كلاس ها است .<br />
درست است كه جاوا طوري طراحي شده است كه مثل C باشد و خاصيت هاي آن را داشته باشد ، اما هنگامي كه با آن كار كنيد خواهيد فهميد كه بسياري از پيچيده گي هاي آن زبان را از بين برده است .<br />
اگر شما يك برنامه نويس C هستيد حتما لازم است كه ساختار هاي شي گرايي در جاوا را به دقت مطالعه كنيد . اگرچه تركيب و نحوه دستورات آن تقريبا شبيه C است ،‌اما رفتار هاي آن خيلي مشابه نيست .<br />
<br />
<br />
<br />
تفسير شده :Interpreted<br />
<br />
جاوا يك زبان تفسير شده است . كامپايلر جاوا به جاي ايجاد كد محلي ماشين ، كد بايتي براي ماشين مجازي جاوا ايجاد ميكند . براي اجراي دقيق برنامه ، از مفسر جاوا براي اجراي كد هاي بايتي كامپايل شده استفاده ميشود . به دليل اينكه كد هاي بايتي جاوا به نوع كامپيوتر بستگي ندارند ، برنامه هاي جاوا ميتوانند روي هر نوع كامپيوتري كه JVM(Java Virtual Machine) را دارند ، اجرا شوند .<br />
در محيط تفسير شده ، مرحله لينك استاندارد توسعه برنامه از ديد كاربر پنهان است . اگر جاوا تنها يك مرحله لينك داشت ، فقط بارگذاري كلاس جديد به محيط پردازش ميشد كه يك پردازش نموي سبك وزن است كه در زمان اجرا مشاهده ميشود . كه اين خصوصيت با چرخه كامپايل-لينك-اجرا ي آرام و طاقت فرساي زبان هايي مانند C يا C در تضاد است .<br />
<br />
<br />
<br />
معماري خنثي و قابل حمل :<br />
Architecture Neutral and Portable<br />
<br />
به دليل اينكه برنامه هاي جاوا در فرمت كد بايتي با معماري خنثي كامپايل شده اند ، برنامه كاربردي جاوا ميتواند در هر سيستمي اجرا شود.<br />
البته با اين شرط كه آن سيستم توانايي پياده سازي ماشين مجازي جاوا را داشته باشد . اين مسئله تقريبا براي كاربرد هاي توزيع سده روي اينترنت و يا ديگر شبكه هاي ناهمگن مهم است . اما روش معماري خنثي براي كاربرد هاي بر مبناي شبكه مفيد است .<br />
به عنوان يك توسعه دهنده برنامه هاي كاربردي در بازار نرم افزاري امروز ممكن است بخواهيد مدل هاي كاربردي خود را توسعه دهيد ، به طوري كه بتواند روي Pc ، مكينتاش و سيستم عامل Unix اجرا شود .با وجود گونه هاي مختلف Unix ، Windows روي Pc و مكينتاش قوي جديد ، رفته رفته توليد نرم افزار براي همه انواع اين كامپيوتر ها سخت مي شود . اگر شما برنامه تان را در جاوا بنويسيد ميتواند روي همه ي اين كامپيوترها اجرا شود .<br />
در حقيقت تفسير شده بودن جاوا وتعريف يك استاندارد ، معماري خنثي داشتن و فورمت كد بايتي آن از بزرگترين دلايل قابل حمل بودن آن به شمار مي آيند .<br />
اما جاوا باز از اين هم بيشتر گام برميدارد ،‌ با اطمينان حاصل كردن از اينكه هيچيك از جنبه هاي وابستگي اجرايي زبان را ندارد . براي مثال جاوا به طور صريح اندازه هريك از انواع داده را تعريف ميكند كه اين با C تفاوت دارد ، براي مثال هريک از انواع صحيح مي تواند بسته به نوع کامپيوتر16-32 يا 64 بيت طول داشته باشد .<br />
هنگامي که به صورت تکنيکي امکان نوشتن برنامه هاي غير قابل حمل در جاوا فراهم شد ، جلوگيري از چند خاصيت وابسته به نوع کامپيوتر که توسط جاوا API توليد شده و به طور قطع قابل حمل نوشته شده است ، آسان است .<br />
يك برنامه جاوا به توليد كنندگان نرم افزار كمك ميكند تا از قابل حمل بودن كد هايشان اطمينان حاصل كنند . برنامه نويسان فقط براي پرهيز از دام غير قابل حمل بودن برنامه احتياج به يك تلاش ساده دارند كه شعار تجارتي شركتSun را زنده نگهدارند و آن شعار اين است :<br />
« يك بار بنويس ، همه جا اجرا كن » .<br />
<br />
<br />
<br />
پويا و توزيع شده :Dynamic and Distributed<br />
<br />
جاوا يك زبان پويا است . هر كلاس جاوا ميتواند در هر زماني روي مفسر جاوا بارگذاري شود . سپس اين كلاس هاي بارگذاري شده ي پويا ميتوانند به صورت پويا معرفي شوند . حتي كتابخانه كد هاي محلي ميتواند به طور پويا بارگذاري شود .كلاس ها در جاوا با كلاس Class فراخواني ميشوند ؛ شما ميتوانيد به طور پويا در مورد يك كلاس در زمان اجرا اطلاعاتي بدست بياوريد . اين خصوصيت در جاوا 1-1 به طور درستي موجود است . با وجود بازتاب API اضافه شده (Application Program Interface ) كه به برنامه ساز امكان ميدهد كه با برنامه از طريق يك برنامه كاربردي ديگر ارتباط برقرار كند .<br />
جاوا حتي با نام زبان توزيع شده نيز خوانده ميشود . به طور ساده اين به اين معنا است كه اين زبان پشتيباني سطح بالايي براي شبكه به وجود مي آورد . براي مثال كلاس URL و كلاس هاي مرتبط با آن در بسته ي Java.net ، خواندن فايل هاي دوردست را به همان سادگي خواندن فايل هاي محلي كرده است . به طور مشابه در جاوا 1-1 ، احضار روش كنترلي RMI<br />
(Remote Method Invocation ) ، API به يك برنامه جاوا اجازه ميدهد كه روش هايي از اشياء دور دست جاوا را به همان صورتي كه اگر آن اشياء محلي بدند آنها را ميخواند ، بخواند .( جاوا حتي از سيستم شبكه اي سطح پايين كه شامل آدرس مقصد و مسير جرياني كه توسط سوكت ها متصل شده است ، نيز پشتيباني ميكند .)<br />
طبيعت توزيع شده ي جاوا زمانيكه با امكانات پوياي بارگذاري كلاس همراه ميشود ، واقعا درخشنده است . اين خصوصيات با هم اين امكان را براي مفسر جاوا به وجود مي آورند كه كد ها را از اينترنت بارگذاري و اجرا كند . ( همان طور كه بعدا خواهيم ديد جاوا باعث ميشود كه با وجود ابزار قدرتمند و ايمن اين كار به طور مطمئن انجام شود .) اين چيزي است كه در هنگام بارگذاري و اجراي يك برنامه كاربردي از اينترنت توسط مرورگر وب ، اتفاق مي افتد . اما داستان پيچيده تر از اين هم ميتواند باشد . تصور كنيد يك پردازشگر كلمه چند رسانه اي در جاوا نوشته شده است . وقتي از اين برنامه پرسيده ميشود كه چند نوع از داده هايي را كه قبلا هرگز وارد نشده را نمايش دهد ، ممكن است به طور ديناميكي يك كلاس را كه ميتواند داده را شناسايي كند ، از شبكه بارگذاري كند و بعد كلاس ديگري را كه بتواند داده را از درون يك پوشه تركيبي بخواند ، باز به طور ديناميكي بارگذاري ميكند . برنامه اي مانند اين از منابع توزيع شده در شبكه براي رشد و سازگاري خودكار كاربران استفاده ميكند .<br />
<br />
<br />
<br />
<br />
ساده :Simple<br />
<br />
جاوا يك زبان ساده است . طراحان جاوا سعي در اين داشتند تا زباني بوجود بياورند كه برنامه نويسان بتوانند به سرعت آن را ياد بگيرند . بنابراين تعداد ساختار هاي اين زبان تقريبا كم است . هدف ديگر طراحي اين زبان اين بود كه به منظور راحتي انتقال آن ، آن را طوري طراحي كنند كه براي عده ي زيادي از برنامه نويسان آشنا باشد . اگر شما يك برنامه نويس C يا C هستيد ، خواهيد فهميد كه جاوا از بسياري از ساختار هاي C و ‍ C استفاده ميكند .<br />
براي اينكه اين زبان را هم به طور ساده و هم آشنا و ملموس و هم كوچك نگه دارند بسياري از خصوصيات C و C را در آن حذف كردند . اينها خصوصياتي بودند كه باعث مي شدند برنامه نويسي ضعيفي صورت بگيرد يا آنهايي بودند كه به ندرت در برنامه استفاده مي شدند . براي مثال جاوا از دستور goto استفاده نمي كند ، در عوض از دستورهايbreak , continue در مواقع نياز استفاده مي كند .<br />
جاوا از سر فايل ها(header files) استفاده نمي كند و پردازشگر C را هم حذف كرده است . به اين دليل كه جاوا يك زبان شي گرا است ، ساختار هاي C مثل struct , union از آن برداشته شده است . جاوا حتي بارگذاري مجدد و خواص چندگانه ارث بري از C را هم حذف كرده است . شايد مهمترين پارامتر ساده بودن جاوا عدم استفاده اين زبان از اشاره گر ها باشد . اشاره گر ها يكي از بيشترين موجوديت هاي دردسرساز در C , C هستند . چون جاوا ساختمان ندارد و آرايه ها و رشته ها اشياء آن هستند ، بنابراين احتياجي به اشاره گر نيست .جاوا به طور خودكار آدرس دهي و دستذسي به محتواي موجود در يك آدرس را براي شما انجام ميدهد .<br />
جاوا حتي زباله هاي حافظه اي را هم به طور خودكار جمع آوري ميكند .(Garbage Collectin) (* جمع آوري آشغال فرايندي است براي ترميم خودكار حافظه انباشته شده . بلوك هايي از حافظه كه زماني به فايل ها اختصاص داشتند اما مدتي است كه از آنها استفاده نمي شود و بلوك هايي از حافظه كه هنوز مورد استفاده قرار ميگيرند ممكن است حركت داده شوند تا از به هم پيوستن فضاهاي خالي حافظه بلوك هاي خالي بزرگتري بدست آيد .<br />
[ از كتاب : Microsoft computer dictionary&#93; * ) بنابراين لازم نيست كه نسبت به موضوع مديريت حافظه نگران باشيد ، همه اينها شما را از نگراني در مورد اشاره گر هاي بي ارزش ، خطرناك و هرز هاي حافظه رها ميكنند . بنابر اين شما ميتوانيد وقت خود را صرف بهبود برنامه تان كنيد .<br />
<br />
<br />
<br />
قدرتمند :Robust<br />
جاوا براي نوشتن نرم افزارهاي قدرتمند و بسيار ايمن ساخته شده است . جاوا هنوز هم به طور قطع نرم افزار ها را تضمين نميكند . تقريبا هنوز هم امكان نوشتن برنامه هاي مشكل ساز در جاوا وجود دارد ، هرچند كه جاوا برخي از انواع مشخص خطاهاي برنامه نويسي را حذف كرده كه به طرز چشمگيري نوشتن نرم افزار هاي ايمن را آسان تر كرده است .<br />
جاوا يك زبان تايپ شده قدرتمند است ،‌ كه اجازه چك شدن مشكلات و خطاهاي تايپي را در زمان كامپايل مي دهد . جاوا بسيار قويتر از C تايپ شده است كه بسياري از خصوصيات انعطاف پذير در زمان كامپايل را از C به ارث برده است . مخصوصا هنگام اعلان توابع .جاوا به مدل اعلان صريح احتياج دارد ، زيرا كه از مدل اعلان صريح C پشتيباني نميكند . اين مسئله مارا از اينكه كامپايلر ميتواند خطاهاي زمان اعلان را بدست آورد ، مطمئن ميكند . مسئله اي كه منجر به ايجاد برنامه هاي ايمن تري ميشود .<br />
يكي از چيزهايي كه باعث شده كه جاوا ساده باشد عدم وجود اشاره گر ها ومحاسبات بر روي آنها است . اين ويژگي حتي قدرت جاوا را هم با از ميان بردن يك كلاس سراسري اشاره گر افزايش ميدهد .<br />
به طور مشابه تمام دسترسي به آرايه ها و رشته ها در زمان اجرا چك مي شوند تا از قطعي بودن آنها اطمينان حاصل شود .با از بين بردن امكان دوباره نويسي حافظه و داده هاي هرزه ، تعويض نقش اشياء از نوعي به نوع ديگر هم در زمان اجرا كنترل ميشود تا از مجاز بودن آن اطمينان حاصل شود .<br />
سرانجام زباله جمع كن خودكار جاوا بسياري از عمليات پاكسازي مرتبط با معماري حافظه را راه اندازي ميكند . چيزي كه از خطاهاي خطر ساز مرتبط با تخصيص و آزاد سازي حافظه جلوگيري ميكند .<br />
<br />
<br />
<br />
ايمن : Secure<br />
<br />
يكي از دلايل پرطرفدار بودن جاوا اين است كه يك زبان ايمن است . اين ويژگي مخصوصا به خاطر طبيعت توزيع شده ي آن بسيار مهم است .بدون وجود امنيت شما قطعا نميخواهيد كه يك كد را از يك سايت تصادفي اينترنت بارگذاري كنيد و به آن اجازه اجرا شدن روي كامپيوتر خودتان را هم بدهيد . اين دقيقا همان چيزي است كه مردم هرروز با يك كد جاوا انجام ميدهند . جاوا به صورت ايمن طراحي شده و چندين لايه كنترل امنيت به وجود مي آورد كه شما را در برابر كد هاي خطرساز محافظت مي كنند و به كاربر اجازه ميدهد كه برنامه هاي ناشناخته را با خيال راحت اجرا كند .<br />
همان طور كه ديديم ، برنامه جاوا نميتواند اشاره گر ها را به حافظه يا آرايه هاي سرريز يا حافظه خواندني خارج از محدوده يك آرايه يا رشته اشاره ، اشاره دهد. اين خصوصيت يكي از اصلي ترين وسايل دفاع جاوا در برابر كدهاي خطرساز است . دومين راه دفاع در برابر كد هاي خطرساز ، پردازش كدهاي بايتي به صورت قابل تصديق و تاييد است كه مفسر جاوا به روي هر كدي كه در حال بار گذاري باشد اعمال ميكند . اين مراحل تاييد از اينكه كد به صورت درستي ساخته شده اطمينان حاصل ميكنند ، كه براي مثال پشته سرريزي يا زيرريزي نداشته باشد ، يا شامل كد هاي بايتي غير مجاز نباشد .<br />
كدهاي بايتي خراب يا خطرساز ممكن است از ضعف هاي اجرايي در مفسر جاوا سوء‌ استفاده كنند . لايه اي كه در اينجا ما را به طور ايمن محافظت ميكند ، مدل جعبه شني (Sand box) است : كدهاي ناشناخته در يك جعبه شني قرار ميگيرند جايي كه ميتوانند به صورت ايمن اجرا شوند ، بدون اينكه هيچ صدمه اي به بقيه اجزاء يا محيط جاوا بزنند .<br />
وقتي يك برنامه كاربردي يا ديگر كدهاي ناشناخته در جعبه شني در حال اجرا است ،‌ چند محدوديت در مورد كاري كه ميتواند انجام دهد ، وجود دارد . واضح ترين اين محدوديت ها اين است كه هيچ دسترسي به هيچ يك از فايل هاي محلي سيستم وجود ندارد . در جعبه شني محدوديت ديگري هم وجود دارد كه به وسيله كلاس مديريت امنيت اعمال ميشود . اين مدل در ابتدا از اينكه سيستم هاي امنيتي را نصب كرده ايد يا نه ، مطمئن ميشود ، چرا كه همه كلاس هاي جاوا نياز به عمليات حساسي مانند دسترسي به سيستم فايل را دارند . اگر فراخواني به وسيله يك كد ناشناخته به صورت مستقيم يا غير مستقيم انجام شد ،‌ مدير امنيت مورد استثناء‌ را مي فرستد و عمليات صورت نمي گيرد .<br />
و سرانجام در جاوا 1-1 يك راه حل ممكن ديگر براي مشكلات امنيتي وجود دارد ، به وسيله ضميمه كردن يك امضاء ديجيتالي به كد جاوا كه اصل آن كد ميتواند به صورت پنهاني و نهفته ساخته شود . اگر شما اعتماد خود را به يك شخص يا يك سازمان مشخص كرده باشيد ، كدي كه امضاء آن هويت مورد اعتماد روي آن قرار دارد ،‌ ايمن و مطمئن است . حتي زمانيكه در حال بارگذاري شدن در شبكه است و ممكن است حتي بدون جلوگيري توسط جعبه شني اجرا شود .<br />
<br />
عملكرد سطح بالا :High Performance<br />
جاوا يك زبان تفسير شده است ، بنابر اين هرگز به سرعت زبان كامپايل شده اي مثل C نخواهد بود . گفته ميشود كه جاوا 0-1 به اندازه 20 برابر از C كند تر است . جاوا 1-1 تقريبا سرعتي دو برابر جاوا 1-1 دارد . بنابراين ممكن است عاقلانه باشد اينكه بگوييم كد C كامپايل شده 10 برابر سريع تر از كد هاي تفسير شده ي جاوا اجرا ميشود . اما قبل از اينكه به خاطر اين موضوع مايوس شويد ، آگاه باشيد كه اين سرعت بيشتر از آن چيزي است كه براي برنامه هاي پرسرعت ، كاربردهاي GUI(Graphical User Interface ) ، برنامه هاي برمبناي شبكه ، جايي كه برنامه كاربردي معمولا آماده براي اجرا شدن است ، انتظار براي كاربر كه يك دستوري اعمال كند و يا انتظار براي دريافت از شبكه ، لازم است .<br />
به علاوه قسمت هايي كه به سرعت هاي بالا نياز دارند ، كه كارهايي از قبيل الحاق رشته ها و مقايسه را انجام ميدهند ، با كد محلي جاوا اجرا ميشوند .<br />
علاوه بر اين كارايي ، بسياري از مفسر هاي جاوا اكنون شامل كامپايلر هاي فقط در زمان " just in time " نيز هستند كه ميتواند كدهاي بايتي جاوا را براي هر نوعCPU در زمان اجرا به كد ماشين ترجمه كند . فرمت كد بايتي جاوا با اين كامپايلر هاي در زمان در مركز كافي و مناسب است و انصافا كدهاي خوبي توليد ميكند . در حقيقت Sun ادعا ميكند كه كارايي كد هاي بايتي كه به كد ماشين تبديل شده اند ، تقريبا به خوبي كارآيي آن در C و C است .<br />
اگر شما خواهان اين هستيد كه قابل حمل بودن كد ها را قرباني بهبود در سرعت آن كنيد ، ميتوانيد بخش قابل توجهي از برنامه خود را در C و C بنويسيد و از روش هاي مخصوص جاوا براي مشترك كردن با اين كد محلي جاوا استفاده كنيد .<br />
<br />
<br />
چند نخ كشي شده :Multi threaded<br />
<br />
در يك برنامه كاربردي بر مبناي GUI شبكه اي ، مثل مرورگر وب ، تصور اينكه چند چيز بتوانند به طور همزمان اجرا شوند ، آسان است . يك كاربر ميتواند همزمان با اينكه دارد يك صفحه وب را ميخواند به يك كليپ صوتي گوش دهد و همزمان در پس زمينه مرورگر يك عكس را بارگذاري كند .<br />
جاوا يك زبان چندنخ كشي شده است ، كه از چندين رشته اجرايي (گاهي پردازش سبك وزن خوانده ميشود) پشتيباني ميكند و ميتواند چندين كار را انجام دهد . يكي از مزيت هاي چندنخ كشي شده اين است كه عملكرد سطح بالايي براي كاربردهاي گرافيكي براي كاربر فراهم ميكند .<br />
اگر شما سعي كرده ايد كه با نخ ها در C و C كار كنيد ، ميدانيد كه كمي مشكل است . جاوا برنامه نويسي با نخ ها را بسيار آسان تر كرده است ، با به وجود آوردن زبان درون ساخته شده اي كه از نخ ها پشتيباني ميكند . بسته jana.lang يك كلاس بوجود آورده است كه از روش هايي براي شروع و پايان يك نخ ، و مرتب كردن ترتيب گره ها در ميان چيز هاي ديگر ، پشتيباني ميكند .<br />
حتي دستورات زبان جاوا از نخ ها پشتيباني ميكنند ، كه با استفاده از كلمات كليدي مطابق شده . اين كلمات كليدي علامت گذاري بخش هاي كد يا تمامي روش هايي را كه بايد فقط با يك نخ در يك زمان اجرا شوند را به شدت آسان كرده است .<br />
به دليل اينكه جاوا استفاده از نخ ها را بسيار ساده ميكند ، كلاس جاوا در شماري از جاها از اين نخ ها استفاده ميكند . براي مثال هر برنامه كاربردي كه انيميشن اجرا ميكند ، از نخ ها استفاده كرده است .<br />
به طور مشابه جاوا از برنامه هاي نا همگام ، ورودي ها و خروجي هاي بلاك نشده با اخطاري به وسيله سيگنال ها يا وقفه ها پشتيباني نميكند ، در اين صورت شما بايد يك نخ بسازيد كه روي هر كانال ورودي خروجي كه با آن كار ميكنيد بلاك شده باشد .]]></description>
			<content:encoded><![CDATA[چرا جاوا زباني جالب است ؟<br />
<br />
در يكي از مقالات در باره ي زبان شركتSun جاوا را با اين خصوصيات شرح مي دهد :<br />
جاوا يك زبان ساده ، شي گرا ،‌توزيع شده ، تفسير شده ، قدرتمند ، ايمن ، با معماري خنثي ، قابل حمل ، با عملكرد سطح بالا چند نخ كشي شده و پويا است .<br />
Sun تصديق ميكند كه به طور قطع اين كلمات رشته هايي از واژه هاي متداول در زبان برنامه نويسي هستند ، اما حقيقت اين است كه اين واژه ها به طور ماهرانه اي خصوصيات اين زبان را شرح ميدهند .<br />
حال به برخي از خصلت هاي جاوا در پشت اين واژه ها ميپردازيم .<br />
<br />
شي گرا :Object Oriented<br />
<br />
جاوا يك زبان برنامه نويسي شي گرا است . براي يك برنامه نويس اين به اين معنا است كه به جاي فكر كردن به قسمت هاي رويه برنامه ، بايد به كاربرد داده ها و روش هايي كه روي آن داده ها عمل ميكنند ، توجه شود.<br />
اگر شما به برنامه نويسي با اعلان رويه در C عادت كرده ايد ،ممكن است دريابيد كه به هنگام استفاده از جاوا مجبور به تغيير در روش و چگونگي برنامه تان هستيد . هنگامي كه فهميديد اين الگوي جديد چقدر قدرتمند است ، به سرعت با آن هماهنگ ميشويد .<br />
در يك سيستم شي گرا ، يك كلاس مجموعه اي از داده ها و روش هايي است كه روي آن داده عمل ميكنند. همراه بودن داده ها و متد ها رفتار و حالت يك شي را بيان مي دارد . كلاس ها به صورت سلسله مراتبي مرتب شده اند ، بنابر اين يك زير كلاس ميتواند رفتار هايي را از كلاس بالاتر به ارث ببرد . يك كلاس سلسله مراتبي هميشه يك كلاس ريشه دارد كه كلاسي است با رفتار هاي كاملا عمومي .<br />
جاوا به همراه دسته ي گسترده اي از كلاس هايي است كه در بسته هايي مرتب شده اند و شما مي توانيد از آنها در برنامه ي خود استفاده كنيد . براي مثال جاوا كلاس هايي را ايجاد ميكند كه :<br />
بخش هاي رابط گرافيكي را ميسازند (the java.awt package) ،كلاس هايي كه عمليات ورودي و خروجي را به عهده دارند(the java.io package) و كلاس هايي كه از شبكه پشتيباني ميكنند (the java.net package ) .<br />
يك شي كلاس(in the java.lang package) به عنوان ريشه كلاس سلسله مراتبي جاوا انجام وظيفه ميكند .<br />
جاوا بر خلاف C طوري طراحي شده است كه از همان ابتدا به صورت شي گرا باشد . اكثر چيز ها در جاوا اشيا هستند . ارقام ابتدايي ، كاراكترها و مدل هاي منطقي تنها استثناء ها هستند . حتي رشته ها هم در جاوا به وسيله اشيا حاضر ميشوند ،همان طور كه ساختمان هاي مهم ديگر اين زبان ، مثل نخ ها احضار ميشوند . يك كلاس يك واحد پايه براي كامپايل و اجرا شدن در جاوا است . تمام برنامه هاي جاوا متشكل از كلاس ها است .<br />
درست است كه جاوا طوري طراحي شده است كه مثل C باشد و خاصيت هاي آن را داشته باشد ، اما هنگامي كه با آن كار كنيد خواهيد فهميد كه بسياري از پيچيده گي هاي آن زبان را از بين برده است .<br />
اگر شما يك برنامه نويس C هستيد حتما لازم است كه ساختار هاي شي گرايي در جاوا را به دقت مطالعه كنيد . اگرچه تركيب و نحوه دستورات آن تقريبا شبيه C است ،‌اما رفتار هاي آن خيلي مشابه نيست .<br />
<br />
<br />
<br />
تفسير شده :Interpreted<br />
<br />
جاوا يك زبان تفسير شده است . كامپايلر جاوا به جاي ايجاد كد محلي ماشين ، كد بايتي براي ماشين مجازي جاوا ايجاد ميكند . براي اجراي دقيق برنامه ، از مفسر جاوا براي اجراي كد هاي بايتي كامپايل شده استفاده ميشود . به دليل اينكه كد هاي بايتي جاوا به نوع كامپيوتر بستگي ندارند ، برنامه هاي جاوا ميتوانند روي هر نوع كامپيوتري كه JVM(Java Virtual Machine) را دارند ، اجرا شوند .<br />
در محيط تفسير شده ، مرحله لينك استاندارد توسعه برنامه از ديد كاربر پنهان است . اگر جاوا تنها يك مرحله لينك داشت ، فقط بارگذاري كلاس جديد به محيط پردازش ميشد كه يك پردازش نموي سبك وزن است كه در زمان اجرا مشاهده ميشود . كه اين خصوصيت با چرخه كامپايل-لينك-اجرا ي آرام و طاقت فرساي زبان هايي مانند C يا C در تضاد است .<br />
<br />
<br />
<br />
معماري خنثي و قابل حمل :<br />
Architecture Neutral and Portable<br />
<br />
به دليل اينكه برنامه هاي جاوا در فرمت كد بايتي با معماري خنثي كامپايل شده اند ، برنامه كاربردي جاوا ميتواند در هر سيستمي اجرا شود.<br />
البته با اين شرط كه آن سيستم توانايي پياده سازي ماشين مجازي جاوا را داشته باشد . اين مسئله تقريبا براي كاربرد هاي توزيع سده روي اينترنت و يا ديگر شبكه هاي ناهمگن مهم است . اما روش معماري خنثي براي كاربرد هاي بر مبناي شبكه مفيد است .<br />
به عنوان يك توسعه دهنده برنامه هاي كاربردي در بازار نرم افزاري امروز ممكن است بخواهيد مدل هاي كاربردي خود را توسعه دهيد ، به طوري كه بتواند روي Pc ، مكينتاش و سيستم عامل Unix اجرا شود .با وجود گونه هاي مختلف Unix ، Windows روي Pc و مكينتاش قوي جديد ، رفته رفته توليد نرم افزار براي همه انواع اين كامپيوتر ها سخت مي شود . اگر شما برنامه تان را در جاوا بنويسيد ميتواند روي همه ي اين كامپيوترها اجرا شود .<br />
در حقيقت تفسير شده بودن جاوا وتعريف يك استاندارد ، معماري خنثي داشتن و فورمت كد بايتي آن از بزرگترين دلايل قابل حمل بودن آن به شمار مي آيند .<br />
اما جاوا باز از اين هم بيشتر گام برميدارد ،‌ با اطمينان حاصل كردن از اينكه هيچيك از جنبه هاي وابستگي اجرايي زبان را ندارد . براي مثال جاوا به طور صريح اندازه هريك از انواع داده را تعريف ميكند كه اين با C تفاوت دارد ، براي مثال هريک از انواع صحيح مي تواند بسته به نوع کامپيوتر16-32 يا 64 بيت طول داشته باشد .<br />
هنگامي که به صورت تکنيکي امکان نوشتن برنامه هاي غير قابل حمل در جاوا فراهم شد ، جلوگيري از چند خاصيت وابسته به نوع کامپيوتر که توسط جاوا API توليد شده و به طور قطع قابل حمل نوشته شده است ، آسان است .<br />
يك برنامه جاوا به توليد كنندگان نرم افزار كمك ميكند تا از قابل حمل بودن كد هايشان اطمينان حاصل كنند . برنامه نويسان فقط براي پرهيز از دام غير قابل حمل بودن برنامه احتياج به يك تلاش ساده دارند كه شعار تجارتي شركتSun را زنده نگهدارند و آن شعار اين است :<br />
« يك بار بنويس ، همه جا اجرا كن » .<br />
<br />
<br />
<br />
پويا و توزيع شده :Dynamic and Distributed<br />
<br />
جاوا يك زبان پويا است . هر كلاس جاوا ميتواند در هر زماني روي مفسر جاوا بارگذاري شود . سپس اين كلاس هاي بارگذاري شده ي پويا ميتوانند به صورت پويا معرفي شوند . حتي كتابخانه كد هاي محلي ميتواند به طور پويا بارگذاري شود .كلاس ها در جاوا با كلاس Class فراخواني ميشوند ؛ شما ميتوانيد به طور پويا در مورد يك كلاس در زمان اجرا اطلاعاتي بدست بياوريد . اين خصوصيت در جاوا 1-1 به طور درستي موجود است . با وجود بازتاب API اضافه شده (Application Program Interface ) كه به برنامه ساز امكان ميدهد كه با برنامه از طريق يك برنامه كاربردي ديگر ارتباط برقرار كند .<br />
جاوا حتي با نام زبان توزيع شده نيز خوانده ميشود . به طور ساده اين به اين معنا است كه اين زبان پشتيباني سطح بالايي براي شبكه به وجود مي آورد . براي مثال كلاس URL و كلاس هاي مرتبط با آن در بسته ي Java.net ، خواندن فايل هاي دوردست را به همان سادگي خواندن فايل هاي محلي كرده است . به طور مشابه در جاوا 1-1 ، احضار روش كنترلي RMI<br />
(Remote Method Invocation ) ، API به يك برنامه جاوا اجازه ميدهد كه روش هايي از اشياء دور دست جاوا را به همان صورتي كه اگر آن اشياء محلي بدند آنها را ميخواند ، بخواند .( جاوا حتي از سيستم شبكه اي سطح پايين كه شامل آدرس مقصد و مسير جرياني كه توسط سوكت ها متصل شده است ، نيز پشتيباني ميكند .)<br />
طبيعت توزيع شده ي جاوا زمانيكه با امكانات پوياي بارگذاري كلاس همراه ميشود ، واقعا درخشنده است . اين خصوصيات با هم اين امكان را براي مفسر جاوا به وجود مي آورند كه كد ها را از اينترنت بارگذاري و اجرا كند . ( همان طور كه بعدا خواهيم ديد جاوا باعث ميشود كه با وجود ابزار قدرتمند و ايمن اين كار به طور مطمئن انجام شود .) اين چيزي است كه در هنگام بارگذاري و اجراي يك برنامه كاربردي از اينترنت توسط مرورگر وب ، اتفاق مي افتد . اما داستان پيچيده تر از اين هم ميتواند باشد . تصور كنيد يك پردازشگر كلمه چند رسانه اي در جاوا نوشته شده است . وقتي از اين برنامه پرسيده ميشود كه چند نوع از داده هايي را كه قبلا هرگز وارد نشده را نمايش دهد ، ممكن است به طور ديناميكي يك كلاس را كه ميتواند داده را شناسايي كند ، از شبكه بارگذاري كند و بعد كلاس ديگري را كه بتواند داده را از درون يك پوشه تركيبي بخواند ، باز به طور ديناميكي بارگذاري ميكند . برنامه اي مانند اين از منابع توزيع شده در شبكه براي رشد و سازگاري خودكار كاربران استفاده ميكند .<br />
<br />
<br />
<br />
<br />
ساده :Simple<br />
<br />
جاوا يك زبان ساده است . طراحان جاوا سعي در اين داشتند تا زباني بوجود بياورند كه برنامه نويسان بتوانند به سرعت آن را ياد بگيرند . بنابراين تعداد ساختار هاي اين زبان تقريبا كم است . هدف ديگر طراحي اين زبان اين بود كه به منظور راحتي انتقال آن ، آن را طوري طراحي كنند كه براي عده ي زيادي از برنامه نويسان آشنا باشد . اگر شما يك برنامه نويس C يا C هستيد ، خواهيد فهميد كه جاوا از بسياري از ساختار هاي C و ‍ C استفاده ميكند .<br />
براي اينكه اين زبان را هم به طور ساده و هم آشنا و ملموس و هم كوچك نگه دارند بسياري از خصوصيات C و C را در آن حذف كردند . اينها خصوصياتي بودند كه باعث مي شدند برنامه نويسي ضعيفي صورت بگيرد يا آنهايي بودند كه به ندرت در برنامه استفاده مي شدند . براي مثال جاوا از دستور goto استفاده نمي كند ، در عوض از دستورهايbreak , continue در مواقع نياز استفاده مي كند .<br />
جاوا از سر فايل ها(header files) استفاده نمي كند و پردازشگر C را هم حذف كرده است . به اين دليل كه جاوا يك زبان شي گرا است ، ساختار هاي C مثل struct , union از آن برداشته شده است . جاوا حتي بارگذاري مجدد و خواص چندگانه ارث بري از C را هم حذف كرده است . شايد مهمترين پارامتر ساده بودن جاوا عدم استفاده اين زبان از اشاره گر ها باشد . اشاره گر ها يكي از بيشترين موجوديت هاي دردسرساز در C , C هستند . چون جاوا ساختمان ندارد و آرايه ها و رشته ها اشياء آن هستند ، بنابراين احتياجي به اشاره گر نيست .جاوا به طور خودكار آدرس دهي و دستذسي به محتواي موجود در يك آدرس را براي شما انجام ميدهد .<br />
جاوا حتي زباله هاي حافظه اي را هم به طور خودكار جمع آوري ميكند .(Garbage Collectin) (* جمع آوري آشغال فرايندي است براي ترميم خودكار حافظه انباشته شده . بلوك هايي از حافظه كه زماني به فايل ها اختصاص داشتند اما مدتي است كه از آنها استفاده نمي شود و بلوك هايي از حافظه كه هنوز مورد استفاده قرار ميگيرند ممكن است حركت داده شوند تا از به هم پيوستن فضاهاي خالي حافظه بلوك هاي خالي بزرگتري بدست آيد .<br />
[ از كتاب : Microsoft computer dictionary] * ) بنابراين لازم نيست كه نسبت به موضوع مديريت حافظه نگران باشيد ، همه اينها شما را از نگراني در مورد اشاره گر هاي بي ارزش ، خطرناك و هرز هاي حافظه رها ميكنند . بنابر اين شما ميتوانيد وقت خود را صرف بهبود برنامه تان كنيد .<br />
<br />
<br />
<br />
قدرتمند :Robust<br />
جاوا براي نوشتن نرم افزارهاي قدرتمند و بسيار ايمن ساخته شده است . جاوا هنوز هم به طور قطع نرم افزار ها را تضمين نميكند . تقريبا هنوز هم امكان نوشتن برنامه هاي مشكل ساز در جاوا وجود دارد ، هرچند كه جاوا برخي از انواع مشخص خطاهاي برنامه نويسي را حذف كرده كه به طرز چشمگيري نوشتن نرم افزار هاي ايمن را آسان تر كرده است .<br />
جاوا يك زبان تايپ شده قدرتمند است ،‌ كه اجازه چك شدن مشكلات و خطاهاي تايپي را در زمان كامپايل مي دهد . جاوا بسيار قويتر از C تايپ شده است كه بسياري از خصوصيات انعطاف پذير در زمان كامپايل را از C به ارث برده است . مخصوصا هنگام اعلان توابع .جاوا به مدل اعلان صريح احتياج دارد ، زيرا كه از مدل اعلان صريح C پشتيباني نميكند . اين مسئله مارا از اينكه كامپايلر ميتواند خطاهاي زمان اعلان را بدست آورد ، مطمئن ميكند . مسئله اي كه منجر به ايجاد برنامه هاي ايمن تري ميشود .<br />
يكي از چيزهايي كه باعث شده كه جاوا ساده باشد عدم وجود اشاره گر ها ومحاسبات بر روي آنها است . اين ويژگي حتي قدرت جاوا را هم با از ميان بردن يك كلاس سراسري اشاره گر افزايش ميدهد .<br />
به طور مشابه تمام دسترسي به آرايه ها و رشته ها در زمان اجرا چك مي شوند تا از قطعي بودن آنها اطمينان حاصل شود .با از بين بردن امكان دوباره نويسي حافظه و داده هاي هرزه ، تعويض نقش اشياء از نوعي به نوع ديگر هم در زمان اجرا كنترل ميشود تا از مجاز بودن آن اطمينان حاصل شود .<br />
سرانجام زباله جمع كن خودكار جاوا بسياري از عمليات پاكسازي مرتبط با معماري حافظه را راه اندازي ميكند . چيزي كه از خطاهاي خطر ساز مرتبط با تخصيص و آزاد سازي حافظه جلوگيري ميكند .<br />
<br />
<br />
<br />
ايمن : Secure<br />
<br />
يكي از دلايل پرطرفدار بودن جاوا اين است كه يك زبان ايمن است . اين ويژگي مخصوصا به خاطر طبيعت توزيع شده ي آن بسيار مهم است .بدون وجود امنيت شما قطعا نميخواهيد كه يك كد را از يك سايت تصادفي اينترنت بارگذاري كنيد و به آن اجازه اجرا شدن روي كامپيوتر خودتان را هم بدهيد . اين دقيقا همان چيزي است كه مردم هرروز با يك كد جاوا انجام ميدهند . جاوا به صورت ايمن طراحي شده و چندين لايه كنترل امنيت به وجود مي آورد كه شما را در برابر كد هاي خطرساز محافظت مي كنند و به كاربر اجازه ميدهد كه برنامه هاي ناشناخته را با خيال راحت اجرا كند .<br />
همان طور كه ديديم ، برنامه جاوا نميتواند اشاره گر ها را به حافظه يا آرايه هاي سرريز يا حافظه خواندني خارج از محدوده يك آرايه يا رشته اشاره ، اشاره دهد. اين خصوصيت يكي از اصلي ترين وسايل دفاع جاوا در برابر كدهاي خطرساز است . دومين راه دفاع در برابر كد هاي خطرساز ، پردازش كدهاي بايتي به صورت قابل تصديق و تاييد است كه مفسر جاوا به روي هر كدي كه در حال بار گذاري باشد اعمال ميكند . اين مراحل تاييد از اينكه كد به صورت درستي ساخته شده اطمينان حاصل ميكنند ، كه براي مثال پشته سرريزي يا زيرريزي نداشته باشد ، يا شامل كد هاي بايتي غير مجاز نباشد .<br />
كدهاي بايتي خراب يا خطرساز ممكن است از ضعف هاي اجرايي در مفسر جاوا سوء‌ استفاده كنند . لايه اي كه در اينجا ما را به طور ايمن محافظت ميكند ، مدل جعبه شني (Sand box) است : كدهاي ناشناخته در يك جعبه شني قرار ميگيرند جايي كه ميتوانند به صورت ايمن اجرا شوند ، بدون اينكه هيچ صدمه اي به بقيه اجزاء يا محيط جاوا بزنند .<br />
وقتي يك برنامه كاربردي يا ديگر كدهاي ناشناخته در جعبه شني در حال اجرا است ،‌ چند محدوديت در مورد كاري كه ميتواند انجام دهد ، وجود دارد . واضح ترين اين محدوديت ها اين است كه هيچ دسترسي به هيچ يك از فايل هاي محلي سيستم وجود ندارد . در جعبه شني محدوديت ديگري هم وجود دارد كه به وسيله كلاس مديريت امنيت اعمال ميشود . اين مدل در ابتدا از اينكه سيستم هاي امنيتي را نصب كرده ايد يا نه ، مطمئن ميشود ، چرا كه همه كلاس هاي جاوا نياز به عمليات حساسي مانند دسترسي به سيستم فايل را دارند . اگر فراخواني به وسيله يك كد ناشناخته به صورت مستقيم يا غير مستقيم انجام شد ،‌ مدير امنيت مورد استثناء‌ را مي فرستد و عمليات صورت نمي گيرد .<br />
و سرانجام در جاوا 1-1 يك راه حل ممكن ديگر براي مشكلات امنيتي وجود دارد ، به وسيله ضميمه كردن يك امضاء ديجيتالي به كد جاوا كه اصل آن كد ميتواند به صورت پنهاني و نهفته ساخته شود . اگر شما اعتماد خود را به يك شخص يا يك سازمان مشخص كرده باشيد ، كدي كه امضاء آن هويت مورد اعتماد روي آن قرار دارد ،‌ ايمن و مطمئن است . حتي زمانيكه در حال بارگذاري شدن در شبكه است و ممكن است حتي بدون جلوگيري توسط جعبه شني اجرا شود .<br />
<br />
عملكرد سطح بالا :High Performance<br />
جاوا يك زبان تفسير شده است ، بنابر اين هرگز به سرعت زبان كامپايل شده اي مثل C نخواهد بود . گفته ميشود كه جاوا 0-1 به اندازه 20 برابر از C كند تر است . جاوا 1-1 تقريبا سرعتي دو برابر جاوا 1-1 دارد . بنابراين ممكن است عاقلانه باشد اينكه بگوييم كد C كامپايل شده 10 برابر سريع تر از كد هاي تفسير شده ي جاوا اجرا ميشود . اما قبل از اينكه به خاطر اين موضوع مايوس شويد ، آگاه باشيد كه اين سرعت بيشتر از آن چيزي است كه براي برنامه هاي پرسرعت ، كاربردهاي GUI(Graphical User Interface ) ، برنامه هاي برمبناي شبكه ، جايي كه برنامه كاربردي معمولا آماده براي اجرا شدن است ، انتظار براي كاربر كه يك دستوري اعمال كند و يا انتظار براي دريافت از شبكه ، لازم است .<br />
به علاوه قسمت هايي كه به سرعت هاي بالا نياز دارند ، كه كارهايي از قبيل الحاق رشته ها و مقايسه را انجام ميدهند ، با كد محلي جاوا اجرا ميشوند .<br />
علاوه بر اين كارايي ، بسياري از مفسر هاي جاوا اكنون شامل كامپايلر هاي فقط در زمان " just in time " نيز هستند كه ميتواند كدهاي بايتي جاوا را براي هر نوعCPU در زمان اجرا به كد ماشين ترجمه كند . فرمت كد بايتي جاوا با اين كامپايلر هاي در زمان در مركز كافي و مناسب است و انصافا كدهاي خوبي توليد ميكند . در حقيقت Sun ادعا ميكند كه كارايي كد هاي بايتي كه به كد ماشين تبديل شده اند ، تقريبا به خوبي كارآيي آن در C و C است .<br />
اگر شما خواهان اين هستيد كه قابل حمل بودن كد ها را قرباني بهبود در سرعت آن كنيد ، ميتوانيد بخش قابل توجهي از برنامه خود را در C و C بنويسيد و از روش هاي مخصوص جاوا براي مشترك كردن با اين كد محلي جاوا استفاده كنيد .<br />
<br />
<br />
چند نخ كشي شده :Multi threaded<br />
<br />
در يك برنامه كاربردي بر مبناي GUI شبكه اي ، مثل مرورگر وب ، تصور اينكه چند چيز بتوانند به طور همزمان اجرا شوند ، آسان است . يك كاربر ميتواند همزمان با اينكه دارد يك صفحه وب را ميخواند به يك كليپ صوتي گوش دهد و همزمان در پس زمينه مرورگر يك عكس را بارگذاري كند .<br />
جاوا يك زبان چندنخ كشي شده است ، كه از چندين رشته اجرايي (گاهي پردازش سبك وزن خوانده ميشود) پشتيباني ميكند و ميتواند چندين كار را انجام دهد . يكي از مزيت هاي چندنخ كشي شده اين است كه عملكرد سطح بالايي براي كاربردهاي گرافيكي براي كاربر فراهم ميكند .<br />
اگر شما سعي كرده ايد كه با نخ ها در C و C كار كنيد ، ميدانيد كه كمي مشكل است . جاوا برنامه نويسي با نخ ها را بسيار آسان تر كرده است ، با به وجود آوردن زبان درون ساخته شده اي كه از نخ ها پشتيباني ميكند . بسته jana.lang يك كلاس بوجود آورده است كه از روش هايي براي شروع و پايان يك نخ ، و مرتب كردن ترتيب گره ها در ميان چيز هاي ديگر ، پشتيباني ميكند .<br />
حتي دستورات زبان جاوا از نخ ها پشتيباني ميكنند ، كه با استفاده از كلمات كليدي مطابق شده . اين كلمات كليدي علامت گذاري بخش هاي كد يا تمامي روش هايي را كه بايد فقط با يك نخ در يك زمان اجرا شوند را به شدت آسان كرده است .<br />
به دليل اينكه جاوا استفاده از نخ ها را بسيار ساده ميكند ، كلاس جاوا در شماري از جاها از اين نخ ها استفاده ميكند . براي مثال هر برنامه كاربردي كه انيميشن اجرا ميكند ، از نخ ها استفاده كرده است .<br />
به طور مشابه جاوا از برنامه هاي نا همگام ، ورودي ها و خروجي هاي بلاك نشده با اخطاري به وسيله سيگنال ها يا وقفه ها پشتيباني نميكند ، در اين صورت شما بايد يك نخ بسازيد كه روي هر كانال ورودي خروجي كه با آن كار ميكنيد بلاك شده باشد .]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[درباره Asp.net]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=30</link>
			<pubDate>Sun, 18 Jul 2010 17:46:12 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=30</guid>
			<description><![CDATA[وب یکی از مهمترین و در عین حال جوان ترین سرویس های اینترنت است که در مدت زمانی کوتاه توانسته است در کانون توجه تمامی استفاده کنندگان اینترنت قرار بگیرد و منشاء تحولات عمده ای در حیات بشریت باشد.<br />
<br />
<img src="http://www.forum.ferfereh.ir/images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><br />
● آشنائی با ASP.NET <br />
وب یکی از مهمترین و در عین حال جوان ترین سرویس های اینترنت است که در مدت زمانی کوتاه توانسته است در کانون توجه تمامی استفاده کنندگان اینترنت قرار بگیرد و منشاء تحولات عمده ای در حیات بشریت باشد. در گذشته از وب صرفا" به منظور عرضه اطلاعات استفاده می گردید و کاربران از آن به عنوان یک کنابخانه الکترونیکی بزرگ و در جهت یافتن اطلاعات مورد نیاز خود استفاده می کردند. وضعیت فعلی وب نسبت به گذشته دستخوش تحولات فراوانی شده است و هم اینک از آن به عنوان بستر ارتباطات ، مبادله اطلاعات ، عملیات تراکنشی نظیر فعالیت های تجاری ، اجتماعی ، سیاسی ، آموزشی و فرهنگی استفاده می گردد . <br />
نرم افزار و دنیای برنامه نویسی یکی ازعرصه هائی است که بدون شک بیشترین تاثیر را از اینترنت پذیرا بوده است ( پرداختن به مقوله تاثیر اینترنت بر دنیای برنامه نویسی و یا تاثیر نرم افزار بر اینترنت خارج از حوصله این مقاله است ). شرکت های عظیم نرم افزاری با لحاط نمودن جایگاه برجسته اینترنت ، اقدام به ارائه تکنولوژی ها و معماری های متفاوتی در جهت طراحی و پیاده سازی برنامه های کامپیوتری با بهره گیری از زیرساخت اینترنت نموده اند . <br />
● ASP.NET : گزینه ای برای طراحی و پیاده سازی برنامه ها و سرویس های وب <br />
به منظور پاسخ به خیل عظیم نیازهای موجود با توجه به تسهیلات ارائه شده توسط اینترنت ، نسل جدیدی از برنامه های کامپیوتری با نام "برنامه های وب " مطرح و در این رابطه تاکنون تکنولوژی های متفاوتی توسط شرکت های عظیم نرم افزاری ارائه شده است . ASP.NET یکی از تکنولوژی های موجود در این زمینه است . در واقع ، ASP.NET فریمورک برنامه نویسی شرکت مایکروسافت برای طراحی و پیاده سازی برنامه ها و سرویس های وب است که خود بخشی از پلت فرم دات نت محسوب می گردد . ASP.NET با دارا بودن مجموعه ای گسترده از اشیاء که دارای اینترفیس های ساده برنامه نویسی می باشند و بهره گیری از یک محیط ترجمه شده شی گراء ، امکان پردازش های ساده تا پیچیده را با حداقل کد ممکن فراهم می نماید. <br />
● چرا ASP.NET ؟ <br />
زمانی که شرکت مایکروسافت نسخه اولیه فریمورک دات نت را در جولای سال ۲۰۰۰ برای اولین مرتبه به نمایش گذاشت ، برای اکثر طراحان و پیاده کنندگان برنامه های وب مشخص گردید که می بایست در انتظار تحولات چشمگیری در این عرصه بود .ASP نسخه شماره سه ( تکنولوژی قبلی شرکت مایکروسافت برای پیاده سازی برنامه های وب ) ، امکانات گسترده و انعطاف لازم به منظور ایجاد سایت های پویا را در اختیار علاقه مندان قرار می داد. تاکنون صدها کتاب و هزاران مقاله با موضوع ASP نوشته شده است . ماحصل تمامی تلاش های انجام شده در این رابطه، تسهیل در امر طراحی و پیاده سازی وب سایت های پویا و برنامه های وب بود . چیزی که ASP نداشت ، یک فریمورک برنامه نویسی بود. هر چیزی که در ASP انجام می شد با رویکرد کدنویسی بود و برنامه نویسان برای انجام هر کاری ملزم به نوشتن کدهای مورد نیاز بودند. <br />
ASP.NET با هدف غلبه بر محدودیت فوق طراحی شده است . ASP.NET یک فریمورک برنامه نویسی است که برروی CLR ایجاد و می توان از آن به منظور ایجاد برنامه های قدرتمند وب استفاده نمود .یکی از اهداف اساسی طراحی ASP.NET ، برنامه نویسی ساده تر و با سرعت بیشتر از طریق کاهش حجم کدهای مورد نیازی است که برنامه نویسان ملزم به نوشتن آنان می باشند.برنامه نویسی declarative ، مجموعه ای گسترده از کنترل های سرویس دهنده به همراه رویدادهای مربوطه ، یک کتابخانه کلاس بزرگ و ابزارهای پیاده سازی کاملا" حرفه ای نظیر ویژوال استودیو دات نت ، از جمله ویژگی های شاخص ASP.NET محسوب می گردد( یک جهش کاملا" ملموس نسبت به وضعیت گذشته ). کنترل های سرویس دهنده ، معماری postback ، حمایت از viewstate به اضافه استفاده از کد ترجمه شده و مدل برنامه نویسی مبتنی بر رویداد ، جملگی از مهمترین دستاوردهای ASP.NET محسوب می گردد که نوید ایجاد و اشکال زدائی سریع برنامه های وب را در اختیار پیاده کنندگان قرار می دهد . <br />
محیط برنامه نویسی ASP.NET بیش از بیست و پنج زبان نظیر VB.NET ، سی شارپ و Jscript.NET را حمایت می نماید. به عنوان یک محیط شی گراء ، فریمورک دات نت بیش از ۴۵۰۰ کلاس را ارائه می نماید که از آنان به منظور انجام عملیات متفاوتی در ارتباط با اسناد XML ، دستیابی به داده ، تولید تصاویر ، مونیتورینگ ، ثبت تراکنش ها و سایر عملیات دیگر استفاده می گردد . کلاس ها مجموعه ای گسترده از اشیاء ، خصلت ها و متدها را ارائه می نمایند که می توان از آنان به منظور پیاده سازی برنامه های وب قدرتمند استفاده بعمل آورد. <br />
علیرغم این که کدها ترجمه می گردند ، ASP.NET به صورت اتوماتیک هر گونه تغییر در کدها را تشخیص و به صورت پویا اقدام به ترجمه فایل های مورد نیاز نموده و آنان را برای استفاده مجدد به منظور پاسخگوئی به درخواست هائی آتی ، ذخیره می نماید . ترجمه پویا ، این اطمینان را ایجاد می نماید که برنامه بهنگام بوده و کد ترجمه شده با سرعت مناسبی اجراء می گردد. در زمان درخواست یک صفحه و ترحمه آن برای اولین مرتبه ، یک تاخیر کوتاه را شاهد خواهیم بود . پاسخ به درخواست های آتی از طریق نتایج ترجمه شده و یا نسخه های Cache شده صفحات انجام خواهد شد و نتایج با سرعت بمراتب بیشتری برای سرویس گیرندگان ارسال می گردد . <br />
با توجه به ویژگی های منحصربفرد ASP.NET ، تاکنون از آن به منظور پیاده سازی برنامه های وب در سایت های معتبر متعددی استفاده شده است : <br />
▪شرکت Dell <br />
▪ Merrill Lynch <br />
▪ بازار بورس لندن <br />
▪ خطوط هواپیمائی JetBlue <br />
▪ NASDAQ <br />
▪USA Today <br />
▪ Home Shopping Network <br />
▪ Weight Watchers <br />
▪ Bank One <br />
▪ Century ۲۱ <br />
▪ و هزاران سایت دیگر متعلق به شرکت ها و موسسات خصوصی و عمومی <br />
● چرا ASP.NET ۲.۰ ؟ <br />
هم اینک نسخه شماره دو ASP.NET در راه است . شاید این سوال برای شما مطرح شده باشد که ASP.NET ۱.x دارای چه محدودیت هائی است که ضرورت ایجاد نسخه شماره دو آن احساس شده است ؟ در پاسخ می بایست به این نکته اشاره نمود که طراحی و پیاده سازی هر نرم افزار مستلزم استفاده از منابع متفاوت، انعطاف لازم و صرف زمان مناسب است . بهینه سازی هر یک از شاخص های فوق ، مهمترین دلیل ارتقاء به رویکردهای مدرن برنامه نویسی است . در ASP.NET ۲.۰ انجام هر کاری با سهولت بمراتب بیشتری نسبت به گذشته انجام می شود. <br />
صفحات master ، ویژگی themes و skins ، ارائه امکانات مناسب در جهت حمایت از دستگاه های سرویس گیرنده متفاوت ، ارائه چهل و پنج کنترل سرویس دهنده جدید شامل کنترل های سرویس دهنده پیشرفته منبع داده ، کنترل های navigation ، کنترل های login ، کنترل های web part ، کنترل های لازم به منظور ایجاد منو و treeview ، رویکرد جدید به data grid ، ارائه امکانات و ابزارهای لازم در جهت مدیریت بهینه برنامه ها ، حمایت از پردازنده های ۶۴ بیتی ، کاهش حجم کد نوشته شده به میزان هقتاد درصد ، نمونه هائی از امکانات و پتانسیل های جدید ASP.NET ۲.۰ می باشد. <br />
با استفاده از ASP.NET ۲.۰ پیاده کنندگان برنامه های وب می توانند کارهای پیچیده متعددی را بدون نیاز به نوشتن کد انجام دهند .<br />
<br />
<br />
دستم درد ميكنه<img src="http://www.forum.ferfereh.ir/images/smilies/sad.gif" style="vertical-align: middle;" border="0" alt="Sad" title="Sad" />]]></description>
			<content:encoded><![CDATA[وب یکی از مهمترین و در عین حال جوان ترین سرویس های اینترنت است که در مدت زمانی کوتاه توانسته است در کانون توجه تمامی استفاده کنندگان اینترنت قرار بگیرد و منشاء تحولات عمده ای در حیات بشریت باشد.<br />
<br />
<img src="http://www.forum.ferfereh.ir/images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><br />
● آشنائی با ASP.NET <br />
وب یکی از مهمترین و در عین حال جوان ترین سرویس های اینترنت است که در مدت زمانی کوتاه توانسته است در کانون توجه تمامی استفاده کنندگان اینترنت قرار بگیرد و منشاء تحولات عمده ای در حیات بشریت باشد. در گذشته از وب صرفا" به منظور عرضه اطلاعات استفاده می گردید و کاربران از آن به عنوان یک کنابخانه الکترونیکی بزرگ و در جهت یافتن اطلاعات مورد نیاز خود استفاده می کردند. وضعیت فعلی وب نسبت به گذشته دستخوش تحولات فراوانی شده است و هم اینک از آن به عنوان بستر ارتباطات ، مبادله اطلاعات ، عملیات تراکنشی نظیر فعالیت های تجاری ، اجتماعی ، سیاسی ، آموزشی و فرهنگی استفاده می گردد . <br />
نرم افزار و دنیای برنامه نویسی یکی ازعرصه هائی است که بدون شک بیشترین تاثیر را از اینترنت پذیرا بوده است ( پرداختن به مقوله تاثیر اینترنت بر دنیای برنامه نویسی و یا تاثیر نرم افزار بر اینترنت خارج از حوصله این مقاله است ). شرکت های عظیم نرم افزاری با لحاط نمودن جایگاه برجسته اینترنت ، اقدام به ارائه تکنولوژی ها و معماری های متفاوتی در جهت طراحی و پیاده سازی برنامه های کامپیوتری با بهره گیری از زیرساخت اینترنت نموده اند . <br />
● ASP.NET : گزینه ای برای طراحی و پیاده سازی برنامه ها و سرویس های وب <br />
به منظور پاسخ به خیل عظیم نیازهای موجود با توجه به تسهیلات ارائه شده توسط اینترنت ، نسل جدیدی از برنامه های کامپیوتری با نام "برنامه های وب " مطرح و در این رابطه تاکنون تکنولوژی های متفاوتی توسط شرکت های عظیم نرم افزاری ارائه شده است . ASP.NET یکی از تکنولوژی های موجود در این زمینه است . در واقع ، ASP.NET فریمورک برنامه نویسی شرکت مایکروسافت برای طراحی و پیاده سازی برنامه ها و سرویس های وب است که خود بخشی از پلت فرم دات نت محسوب می گردد . ASP.NET با دارا بودن مجموعه ای گسترده از اشیاء که دارای اینترفیس های ساده برنامه نویسی می باشند و بهره گیری از یک محیط ترجمه شده شی گراء ، امکان پردازش های ساده تا پیچیده را با حداقل کد ممکن فراهم می نماید. <br />
● چرا ASP.NET ؟ <br />
زمانی که شرکت مایکروسافت نسخه اولیه فریمورک دات نت را در جولای سال ۲۰۰۰ برای اولین مرتبه به نمایش گذاشت ، برای اکثر طراحان و پیاده کنندگان برنامه های وب مشخص گردید که می بایست در انتظار تحولات چشمگیری در این عرصه بود .ASP نسخه شماره سه ( تکنولوژی قبلی شرکت مایکروسافت برای پیاده سازی برنامه های وب ) ، امکانات گسترده و انعطاف لازم به منظور ایجاد سایت های پویا را در اختیار علاقه مندان قرار می داد. تاکنون صدها کتاب و هزاران مقاله با موضوع ASP نوشته شده است . ماحصل تمامی تلاش های انجام شده در این رابطه، تسهیل در امر طراحی و پیاده سازی وب سایت های پویا و برنامه های وب بود . چیزی که ASP نداشت ، یک فریمورک برنامه نویسی بود. هر چیزی که در ASP انجام می شد با رویکرد کدنویسی بود و برنامه نویسان برای انجام هر کاری ملزم به نوشتن کدهای مورد نیاز بودند. <br />
ASP.NET با هدف غلبه بر محدودیت فوق طراحی شده است . ASP.NET یک فریمورک برنامه نویسی است که برروی CLR ایجاد و می توان از آن به منظور ایجاد برنامه های قدرتمند وب استفاده نمود .یکی از اهداف اساسی طراحی ASP.NET ، برنامه نویسی ساده تر و با سرعت بیشتر از طریق کاهش حجم کدهای مورد نیازی است که برنامه نویسان ملزم به نوشتن آنان می باشند.برنامه نویسی declarative ، مجموعه ای گسترده از کنترل های سرویس دهنده به همراه رویدادهای مربوطه ، یک کتابخانه کلاس بزرگ و ابزارهای پیاده سازی کاملا" حرفه ای نظیر ویژوال استودیو دات نت ، از جمله ویژگی های شاخص ASP.NET محسوب می گردد( یک جهش کاملا" ملموس نسبت به وضعیت گذشته ). کنترل های سرویس دهنده ، معماری postback ، حمایت از viewstate به اضافه استفاده از کد ترجمه شده و مدل برنامه نویسی مبتنی بر رویداد ، جملگی از مهمترین دستاوردهای ASP.NET محسوب می گردد که نوید ایجاد و اشکال زدائی سریع برنامه های وب را در اختیار پیاده کنندگان قرار می دهد . <br />
محیط برنامه نویسی ASP.NET بیش از بیست و پنج زبان نظیر VB.NET ، سی شارپ و Jscript.NET را حمایت می نماید. به عنوان یک محیط شی گراء ، فریمورک دات نت بیش از ۴۵۰۰ کلاس را ارائه می نماید که از آنان به منظور انجام عملیات متفاوتی در ارتباط با اسناد XML ، دستیابی به داده ، تولید تصاویر ، مونیتورینگ ، ثبت تراکنش ها و سایر عملیات دیگر استفاده می گردد . کلاس ها مجموعه ای گسترده از اشیاء ، خصلت ها و متدها را ارائه می نمایند که می توان از آنان به منظور پیاده سازی برنامه های وب قدرتمند استفاده بعمل آورد. <br />
علیرغم این که کدها ترجمه می گردند ، ASP.NET به صورت اتوماتیک هر گونه تغییر در کدها را تشخیص و به صورت پویا اقدام به ترجمه فایل های مورد نیاز نموده و آنان را برای استفاده مجدد به منظور پاسخگوئی به درخواست هائی آتی ، ذخیره می نماید . ترجمه پویا ، این اطمینان را ایجاد می نماید که برنامه بهنگام بوده و کد ترجمه شده با سرعت مناسبی اجراء می گردد. در زمان درخواست یک صفحه و ترحمه آن برای اولین مرتبه ، یک تاخیر کوتاه را شاهد خواهیم بود . پاسخ به درخواست های آتی از طریق نتایج ترجمه شده و یا نسخه های Cache شده صفحات انجام خواهد شد و نتایج با سرعت بمراتب بیشتری برای سرویس گیرندگان ارسال می گردد . <br />
با توجه به ویژگی های منحصربفرد ASP.NET ، تاکنون از آن به منظور پیاده سازی برنامه های وب در سایت های معتبر متعددی استفاده شده است : <br />
▪شرکت Dell <br />
▪ Merrill Lynch <br />
▪ بازار بورس لندن <br />
▪ خطوط هواپیمائی JetBlue <br />
▪ NASDAQ <br />
▪USA Today <br />
▪ Home Shopping Network <br />
▪ Weight Watchers <br />
▪ Bank One <br />
▪ Century ۲۱ <br />
▪ و هزاران سایت دیگر متعلق به شرکت ها و موسسات خصوصی و عمومی <br />
● چرا ASP.NET ۲.۰ ؟ <br />
هم اینک نسخه شماره دو ASP.NET در راه است . شاید این سوال برای شما مطرح شده باشد که ASP.NET ۱.x دارای چه محدودیت هائی است که ضرورت ایجاد نسخه شماره دو آن احساس شده است ؟ در پاسخ می بایست به این نکته اشاره نمود که طراحی و پیاده سازی هر نرم افزار مستلزم استفاده از منابع متفاوت، انعطاف لازم و صرف زمان مناسب است . بهینه سازی هر یک از شاخص های فوق ، مهمترین دلیل ارتقاء به رویکردهای مدرن برنامه نویسی است . در ASP.NET ۲.۰ انجام هر کاری با سهولت بمراتب بیشتری نسبت به گذشته انجام می شود. <br />
صفحات master ، ویژگی themes و skins ، ارائه امکانات مناسب در جهت حمایت از دستگاه های سرویس گیرنده متفاوت ، ارائه چهل و پنج کنترل سرویس دهنده جدید شامل کنترل های سرویس دهنده پیشرفته منبع داده ، کنترل های navigation ، کنترل های login ، کنترل های web part ، کنترل های لازم به منظور ایجاد منو و treeview ، رویکرد جدید به data grid ، ارائه امکانات و ابزارهای لازم در جهت مدیریت بهینه برنامه ها ، حمایت از پردازنده های ۶۴ بیتی ، کاهش حجم کد نوشته شده به میزان هقتاد درصد ، نمونه هائی از امکانات و پتانسیل های جدید ASP.NET ۲.۰ می باشد. <br />
با استفاده از ASP.NET ۲.۰ پیاده کنندگان برنامه های وب می توانند کارهای پیچیده متعددی را بدون نیاز به نوشتن کد انجام دهند .<br />
<br />
<br />
دستم درد ميكنه<img src="http://www.forum.ferfereh.ir/images/smilies/sad.gif" style="vertical-align: middle;" border="0" alt="Sad" title="Sad" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[نصب افزونه "آخرین پست های ارسالی"]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=29</link>
			<pubDate>Sun, 18 Jul 2010 10:10:18 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=29</guid>
			<description><![CDATA[سلام.<br />
آرین پست های ارسالی رو میتونین از این به بعد بالای انجمن ببینین.<br />
خوشحال میشم نظراتتونو بگین.<br />
پیشنهاد، انتقاد و ...]]></description>
			<content:encoded><![CDATA[سلام.<br />
آرین پست های ارسالی رو میتونین از این به بعد بالای انجمن ببینین.<br />
خوشحال میشم نظراتتونو بگین.<br />
پیشنهاد، انتقاد و ...]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[اسم سايت]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=28</link>
			<pubDate>Sun, 18 Jul 2010 05:17:14 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=28</guid>
			<description><![CDATA[سلام<br />
ببخشيدا كه اين ميگم <br />
ولي اگر مي شه اسم سايت رو عوض كنيد يا براي كم كردن هزينش اون رو به يه دامنه ديگر اتصال دهيد.<br />
<br />
به نظر من اسم خيلي در پيشرفت سرعت كار تاثير گذار است.<br />
<br />
شما بهتره اسم سايت رو به مثلا : <a href="http://www.p30tak.com" target="_blank">http://www.p30tak.com</a> و يا <a href="http://www.p30-tak.com" target="_blank">http://www.p30-tak.com</a><br />
اسم هايي از اين قرار تغيير دهيد تا forum جون بگيرد و كاملا فعال شود.<br />
<br />
لطفا نمونه برداري كنيد.  <br />
<a href="http://www.p30world.com" target="_blank">http://www.p30world.com</a><br />
<a href="http://www.ashiyane.org" target="_blank">http://www.ashiyane.org</a><br />
<br />
هم قالب<br />
هم دسته بندي<br />
و........<br />
<br />
<br />
اسم سايتتتتتتتتتتتتتتتتتتتتتتتتتت]]></description>
			<content:encoded><![CDATA[سلام<br />
ببخشيدا كه اين ميگم <br />
ولي اگر مي شه اسم سايت رو عوض كنيد يا براي كم كردن هزينش اون رو به يه دامنه ديگر اتصال دهيد.<br />
<br />
به نظر من اسم خيلي در پيشرفت سرعت كار تاثير گذار است.<br />
<br />
شما بهتره اسم سايت رو به مثلا : <a href="http://www.p30tak.com" target="_blank">http://www.p30tak.com</a> و يا <a href="http://www.p30-tak.com" target="_blank">http://www.p30-tak.com</a><br />
اسم هايي از اين قرار تغيير دهيد تا forum جون بگيرد و كاملا فعال شود.<br />
<br />
لطفا نمونه برداري كنيد.  <br />
<a href="http://www.p30world.com" target="_blank">http://www.p30world.com</a><br />
<a href="http://www.ashiyane.org" target="_blank">http://www.ashiyane.org</a><br />
<br />
هم قالب<br />
هم دسته بندي<br />
و........<br />
<br />
<br />
اسم سايتتتتتتتتتتتتتتتتتتتتتتتتتت]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[دانلود FDM]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=27</link>
			<pubDate>Sat, 17 Jul 2010 17:04:57 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=27</guid>
			<description><![CDATA[سلام بچه ها <br />
امروز واستون دانلود FDM  رو گذاشتم.<br />
<br />
دانلود كنيد.<br />
تشكر يادتون نره.<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><br />
<br />
اين روزاست كه بن شم <img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><img src="http://www.forum.ferfereh.ir/images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><br />
<br />
<a href="http://www.ferfereh.ir/internet-tools/%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-%d9%85%d8%af%db%8c%d8%b1%db%8c%d8%aa-%d8%af%d8%a7%d9%86%d9%84%d9%88%d8%af-free-download-manager-3.html" target="_blank">دانلود FDM</a>]]></description>
			<content:encoded><![CDATA[سلام بچه ها <br />
امروز واستون دانلود FDM  رو گذاشتم.<br />
<br />
دانلود كنيد.<br />
تشكر يادتون نره.<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><br />
<br />
اين روزاست كه بن شم <img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><img src="http://www.forum.ferfereh.ir/images/smilies/smile.gif" style="vertical-align: middle;" border="0" alt="Smile" title="Smile" /><img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><br />
<br />
<a href="http://www.ferfereh.ir/internet-tools/%d9%86%d8%b1%d9%85-%d8%a7%d9%81%d8%b2%d8%a7%d8%b1-%d9%85%d8%af%db%8c%d8%b1%db%8c%d8%aa-%d8%af%d8%a7%d9%86%d9%84%d9%88%d8%af-free-download-manager-3.html" target="_blank">دانلود FDM</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[بخش بندي forum]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=26</link>
			<pubDate>Sat, 17 Jul 2010 16:33:10 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=26</guid>
			<description><![CDATA[لطفا بخش بندي forum را درست كنيد.<br />
<br />
مثلا:<br />
بخش سيستم عامل<br />
بخش هك و امنيت<br />
بخش برنامه نويسي<br />
بخش گرافيك و انيميشن<br />
بخش سخت افزار<br />
بخش دانلود برنامه ها<br />
<br />
<br />
<br />
و در هر انجمن يك بخش (سوال و جواب هاي عمومي) و (آموزش هاي تصويري) راه اندازي كنيد<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><br />
<br />
زيادي پرو شدم, تا حالا بن نشدم خوبه<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />]]></description>
			<content:encoded><![CDATA[لطفا بخش بندي forum را درست كنيد.<br />
<br />
مثلا:<br />
بخش سيستم عامل<br />
بخش هك و امنيت<br />
بخش برنامه نويسي<br />
بخش گرافيك و انيميشن<br />
بخش سخت افزار<br />
بخش دانلود برنامه ها<br />
<br />
<br />
<br />
و در هر انجمن يك بخش (سوال و جواب هاي عمومي) و (آموزش هاي تصويري) راه اندازي كنيد<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><br />
<br />
زيادي پرو شدم, تا حالا بن نشدم خوبه<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[جذب مدير و كاربران]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=25</link>
			<pubDate>Sat, 17 Jul 2010 16:26:26 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=25</guid>
			<description><![CDATA[سلام<br />
بازم مي دونم پيشنهادم پروييه ولي چخ كنيم ديگه...يه انجمنه و يه فرفره<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><br />
<br />
اگر ميشه واسه ي هر بخش يك مدير استخدام كنيد.<br />
<br />
شروع به عضو گيري و كاربران ايده ال كنيد.<br />
<br />
<br />
مي دونم پروييه ولي چخ كنيم ديگه<img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />]]></description>
			<content:encoded><![CDATA[سلام<br />
بازم مي دونم پيشنهادم پروييه ولي چخ كنيم ديگه...يه انجمنه و يه فرفره<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><br />
<br />
اگر ميشه واسه ي هر بخش يك مدير استخدام كنيد.<br />
<br />
شروع به عضو گيري و كاربران ايده ال كنيد.<br />
<br />
<br />
مي دونم پروييه ولي چخ كنيم ديگه<img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[cms  و قالب سايت]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=24</link>
			<pubDate>Sat, 17 Jul 2010 16:22:44 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=24</guid>
			<description><![CDATA[سلام لطفا اگر ميشه از يه قالب جديد و شيك كه برازنده ي forum باشد استفاده كنيد.<br />
اين قالب خيلي قديميه.<br />
<br />
<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /> با تشكر]]></description>
			<content:encoded><![CDATA[سلام لطفا اگر ميشه از يه قالب جديد و شيك كه برازنده ي forum باشد استفاده كنيد.<br />
اين قالب خيلي قديميه.<br />
<br />
<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /> با تشكر]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش زبان C]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=23</link>
			<pubDate>Sat, 17 Jul 2010 16:09:26 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=23</guid>
			<description><![CDATA[سلام خدمت دوستان گلم<br />
با يه مقاله C چطوريد؟<br />
<br />
از يه سايت ديگه گرفتم, گفتم شايد به دردتون بخوره گذاشتمش.<br />
<br />
استفاده كنيد. اگر حال بديد حال ميدم<img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><br />
<br />
<a href="http://jiros.persiangig.com/C%20Learning.pdf" target="_blank">مقاله آموزش برنامه نویسی به زبان C</a>]]></description>
			<content:encoded><![CDATA[سلام خدمت دوستان گلم<br />
با يه مقاله C چطوريد؟<br />
<br />
از يه سايت ديگه گرفتم, گفتم شايد به دردتون بخوره گذاشتمش.<br />
<br />
استفاده كنيد. اگر حال بديد حال ميدم<img src="http://www.forum.ferfereh.ir/images/smilies/tongue.gif" style="vertical-align: middle;" border="0" alt="Tongue" title="Tongue" /><br />
<br />
<a href="http://jiros.persiangig.com/C%20Learning.pdf" target="_blank">مقاله آموزش برنامه نویسی به زبان C</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[مقاله ‍++C]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=22</link>
			<pubDate>Sat, 17 Jul 2010 05:53:31 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=22</guid>
			<description><![CDATA[سلام بچه ها <br />
امروز مي خواهم در اولين پست خودم آموزش سي پلاس پلاس رو براتون بزارم.<br />
اميدوارم خوشتون بياد.<br />
<br />
تشكر يادتون نره<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><img src="http://www.forum.ferfereh.ir/images/smilies/heart.gif" style="vertical-align: middle;" border="0" alt="Heart" title="Heart" />]]></description>
			<content:encoded><![CDATA[سلام بچه ها <br />
امروز مي خواهم در اولين پست خودم آموزش سي پلاس پلاس رو براتون بزارم.<br />
اميدوارم خوشتون بياد.<br />
<br />
تشكر يادتون نره<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" /><img src="http://www.forum.ferfereh.ir/images/smilies/heart.gif" style="vertical-align: middle;" border="0" alt="Heart" title="Heart" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش تنظیم کردن Mozilla Thunderbird برای استفاده از اکانت Gmail]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=21</link>
			<pubDate>Wed, 14 Apr 2010 06:15:13 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=21</guid>
			<description><![CDATA[در صورتی که نرم افزار موزیلا تاندربرد را ندارید می توانید آن را از لینک زیر دانلود کنید:<br />
<a href="http://www.ferfereh.ir/internet-tools/%d8%b0%d8%ae%db%8c%d8%b1%d9%87-%da%a9%d8%b1%d8%af%d9%86-%d9%88-%d9%85%d8%af%db%8c%d8%b1%db%8c%d8%aa-%d8%a7%db%8c%d9%85%db%8c%d9%84%e2%80%8c-%d9%87%d8%a7-%d8%a8%d8%a7-mozilla-thunderbird-2-0.html" target="_blank">دانلود نرم افزار Mozilla Thunderbird</a><br />
<br />
<span style="font-weight: bold;"><div style="text-align: center;">(در صورت لود نشدن تصاوبر می توانید فایل ضمیمه را دانلود نمایید)</div></span><br />
<br />
1. برنامه موزیلا تاندربرد را اجرا کنید.<br />
2. از منوی File، قسمت New، مورد Account را انتخاب نمایید.<br />
<br />
<img src="http://public.bay.livefilestore.com/y1pTQ1L1ibUdHQfoNXpSWqkOsJjZFJLgcvECBty926JoIbFwES8EvYYD2U3RNC8-FMIRcG2fzj4_5F_imyAVkL2SA/Thunderbird%20configuration%20for%20Gmail%20account%20-%20Account...%20-%20www.ferfereh.ir.JPG" border="0" alt="[تصویر: Thunderbird%20configuration%20for%20Gmai...reh.ir.JPG&#93;" /></div>
<br />
3. در پنجره Account Wizard مورد Gmail را انتخاب نمایید و Next را بزنید.<br />
<br />
<img src="http://public.bay.livefilestore.com/y1pK1WPkqbvLptUYsvMmiodSPEEZPpVRTaPDNDd9hMG1P4M1jzdhwgCVejFzDTdIl3EUWpvn7qT_ntBg&#8203;ao9YsmwUg/Thunderbird%20configuration%20for%20Gmail%20account%20-%20Account%20Wizard%201%20-%20www.ferfereh.ir.JPG" border="0" alt="[تصویر: Thunderbird%20configuration%20for%20Gmai...reh.ir.JPG&#93;" /></div>
<br />
4. در کادر جلوی Your Name نام خود را بنویسید(یا هر نام دلخواه دیگر) و در کادر جلوی Email Address، آدرس ایمیل خود را بدون gmail.com@ آن بنویسید و Next را بزنید.<br />
<br />
<img src="http://public.bay.livefilestore.com/y1pCRITgg6qEMo8fbZG6s6stWZka7ubLvjIhvNIGhtt-Jfi9r4e7_e_p6AtkNBrE_XJe33Oj4leaZAFxjm3sK3xBg/Thunderbird%20configuration%20for%20Gmail%20account%20-%20Account%20Wizard%202%20-%20www.ferfereh.ir.JPG" border="0" alt="[تصویر: Thunderbird%20configuration%20for%20Gmai...reh.ir.JPG&#93;" /></div>
<br />
5. در صورتی که هم اکنون به اینترنت وصل نیستید و یا قصد دانلود کردن ایمیل های خود را ندارید تیک Download message now را برداشته و درنهایت Finish را بزنید.<br />
<br />
<img src="http://public.bay.livefilestore.com/y1ppgLWKDrTOtfYbSvM6kZSOxUtJhBJV3pR5W3z5bM0fg_W6HOZioGOFII5HUDCniyFbVVEGbZk7NUER&#8203;AIF_C2q5g/Thunderbird%20configuration%20for%20Gmail%20account%20-%20Account%20Wizard%203%20-%20www.ferfereh.ir.JPG" border="0" alt="[تصویر: Thunderbird%20configuration%20for%20Gmai...reh.ir.JPG&#93;" /></div>
<br />
6. در صورتی که تیک مورد 5 را برنداشته باشید پس از زدن Finish برنامه سعی در وصل شدن به اکانت جیمیل شما می نماید. پس از چند ثانیه کادری ظاهر می شود که بایستی در آن کلمه عبور جیمیل خود را وارد نمایید. در صورتی که نمیخواهید در دفعات بعدی پسورد را مجدداً وارد نمایید، تیک Use Password Manage to remember this password را بزنید، در غیر اینصورت آنرا بر دارید.<br />
<br />
<img src="http://public.bay.livefilestore.com/y1pTQ1L1ibUdHQk2xG_JZPxMpd04ra_GwhRhoVhA7tcdlwQRo8DSE8mZrdAVCwm40kDhr-W_IyM-tJUslMgMJ0QjA/Thunderbird%20configuration%20for%20Gmail%20account%20-%20Enter%20password%20-%20www.ferfereh.ir.JPG" border="0" alt="[تصویر: Thunderbird%20configuration%20for%20Gmai...reh.ir.JPG&#93;" /></div>
<br />
پس از چند ثانیه برنامه به جی میل شما وصل شده و شروع به دانلود ایمیل های شما میکند که می توانید آنها را در قسمت Inbox ستون سمت چپ برنامه ببینید.]]></description>
			<content:encoded><![CDATA[در صورتی که نرم افزار موزیلا تاندربرد را ندارید می توانید آن را از لینک زیر دانلود کنید:<br />
<a href="http://www.ferfereh.ir/internet-tools/%d8%b0%d8%ae%db%8c%d8%b1%d9%87-%da%a9%d8%b1%d8%af%d9%86-%d9%88-%d9%85%d8%af%db%8c%d8%b1%db%8c%d8%aa-%d8%a7%db%8c%d9%85%db%8c%d9%84%e2%80%8c-%d9%87%d8%a7-%d8%a8%d8%a7-mozilla-thunderbird-2-0.html" target="_blank">دانلود نرم افزار Mozilla Thunderbird</a><br />
<br />
<span style="font-weight: bold;"><div style="text-align: center;">(در صورت لود نشدن تصاوبر می توانید فایل ضمیمه را دانلود نمایید)</div></span><br />
<br />
1. برنامه موزیلا تاندربرد را اجرا کنید.<br />
2. از منوی File، قسمت New، مورد Account را انتخاب نمایید.<br />
<br />
<img src="http://public.bay.livefilestore.com/y1pTQ1L1ibUdHQfoNXpSWqkOsJjZFJLgcvECBty926JoIbFwES8EvYYD2U3RNC8-FMIRcG2fzj4_5F_imyAVkL2SA/Thunderbird%20configuration%20for%20Gmail%20account%20-%20Account...%20-%20www.ferfereh.ir.JPG" border="0" alt="[تصویر: Thunderbird%20configuration%20for%20Gmai...reh.ir.JPG]" /></div>
<br />
3. در پنجره Account Wizard مورد Gmail را انتخاب نمایید و Next را بزنید.<br />
<br />
<img src="http://public.bay.livefilestore.com/y1pK1WPkqbvLptUYsvMmiodSPEEZPpVRTaPDNDd9hMG1P4M1jzdhwgCVejFzDTdIl3EUWpvn7qT_ntBg&#8203;ao9YsmwUg/Thunderbird%20configuration%20for%20Gmail%20account%20-%20Account%20Wizard%201%20-%20www.ferfereh.ir.JPG" border="0" alt="[تصویر: Thunderbird%20configuration%20for%20Gmai...reh.ir.JPG]" /></div>
<br />
4. در کادر جلوی Your Name نام خود را بنویسید(یا هر نام دلخواه دیگر) و در کادر جلوی Email Address، آدرس ایمیل خود را بدون gmail.com@ آن بنویسید و Next را بزنید.<br />
<br />
<img src="http://public.bay.livefilestore.com/y1pCRITgg6qEMo8fbZG6s6stWZka7ubLvjIhvNIGhtt-Jfi9r4e7_e_p6AtkNBrE_XJe33Oj4leaZAFxjm3sK3xBg/Thunderbird%20configuration%20for%20Gmail%20account%20-%20Account%20Wizard%202%20-%20www.ferfereh.ir.JPG" border="0" alt="[تصویر: Thunderbird%20configuration%20for%20Gmai...reh.ir.JPG]" /></div>
<br />
5. در صورتی که هم اکنون به اینترنت وصل نیستید و یا قصد دانلود کردن ایمیل های خود را ندارید تیک Download message now را برداشته و درنهایت Finish را بزنید.<br />
<br />
<img src="http://public.bay.livefilestore.com/y1ppgLWKDrTOtfYbSvM6kZSOxUtJhBJV3pR5W3z5bM0fg_W6HOZioGOFII5HUDCniyFbVVEGbZk7NUER&#8203;AIF_C2q5g/Thunderbird%20configuration%20for%20Gmail%20account%20-%20Account%20Wizard%203%20-%20www.ferfereh.ir.JPG" border="0" alt="[تصویر: Thunderbird%20configuration%20for%20Gmai...reh.ir.JPG]" /></div>
<br />
6. در صورتی که تیک مورد 5 را برنداشته باشید پس از زدن Finish برنامه سعی در وصل شدن به اکانت جیمیل شما می نماید. پس از چند ثانیه کادری ظاهر می شود که بایستی در آن کلمه عبور جیمیل خود را وارد نمایید. در صورتی که نمیخواهید در دفعات بعدی پسورد را مجدداً وارد نمایید، تیک Use Password Manage to remember this password را بزنید، در غیر اینصورت آنرا بر دارید.<br />
<br />
<img src="http://public.bay.livefilestore.com/y1pTQ1L1ibUdHQk2xG_JZPxMpd04ra_GwhRhoVhA7tcdlwQRo8DSE8mZrdAVCwm40kDhr-W_IyM-tJUslMgMJ0QjA/Thunderbird%20configuration%20for%20Gmail%20account%20-%20Enter%20password%20-%20www.ferfereh.ir.JPG" border="0" alt="[تصویر: Thunderbird%20configuration%20for%20Gmai...reh.ir.JPG]" /></div>
<br />
پس از چند ثانیه برنامه به جی میل شما وصل شده و شروع به دانلود ایمیل های شما میکند که می توانید آنها را در قسمت Inbox ستون سمت چپ برنامه ببینید.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[اضافه کردن زبان فارسی به اوبونتو]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=20</link>
			<pubDate>Tue, 06 Apr 2010 16:14:21 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=20</guid>
			<description><![CDATA[برای این کار مراحل زیر را طی کنید:<br />
<br />
۱- روی منو بار (Menu bar) بالای صفحه راست کلیک کنید.<br />
۲- گزینه Add to panel را انتخاب کنید.<br />
۳- حال یک لیست را مشاهده می کنید. گزینه Keyboard Indicator را پیدا کنید (حتما هست یکم دیگه بگرد!).<br />
۴- آن را انتخاب کنید و کلید Add را فشار دهید و صفحه را ببندید.<br />
۵- حال به منو بار شما یک کلید احتمالا با نوشته USA خواهد بود (زبان پیش فرض)<br />
۶- روی آن راست کلیک کنید و گزینه Keyboard preferences را انتخاب کنید.<br />
۷- از تب های موجود گزینه Layouts را فشار دهید.<br />
۸- گزینه Add را انتخاب کنید.<br />
۹- از میان کشور ها Iran, Islamic republic of را انتخاب کنید و کلید Add را فشار دهید.<br />
<br />
موفق باشید!]]></description>
			<content:encoded><![CDATA[برای این کار مراحل زیر را طی کنید:<br />
<br />
۱- روی منو بار (Menu bar) بالای صفحه راست کلیک کنید.<br />
۲- گزینه Add to panel را انتخاب کنید.<br />
۳- حال یک لیست را مشاهده می کنید. گزینه Keyboard Indicator را پیدا کنید (حتما هست یکم دیگه بگرد!).<br />
۴- آن را انتخاب کنید و کلید Add را فشار دهید و صفحه را ببندید.<br />
۵- حال به منو بار شما یک کلید احتمالا با نوشته USA خواهد بود (زبان پیش فرض)<br />
۶- روی آن راست کلیک کنید و گزینه Keyboard preferences را انتخاب کنید.<br />
۷- از تب های موجود گزینه Layouts را فشار دهید.<br />
۸- گزینه Add را انتخاب کنید.<br />
۹- از میان کشور ها Iran, Islamic republic of را انتخاب کنید و کلید Add را فشار دهید.<br />
<br />
موفق باشید!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[ساختن شورت کات (کلید میانبر) برای تغییر زبان در اوبونتو]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=19</link>
			<pubDate>Tue, 06 Apr 2010 16:04:37 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=19</guid>
			<description><![CDATA[بسیاری از کاربران اوبونتو با این مسئله که برای تغییر زبان نوشتن به فارسی یا برعکس شورت کات یا میانبری مثل Alt-Shift ویندوز وجود ندارد مشکل دارند در حالی که تنها با انجام مراحل زیر می توان این کلید میانبر را ایجاد کرد. (به شرح زیر):<br />
<br />
فرض بر این است که توانسته اید زبان فارسی را اضافه کنید در غیر این صورت به آدرس زیر مراجعه کنید:<br />
<a href="http://www.forum.ferfereh.ir/showthread.php?tid=20" target="_blank">http://www.forum.ferfereh.ir/showthread.php?tid=20</a><br />
<br />
بر روی آیکون تغییر زبان در تسک بار بالا راست کلیک کنید.<br />
گزینه Keyboard preferences را انتخاب کنید.<br />
به تب Layouts بروید.<br />
گزینه Layer options را از پایین صفحه انتخاب کنید.<br />
گزینه Key(s) to change layout را باز کنید و ترکیب کلیدی که می خواهید را تیک بزنید.<br />
پنجره ها را ببندید.<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />]]></description>
			<content:encoded><![CDATA[بسیاری از کاربران اوبونتو با این مسئله که برای تغییر زبان نوشتن به فارسی یا برعکس شورت کات یا میانبری مثل Alt-Shift ویندوز وجود ندارد مشکل دارند در حالی که تنها با انجام مراحل زیر می توان این کلید میانبر را ایجاد کرد. (به شرح زیر):<br />
<br />
فرض بر این است که توانسته اید زبان فارسی را اضافه کنید در غیر این صورت به آدرس زیر مراجعه کنید:<br />
<a href="http://www.forum.ferfereh.ir/showthread.php?tid=20" target="_blank">http://www.forum.ferfereh.ir/showthread.php?tid=20</a><br />
<br />
بر روی آیکون تغییر زبان در تسک بار بالا راست کلیک کنید.<br />
گزینه Keyboard preferences را انتخاب کنید.<br />
به تب Layouts بروید.<br />
گزینه Layer options را از پایین صفحه انتخاب کنید.<br />
گزینه Key(s) to change layout را باز کنید و ترکیب کلیدی که می خواهید را تیک بزنید.<br />
پنجره ها را ببندید.<img src="http://www.forum.ferfereh.ir/images/smilies/biggrin.gif" style="vertical-align: middle;" border="0" alt="Big Grin" title="Big Grin" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا - جلسه سوم]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=18</link>
			<pubDate>Fri, 05 Mar 2010 08:34:19 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=18</guid>
			<description><![CDATA[<div style="text-align: justify;">سلام<br />
امروز درباره محیط نتبینز(NetBeans ) صحبت خواهیم کرد. ابتدا به تصویر زیر دقت کنید:<br />
<img src="http://zsp24a.bay.livefilestore.com/y1pCI7w_RragcM15ogNccsVnKKkhdyc5RnDiG3JowAKqOSC8i6eszPL7jxXrMp9-V6Ue3NbFwMWpcKc2yCadE75-l2SfrTx4mfL/Netbeans.jpg" border="0" alt="[تصویر: Netbeans.jpg&#93;" /></div>
در شکل شماره هایی را مشاهده می نمایید که عبارتند از :<br />
<br />
1-  ایجاد فایل : شما می توانید در این بخش یک فایل را ایجاد نمایید. با فشردن این کلید صفحه ای به شکل زیر را مشاده خواهید کرد : <br />
<img src="http://zsp24a.bay.livefilestore.com/y1pkN3CSZP9l9JEeqA3TnqY6gPOy9_yICK_d_Za7XZYnK8-tldFZ4necNmsWfLNSvLBibyPO5GJUrxVTbjaCywFELcJyI9QhTqy/Netbeans2.jpg" border="0" alt="[تصویر: Netbeans2.jpg&#93;" /></div>
شما می توانید در بالای این بخش پکیج این فایل را تعیین نمایید.  در بخش پایینی با دو قسمت مواجه می شویم. در سمت راست می توانید از فرم های از پیش تعیین شده ی: Java,Swing GUI Form , ... یکی را متناسب را نوع فایل خود انتخاب نمایید. اگر شما قصد ایجاد فایل گرافیکی دارید می توانید یکی از دو گزینه Swing GUI Form  یا AWT GUI Form  را انتخاب نمایید. بخش AWT تنها شامل Panel و Frame ، اپلت و فرم محاوره ای (Dialog) است. اما فرم Swing   که از کلاس Swing از پکیچ javax منشعب شده نسبت به AWT جدیدتر بوده و بنا به گفته سان برای ایجاد برنامه های سبک که بر روی تمام پلتفرم ها به شکل یکسانی نمایش و عمل نمایند می باشد.(<a href="http://java.sun.com/javase/6/docs/api/javax/swing/package-summary.html" target="_blank">آشنایی بیشتر با javax</a> , <a href="https://swingexplorer.dev.java.net/" target="_blank">آشنایی با Swing</a>)<br />
<br />
اگر در بخش چپ (Category) عنوان java را انتخاب نماییم ما با گزینه هایی چون <br />
java class<br />
java interface<br />
java Enum و ... مواجه می شویم. ویژگی این بخش آن است که در صورتی که بخواهیم محیطی گرافیکی را طراحی کنیم دیگر از ابزارهای آماده ی کنار صفحه (که در Netbeans با نام Palette شناخته شده و می توان با drag&amp;drop از آنها استفاده کرد) نمی توانیم استفاده نماییم و باید کد ها را خود کاربر بنویسد.<br />
java Class یک کلاس معمولی با متد main ایجاد می کند.<br />
java interface  یک واسط را مهیا می سازد. در بخش های آینده با واسط و کاربردهای مهم آن آشنا می شویم.<br />
<br />
2- در عکس اولی، منظور از محلی که با دو شماره گذاری شده، ایجاد یک پروژه جدید است. این پروژه می تواند یک برنامه کاربردی(Application) یا یک برنامه دسکتاپ باشد. اغلب موارد ما Application را انتخاب می نماییم. درموردDesktop Application<br />
که قابلیت اجرای مطمئن برنامه را بر روی هر دسکتاپی به صورت گرافیکی را ایجاد می نماید در آینده و همراه با پیشرفت شما صحبت خواهیم نمود. <br />
3- در این محل پروژه های شما نمایش داده خواهد شد. پروژه اصلی با خطی پررنگ تر نمایش داده می شود. منظور از پروژه اصلی آن پروژه ای است که در حال کار کردن با آن هستید و با فشردن کلید F6  اجرا  خواهد شد و می توانید با F4 آن را به صورت خط به خط بررسی نمایید.<br />
4-در صورتی که برای پروژه خود پکیجی را تعریف ننمایید فایلهای برنامه در پکیجی با نام (&lt;default package&gt;) قرار خواهند گرفت و از همانجا اجرا خواهند شد. این مساله در زمانی که قصد برنامه نویسی یک برنامه بزرگ را دارید اهمیت بیشتری می  یابد. چرا که برنامه به زیر بخش هایی تقسیم شده و برای راحتی کار در پکیج هایی قرار میگیرند که قوانینی را که در مورد public ,private  .. گفتیم، درباره آنها اعمال خواهد شد. <br />
5- در اینجا شما می توانید فایل های هر پکیج را مشاهده نمایید. فایلها با پسوندشان قابل مشاهده هستند.<br />
6- بخش کتابخانه. این بخش شامل کتابخانه JDK1.x است(x ورژن JDKی شماست). شما میتوانید در صورت نیاز به API خاصی آن را اضافه نمایید و یا مثلا در هنگام کار با پایگاه داده، رابط های آن را در این بخش قرار دهید. این بخش با برنامه شما ماندگار خواهد شد. در نگارش های جدید NetBeans شما قادرید کل پروژه را به صورت یک بسته درآورده و به آن خصوصیت بسیار جالب قابل حمل بودن اعطا نمایید. بدین معنی که با ایجاد(BUILDکردن پروژه(بعدا توضیح داده خواهد شد)) شما قادرید با کیلک بر روی فایل Build شده، آن را در هر محیطی به اجرا درآوردید که این فایل شامل کتابخانه و فایلهای اضافه شده به کتابخانه نیز هست. درآینده مزایای این کار را درک خواهید نمود.<br />
7- در این بخش شما می توانید تمام فایل هایی را که در پکیج و پروژه است را مشاهده نمایید. در واقع همان ساختار درختی نمایش فایلها در ویندوز(یا هر سیستم عامل دیگری) است. تمام فولدرها و فایلها به شکل کاملا معمولی نمایش داده خواهند شد.<br />
8- در این بخش که با نام Services نامگذاری شده است. میتوان سرویسهایی مانند پایگاه داده ،سرورهایی خاص مانند Apache و ... را مدیریت نمایید. بخش پایگاه داده، شما را با یک  واسط کاربری برای کار با پایگاه داده ای که به برنامه اضافه کرده اید روبه رو می سازد. این واسط زیاد زیبا و دلنواز نیست ولی برای کارهای فوری و دسترسی سریع گرافیکی به پایگاه داده مناسب است. جاوا دارای یک پایگاه داده درونی به نام Derby است.<br />
9- هنگامی برنامه را می نویسید از متدها، کلاس ها و ... استفاده می نمایید در این بخش نمایشی درختی از آن ها قابل مشاهده است. هر کلاس به همراه متدها و  متغیر ها، نوع و  تمام خصوصیات مهم آنها قابل مشاهده است. در صورتی که بر روی آنها کلیک نمایید میتوانید به محل تعریف آنها رفته و در زمان پیدا کردن آن در برنامه خود صرفه جویی نمایید.<br />
10 - و سرانجام متن برنامه. درباره متن برنامه فکر نمی کنم سوالی باشد!<br />
<br />
در درس بعدی مراحل نوشتن یک برنامه کار با فایل در جاوا را مرور خواهیم نمود. <br />
</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;">سلام<br />
امروز درباره محیط نتبینز(NetBeans ) صحبت خواهیم کرد. ابتدا به تصویر زیر دقت کنید:<br />
<img src="http://zsp24a.bay.livefilestore.com/y1pCI7w_RragcM15ogNccsVnKKkhdyc5RnDiG3JowAKqOSC8i6eszPL7jxXrMp9-V6Ue3NbFwMWpcKc2yCadE75-l2SfrTx4mfL/Netbeans.jpg" border="0" alt="[تصویر: Netbeans.jpg]" /></div>
در شکل شماره هایی را مشاهده می نمایید که عبارتند از :<br />
<br />
1-  ایجاد فایل : شما می توانید در این بخش یک فایل را ایجاد نمایید. با فشردن این کلید صفحه ای به شکل زیر را مشاده خواهید کرد : <br />
<img src="http://zsp24a.bay.livefilestore.com/y1pkN3CSZP9l9JEeqA3TnqY6gPOy9_yICK_d_Za7XZYnK8-tldFZ4necNmsWfLNSvLBibyPO5GJUrxVTbjaCywFELcJyI9QhTqy/Netbeans2.jpg" border="0" alt="[تصویر: Netbeans2.jpg]" /></div>
شما می توانید در بالای این بخش پکیج این فایل را تعیین نمایید.  در بخش پایینی با دو قسمت مواجه می شویم. در سمت راست می توانید از فرم های از پیش تعیین شده ی: Java,Swing GUI Form , ... یکی را متناسب را نوع فایل خود انتخاب نمایید. اگر شما قصد ایجاد فایل گرافیکی دارید می توانید یکی از دو گزینه Swing GUI Form  یا AWT GUI Form  را انتخاب نمایید. بخش AWT تنها شامل Panel و Frame ، اپلت و فرم محاوره ای (Dialog) است. اما فرم Swing   که از کلاس Swing از پکیچ javax منشعب شده نسبت به AWT جدیدتر بوده و بنا به گفته سان برای ایجاد برنامه های سبک که بر روی تمام پلتفرم ها به شکل یکسانی نمایش و عمل نمایند می باشد.(<a href="http://java.sun.com/javase/6/docs/api/javax/swing/package-summary.html" target="_blank">آشنایی بیشتر با javax</a> , <a href="https://swingexplorer.dev.java.net/" target="_blank">آشنایی با Swing</a>)<br />
<br />
اگر در بخش چپ (Category) عنوان java را انتخاب نماییم ما با گزینه هایی چون <br />
java class<br />
java interface<br />
java Enum و ... مواجه می شویم. ویژگی این بخش آن است که در صورتی که بخواهیم محیطی گرافیکی را طراحی کنیم دیگر از ابزارهای آماده ی کنار صفحه (که در Netbeans با نام Palette شناخته شده و می توان با drag&amp;drop از آنها استفاده کرد) نمی توانیم استفاده نماییم و باید کد ها را خود کاربر بنویسد.<br />
java Class یک کلاس معمولی با متد main ایجاد می کند.<br />
java interface  یک واسط را مهیا می سازد. در بخش های آینده با واسط و کاربردهای مهم آن آشنا می شویم.<br />
<br />
2- در عکس اولی، منظور از محلی که با دو شماره گذاری شده، ایجاد یک پروژه جدید است. این پروژه می تواند یک برنامه کاربردی(Application) یا یک برنامه دسکتاپ باشد. اغلب موارد ما Application را انتخاب می نماییم. درموردDesktop Application<br />
که قابلیت اجرای مطمئن برنامه را بر روی هر دسکتاپی به صورت گرافیکی را ایجاد می نماید در آینده و همراه با پیشرفت شما صحبت خواهیم نمود. <br />
3- در این محل پروژه های شما نمایش داده خواهد شد. پروژه اصلی با خطی پررنگ تر نمایش داده می شود. منظور از پروژه اصلی آن پروژه ای است که در حال کار کردن با آن هستید و با فشردن کلید F6  اجرا  خواهد شد و می توانید با F4 آن را به صورت خط به خط بررسی نمایید.<br />
4-در صورتی که برای پروژه خود پکیجی را تعریف ننمایید فایلهای برنامه در پکیجی با نام (&lt;default package&gt;) قرار خواهند گرفت و از همانجا اجرا خواهند شد. این مساله در زمانی که قصد برنامه نویسی یک برنامه بزرگ را دارید اهمیت بیشتری می  یابد. چرا که برنامه به زیر بخش هایی تقسیم شده و برای راحتی کار در پکیج هایی قرار میگیرند که قوانینی را که در مورد public ,private  .. گفتیم، درباره آنها اعمال خواهد شد. <br />
5- در اینجا شما می توانید فایل های هر پکیج را مشاهده نمایید. فایلها با پسوندشان قابل مشاهده هستند.<br />
6- بخش کتابخانه. این بخش شامل کتابخانه JDK1.x است(x ورژن JDKی شماست). شما میتوانید در صورت نیاز به API خاصی آن را اضافه نمایید و یا مثلا در هنگام کار با پایگاه داده، رابط های آن را در این بخش قرار دهید. این بخش با برنامه شما ماندگار خواهد شد. در نگارش های جدید NetBeans شما قادرید کل پروژه را به صورت یک بسته درآورده و به آن خصوصیت بسیار جالب قابل حمل بودن اعطا نمایید. بدین معنی که با ایجاد(BUILDکردن پروژه(بعدا توضیح داده خواهد شد)) شما قادرید با کیلک بر روی فایل Build شده، آن را در هر محیطی به اجرا درآوردید که این فایل شامل کتابخانه و فایلهای اضافه شده به کتابخانه نیز هست. درآینده مزایای این کار را درک خواهید نمود.<br />
7- در این بخش شما می توانید تمام فایل هایی را که در پکیج و پروژه است را مشاهده نمایید. در واقع همان ساختار درختی نمایش فایلها در ویندوز(یا هر سیستم عامل دیگری) است. تمام فولدرها و فایلها به شکل کاملا معمولی نمایش داده خواهند شد.<br />
8- در این بخش که با نام Services نامگذاری شده است. میتوان سرویسهایی مانند پایگاه داده ،سرورهایی خاص مانند Apache و ... را مدیریت نمایید. بخش پایگاه داده، شما را با یک  واسط کاربری برای کار با پایگاه داده ای که به برنامه اضافه کرده اید روبه رو می سازد. این واسط زیاد زیبا و دلنواز نیست ولی برای کارهای فوری و دسترسی سریع گرافیکی به پایگاه داده مناسب است. جاوا دارای یک پایگاه داده درونی به نام Derby است.<br />
9- هنگامی برنامه را می نویسید از متدها، کلاس ها و ... استفاده می نمایید در این بخش نمایشی درختی از آن ها قابل مشاهده است. هر کلاس به همراه متدها و  متغیر ها، نوع و  تمام خصوصیات مهم آنها قابل مشاهده است. در صورتی که بر روی آنها کلیک نمایید میتوانید به محل تعریف آنها رفته و در زمان پیدا کردن آن در برنامه خود صرفه جویی نمایید.<br />
10 - و سرانجام متن برنامه. درباره متن برنامه فکر نمی کنم سوالی باشد!<br />
<br />
در درس بعدی مراحل نوشتن یک برنامه کار با فایل در جاوا را مرور خواهیم نمود. <br />
</div>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[بازسازی GRUB در صورت بروز مشکل در بوت و یا پاک شدن GRUB]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=17</link>
			<pubDate>Sat, 27 Feb 2010 20:49:22 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=17</guid>
			<description><![CDATA[گاهی اوقات ممکن است که گراب سیستم دچار اشکال شود، برای مثال وقتی بعد از نصب یک لینوکس، ویندوز نصب می کنیم، سیستم عامل ویندوز گراب و یا همان سیستم بوت لینوکس را پاک می کند که برای حل این مشکل می توان روش معروف زیر را پیش گرفت.<br />
۱. با یک لینوکس لایو (زنده) که از روی CD بوت می شود مثل لینوکس Ubuntu یا Knoppix سیستم را بالا می آوریم سپس ترمینال را باز کرده و کد زیر را می نویسیم.<br />
<br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>BASH Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="bash" style="font-family:monospace;text-align:left;direction:ltr;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> grub
<span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>boot<span style="color: #000000; font-weight: bold;">/</span>grub<span style="color: #000000; font-weight: bold;">/</span>stage1</pre></code></div><br /></div><br />
<br />
۲. دستور بالا نتیجه ای مثل (hd0,3) را می دهد که عدد های آن متناسب با سیستم های مختلف فرق خواهد کرد.<br />
۳. بر اساس نتیجه دستور فوق دستور های زیر را وارد کنید، (در زیر عدد ها را با نتیجه دستور فوق خودتون جایگزین کنید).<br />
<br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>BASH Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="bash" style="font-family:monospace;text-align:left;direction:ltr;">root <span style="color: #7a0874; font-weight: bold;">&#40;</span>hd0,<span style="color: #000000;">3</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
setup <span style="color: #7a0874; font-weight: bold;">&#40;</span>hd0<span style="color: #7a0874; font-weight: bold;">&#41;</span>
quit</pre></code></div><br /></div><br />
<br />
۴. حالا سیستم را restart کنید.]]></description>
			<content:encoded><![CDATA[گاهی اوقات ممکن است که گراب سیستم دچار اشکال شود، برای مثال وقتی بعد از نصب یک لینوکس، ویندوز نصب می کنیم، سیستم عامل ویندوز گراب و یا همان سیستم بوت لینوکس را پاک می کند که برای حل این مشکل می توان روش معروف زیر را پیش گرفت.<br />
۱. با یک لینوکس لایو (زنده) که از روی CD بوت می شود مثل لینوکس Ubuntu یا Knoppix سیستم را بالا می آوریم سپس ترمینال را باز کرده و کد زیر را می نویسیم.<br />
<br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>BASH Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="bash" style="font-family:monospace;text-align:left;direction:ltr;"><span style="color: #c20cb9; font-weight: bold;">sudo</span> grub
<span style="color: #c20cb9; font-weight: bold;">find</span> <span style="color: #000000; font-weight: bold;">/</span>boot<span style="color: #000000; font-weight: bold;">/</span>grub<span style="color: #000000; font-weight: bold;">/</span>stage1</pre></code></div><br /></div><br />
<br />
۲. دستور بالا نتیجه ای مثل (hd0,3) را می دهد که عدد های آن متناسب با سیستم های مختلف فرق خواهد کرد.<br />
۳. بر اساس نتیجه دستور فوق دستور های زیر را وارد کنید، (در زیر عدد ها را با نتیجه دستور فوق خودتون جایگزین کنید).<br />
<br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>BASH Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="bash" style="font-family:monospace;text-align:left;direction:ltr;">root <span style="color: #7a0874; font-weight: bold;">&#40;</span>hd0,<span style="color: #000000;">3</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
setup <span style="color: #7a0874; font-weight: bold;">&#40;</span>hd0<span style="color: #7a0874; font-weight: bold;">&#41;</span>
quit</pre></code></div><br /></div><br />
<br />
۴. حالا سیستم را restart کنید.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[آموزش جاوا - جلسه دوم]]></title>
			<link>http://www.forum.ferfereh.ir/showthread.php?tid=16</link>
			<pubDate>Sat, 27 Feb 2010 13:33:31 +0000</pubDate>
			<guid isPermaLink="false">http://www.forum.ferfereh.ir/showthread.php?tid=16</guid>
			<description><![CDATA[<div style="text-align: justify;">
سلام <br />
بخش دوم را با ادامه مباحث قبل شروع می کنیم. <br />
public : یکی از کلمات کلید در جاواست. در برنامه ای که می نویسیم یک کلاس کلی وجود دارد که تمام متد ها در آن کلاس قرار دارند. مثلا کلاس زیر :<br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>JAVA5 Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="java5" style="font-family:monospace;text-align:left;direction:ltr;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Student <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a> Sname<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">public</span> Student<span style="color: #009900;">&#40;</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a> name<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        Sname=name<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #006600; font-weight: bold;">void</span> print<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color: #003399; font-weight: bold;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span>Sname<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
      <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #006600; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        Student s=<span style="color: #000000; font-weight: bold;">new</span> Student<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Stephen Colbert&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        s.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></code></div><br /></div><br />
هنگامی که یک فایل ایجاد می کنیم و بعد می خواهیم آن را اجرا نماییم کامپایلر جاوا به دنبال کلاسی می گردد که همنام آن فایل است. مشخصه اصلی آن علاوه بر هم نام بودن، مزین بودن به کلمه کلیدی <span style="font-weight: bold;">public </span>است. <br />
کلاس به صورت : ابتدا کلمه public سپس کلمه class و آنگاه  نام کلاس معرفی می شود سپس علامت <span style="font-weight: bold;">}</span> می آید که نشانگر شروع کلاس است. <br />
در داخل کلاس چند نوع معرفی متغیر و کلاس داریم:<br />
<span style="font-weight: bold;">public</span>: (عمومی)، یعنی از داخل این کلاس،این پکیج، یا هر کلاس و پکیجی که این کلاس را فراحوانی نماید قابل مشاهده است. مثل متد سازنده.<br />
<span style="font-weight: bold;">private</span>: (خصوصی)، یعنی فقط در داخل این کلاس قابل مشاهد و فراخوانی است و خارج از این کلاس و پکیج مورد دسترسی نمی تواند قرار گیرد. مثل Sname در مثال بالا.<br />
<span style="font-weight: bold;">protected</span>: (محاقظت شده)،یعنی در کلاس و پکیج قابل دسترسی است ولی در صورتی که از پکیج دیگری این کلاس فراخوانی شود این متد یا متغیر قابل دسترسی نیست.<br />
<span style="font-weight: bold;">عدم ذکر </span>: در صورتی که برای متغیر نوعی از موارد بالا ذکر نشود، این متغیر  فقط در این کلاس و پکیج قابل دسترسی است. <br />
<br />
خب در مورد متد main این موضوع مهمتر است. <br />
هنگامی که ما برنامه ای می نویسم و می خواهیم قابلیت  احرایی داشته باشد از متد main استفاده می نماییم. قابلیت اجرایی به این معنی که ما بتوانیم از کلاس فعلی خروجی داشته باشیم. این متد با کلمه کلیدی public  شروع شده و سپس کلمه کلیدی static به دنبالش می آید. در باره static موضوع مهمتر است. ابتدا بحت های زیر را مطالعه نمایید. <br />
<a href="http://leepoint.net/notes-java/flow/methods/50static-methods.html" target="_blank">کلاسها و متدهای ایستا (static class and methods)</a><br />
<a href="http://www.allapplabs.com/interview_questions/java_interview_questions.htm#q14" target="_blank">ایستا (static) چیست؟</a><br />
در اینجا بحث بیشتر روی static  نمی کنیم. چرا که کمی مساله را بغرنج می کند. در آینده درباره static و کاربردهای مهم آن به صورت عمیق تر بحث خواهیم کرد.<br />
پس از کلمه کلیدی static نوبت به نام متد، یعنی main می رسد. در داخل پرانتزی که روبه روی آن است عبارتی به شکل String[&#93; args نوشته می شود. این بیانگر آرایه ای از آرگومانهایی است که این برنامه می تواند از خط فرمان به همراه اجرای خود بگیرد و در برنامه از آنها استفاده نماید. در اینجا از آن استفاده نشده.<br />
برای مطالعه بیشتر و بهتر  تا جلسه بعد که درباره نحوه کار پکیج صحبت خواهیم کرد از لینک های زیر استفاده نمایید تا با انواع متغیر های مجاز در زبان جاوا آشنا شوید و مثال هایی را ببنید: <br />
<a href="http://java.sun.com/docs/books/tutorial/java/javaOO/variables.html" target="_blank">آموزش جاوا از شرکت سان-1 (متغیرها در جاوا - Variables)</a><br />
<a href="http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html" target="_blank">اموزش جاوا از شرکت سان-2 (انواع گونه ها در جاوا- Data Types)</a><br />
<br />
<br />
</div>]]></description>
			<content:encoded><![CDATA[<div style="text-align: justify;">
سلام <br />
بخش دوم را با ادامه مباحث قبل شروع می کنیم. <br />
public : یکی از کلمات کلید در جاواست. در برنامه ای که می نویسیم یک کلاس کلی وجود دارد که تمام متد ها در آن کلاس قرار دارند. مثلا کلاس زیر :<br />
<div class="geshicode_h" style='padding: 5px; background-color: #DFDFDF; border: 1px solid #AAAAAA;'>&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.infernodevelopment.com'>JAVA5 Programming</a>
	<div class="geshicode_b" style='background-color: #FFFFFF; padding-left: 5px; border: 1px solid #BBBBBB;'><code><pre class="java5" style="font-family:monospace;text-align:left;direction:ltr;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Student <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a> Sname<span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">public</span> Student<span style="color: #009900;">&#40;</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a> name<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        Sname=name<span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #006600; font-weight: bold;">void</span> print<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html"><span style="color: #003399; font-weight: bold;">System</span></a>.<span style="color: #006633;">out</span>.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span>Sname<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
      <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #006600; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html"><span style="color: #003399; font-weight: bold;">String</span></a><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        Student s=<span style="color: #000000; font-weight: bold;">new</span> Student<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Stephen Colbert&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        s.<span style="color: #006633;">print</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></code></div><br /></div><br />
هنگامی که یک فایل ایجاد می کنیم و بعد می خواهیم آن را اجرا نماییم کامپایلر جاوا به دنبال کلاسی می گردد که همنام آن فایل است. مشخصه اصلی آن علاوه بر هم نام بودن، مزین بودن به کلمه کلیدی <span style="font-weight: bold;">public </span>است. <br />
کلاس به صورت : ابتدا کلمه public سپس کلمه class و آنگاه  نام کلاس معرفی می شود سپس علامت <span style="font-weight: bold;">}</span> می آید که نشانگر شروع کلاس است. <br />
در داخل کلاس چند نوع معرفی متغیر و کلاس داریم:<br />
<span style="font-weight: bold;">public</span>: (عمومی)، یعنی از داخل این کلاس،این پکیج، یا هر کلاس و پکیجی که این کلاس را فراحوانی نماید قابل مشاهده است. مثل متد سازنده.<br />
<span style="font-weight: bold;">private</span>: (خصوصی)، یعنی فقط در داخل این کلاس قابل مشاهد و فراخوانی است و خارج از این کلاس و پکیج مورد دسترسی نمی تواند قرار گیرد. مثل Sname در مثال بالا.<br />
<span style="font-weight: bold;">protected</span>: (محاقظت شده)،یعنی در کلاس و پکیج قابل دسترسی است ولی در صورتی که از پکیج دیگری این کلاس فراخوانی شود این متد یا متغیر قابل دسترسی نیست.<br />
<span style="font-weight: bold;">عدم ذکر </span>: در صورتی که برای متغیر نوعی از موارد بالا ذکر نشود، این متغیر  فقط در این کلاس و پکیج قابل دسترسی است. <br />
<br />
خب در مورد متد main این موضوع مهمتر است. <br />
هنگامی که ما برنامه ای می نویسم و می خواهیم قابلیت  احرایی داشته باشد از متد main استفاده می نماییم. قابلیت اجرایی به این معنی که ما بتوانیم از کلاس فعلی خروجی داشته باشیم. این متد با کلمه کلیدی public  شروع شده و سپس کلمه کلیدی static به دنبالش می آید. در باره static موضوع مهمتر است. ابتدا بحت های زیر را مطالعه نمایید. <br />
<a href="http://leepoint.net/notes-java/flow/methods/50static-methods.html" target="_blank">کلاسها و متدهای ایستا (static class and methods)</a><br />
<a href="http://www.allapplabs.com/interview_questions/java_interview_questions.htm#q14" target="_blank">ایستا (static) چیست؟</a><br />
در اینجا بحث بیشتر روی static  نمی کنیم. چرا که کمی مساله را بغرنج می کند. در آینده درباره static و کاربردهای مهم آن به صورت عمیق تر بحث خواهیم کرد.<br />
پس از کلمه کلیدی static نوبت به نام متد، یعنی main می رسد. در داخل پرانتزی که روبه روی آن است عبارتی به شکل String[] args نوشته می شود. این بیانگر آرایه ای از آرگومانهایی است که این برنامه می تواند از خط فرمان به همراه اجرای خود بگیرد و در برنامه از آنها استفاده نماید. در اینجا از آن استفاده نشده.<br />
برای مطالعه بیشتر و بهتر  تا جلسه بعد که درباره نحوه کار پکیج صحبت خواهیم کرد از لینک های زیر استفاده نمایید تا با انواع متغیر های مجاز در زبان جاوا آشنا شوید و مثال هایی را ببنید: <br />
<a href="http://java.sun.com/docs/books/tutorial/java/javaOO/variables.html" target="_blank">آموزش جاوا از شرکت سان-1 (متغیرها در جاوا - Variables)</a><br />
<a href="http://java.sun.com/docs/books/tutorial/java/nutsandbolts/datatypes.html" target="_blank">اموزش جاوا از شرکت سان-2 (انواع گونه ها در جاوا- Data Types)</a><br />
<br />
<br />
</div>]]></content:encoded>
		</item>
	</channel>
</rss>