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

<channel>
	<title>آموزش رایگان &#8211; طراحی سایت، ربات تلگرام و راهکارهای هوش مصنوعی | پشتیبانی 24 ساعته | مشاوره رایگان | Piero.ir</title>
	<atom:link href="https://piero.ir/category/free-learn/feed/" rel="self" type="application/rss+xml" />
	<link>https://piero.ir</link>
	<description>Piero.ir ارائه‌دهنده طراحی سایت حرفه‌ای، ساخت ربات تلگرام، اتوماسیون n8n، هوش مصنوعی، یادگیری ماشین و راه‌اندازی استارتاپ‌های نوآورانه. راهکارهای اختصاصی و مشتری‌محور برای رشد کسب‌وکار شما.</description>
	<lastBuildDate>Fri, 26 Sep 2025 01:51:54 +0000</lastBuildDate>
	<language>fa-IR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://piero.ir/wp-content/uploads/2025/08/logopiero-100x100.png</url>
	<title>آموزش رایگان &#8211; طراحی سایت، ربات تلگرام و راهکارهای هوش مصنوعی | پشتیبانی 24 ساعته | مشاوره رایگان | Piero.ir</title>
	<link>https://piero.ir</link>
	<width>32</width>
	<height>32</height>
</image> 
        <wp_options>
            <wp_option>
                <name>
                    shopengine_activated_templates                </name>
                <val>
                    a:0:{}                </val>
            </wp_option>
        </wp_options>
        	<item>
		<title>آموزش  reactJS</title>
		<link>https://piero.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%d8%b1%db%8c-%d8%a7%da%a9%d8%aa-react/</link>
		
		<dc:creator><![CDATA[پیروز جنابی]]></dc:creator>
		<pubDate>Sun, 24 Sep 2017 11:33:05 +0000</pubDate>
				<category><![CDATA[آموزش reactJs]]></category>
		<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jsx]]></category>
		<category><![CDATA[reactJs]]></category>
		<category><![CDATA[ری اکت]]></category>
		<guid isPermaLink="false">http://www.piero.ir/?p=781</guid>

					<description><![CDATA[به آموزش  reactJS  (ری اکت) قسمت اول خوش آمدید reactJS یک فریم ورک جاوا اسکریپت می باشد که توسط فیس بوک ساخته شده است . این فریم ورک از برترین فریم ورکهای جهان می باشد که دارای مزایای زیر می باشد. بسیار سریع : برنامه هایی که با این فریم ورک ساخته می شوند بسیار [&#8230;]]]></description>
										<content:encoded><![CDATA[<h3 style="text-align: justify;">به آموزش  reactJS  (ری اکت) قسمت اول خوش آمدید</h3>
<p style="text-align: justify;">reactJS یک فریم ورک جاوا اسکریپت می باشد که توسط فیس بوک ساخته شده است . این فریم ورک از برترین فریم ورکهای جهان می باشد که دارای مزایای زیر می باشد.</p>
<ol style="text-align: justify;">
<li><strong>بسیار سریع :</strong> برنامه هایی که با این فریم ورک ساخته می شوند بسیار سریع هستند زیرا reactJS بسیار بهینه ساخته شده است.</li>
<li><strong>بسیار ماژولار :</strong> در صورتی که شما بسیار برنامه ای بزرگ دارید شما می توانید با reactJS به قطعات کوچکتر تبدیل کنید .</li>
<li><strong>هماهنگ با داده های بزرگ :</strong> reactJS بسیار مناسب برای برناه هایی با داده های بالا است .</li>
<li><strong>انعطاف بالا :</strong> با reactJS هرکاری که شما فکر کنید می توان انجام داد .</li>
<li><strong>شهرت :</strong> وقتی شما تسلط بر این فریم ورک داشته باشید طبیعتا شرایط شما برای یافتن کار مناسب بسیار عالی می باشد .</li>
</ol>
<p style="text-align: justify;">لازم به ذکر است برای شروع نیاز است شما به زبان برنامه نویسی <strong>جاوا اسکریپت</strong>  مسلط باشید همچنین می بایست جاوا اسکریپت اکما اسکریپت ۶ را مسلط با شید که ما با استفاده از بابل آن را به نسخه های رایج مرور گرها تبدیل می کنیم . در لینکهای زیر شامل برترین منابع یادگیری جاوا اسکریپت است :</p>
<p dir="ltr" style="text-align: justify;"><a href="https://www.codecademy.com/learn/javascript" target="_blank" rel="noopener">https://www.codecademy.com/learn/javascript</a></p>
<p dir="ltr" style="text-align: justify;"><a href="https://www.w3schools.com/js/default.asp" target="_blank" rel="noopener">https://www.w3schools.com/js/default.asp</a></p>
<h2 style="text-align: justify;">شروع آموزش reactJS</h2>
<p style="text-align: justify;">به کد زیر توجه نمایید :</p>
<pre class="lang:default decode:true ">var h1 = &lt;h1&gt;Hello world&lt;/h1&gt;;</pre>
<p>&nbsp;</p>
<p style="text-align: justify;">در حالت عادی جاوا اسکریپت به این کد خطا می گیرد :</p>
<div class="panelNode panelNode-console contextUID=2">
<div class="logRow logRow-errorMessage ">
<div class=" " style="text-align: justify;">
<div class="logContent " dir="ltr">
<div class="errorTitle focusRow subLogRow "><span class="errorMessage " style="color: #ff0000;">The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol.</span></div>
</div>
</div>
<div class="logContent " dir="rtl" style="text-align: justify;">به این ساختار <em>JSX</em> می گویند در ادامه به این مبحث به طور کامل می پردازیم.</div>
<h1 class="logContent " dir="rtl" style="text-align: justify;"><em>JSX</em></h1>
<p style="text-align: justify;">JSX یک المنت است که تعریف می شود و می توان هر مقدار دلخواهی را درون آن قرار داد  مانند اعداد ، رشته ، HTML  ، شی ، آرایه و &#8230;</p>
<p style="text-align: justify;">در واقع شما با jsx می توانید یک متغیر تعریف کنید و آن متغیر را به یک المنت html تبدیل کنید و در مواقع لزوم از آن استفاده کنید .</p>
<pre class="lang:default decode:true ">var navBar = &lt;nav&gt;I am a nav bar&lt;/nav&gt;;</pre>
<p>&nbsp;</p>
<p style="text-align: justify;">ذخیره شدن المنتهای HTML در JSX</p>
<pre class="lang:default decode:true ">var Pistons2004 = {
  center:        &lt;li&gt;Ben Wallace&lt;/li&gt;,
  powerForward:  &lt;li&gt;Rasheed Wallace&lt;/li&gt;,
  smallForward:  &lt;li&gt;Tayshaun Prince&lt;/li&gt;,
  shootingGuard: &lt;li&gt;Richard Hamilton&lt;/li&gt;,
  pointGuard:    &lt;li&gt;Chauncey Billups&lt;/li&gt;
};</pre>
<p>&nbsp;</p>
<p style="text-align: justify;">المنتهای jsx می نوانند دارای ویژگی باشند همانند html</p>
<p style="text-align: justify;">و همانند html هم مقدار دهی می شوند .</p>
<pre dir="ltr" class="">&lt;a href="http://www.yahoo.com"&gt;Welcome to the Yahoo&lt;/a&gt;;
var title = &lt;h1 id="title"&gt;Introduction to React.js: Part I&lt;/h1&gt;;</pre>
<p style="text-align: justify;">همچنین می توانند تو در تو باشند و برای خوانایی بیشتر از فاصله ها یا رفتن به خط بعد استفاده کرد.</p>
<pre class="lang:default decode:true ">&lt;a href="https://www.google.net"&gt; &lt;h1&gt; Click me I am Goooogle &lt;/h1&gt; &lt;/a&gt;</pre>
<p>&nbsp;</p>
<p dir="rtl" style="text-align: justify;"><strong>ولی توجه کنید برای رفتن به خط بعد حتما باید کد ما در پرانتز قرار بگیرد:</strong></p>
<pre dir="ltr" class="">var theGoogle = (
   &lt;a href="https://www.google.net"&gt;
     &lt;h1&gt;
       Click me I am Gooooooooooogle
     &lt;/h1&gt;
   &lt;/a&gt;
 );</pre>
<p style="text-align: justify;">نکته مهم : شما فقط می توانید یک المنت پایه داشته باشید :</p>
<pre dir="ltr" class="">var paragraphs = (
  &lt;div id="i-am-the-outermost-element"&gt;
    &lt;p&gt;I am a paragraph.&lt;/p&gt;
    &lt;p&gt;I, too, am a paragraph.&lt;/p&gt;
  &lt;/div&gt;
);</pre>
<p style="text-align: justify;">در حالی که مثال زیر خطا می دهد :(به دلیل اینکه  تگهای p دارای ریشه نمی باشند )</p>
<pre dir="ltr">var paragraphs = (
  &lt;p&gt;I am a paragraph.&lt;/p&gt;
  &lt;p&gt;I, too, am a paragraph.&lt;/p&gt;
);</pre>
<p style="text-align: justify;">برای رفع خطا بهتر است المتهایمان را درون یک &lt;div&gt; بگزاریم.(هر متغیر فقط می تواند یک تگ ریشه داشته باشد)</p>
<pre>var blog = ( &lt;div&gt; &lt;img src="pics/192940u73.jpg" /&gt;
&lt;h1&gt; Welcome to Dan's Blog! &lt;/h1&gt;
&lt;article&gt; Wow I had the tastiest sandwich today. I &lt;strong&gt;literally&lt;/strong&gt; almost freaked out. &lt;/article&gt; &lt;/div&gt; );</pre>
<h2 style="text-align: justify;">رندر کردن reactJS</h2>
<p style="text-align: justify;">حالا که به ساختار آن اشنا شدید بهتر است نحوه استفاده از react رایاد بگیرید .</p>
<pre class="lang:default decode:true">var React = require('react');
var ReactDOM = require('react-dom');
// Copy code here:
ReactDOM.render(&lt;h1&gt;Hello world&lt;/h1&gt;, document.getElementById('app'));</pre>
<p>&nbsp;</p>
<h4 style="text-align: justify;">خروجی : Hello world</h4>
<p style="text-align: justify;">نگران نباشید الان به طور کامل براتون این مورد را شرح می دهیم:</p>
<p style="text-align: justify;">در خط اول و دوم کتابخانه reactJS را فراخوانی کردیم.</p>
<p style="text-align: justify;"><code>ReactDOM</code> چیست ؟</p>
<p style="text-align: justify;">یک کتابخانه جاوا اسکریپت است که ویژگی های ری اکت را در خود جا داده است . البته در ادامه با این مفهوم به طور کامل آشنا می شویم ولی الان برمیگردیم به فایلمان همان گونه که می بینید تکه کد زیر خروجی مناسب می دهد :</p>
<pre class="lang:default decode:true ">ReactDOM.render(&lt;h1&gt;Hello world&lt;/h1&gt;, document.getElementById('app'));</pre>
<p>&nbsp;</p>
<p>ReactDOM.render تابعی است که نوع jsx را خروجی می دهد به المنت دوم تابع در واقع این تابع دو آرگومان ورودی دارد :</p>
<p>ارگومان اول متغیر jsx را دریافت و در المنت دوم چاپ می کند .</p>
<p><strong>توجه : شما می بایست در فایل html خود المنتی با ایدی app داشته باشید</strong></p>
<p dir="ltr">  &lt;main id=&#8221;app&#8221;&gt;&lt;/main&gt;</p>
<h2 dir="rtl">بارگزاری متغیر reactJs</h2>
<pre class="lang:default decode:true" dir="ltr">var React = require('react');
var ReactDOM = require('react-dom');

// Write code here:
var myList=(&lt;ul&gt;
    &lt;li&gt;info@piero.ir&lt;/li&gt;
    &lt;li&gt;www.piero.ir &lt;/li&gt;
    &lt;/ul&gt;
    );
ReactDOM.render(myList,document.getElementById("app"));</pre>
<p>خروچی :</p>
<ul data-reactroot="">
<li>info@piero.ir</li>
<li>www.piero.ir</li>
</ul>
<p>همانگونه که دیدید متغیری تعریف نمودیم و در آن لیستی قرار دادیم و بعد آن را چاپ نمودیم.</p>
<p>نکته پایانی:</p>
<p>چون از المنت استفاده می کنیم درصورتی که یک کد دوبار نوشته شود دفعه دوم هیچ کاری انجام نمیدهد :</p>
<pre dir="ltr" class="">var hello = &lt;h1&gt;Hello world&lt;/h1&gt;;

// This will add "Hello world" to the screen:

ReactDOM.render(hello, document.getElementById('app'));

// This won't do anything at all:

ReactDOM.render(hello, document.getElementById('app'));</pre>
</div>
<p>لطفا با ارایه نظرتتان مارا در بهبود مطالب وب سایت یاری نمایید با تشکر</p>
<p>با تشکر پیروز جنابی</p>
</div>

    <div class="xs_social_share_widget xs_share_url after_content 		main_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content">

		
        <ul>
			        </ul>
    </div> 
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>آموزش ssh</title>
		<link>https://piero.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-ssh/</link>
		
		<dc:creator><![CDATA[پیروز جنابی]]></dc:creator>
		<pubDate>Tue, 12 Sep 2017 11:37:32 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[سایر آموزشها]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssh]]></category>
		<guid isPermaLink="false">http://www.piero.ir/?p=1105</guid>

					<description><![CDATA[آموزش ssh ssh(Secure Shell) یک راه کنترل سرورهای لینوکس می باشد که به سادگی بدون دسترسی فیزیکی به سرور مورد نظر انجام می شود. در واقع شما با این پروتکل می توانید شل های لینوکس را در سرور راه دور خود اجرا نمایید. در اینجا از نرم افزار putty استفاده می کنیم که بسیار ساده [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2 dir="rtl">آموزش ssh</h2>
<p>ssh(Secure Shell) یک راه کنترل سرورهای لینوکس می باشد که به سادگی بدون دسترسی فیزیکی به سرور مورد نظر انجام می شود. در واقع شما با این پروتکل می توانید شل های لینوکس را در سرور راه دور خود اجرا نمایید. در اینجا از نرم افزار <strong>putty</strong> استفاده می کنیم که بسیار ساده و سبک می باشد .</p>
<p><a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html" target="_blank" rel="noopener">دانلود putty</a></p>
<p>همچنین می توانید در سیستم عامل لینوکس خانواده ابونتو با دستور زیر اقدام به نصب آن نمایید .</p>
<p dir="ltr">sudo apt-get install putty</p>
<h3 dir="rtl">انصال PUTTY به SSH</h3>
<p>putty بسیار سبک و سریع می باشد و حدودا نیاز به نصب ندارد .</p>
<p>ابتدا آن را اجرا می نماییم و پنجره زیر را مشاهده می نماییم:</p>
<p><img fetchpriority="high" decoding="async" class="size-full wp-image-1106 aligncenter" src="http://www.piero.ir/wp-content/uploads/2017/09/piero.ir-putty.jpg" alt="" width="453" height="438" /></p>
<p>در قسمت Host Name نام هاست یا ای پی سرورمان را ثبت می کنیم و دکمه open را می زنیم . در صورتی که سوالی مبنی بر مطمین بودن شما پرسید بر روی yes می زنیم و به سیستم مورد نظر متصل می شویم و پنجره زیر را مشاهده می کنیم:</p>
<p><img decoding="async" class="alignnone size-full wp-image-1107" src="http://www.piero.ir/wp-content/uploads/2017/09/piero.ir-putty2.jpg" alt="" width="663" height="96" /></p>
<p>همانگونه که می بینید در پنجره فوق از ما نام کاربری و رمز عبور را می پرسد و بعد از وارد نمودن آنها وارد سیستم مورد نظر می شویم و می توانیم به راحتی از دستورات زیر استفاده نماییم.</p>
<p><strong>ls </strong>&#8211; لیست کردن فایل های موجود در یک مسیر<br />
<strong>cd </strong>&#8211; تغییر مسیر<br />
<strong>cp </strong>&#8211; کپی کردن فایل<br />
<strong>mv </strong>&#8211; انتقال یک فایل و یا تغییر نان آن<br />
<strong>rm </strong>&#8211; حذف یک فایل<br />
<strong>mkdir </strong>&#8211; ایجاد یک پوشه جدید:<br />
<strong>pwd </strong>&#8211; نمایش مسیری که در آن قرا دارید<br />
<strong>whoami </strong>&#8211; نمایش نام کاربری<br />
<strong>wget </strong>&#8211; دانلود آدرس اینترنتی در مسیر فعلی<br />
<strong>yum </strong>&#8211; مدیریت بسته برای نصب نرم افزار از مخازن</p>
<h2>فعال سازی ROOT در SSH</h2>
<p>همانگونه که می دانید کاربر <strong>root</strong> در <strong>ssh</strong> در <strong>ubuntu server</strong> در نسخه های جدید غیر فعال می باشد.<br />
برای فعال سازی کافی است طبق روال زیر عمل کنید .<br />
رفتن به حالت root از دستورات زیر استفاده می کنیم .</p>
<pre class="lang:default decode:true"> sudo -s
 su root</pre>
<p>&nbsp;</p>
<p>پس از اجرای دستورات بالا وضعیت فعالی شما در حالت root قرار میکیرد که می توانید پس از اجرای دستور زیر می توانید خروجی را مشاهده نمایید که شما در وضعیت روت قرار دارید</p>
<p dir="rtl">
<pre class="lang:default decode:true">id</pre>
<p dir="ltr">
uid=0(root) gid=0(root) groups=0(root)</p>
<p>اکنون رمز عبور را تغییر می دهیم:</p>
<pre class="lang:default decode:true"> passwd root</pre>
<p>رمز را وارد می نماییم<br />
پس از مشاهده<strong> password updated successfully</strong> می فهمیم رمز عبور با موفقیت تغییر کرده است</p>
<p>ولی هنوز امکان ورود با کاربر روت در ssh غیر فعال است که با استفاده از دستور زیر این امکان را فعال می کنیم</p>
<pre class="lang:default decode:true">sudo sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config</pre>
<p>اکنون کارمان تمام شده و با دستور زیر به ssh وصل می شویم</p>
<pre class="lang:default decode:true">ssh root@10.1.1.50</pre>

    <div class="xs_social_share_widget xs_share_url after_content 		main_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content">

		
        <ul>
			        </ul>
    </div> 
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>مدیریت بانک اطلاعاتی در کدایگنایتر</title>
		<link>https://piero.ir/%d9%85%d8%af%db%8c%d8%b1%db%8c%d8%aa-%d8%a8%d8%a7%d9%86%da%a9-%d8%a7%d8%b7%d9%84%d8%a7%d8%b9%d8%a7%d8%aa%db%8c-%d8%af%d8%b1-%da%a9%d8%af%d8%a7%db%8c%da%af%d9%86%d8%a7%db%8c%d8%aa%d8%b1/</link>
		
		<dc:creator><![CDATA[پیروز جنابی]]></dc:creator>
		<pubDate>Wed, 02 Aug 2017 08:38:24 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش کد ایگنایتر]]></category>
		<category><![CDATA[codeegniter]]></category>
		<category><![CDATA[codeigniter]]></category>
		<category><![CDATA[codeigniter db forge]]></category>
		<category><![CDATA[dbforge]]></category>
		<category><![CDATA[آموزش php]]></category>
		<guid isPermaLink="false">http://www.piero.ir/?p=1093</guid>

					<description><![CDATA[مدیریت بانک اطلاعاتی در کد ایگنایتر  شامل ساخت و مدیریت جداول پایگاه داده می باشد . این عملیاتها به صورت جامع  و راحت در کد ایگنایتر فراهم شده است . فقط کافی است کتابخانه dbforge را در load کنید و از متدهای آن برای ساخت جداول پایگاه داده استفاده نمایید. نحوه بارگزاری dbforge codeigniter $this-&#62;load-&#62;dbforge(); [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>مدیریت بانک اطلاعاتی در کد ایگنایتر </strong> شامل ساخت و مدیریت جداول پایگاه داده می باشد . این عملیاتها به صورت جامع  و راحت در کد ایگنایتر فراهم شده است . فقط کافی است کتابخانه <strong>dbforge</strong> را در load کنید و از متدهای آن برای ساخت جداول پایگاه داده استفاده نمایید.</p>
<h3>نحوه بارگزاری dbforge codeigniter</h3>
<pre class="">$this-&gt;load-&gt;dbforge();</pre>
<p>در کد بالا کتابخانه مربوطه را بارگزاری نموده ایم.</p>
<p>و همانگونه که می دانید نحوه استفاده از متدهای کتابخانه ها در کد ایگنایتر به شکل زیر می باشد.</p>
<pre class="lang:default decode:true">$this-&gt;dbforge-&gt;some_method();</pre>
<h2>ساخت بانک اطلاعاتی در کدایگنایتر</h2>
<p>با استفاده از دستور زیر می توانید یک بانک اطلاعاتی بسازید و درونش جداول را تعیین کنید البته این عملیات بستگی به مجوزهای شما هم دارد .</p>
<pre class="">$this-&gt;dbforge-&gt;create_database('my_db')</pre>
<p>توجه داشته باشید این دستور مقدار درست یا اشتباه بر می گرداند که می توان از آنها برای چک کردن صحت عملیات استفاده شود.</p>
<pre class="">$this-&gt;load-&gt;dbforge();
if ($this-&gt;dbforge-&gt;create_database('my_db'))
{
    echo 'Database created!';
}</pre>
<h2>حذف بانک اطلاعاتی در کدایگنایتر</h2>
<p>تمام روال دقیقا مثل ساخت یک بانک اطلاعاتی در کد ایگنایتر می باشد ولی با دستور drop_database</p>
<pre class="">$this-&gt;dbforge-&gt;drop_database('my_db')</pre>
<h2>ساخت و حذف جداول بانک اطلاعاتی در کدایگنایتر</h2>
<p>برای ساخت جداول در بانک اطلاعاتی نیاز است <strong>ابتدا فیلدها</strong> را تعریف کنیم و یعد کلیدها را تعریف کنیم که در ادامه به صورت کامل به همه موارد می پردازیم:</p>
<h4>ساخت فیلد ها در کد ایگنایتر</h4>
<p>به هر عنصر یک جدول یک فیلد می گوییم همانند نام خانوادگی در جدول مشخصات فرد می باشد . ساخت فیلدها در کدایگنایتر بسیار راحت می باشد فقط کافی است آرایه های تعریف کنیم و نوع آن را مشخص کنیم .مانند کد زیر:</p>
<pre class="lang:default decode:true ">$fields = array( 'users' =&gt; array( 'type' =&gt; 'VARCHAR', 'constraint' =&gt; '100', ), ); // will translate to "users VARCHAR(100)" when the field is added</pre>
<p>&nbsp;</p>
<p>متدهای فیلدها:</p>
<ul class="simple">
<li dir="ltr" style="text-align: left;">unsigned/true :  “UNSIGNED” مشخص کردن مقدار</li>
<li dir="ltr" style="text-align: left;">default/value : مقدار پش فرض</li>
<li dir="ltr" style="text-align: left;">null/true : برای مشخص کردن بتواند تهی باشد با خیر پیش فرض نمی تواند باشد</li>
<li dir="ltr" style="text-align: left;">auto_increment/true :به طور اتوماتیک عدد بگیرد</li>
<li dir="ltr" style="text-align: left;">unique/true : مقدار بدون تکرار باشد</li>
</ul>
<p>در مثال زیر می توانید یک نمونه خوب را مشاهده فرمایید:</p>
<pre class="lang:default decode:true">$fields = array(
        'blog_id' =&gt; array(
                'type' =&gt; 'INT',
                'constraint' =&gt; 5,
                'unsigned' =&gt; TRUE,
                'auto_increment' =&gt; TRUE
        ),
        'blog_title' =&gt; array(
                'type' =&gt; 'VARCHAR',
                'constraint' =&gt; '100',
                'unique' =&gt; TRUE,
        ),
        'blog_author' =&gt; array(
                'type' =&gt;'VARCHAR',
                'constraint' =&gt; '100',
                'default' =&gt; 'King of Town',
        ),
        'blog_description' =&gt; array(
                'type' =&gt; 'TEXT',
                'null' =&gt; TRUE,
        ),
);</pre>
<p>&nbsp;</p>
<p>بعد از تعریف فیلدها نوبت به رند کردن آن بوسیله دستور زیر می رسد</p>
<pre class="lang:default decode:true">$this-&gt;dbforge-&gt;add_field($fields);</pre>
<p>و بعد از آن می توانید جدول را بسازید : <tt class="docutils literal"><span class="pre">create_table()</span></tt></p>
<h4>ساختن فیلدها به صورت رشته ای در مدیریت بانک اطلاعاتی در کدایگنایتر</h4>
<p>بوسیله رشته ای هم می توان فیلدها را ساخت :</p>
<pre class="lang:default decode:true">$this-&gt;dbforge-&gt;add_field("label varchar(100) NOT NULL DEFAULT 'default label'");</pre>
<h3>افزودن کلید درمدیریت بانک اطلاعاتی در کدایگنایتر</h3>
<p>به منظور کلید اصلی در جدلول از کدهای زیر می توان استفاده کرد:</p>
<pre class="lang:default decode:true">$this-&gt;dbforge-&gt;add_key('blog_id', TRUE);
// gives PRIMARY KEY `blog_id` (`blog_id`)

$this-&gt;dbforge-&gt;add_key('blog_id', TRUE);
$this-&gt;dbforge-&gt;add_key('site_id', TRUE);
// gives PRIMARY KEY `blog_id_site_id` (`blog_id`, `site_id`)

$this-&gt;dbforge-&gt;add_key('blog_name');
// gives KEY `blog_name` (`blog_name`)

$this-&gt;dbforge-&gt;add_key(array('blog_name', 'blog_label'));
// gives KEY `blog_name_blog_label` (`blog_name`, `blog_label`)</pre>
<h2>ساخت جداول در مدیریت بانک اطلاعاتی در کدایگنایتر</h2>
<p>بعد از ساخت فیلدها باید با استفاده از کد زیر جدول را بوجود آورد :</p>
<pre class="lang:default decode:true">$this-&gt;dbforge-&gt;create_table('table_name');
// gives CREATE TABLE table_name</pre>
<p>&nbsp;</p>
<p>پارامتر دوم در صورتی که true تنظیم شود در صورتی که جدول موجود نباشد  می سازد</p>
<pre class="lang:default decode:true">$this-&gt;dbforge-&gt;create_table('table_name', TRUE);
// gives CREATE TABLE IF NOT EXISTS table_name</pre>
<p>&nbsp;</p>
<p>در پارامثر سوم یک سری ویژگی ها دریافت و اعمال می شود</p>
<pre class="lang:default decode:true">$attributes = array('ENGINE' =&gt; 'InnoDB');
$this-&gt;dbforge-&gt;create_table('table_name', FALSE, $attributes);
// produces: CREATE TABLE `table_name` (...) ENGINE = InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci</pre>
<p>&nbsp;</p>
<h2>حذف جداول در بانک اطلاعاتی کد ایگنایتر در مدیریت بانک اطلاعاتی در کدایگنایتر</h2>
<p>با استفاده از کد زیر می توانید جدلول را حذف نمایید:</p>
<pre class="lang:default decode:true">// Produces: DROP TABLE table_name
$this-&gt;dbforge-&gt;drop_table('table_name');

// Produces: DROP TABLE IF EXISTS table_name
$this-&gt;dbforge-&gt;drop_table('table_name',TRUE);</pre>
<p>پارامتر دوم در صورتی که true تنظیم شود در صورتی که جدول موجود نباشد  می سازد</p>
<h2>تغییرنام جداول</h2>
<pre class="lang:default decode:true">$this-&gt;dbforge-&gt;rename_table('old_table_name', 'new_table_name');
// gives ALTER TABLE old_table_name RENAME TO new_table_name</pre>
<p>&nbsp;</p>
<p>در پامتر اول نام جدول جاری و پارامتر دوم نام  جدید.</p>
<p>&nbsp;</p>
<h1>ویرایش جداول بانک اطلاعاتی در مدیریت بانک اطلاعاتی در کدایگنایتر</h1>
<p dir="rtl"> در مدیریت بانک اطلاعاتی در کدایگنایتر ویرایش اطلاعات همانند افزودن بسیار کاربردی و راحت می باشد:</p>
<h3 dir="rtl">افزودن فیلد به جداول بانک اطلاعاتی</h3>
<p dir="rtl">برای افزودن فیلد به جدول جاری از متد <tt class="docutils literal"><span class="pre">add_column()</span></tt> استفاده میکنیم :</p>
<pre class="lang:default decode:true">$fields = array(
        'preferences' =&gt; array('type' =&gt; 'TEXT')
);
$this-&gt;dbforge-&gt;add_column('table_name', $fields);
// Executes: ALTER TABLE table_name ADD preferences TEXT</pre>
<p dir="rtl">در پارامتر اول نام جدول و در پارامتر دوم آرایه ای از فیلدها را دریافت می کند.</p>
<h3 dir="rtl">حذف فیلدها از جداول</h3>
<pre class="lang:default decode:true">$this-&gt;dbforge-&gt;drop_column('table_name', 'column_to_drop');</pre>
<p>پارامتر اول نام جدول و پارامتر دوم نام فیلد به منظور حذف.</p>
<h3>ویرایش فیلدهای جداول</h3>
<p>برای ویرایش فیلدها همانند اقزودن فیلدها رفتار می کنیم .</p>
<pre class="lang:default decode:true">$fields = array(
        'old_name' =&gt; array(
                'name' =&gt; 'new_name',
                'type' =&gt; 'TEXT',
        ),
);
$this-&gt;dbforge-&gt;modify_column('table_name', $fields);
// gives ALTER TABLE table_name CHANGE old_name new_name TEXT</pre>
<p>منبع : <a href="https://www.codeigniter.com/user_guide/database/forge.htm" target="_blank" rel="noopener">https://www.codeigniter.com/user_guide/database/forge.htm</a>l</p>
<p>&nbsp;</p>

    <div class="xs_social_share_widget xs_share_url after_content 		main_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content">

		
        <ul>
			        </ul>
    </div> 
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>نصب Linux  Nginx  MySQL  PHP بر روی لینوکس</title>
		<link>https://piero.ir/%d9%86%d8%b5%d8%a8-linux-nginx-mysql-php-%d8%a8%d8%b1-%d8%b1%d9%88%db%8c-%d9%84%db%8c%d9%86%d9%88%da%a9%d8%b3/</link>
		
		<dc:creator><![CDATA[پیروز جنابی]]></dc:creator>
		<pubDate>Mon, 10 Jul 2017 12:52:59 +0000</pubDate>
				<category><![CDATA[آموزش پی اچ پی]]></category>
		<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<category><![CDATA[سایر آموزشها]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[php7]]></category>
		<category><![CDATA[نصب nginx]]></category>
		<category><![CDATA[نصب nginx بروی لینوکس]]></category>
		<guid isPermaLink="false">http://www.piero.ir/?p=1083</guid>

					<description><![CDATA[انجین ایکس ( Nginx ) یکی از وب سرور هایی است که بسیاری از مدیران سایت های پربازدید را به سوی خود جلب نموده است. انجین ایکس علاوه بر وب سرور، ریورس پراکسی سرور ( reverse proxy server ) و میل پراکسی سرور ( mail proxy server ) نیز می باشد که  بصورت متن باز ( open [&#8230;]]]></description>
										<content:encoded><![CDATA[<div dir="rtl">انجین ایکس ( Nginx ) یکی از وب سرور هایی است که بسیاری از مدیران سایت های پربازدید را به سوی خود جلب نموده است. انجین ایکس علاوه بر وب سرور، ریورس پراکسی سرور ( reverse proxy server ) و میل پراکسی سرور ( mail proxy server ) نیز می باشد که  بصورت متن باز ( open source ) ارائه شده است و از پروتکل های http , https , SMTP , POP3 و IMAP پشتیبانی می کند. انجین ایکس به گونه ای طراحی شده است که همزمان با پشتیبانی از تعداد کانکشن های بسیار بالا ، عملکرد مناسب و مصرف کم رم را به همراه داشته باشد. این وب سرور محبوب بر روی سیستم عامل های مختلفی از جمله لینوکس ، mac os و سولاریس قابل نصب می باشد. nginx توسط ایگور سیسویو ( igor sysoev ) ساخته شده است، ایگور در سال ۱۹۷۰ در شهر آلماتی قزاقستان به دنیا آمده است و فارغ التحصیل دانشگاه ایالتی مسکو می باشد.</div>
<p dir="rtl">کار ساخت nginx از سال ۲۰۰۲ آغاز گردید و اولین نسخه آن در سال ۲۰۰۴ منتشر گردید. در حال حاضر نزدیک به ۱۲ درصد وب سایت های جهان یعنی چیزی در حدود ۲۲ میلیون وب سایت از nginx به عنوان وب سرور خود استفاده می کنند.</p>
<p dir="rtl"><strong>چگونه وب سرور Nginx را بر روی سرور لینوکس خود نصب نمائیم؟</strong></p>
<p dir="rtl">در این آموزش به نصب LEMP بروی سرورهای ابونتو با استفاده از دستور apt می پردازیم .</p>
<h1 dir="rtl">گام اول :نصب NGINX</h1>
<p>برای شروع ترمینال خود را باز کرده و دستورات زیر را تایپ می کنیم .</p>
<pre class="lang:default decode:true ">    sudo apt-get update
    sudo apt-get install nginx
</pre>
<p>در صورتی که firewall ufw استفاده می کنید کد زیر را بزنید</p>
<pre class="lang:default decode:true ">sudo ufw allow 'Nginx HTTP'</pre>
<p>با کذ زیر می توانید ازufw خود مطلع شوید</p>
<pre class="lang:default decode:true ">sudo ufw status</pre>
<p>خروجی باید به شرح زیر باشد</p>
<pre class="lang:default decode:true ">Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx HTTP                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx HTTP (v6)            ALLOW       Anywhere (v6)</pre>
<p>&nbsp;</p>
<p>درصورتی که در حال حاضر سرور apache را نصب کرده اید با کد زیر آن را stop کنید و سرویس ngnix را اجرا کنید :</p>
<pre class="lang:default decode:true ">service apache2 stop
service ngnix start</pre>
<p>در کد اول آپاچی متوقف می شود و در کد دوم ngnix شروع به کار می کند .</p>
<p><strong>در صورتی که ngnix با موفقیت نصب شده باشد با زدن <a href="http://localhost" target="_blank" rel="noopener">http://localhost</a> درون مرور گر صفحه زیر نشان داده میشود</strong> :</p>
<p><img decoding="async" src="https://assets.digitalocean.com/articles/lemp_ubuntu_1604/nginx_default.png" /></p>
<p>&nbsp;</p>
<h1>نصب بانک اطلاعاتی</h1>
<p>به منظور نصب mysql از کد زیر استفاده می نماییم :</p>
<pre class="lang:default decode:true ">sudo apt-get install mysql-server</pre>
<p>ولی پیشنهاد می شود بانک اطلاعاتی maria db را نصب نمایید که در مقاله زیر به طور کامل به آن پرداخته ایم :</p>
<p>[irp posts=&#8221;620&#8243; name=&#8221;مهاجرت از Mysql به MariaDb&#8221;]</p>
<p>&nbsp;</p>
<h1>نصب php</h1>
<p>به طور کلی برای سازگاری php و nginx می بایست <code>php-fpm</code> را نصب نمود و در کل روال عادی نصب php را داریم :</p>
<pre class="lang:default decode:true ">sudo apt-get install php-fpm php-mysql</pre>
<p>قطعه کد بالا php را نصب نموده و تنظیمات مورد نظر جهت استفاده nginx را انجام می دهد.</p>
<h2>تنظیمات php برای nginx</h2>
<p>با کد زیر وارد تنظیمات <code>php-fpm</code> برای تنظیم php برروی سرورهای nginx می شویم :</p>
<pre class="lang:default decode:true">sudo nano /etc/php/7.0/fpm/php.ini</pre>
<p>در فایل مربوطه به دنبال گزینه cgi.fix_pathinfo می گردیم که در حالت پیش فرض به صورت زیر است:</p>
<pre class="lang:default decode:true">;cgi.fix_pathinfo=1</pre>
<p>به منظور تصحیح عملکرد ; را از ابتدا برداشته و مقدارش را برابر ۰ قرار می دهیم:</p>
<pre class="lang:default decode:true ">cgi.fix_pathinfo=0</pre>
<p>حالا کافی است php را با کد زیر  ریست نماییم :</p>
<pre class="lang:default decode:true ">sudo systemctl restart php7.0-fpm</pre>
<p>در صورتی که کد بالا جواب نداد از کد زیر برای ریست php استفاده نمایید :</p>
<pre class="lang:default decode:true ">service  php7.1-fpm restart</pre>
<h1>ساخت فایل تنظیمات NGINX</h1>
<p>امنون فقط یک گام مانده تا به lemp برسیم کافی است دستور زیر را بزنیم :</p>
<pre class="lang:default decode:true ">sudo nano /etc/nginx/sites-available/default</pre>
<p>این فایل حاوی تنظیمات پیش فرض nginx است بهتر است به مقدار زیر تغییرش دهیم:</p>
<pre class="lang:default decode:true ">server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name server_domain_or_IP;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}
</pre>
<p>فایل بالا تنظیمات مناسب جهت استفاده php از nginx  می باشد .</p>
<p>بعد از اتمام تغییر فایل را بسته و نمظیمات را با کد زیر تست نمایید :</p>
<pre class="lang:default decode:true ">sudo nginx -t</pre>
<p>در صورتی که خطایی مشاهده نشد کد زیر را در برای بارگزاری دوباره nginx بزنید :</p>
<pre class="lang:default decode:true ">sudo systemctl reload nginx</pre>
<p>یا :</p>
<pre class="lang:default decode:true ">service  nginx restart
</pre>
<p>&nbsp;</p>
<p>تبریک نصب شما با موفقیت انجام شده و شما می توانید با ساختن فایل php.info و قرار دادن تابع phpinfo() مطابق کد زیر سرور خود را تست نمایید :</p>
<pre class="lang:default decode:true ">&lt;?php
phpinfo();</pre>
<p><img decoding="async" src="https://assets.digitalocean.com/articles/lemp_ubuntu_1604/php_info.png" /></p>
<p>با تشکر &#8211; پیروز جنابی</p>

    <div class="xs_social_share_widget xs_share_url after_content 		main_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content">

		
        <ul>
			        </ul>
    </div> 
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>بارگزاری فایل (File Uploading) در کد ایگنایتر</title>
		<link>https://piero.ir/%d8%a8%d8%a7%d8%b1%da%af%d8%b2%d8%a7%d8%b1%db%8c-%d9%81%d8%a7%db%8c%d9%84-file-uploading-%d8%af%d8%b1-%da%a9%d8%af-%d8%a7%db%8c%da%af%d9%86%d8%a7%db%8c%d8%aa%d8%b1/</link>
		
		<dc:creator><![CDATA[پیروز جنابی]]></dc:creator>
		<pubDate>Mon, 30 Jan 2017 15:02:25 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش کد ایگنایتر]]></category>
		<guid isPermaLink="false">http://www.piero.ir/?p=709</guid>

					<description><![CDATA[بارگزاری فایل (File Uploading) در کد ایگنایتر بارگزاری فایل (File Uploading) در کد ایگنایتر شامل روند کلی زیر است: یک فرم جهت انتخاب فایل . مشخص کردن جای ذخیره فایل . اعتبار سنجی فایل در راه . آپلود شدن و نشان دادن پیغام موفقیت . ما طبق یک مثال کاربردی این چهار مورد را به [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>بارگزاری فایل (File Uploading) در کد ایگنایتر</h2>
<p><span id="result_box" class="short_text" lang="fa">بارگزاری فایل (File Uploading) در کد ایگنایتر شامل روند کلی <span class="">زیر است:</span></span></p>
<ol>
<li>یک فرم جهت انتخاب فایل .</li>
<li>مشخص کردن جای ذخیره فایل .</li>
<li>اعتبار سنجی فایل در راه .</li>
<li>آپلود شدن و نشان دادن پیغام موفقیت .</li>
</ol>
<p>ما طبق یک مثال کاربردی این چهار مورد را به صورت کامل شرح می دهیم .</p>
<p><strong>توجه</strong> : بهتر است برای این کار , کار با فرمها را در کد ایگنایتر کار کرده باشید .</p>
<h2>فرم نمایش بارگزاری فایل (File Uploading) در کد ایگنایتر</h2>
<p>با استفاده از ویرایشگرتان در آدرس <strong>application/views/</strong>  یک فایل متنی به نام <strong>upload_form.php</strong> بسازید .</p>
<pre class="lang:default decode:true">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Upload Form&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;?php echo $error;?&gt;

&lt;?php echo form_open_multipart('upload/do_upload');?&gt;

&lt;input type="file" name="userfile" size="20" /&gt;

&lt;br /&gt;&lt;br /&gt;

&lt;input type="submit" value="upload" /&gt;

&lt;/form&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>ساخت صفحه پیغام موفقیت در بارگزاری فایل (File Uploading) در کد ایگنایتر</h2>
<p>با استفاده از ویرایشگرتان در آدرس <strong>application/views/</strong>  یک فایل متنی به نام <strong>upload_success.php</strong> بسازید .</p>
<pre class="lang:default decode:true ">&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Upload Form&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;h3&gt;Your file was successfully uploaded!&lt;/h3&gt;

&lt;ul&gt;
&lt;?php foreach ($upload_data as $item =&gt; $value):?&gt;
&lt;li&gt;&lt;?php echo $item;?&gt;: &lt;?php echo $value;?&gt;&lt;/li&gt;
&lt;?php endforeach; ?&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;?php echo anchor('upload', 'Upload Another File!'); ?&gt;&lt;/p&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>ساخت کنترلر در بارگزاری فایل (File Uploading) در کد ایگنایتر</h2>
<p>با استفاده از ویرایشگرتان در آدرس <strong>application/controllers/</strong> یک فایل متنی به نام <strong>Upload.php</strong> بسازید .</p>
<pre class="lang:default decode:true ">&lt;?php

class Upload extends CI_Controller {

        public function __construct()
        {
                parent::__construct();
                $this-&gt;load-&gt;helper(array('form', 'url'));
        }

        public function index()
        {
                $this-&gt;load-&gt;view('upload_form', array('error' =&gt; ' ' ));
        }

        public function do_upload()
        {
                $config['upload_path']          = './uploads/';
                $config['allowed_types']        = 'gif|jpg|png';
                $config['max_size']             = 100;
                $config['max_width']            = 1024;
                $config['max_height']           = 768;

                $this-&gt;load-&gt;library('upload', $config);

                if ( ! $this-&gt;upload-&gt;do_upload('userfile'))
                {
                        $error = array('error' =&gt; $this-&gt;upload-&gt;display_errors());

                        $this-&gt;load-&gt;view('upload_form', $error);
                }
                else
                {
                        $data = array('upload_data' =&gt; $this-&gt;upload-&gt;data());

                        $this-&gt;load-&gt;view('upload_success', $data);
                }
        }
}
?&gt;</pre>
<p>&nbsp;</p>
<h2>شرح کنترلر</h2>
<p>در ابتدای فایل کنترلر کتابخانه های form و url را در سازنده کلاس بارگزاری می نماییم بنا براین در ادامه نیازی برای صدا زدن آنها نمی باشد.</p>
<p>در ادامه در تابع index  صفحه upload_form را بارگزاری می نماییم .</p>
<p>در تابع do_upload  اقدامات زیر را انجام می دهیم :</p>
<ol>
<li>ابتدا با استفاده از آرایه $config  کتابخانه آپلود را مقدار دهی می نماییم .(در ادامه تمامی تنظیمات جهت مقدار دهی کتابخانه را شرح می دهیم)</li>
<li>کتابخانه را با استفاده از تنظیمات مشخص شده صدا می زنیم</li>
<li>در شرطمان (if) فایل را بارگزاری می نماییم ودر صورت موفق بودن کاربر را به صفحه بارگزاری موفق به فایل (upload_success )هدایت می نماییم .و در صورتی که موفقیت آمیز نبود خطا را دریافت و به فایل فرم بارگزاری ارسال می کنیم .</li>
</ol>
<h2></h2>
<h2>پوشه بارگزاری فایل</h2>
<p>شما نیاز دارید به ساخت پوشه uploads در شاخه اصلی برنامه تان و دادن دسترسی کامل به آن جهت بارگزاری فایلها در آن .</p>
<p>&nbsp;</p>
<h2>اجرا</h2>
<p>کافی است آدرس زیر را در مرورگرتان فرا خوانی نمایید .</p>
<pre class="lang:default decode:true ">example.com/index.php/upload/</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>تنظیمات جهت بارگزاری فایل در کد ایگنایتر</h2>
<p>در جدول زیر تنظیماتی که باید به کتابخانه آپلود بفرستیم را نشان می دهیم این تنظیمات در واقع همان تنظیماتی می باشد که در آرایه $config بوده است.</p>
<p>&nbsp;</p>
<table class="docutils aligncenter" border="1">
<thead valign="bottom">
<tr class="row-odd" style="height: 36px;">
<th class="head" style="height: 36px; width: 170px;"><strong>نام تنظیم</strong></th>
<th class="head" style="height: 36px; width: 123.767px;"><strong>مقدار پیش فرض</strong></th>
<th class="head" style="height: 36px; width: 135.833px;"><strong>مقدار ها</strong></th>
<th class="head" style="height: 36px; width: 627.4px;"><strong>توضیح</strong></th>
</tr>
</thead>
<tbody valign="top">
<tr class="row-even" style="height: 18px;">
<td style="height: 18px; text-align: center; width: 170px;"><strong>upload_path</strong></td>
<td style="height: 18px; text-align: center; width: 123.767px;">None</td>
<td style="height: 18px; text-align: center; width: 135.833px;">None</td>
<td style="height: 18px; width: 627.4px;">مکان بارگزاری فایل</td>
</tr>
<tr class="row-odd" style="height: 18px;">
<td style="height: 18px; text-align: center; width: 170px;"><strong>allowed_types</strong></td>
<td style="height: 18px; text-align: center; width: 123.767px;">None</td>
<td style="height: 18px; text-align: center; width: 135.833px;">None</td>
<td style="height: 18px; width: 627.4px;">پسوندهای مجاز جهت بار گزاری فایل</td>
</tr>
<tr class="row-even" style="height: 18px;">
<td style="height: 18px; text-align: center; width: 170px;"><strong>file_name</strong></td>
<td style="height: 18px; text-align: center; width: 123.767px;">None</td>
<td style="height: 18px; text-align: center; width: 135.833px;">Desired file name</td>
<td style="height: 18px; width: 627.4px;">نام فایل</td>
</tr>
<tr class="row-odd" style="height: 36px;">
<td style="height: 36px; text-align: center; width: 170px;"><strong>file_ext_tolower</strong></td>
<td style="height: 36px; text-align: center; width: 123.767px;">FALSE</td>
<td style="height: 36px; text-align: center; width: 135.833px;">TRUE/FALSE (boolean)</td>
<td style="height: 36px; width: 627.4px;">در صورت درست بودن نام فایل به حروف کوچک می شود</td>
</tr>
<tr class="row-even" style="height: 36px;">
<td style="height: 36px; text-align: center; width: 170px;"><strong>overwrite</strong></td>
<td style="height: 36px; text-align: center; width: 123.767px;">FALSE</td>
<td style="height: 36px; text-align: center; width: 135.833px;">TRUE/FALSE (boolean)</td>
<td style="height: 36px; width: 627.4px;">در صورت درست بودن در صورتی که فایل وجود داشته باشد فایل جایگزین می شود</td>
</tr>
<tr class="row-odd" style="height: 36px;">
<td style="height: 36px; text-align: center; width: 170px;"><strong>max_size</strong></td>
<td style="height: 36px; text-align: center; width: 123.767px;">۰</td>
<td style="height: 36px; text-align: center; width: 135.833px;">None</td>
<td style="height: 36px; width: 627.4px;">حداکثر حجم جهت بار گزاری فایل به صورت پیش فرض از تنظیمات پی اچ پی شما می گیرد که به ۲ مگابایت می باشد</td>
</tr>
<tr class="row-even" style="height: 18px;">
<td style="height: 18px; text-align: center; width: 170px;"><strong>max_width</strong></td>
<td style="height: 18px; text-align: center; width: 123.767px;">۰</td>
<td style="height: 18px; text-align: center; width: 135.833px;">None</td>
<td style="height: 18px; width: 627.4px;">حداکثر عرض در صورتی که صفر تنظیم شود اندازه نامحدود می شود</td>
</tr>
<tr class="row-odd" style="height: 18px;">
<td style="height: 18px; text-align: center; width: 170px;"><strong>max_height</strong></td>
<td style="height: 18px; text-align: center; width: 123.767px;">۰</td>
<td style="height: 18px; text-align: center; width: 135.833px;">None</td>
<td style="height: 18px; width: 627.4px;">حداکثر طول در صورتی که صفر تنظیم شود اندازه نامحدود می شود</td>
</tr>
<tr class="row-even" style="height: 18px;">
<td style="height: 18px; text-align: center; width: 170px;"><strong>min_width</strong></td>
<td style="height: 18px; text-align: center; width: 123.767px;">۰</td>
<td style="height: 18px; text-align: center; width: 135.833px;">None</td>
<td style="height: 18px; width: 627.4px;">حداقل عرض در صورتی که صفر تنظیم شود اندازه نامحدود می شود</td>
</tr>
<tr class="row-odd" style="height: 18px;">
<td style="height: 18px; text-align: center; width: 170px;"><strong>min_height</strong></td>
<td style="height: 18px; text-align: center; width: 123.767px;">۰</td>
<td style="height: 18px; text-align: center; width: 135.833px;">None</td>
<td style="height: 18px; width: 627.4px;">حداقل طول در صورتی که صفر تنظیم شود اندازه نامحدود می شود</td>
</tr>
<tr class="row-even" style="height: 18px;">
<td style="height: 18px; text-align: center; width: 170px;"><strong>max_filename</strong></td>
<td style="height: 18px; text-align: center; width: 123.767px;">۰</td>
<td style="height: 18px; text-align: center; width: 135.833px;">None</td>
<td style="height: 18px; width: 627.4px;">حداکثر طول نام فایل در صورتی که صفر تنظیم شود اندازه نامحدود می شود</td>
</tr>
<tr class="row-odd" style="height: 18px;">
<td style="height: 18px; text-align: center; width: 170px;"><strong>max_filename_increment</strong></td>
<td style="height: 18px; text-align: center; width: 123.767px;">۱۰۰</td>
<td style="height: 18px; text-align: center; width: 135.833px;">None</td>
<td style="height: 18px; width: 627.4px;">هنگامی که overwrite تنظیم شده باشد false در صورتی که تکراری باشد فایل هم ه اندازه این گزینه بزرگتر باشد جایگزین می نماید</td>
</tr>
<tr class="row-even" style="height: 36px;">
<td style="height: 36px; text-align: center; width: 170px;"><strong>encrypt_name</strong></td>
<td style="height: 36px; text-align: center; width: 123.767px;">FALSE</td>
<td style="height: 36px; text-align: center; width: 135.833px;">TRUE/FALSE (boolean)</td>
<td style="height: 36px; width: 627.4px;">در صورتی که درست باشد نام فایل را به صورت کد می کند و این گزینه خیلی موثر و بدرد بخور است</td>
</tr>
<tr class="row-odd" style="height: 36px;">
<td style="height: 36px; text-align: center; width: 170px;"><strong>remove_spaces</strong></td>
<td style="height: 36px; text-align: center; width: 123.767px;">TRUE</td>
<td style="height: 36px; text-align: center; width: 135.833px;">TRUE/FALSE (boolean)</td>
<td style="height: 36px; width: 627.4px;">در صورت درست فضاهای خالی در نام فایل به _ تبدیل می شود.</td>
</tr>
<tr class="row-even" style="height: 36.1333px;">
<td style="height: 36.1333px; text-align: center; width: 170px;"><strong>detect_mime</strong></td>
<td style="height: 36.1333px; text-align: center; width: 123.767px;">TRUE</td>
<td style="height: 36.1333px; text-align: center; width: 135.833px;">TRUE/FALSE (boolean)</td>
<td style="height: 36.1333px; width: 627.4px;">در صورت درست بودن سرور چک می کند که فایل خطرناک نباشد</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>در ادامه &#8230;</h2>
<p>توجه داشته باشید به هیچ وجه بارگزاری فایل در کد ایگنایتر محدود نمی شود ولی پایه و اساس بارگزاری فایل در کد ایگنایتر را آموزش دادیم ولی در ادامه شما می توانید کتابخانه ای داشته باشید و بارگزاری را باستفاده از آن کتابخانه انجام دهید همچنین شما می توانید بارگزاری را با استفاده از آجاکس انجام دهید .</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>

    <div class="xs_social_share_widget xs_share_url after_content 		main_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content">

		
        <ul>
			        </ul>
    </div> 
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>آموزش گیت (۱) &#8211; تاریخچه ، نصب و راه اندازی GIT</title>
		<link>https://piero.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%af%db%8c%d8%aa-1-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae%da%86%d9%87-%d8%8c-%d9%86%d8%b5%d8%a8-%d9%88-%d8%b1%d8%a7%d9%87-%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-git/</link>
					<comments>https://piero.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%af%db%8c%d8%aa-1-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae%da%86%d9%87-%d8%8c-%d9%86%d8%b5%d8%a8-%d9%88-%d8%b1%d8%a7%d9%87-%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-git/#respond</comments>
		
		<dc:creator><![CDATA[پیروز جنابی]]></dc:creator>
		<pubDate>Sat, 21 Jan 2017 06:14:22 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش گیت]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[گیت]]></category>
		<category><![CDATA[مصب گیت]]></category>
		<guid isPermaLink="false">http://www.piero.ir/?p=696</guid>

					<description><![CDATA[آموزش گیت درس۱   &#8211; تاریخچه ، نصب و راه اندازی GIT گیت (به انگلیسی: Git) یک نرم‌افزار آزاد و متن‌باز برای بازنگری کد منبع توزیع شده و مدیریت منبع کد است که برروی سرعت تاکید می‌کند. گیت ابتدا برای توسعهٔ لینوکس توسط لینوس تروالدز به وجود آمد و اکنون پروژه‌های فراوانی از آن الهام [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2 dir="rtl" style="text-align: justify;">آموزش گیت درس۱   &#8211; تاریخچه ، نصب و راه اندازی GIT</h2>
<p dir="rtl" style="text-align: justify;"><b>گیت</b> (به <a title="زبان انگلیسی" href="https://fa.wikipedia.org/wiki/%D8%B2%D8%A8%D8%A7%D9%86_%D8%A7%D9%86%DA%AF%D9%84%DB%8C%D8%B3%DB%8C" target="_blank" rel="noopener">انگلیسی</a>: <bdi lang="en">Git</bdi>) یک <a title="نرم‌افزار آزاد و متن‌باز" href="https://fa.wikipedia.org/wiki/%D9%86%D8%B1%D9%85%E2%80%8C%D8%A7%D9%81%D8%B2%D8%A7%D8%B1_%D8%A2%D8%B2%D8%A7%D8%AF_%D9%88_%D9%85%D8%AA%D9%86%E2%80%8C%D8%A8%D8%A7%D8%B2" target="_blank" rel="noopener">نرم‌افزار آزاد و متن‌باز</a> برای بازنگری <a title="کد منبع" href="https://fa.wikipedia.org/wiki/%DA%A9%D8%AF_%D9%85%D9%86%D8%A8%D8%B9" target="_blank" rel="noopener">کد منبع</a> توزیع شده و مدیریت منبع کد است که برروی سرعت تاکید می‌کند. گیت ابتدا برای توسعهٔ <a title="هسته لینوکس" href="https://fa.wikipedia.org/wiki/%D9%87%D8%B3%D8%AA%D9%87_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3" target="_blank" rel="noopener">لینوکس</a> توسط <a class="mw-redirect" title="لینوس تروالدز" href="https://fa.wikipedia.org/wiki/%D9%84%DB%8C%D9%86%D9%88%D8%B3_%D8%AA%D8%B1%D9%88%D8%A7%D9%84%D8%AF%D8%B2" target="_blank" rel="noopener">لینوس تروالدز</a> به وجود آمد و اکنون پروژه‌های فراوانی از آن الهام گرفته‌اند. هر دایرکتوری کاری در گیت یک مخزن کامل با تاریخچهٔ کامل تغییرات و قابلیت بازنگری تغییرات است و برای کار با آن نیازی به دسترسی به شبکه یا سرور مرکزی وجود ندارد. گیت یک <a title="نرم‌افزار آزاد" href="https://fa.wikipedia.org/wiki/%D9%86%D8%B1%D9%85%E2%80%8C%D8%A7%D9%81%D8%B2%D8%A7%D8%B1_%D8%A2%D8%B2%D8%A7%D8%AF" target="_blank" rel="noopener">نرم‌افزار آزاد</a> است که تحت عنوان <a class="mw-redirect" title="جی‌پی‌ال" href="https://fa.wikipedia.org/wiki/%D8%AC%DB%8C%E2%80%8C%D9%BE%DB%8C%E2%80%8C%D8%A7%D9%84" target="_blank" rel="noopener">جی‌پی‌ال</a> نسخه ۲ توزیع شده است. تاریخچه ، نصب و راه اندازی GIT</p>
<p style="text-align: justify;">توسعهٔ گیت زمانی شروع شد که بسیاری از توسعه‌دهندگان <a title="لینوکس" href="https://fa.wikipedia.org/wiki/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3" target="_blank" rel="noopener">لینوکس</a>، در استفاده از <a class="new" title="بیت کیپر (صفحه وجود ندارد)" href="https://fa.wikipedia.org/w/index.php?title=%D8%A8%DB%8C%D8%AA_%DA%A9%DB%8C%D9%BE%D8%B1&amp;action=edit&amp;redlink=1" target="_blank" rel="noopener">بیت کیپر</a>، که یک سیستم مدیریت کد می‌باشد که قبلاً برای توسعه هستهٔ لینوکس استفاده می‌شد، امتناع ورزیدند. نگهدارندهٔ <a class="mw-redirect" title="کپی رایت" href="https://fa.wikipedia.org/wiki/%DA%A9%D9%BE%DB%8C_%D8%B1%D8%A7%DB%8C%D8%AA" target="_blank" rel="noopener">کپی رایت</a>، لری مک وی، حق استفادهٔ رایگان از این نرم‌افزار را پس از آن که <a title="اندرو تریدگل" href="https://fa.wikipedia.org/wiki/%D8%A7%D9%86%D8%AF%D8%B1%D9%88_%D8%AA%D8%B1%DB%8C%D8%AF%DA%AF%D9%84" target="_blank" rel="noopener">اندرو تریدگل</a> به روش <a title="مهندسی معکوس" href="https://fa.wikipedia.org/wiki/%D9%85%D9%87%D9%86%D8%AF%D8%B3%DB%8C_%D9%85%D8%B9%DA%A9%D9%88%D8%B3" target="_blank" rel="noopener">مهندسی معکوس</a> می‌خواست که پروتوکل‌های <a class="new" title="بیت کیپر (صفحه وجود ندارد)" href="https://fa.wikipedia.org/w/index.php?title=%D8%A8%DB%8C%D8%AA_%DA%A9%DB%8C%D9%BE%D8%B1&amp;action=edit&amp;redlink=1" target="_blank" rel="noopener">بیت کیپر</a> را پیاده کند، برداشت. تروالدز نیاز به سیستم توزیع شده‌ای داشت که بتواند از آن همانند <a class="new" title="بیت کیپر (صفحه وجود ندارد)" href="https://fa.wikipedia.org/w/index.php?title=%D8%A8%DB%8C%D8%AA_%DA%A9%DB%8C%D9%BE%D8%B1&amp;action=edit&amp;redlink=1" target="_blank" rel="noopener">بیت کیپر</a> استفاده کند، ولی هیچکدام از نرم‌افزارهای آزاد را مبتنی بر نیازهای خود ندید، به خصوص نیاز او به کارایی بالا. تاریخچه ، نصب و راه اندازی GIT</p>
<p style="text-align: justify;">تا قبل از ۲۰۰۲ برای گسترش <a class="mw-redirect" title="کرنل" href="https://fa.wikipedia.org/wiki/%DA%A9%D8%B1%D9%86%D9%84" target="_blank" rel="noopener">کرنل</a> از هیچ نرم‌افزار <a title="کنترل نسخه" href="https://fa.wikipedia.org/wiki/%DA%A9%D9%86%D8%AA%D8%B1%D9%84_%D9%86%D8%B3%D8%AE%D9%87" target="_blank" rel="noopener">کنترل نسخه</a> استفاده نمی‌شد و هر فردی که در گسترش <a class="mw-redirect" title="کرنل" href="https://fa.wikipedia.org/wiki/%DA%A9%D8%B1%D9%86%D9%84" target="_blank" rel="noopener">کرنل</a> نقش داشت به شکل خصوصی از نرم‌افزارهایی مانند <a class="mw-disambig" title="SVN" href="https://fa.wikipedia.org/wiki/SVN" target="_blank" rel="noopener">SVN</a>/<a class="mw-redirect" title="CVS" href="https://fa.wikipedia.org/wiki/CVS" target="_blank" rel="noopener">CVS</a> استفاده می‌کرد و دلیلش آن بود که هیچ‌کدام از نرم‌افزارهای کنترل نسخه این توانایی را نداشتند که حجم تغییراتی که در لینوکس اتفاق میفتادرا پشتیبانی کنند. در این سال لینوس از BitKeeper به عنوان نرم‌افزار کنترل نسخه رسمی لینوکس استفاده کرد که به گسترش دهنده‌های <a class="mw-redirect" title="کرنل" href="https://fa.wikipedia.org/wiki/%DA%A9%D8%B1%D9%86%D9%84" target="_blank" rel="noopener">کرنل</a> (هر پروژهی <a class="mw-redirect" title="متن باز" href="https://fa.wikipedia.org/wiki/%D9%85%D8%AA%D9%86_%D8%A8%D8%A7%D8%B2" target="_blank" rel="noopener">متن باز</a>) اجازه می‌داد به صورت رایگان از <a class="new" title="BitKeeper (صفحه وجود ندارد)" href="https://fa.wikipedia.org/w/index.php?title=BitKeeper&amp;action=edit&amp;redlink=1" target="_blank" rel="noopener">BitKeeper</a> استفاده کنند. تاریخچه ، نصب و راه اندازی GIT</p>
<p style="text-align: justify;">در سال ۲۰۰۵ اجازهٔ استفاده رایگان از Bitkeeper برای گسترش دهندگان <a title="لینوکس" href="https://fa.wikipedia.org/wiki/%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3" target="_blank" rel="noopener">لینوکس</a> محدود شد (به دلیل انجام مهندسی معکوس روی Bitkeeper) و <a class="mw-redirect" title="لینوس تروالدز" href="https://fa.wikipedia.org/wiki/%D9%84%DB%8C%D9%86%D9%88%D8%B3_%D8%AA%D8%B1%D9%88%D8%A7%D9%84%D8%AF%D8%B2" target="_blank" rel="noopener">لینوس</a> شروع به جستجو برای یافتن جایگزینی مناسب کرد. اما نرم‌افزار مناسبی پیدا نکرد که بتواند حجم تغییرات <a title="هسته لینوکس" href="https://fa.wikipedia.org/wiki/%D9%87%D8%B3%D8%AA%D9%87_%D9%84%DB%8C%D9%86%D9%88%DA%A9%D8%B3" target="_blank" rel="noopener">لینوکس</a> را مدیریت کنند و این کمبود سبب شد تا توروالدز به فکر نوشتن یک نرم‌افزار کنترل نسخه بیفتد. توسعه گیت در ماه آوریل سال ۲۰۰۵ آغاز شد و تنها ۲ هفته بعد از شروع توسعه، گیت قادر بود شاخه‌ها (branch) را ادغام (merge) کند. ۲ ماه بعد گیت به عنوان نرم‌افزار <a title="کنترل نسخه" href="https://fa.wikipedia.org/wiki/%DA%A9%D9%86%D8%AA%D8%B1%D9%84_%D9%86%D8%B3%D8%AE%D9%87" target="_blank" rel="noopener">کنترل نسخه</a> رسمی برای گسترش لینوکس مورد استفاده قرار گرفت.</p>
<h3 dir="rtl" style="text-align: justify;">از ویکی‌پدیا، دانشنامهٔ آزاد</h3>
<h1>شروه نصب و راه اندازی GIT</h1>
<h2 id="نصب-از-طریق-سورس" dir="rtl" style="text-align: justify;">نصب از طریق سورس</h2>
<p dir="rtl" style="text-align: justify;">اگر امکان نصب از طریق سورس برای شما وجود دارد، این روش مناسب‌ترین روش جهت نصب می‌باشد، زیرا شما بعد از نصب آخرین نسخه نرم‌افزار را در اختیار خواهید داشت. در هر نسخه از Git سعی شده است که تا در رابط کاربری بهبودهایی حاصل شود، بنابراین در اختیار داشتن آخرین نسخه بهترین گزینه است البته اگر با کامپایل سورس نرم‌افزار مشکلی نداشته باشید. همچنین معمولاً مخازن نرم افزاری اکثر توزیعهای لینوکس دربردارنده بسته‌هایی با نسخه‌های قدیمی هستند؛ بنابراین در صورتی که شما توسعه دهنده‌ای به روز هستید یا از backport ها استفاده می‌کنید، نصب از طریق سورس بهترین انتخاب برای شما است. تاریخچه ، نصب و راه اندازیGIT</p>
<p dir="rtl" style="text-align: justify;">برای نصب Git نیاز به کتابخانه های curl، zlib، openssl، expat و libiconv است که Git نیازمند آنهاست. به عنوان مثال، اگر روی سیستمی کار می‌کنید که yum (مانند Fedora) یا apt-get (مانند سیستم های مبتنی بر Debian) دارد، می‌توانید برای نصب این بسته‌های نیازمندی از دستورهای ذیل استفاده کنید:</p>
<p dir="rtl" style="text-align: justify;">
<pre dir="ltr"><code>$ yum install curl-devel expat-devel gettext-devel \
  openssl-devel zlib-devel

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \
  libz-dev libssl-dev
</code></pre>
<p dir="rtl" style="text-align: justify;">حال که تمامی نیازمندی‌ها نصب گردید، می‌توان آخرین نسخه Git را از وب سایت آن دانلود کرد:</p>
<p dir="rtl" style="text-align: justify;">
<pre dir="ltr"><code>http://git-scm.com/download
</code></pre>
<p dir="rtl" style="text-align: justify;">و آن را کامپایل و نصب نمود:</p>
<p dir="rtl" style="text-align: justify;">
<pre dir="ltr"><code>$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
</code></pre>
<p dir="rtl" style="text-align: justify;">بعد از کامل شدن این مراحل می‌توان از خود Git برای دریافت آپدیت‌های Git استفاده کرد:</p>
<pre dir="ltr"><code>$ git clone git://git.kernel.org/pub/scm/git/git.git
</code></pre>
<h2 id="نصب-بر-روی-لینوکس" dir="rtl" style="text-align: justify;">نصب بر روی لینوکس</h2>
<p dir="rtl" style="text-align: justify;">اگر قصد نصب Git بر روی لینوکس به واسطه یک نصاب باینری را دارید، می‌توانید این کار را از طریق ابزار مدیریت بسته های نرم‌افزاری که همراه توزیع موردنظر شما ارائه می‌شود انجام دهید. اگر توزیع شما Fedora است، می‌توانید از yum استفاده کنید:</p>
<p dir="rtl" style="text-align: justify;">
<pre dir="ltr"><code>$ yum install git-core
</code></pre>
<p dir="rtl" style="text-align: justify;">یا اگر توزیعی مبتنی بر Debian مانند Ubuntu دارید، می‌توانید از apt-get استفاده کنید:</p>
<p dir="rtl" style="text-align: justify;">
<pre dir="ltr"><code>$ apt-get install git
</code></pre>
<h2 id="نصب-برروی-Mac" dir="rtl" style="text-align: justify;">نصب برروی Mac</h2>
<p dir="rtl" style="text-align: justify;">برای نصب برروی Mac دو روش آسان وجود دارد. آسان‌ترین روش استفاده از نصاب گرافیکی Git است، که امکان دانلود آن از صفحه Google Code وجود دارد :</p>
<p dir="rtl" style="text-align: justify;">
<pre dir="ltr"><code>http://code.google.com/p/git-osx-installer
</code></pre>
<p><center dir="rtl"></center></p>
<p dir="rtl" style="text-align: justify;">روش دیگر نصب از طریق MacPortها (<code>http://www.macports.org</code>) است. اگر MacPortها را نصب شده روی سیستم خود دارید، می‌توانید Git را با دستور ذیل نصب کنید</p>
<p dir="rtl" style="text-align: justify;">
<pre dir="ltr"><code>$ sudo port install git-core +svn +doc +bash_completion +gitweb
</code></pre>
<p dir="rtl" style="text-align: justify;">نیازی به افزودن تمامی اضافات نیست، ولی شاید برای استفاده از Git به همراه مخازن Subversion، احتمالاً افزودن +svn گزینه مناسبی است.</p>
<h2 id="نصب-بر-روی-ویندوز" dir="rtl" style="text-align: justify;">نصب بر روی ویندوز</h2>
<p dir="rtl" style="text-align: justify;">نصب Git روی ویندوز بسیار آسان است. پروژه msysGit یکی از آسان‌ترین مراحل نصب را دارد. تنها نیاز است که فایل نصاب exe را از صفحه GitHub دانلود، و آن را اجرا کرد:</p>
<p dir="rtl" style="text-align: justify;">
<pre dir="ltr"><code>http://msysgit.github.com/
</code></pre>
<p dir="rtl" style="text-align: justify;">بعد از اتمام نصب، هم نسخه خط فرمان (شامل SSH client که در ادامه مشاهده خواهد شد که ابزاری کارآمد است) و هم رابط گرافیکی استاندارد را در اختیار خواهید داشت.</p>
<p dir="rtl" style="text-align: justify;">نکته برای کابران ویندوز: کاربر باید جهت کار با Git از پوسته ارائه شده به همراه msysGit (به سبک Unix) استفاده کند، تا بتواند دستورات چند خطی پیچیده‌ای که در این کتاب آورده شده را اجرا کند. اگر به هر دلیلی، نیاز به استفاده از پوسته خود ویندوز/کنسول خط فرمان، شدید باید در عوض تک کوت (simple quote) از دابل کوت (برای پارامترهایی که در بر دارنده فاصله هستند) استفاده کنید و باید پارامترهای موجود در آخرین خط که با circumflex accent (^) به پایان می‌رسند را داخل کوت قرار دهید، زیرا این علامت، نشانگر ادامه دار بودن خط در ویندوز است.</p>
<p dir="rtl" style="text-align: justify;">منابع :</p>
<ul>
<li dir="rtl" style="text-align: justify;"><a href="https://fa.wikipedia.org" target="_blank" rel="noopener">https://fa.wikipedia.org</a></li>
<li dir="rtl" style="text-align: justify;"><a href="https://git-scm.com" target="_blank" rel="noopener">https://git-scm.com</a></li>
</ul>

    <div class="xs_social_share_widget xs_share_url after_content 		main_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content">

		
        <ul>
			        </ul>
    </div> 
]]></content:encoded>
					
					<wfw:commentRss>https://piero.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%af%db%8c%d8%aa-1-%d8%aa%d8%a7%d8%b1%db%8c%d8%ae%da%86%d9%87-%d8%8c-%d9%86%d8%b5%d8%a8-%d9%88-%d8%b1%d8%a7%d9%87-%d8%a7%d9%86%d8%af%d8%a7%d8%b2%db%8c-git/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>کتاب آموزش کدایگنایتر 3</title>
		<link>https://piero.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%af%d8%a7%db%8c%da%af%d9%86%d8%a7%db%8c%d8%aa%d8%b1-3/</link>
					<comments>https://piero.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%af%d8%a7%db%8c%da%af%d9%86%d8%a7%db%8c%d8%aa%d8%b1-3/#comments</comments>
		
		<dc:creator><![CDATA[پیروز جنابی]]></dc:creator>
		<pubDate>Mon, 02 Jan 2017 05:15:21 +0000</pubDate>
				<category><![CDATA[آموزش پی اچ پی]]></category>
		<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش طراحی سایت]]></category>
		<category><![CDATA[آموزش کد ایگنایتر]]></category>
		<category><![CDATA[دانلود رایگان]]></category>
		<category><![CDATA[سایر آموزشها]]></category>
		<category><![CDATA[codeegniter]]></category>
		<category><![CDATA[آموزش php]]></category>
		<category><![CDATA[آموزش برنامه نویسی]]></category>
		<category><![CDATA[آموزش فریم ورک پی اچ پی]]></category>
		<guid isPermaLink="false">http://www.piero.ir/?p=674</guid>

					<description><![CDATA[کتاب آموزش کدایگنایتر 3 امروزه نیاز به برنامه نویسی جهت ساخت و سفارشی سازی برنامه های کامپیوتری هر روز بیشتر از قبل است . ضمن اینکه هر روز ما بیشتر به سمت اینترنت گرایش پیدا می کنیم و برنامه ها از حالات تکی و یک جا به سمت برنامه های تحت وب می رود  ،که [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1>کتاب آموزش کدایگنایتر 3</h1>
<p>امروزه نیاز به برنامه نویسی جهت ساخت و سفارشی سازی برنامه های کامپیوتری هر روز بیشتر از قبل است . ضمن اینکه هر روز ما بیشتر به سمت اینترنت گرایش پیدا می کنیم و برنامه ها از <strong>حالات تکی و یک جا</strong> به سمت ب<strong>رنامه های تحت وب</strong> می رود  ،که دارای مزایای زیادی است از جمله <strong>وابسته نبودن به جا و مکان ، امنیت بالا ، عدم وابستگی به سیستم عامل خاص ، قدرت مانور بالا و &#8230;</strong><br />
ار آن رو بر آوردیم که یکی از قوی ترین <strong>فریم ورک های پی اچ پی</strong> را برای شما آموزش دهیم . اما دو سوال مطرح می شود :</p>
<p><strong>چرا پی اچ پی ؟</strong> نمی توان کدام زبان برنامه نویسی برتر دانست ولی زبان برنامه نویسی پی اچ پی  پر کار برد ترین زبان تحت وب می باشد که سالیان زیاد است که شرکتهای بزرگ از آن استفاده می کنند و چون بازمتن می باشد دارای هزاران فریم ورک ، ویرایشگر و ماژول های رایگان در اینترنت می باشد .(کتاب آموزش کدایگنایتر &#8211; جلد ۱ )</p>
<p><strong>چرا کد ایگنایتر ؟</strong> و باز هم نمی توان گفت کدام فریم ورک قوی تر می باشد ولی کد ایگنایتر در بسیاری از آمارهای اینترنتی در مقام اول و یا دوم قرار دارد و این بخاطر راحتی و قدرت مانور بالای آن می باشد . شما با کد ایگنایتر می توانید برنامه های تحت و یا وب سایتهای پر قدرت بسازید.(کتاب آموزش کدایگنایتر &#8211; جلد ۱ )</p>
<p>مدتها پیش سعی بر آن آوردیم بتوانیم کتاب آموزش کامل کدایگنایتر را در اختیار هم وطنان عزیزمان قرار دهیم ، در حال حاضر این کتاب جلد شماره یک می باشد و هر جلد به صورت دوره ای از مطالب وب سایت پیرو (piero.ir) انتشار می یابد و شما می توانید جدید ترین نکات کد ایگنایتر را در وب سایت ما ببینید و استفاده کنید . همچنین شما نیز می توانید مقالات خود را برای ما ارسال نمایید تا با اسم شما انتشار یابد.<br />
<strong>درصورت بروز مشکل خوشحال می شویم بتوانیم کمکی به شما بکنیم .</strong></p>
<p>&nbsp;</p>
<p style="text-align: center;"><span style="color: #ff0000;"><strong>امیدوارم بتوانم به همراه تیم وفادارم خدمتی به شما دوستان کرده باشم – پیروز جنابی (مدیر و موسس پیرو)</strong></span></p>
<h3><a href="https://ketabesabz.com/book/29698/%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D8%AA%D8%A7%D8%A8-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%B3%D8%B1%DB%8C%D8%B9-%DA%A9%D8%AF-%D8%A7%DB%8C%DA%AF%D9%86%D8%A7%DB%8C%D8%AA%D8%B1" target="_blank" rel="noopener">دانلود کتاب آموزش کدایگنایتر۳</a></h3>
<p>&nbsp;</p>

    <div class="xs_social_share_widget xs_share_url after_content 		main_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content">

		
        <ul>
			        </ul>
    </div> 
]]></content:encoded>
					
					<wfw:commentRss>https://piero.ir/%d8%a2%d9%85%d9%88%d8%b2%d8%b4-%da%a9%d8%af%d8%a7%db%8c%da%af%d9%86%d8%a7%db%8c%d8%aa%d8%b1-3/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>بهترین زبان برنامه نویسی ۲۰۱۶</title>
		<link>https://piero.ir/%d8%a8%d9%87%d8%aa%d8%b1%db%8c%d9%86-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%db%b2%db%b0%db%b1%db%b6/</link>
					<comments>https://piero.ir/%d8%a8%d9%87%d8%aa%d8%b1%db%8c%d9%86-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%db%b2%db%b0%db%b1%db%b6/#respond</comments>
		
		<dc:creator><![CDATA[پیروز جنابی]]></dc:creator>
		<pubDate>Sun, 25 Dec 2016 08:30:10 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[دسته‌بندی نشده]]></category>
		<category><![CDATA[سایر آموزشها]]></category>
		<category><![CDATA[آموزش برنامه نویسی]]></category>
		<category><![CDATA[آموزش فریم ورک پی اچ پی]]></category>
		<guid isPermaLink="false">http://www.piero.ir/?p=614</guid>

					<description><![CDATA[بهترین زبان برنامه نویسی۲۰۱۶ چیست؟ با سلام در این مقاله به بهترین زبان برنامه نویسی ۲۰۱۶ بر اساس چندین آمار معتبر و ذکر منابع می پردازیم. TIOBE Index,DEC  ۲۰۱۶ این مرجع می تواند به صورت لحظه ای آمار بهترین زبان برنامه نویسی را به شما بدهد که شما می توانید در لینک زیر مشاهده نمایید. [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>بهترین زبان برنامه نویسی۲۰۱۶ چیست؟</h2>
<p style="text-align: justify;">با سلام در این مقاله به بهترین زبان برنامه نویسی ۲۰۱۶ بر اساس چندین آمار معتبر و ذکر منابع می پردازیم.</p>
<h2>TIOBE Index,DEC  ۲۰۱۶</h2>
<p style="text-align: justify;">این مرجع می تواند به صورت لحظه ای آمار بهترین زبان برنامه نویسی را به شما بدهد که شما می توانید در لینک زیر مشاهده نمایید.</p>
<p style="text-align: center;"><strong><a href="http://www.tiobe.com/tiobe-index//" target="_blank" rel="noopener">مشاهده آمار هم اکنون بهترین زبان برنامه نویسی </a></strong></p>
<table class="table table-striped table-top20 aligncenter" style="height: 517px; width: 730px;">
<thead>
<tr>
<th style="width: 99px;">Dec 2016</th>
<th style="width: 99px;">Dec 2015</th>
<th style="width: 78.7333px;">Change</th>
<th style="width: 245.267px;">Programming Language</th>
<th style="width: 87px;">Ratings</th>
<th style="width: 79px;">Change</th>
</tr>
</thead>
<tbody>
<tr>
<td style="width: 99px;">۱</td>
<td style="width: 99px;">۱</td>
<td style="width: 78.7333px;"></td>
<td style="width: 245.267px;">Java</td>
<td style="width: 87px;">۱۷٫۸۵۶%</td>
<td style="width: 79px;">-۳٫۱۲%</td>
</tr>
<tr>
<td style="width: 99px;">۲</td>
<td style="width: 99px;">۲</td>
<td style="width: 78.7333px;"></td>
<td style="width: 245.267px;">C</td>
<td style="width: 87px;">۸٫۷۲۶%</td>
<td style="width: 79px;">-۷٫۷۳%</td>
</tr>
<tr>
<td style="width: 99px;">۳</td>
<td style="width: 99px;">۳</td>
<td style="width: 78.7333px;"></td>
<td style="width: 245.267px;">C++</td>
<td style="width: 87px;">۵٫۳۳۵%</td>
<td style="width: 79px;">-۰٫۶۱%</td>
</tr>
<tr>
<td style="width: 99px;">۴</td>
<td style="width: 99px;">۴</td>
<td style="width: 78.7333px;"></td>
<td style="width: 245.267px;">Python</td>
<td style="width: 87px;">۴٫۲۳۹%</td>
<td style="width: 79px;">-۰٫۱۹%</td>
</tr>
<tr>
<td style="width: 99px;">۵</td>
<td style="width: 99px;">۷</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/up.png" alt="change" /></td>
<td style="width: 245.267px;">Visual Basic .NET</td>
<td style="width: 87px;">۳٫۳۰۲%</td>
<td style="width: 79px;">+۰٫۹۱%</td>
</tr>
<tr>
<td style="width: 99px;">۶</td>
<td style="width: 99px;">۵</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/down.png" alt="change" /></td>
<td style="width: 245.267px;">C#</td>
<td style="width: 87px;">۳٫۱۷۱%</td>
<td style="width: 79px;">-۰٫۹۴%</td>
</tr>
<tr>
<td style="width: 99px;">۷</td>
<td style="width: 99px;">۶</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/down.png" alt="change" /></td>
<td style="width: 245.267px;">PHP</td>
<td style="width: 87px;">۲٫۹۱۹%</td>
<td style="width: 79px;">+۰٫۱۳%</td>
</tr>
<tr>
<td style="width: 99px;">۸</td>
<td style="width: 99px;">۸</td>
<td style="width: 78.7333px;"></td>
<td style="width: 245.267px;">JavaScript</td>
<td style="width: 87px;">۲٫۸۶۲%</td>
<td style="width: 79px;">+۰٫۵۰%</td>
</tr>
<tr>
<td style="width: 99px;">۹</td>
<td style="width: 99px;">۱۱</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/up.png" alt="change" /></td>
<td style="width: 245.267px;">Assembly language</td>
<td style="width: 87px;">۲٫۵۳۹%</td>
<td style="width: 79px;">+۰٫۶۱%</td>
</tr>
<tr>
<td style="width: 99px;">۱۰</td>
<td style="width: 99px;">۹</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/down.png" alt="change" /></td>
<td style="width: 245.267px;">Perl</td>
<td style="width: 87px;">۲٫۳۳۸%</td>
<td style="width: 79px;">+۰٫۱۳%</td>
</tr>
<tr>
<td style="width: 99px;">۱۱</td>
<td style="width: 99px;">۱۵</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/upup.png" alt="change" /></td>
<td style="width: 245.267px;">Objective-C</td>
<td style="width: 87px;">۲٫۳۲۵%</td>
<td style="width: 79px;">+۰٫۹۷%</td>
</tr>
<tr>
<td style="width: 99px;">۱۲</td>
<td style="width: 99px;">۱۰</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/down.png" alt="change" /></td>
<td style="width: 245.267px;">Ruby</td>
<td style="width: 87px;">۲٫۱۴۷%</td>
<td style="width: 79px;">+۰٫۰۹%</td>
</tr>
<tr>
<td style="width: 99px;">۱۳</td>
<td style="width: 99px;">۱۴</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/up.png" alt="change" /></td>
<td style="width: 245.267px;">Swift</td>
<td style="width: 87px;">۲٫۱۳۴%</td>
<td style="width: 79px;">+۰٫۷۳%</td>
</tr>
<tr>
<td style="width: 99px;">۱۴</td>
<td style="width: 99px;">۱۲</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/down.png" alt="change" /></td>
<td style="width: 245.267px;">Visual Basic</td>
<td style="width: 87px;">۱٫۹۶۷%</td>
<td style="width: 79px;">+۰٫۳۱%</td>
</tr>
<tr>
<td style="width: 99px;">۱۵</td>
<td style="width: 99px;">۱۳</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/down.png" alt="change" /></td>
<td style="width: 245.267px;">Delphi/Object Pascal</td>
<td style="width: 87px;">۱٫۹۵۰%</td>
<td style="width: 79px;">+۰٫۳۱%</td>
</tr>
<tr>
<td style="width: 99px;">۱۶</td>
<td style="width: 99px;">۵۰</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/upup.png" alt="change" /></td>
<td style="width: 245.267px;">Go</td>
<td style="width: 87px;">۱٫۹۳۹%</td>
<td style="width: 79px;">+۱٫۷۴%</td>
</tr>
<tr>
<td style="width: 99px;">۱۷</td>
<td style="width: 99px;">۱۸</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/up.png" alt="change" /></td>
<td style="width: 245.267px;">R</td>
<td style="width: 87px;">۱٫۸۲۶%</td>
<td style="width: 79px;">+۰٫۷۰%</td>
</tr>
<tr>
<td style="width: 99px;">۱۸</td>
<td style="width: 99px;">۱۶</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/down.png" alt="change" /></td>
<td style="width: 245.267px;">MATLAB</td>
<td style="width: 87px;">۱٫۸۱۸%</td>
<td style="width: 79px;">+۰٫۶۵%</td>
</tr>
<tr>
<td style="width: 99px;">۱۹</td>
<td style="width: 99px;">۲۴</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/upup.png" alt="change" /></td>
<td style="width: 245.267px;">Groovy</td>
<td style="width: 87px;">۱٫۷۸۶%</td>
<td style="width: 79px;">+۱٫۰۱%</td>
</tr>
<tr>
<td style="width: 99px;">۲۰</td>
<td style="width: 99px;">۱۹</td>
<td style="width: 78.7333px;"><img decoding="async" src="http://www.tiobe.com/images/down.png" alt="change" /></td>
<td style="width: 245.267px;">PL/SQL</td>
<td style="width: 87px;">۱٫۴۹۵%</td>
<td style="width: 79px;">+۰٫۳۹%</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h1>IEEE</h1>
<p>طبق استاندارد ieee بهترین زبان برنامه نویسی ۲۰۱۶ به ترتیب زیر می باشند.</p>
<p><img decoding="async" class="aligncenter zoooom" src="http://spectrum.ieee.org/image/Mjc5MjI0Ng.png" /></p>
<h2 style="text-align: center;"></h2>
<h1>codingdojo</h1>
<p>براساس وب سایت codingdojo ببهترین زبان برنامه نویسی ۲۰۱۶ طبق تصویر زیر است .</p>
<p><img decoding="async" class="aligncenter" src="http://www.codingdojo.com/blog/wp-content/uploads/Programming-Languages-for-2016_graph.jpg" /></p>
<h2 style="text-align: center;"><a href="http://www.codingdojo.com/blog/9-most-in-demand-programming-languages-of-2016/" target="_blank" rel="noopener">مشاهده بهترین زبان برنامه نویسی ۲۰۱۶ در وب سایت</a>codingdojo</h2>
<h1>بهترین زبان برنامه نویسی برای من چیست ؟</h1>
<p style="text-align: justify;">سوالی که شاید بارها از شما پرسیده شده است و یا شما از افراد مختلف پرسیده اید . جواب سوال شما بسته به کاری که می خواهید انجام دهید دارد و شما می توانید بسته به کاری که می خواهید انجام دهید به شما به همراه مثال نشان می دهد.</p>
<h3 style="text-align: center;"><a href="http://www.bestprogramminglanguagefor.me" target="_blank" rel="noopener">http://www.bestprogramminglanguagefor.me</a></h3>
<h1 style="text-align: right;">نتیجه بهترین زبان برنامه نویسی ۲۰۱۶</h1>
<p style="text-align: justify;">درست است که آمار های بالا طبق آمار برترین زبانها را به نشان می دهند ولی برترین زبان برنامه نویسی وجود ندارد و بستگی به کار مورد نظر و برنامه نویس دارد . من به شما پیشنهاد می کنم زبان برنامه نویسی را حرفه ای بیاموزید و سعی کنید فقط ذهن برنامه نویسی داشته باشید در واقع بدانید که در صورت مواجه شدن با مشکلی راهکار رسیدن به نتیجه چیست و اینکه با چه زبانی پیاده سازی نمایید فرقی ندارد چون ساختار برنامه نویسی بیشتر زبانهای برنامه نویسی شبیه هم هستند.</p>
<p style="text-align: justify;">در صورتی که می خواهید یک زبان برنامه نویسی را شروه کنید ابتدا به زبانهای مدل سازی و تحلیل مسلط شوید و هر کاری را ابتدا روی کاغذ پیاده سازی نمایید  و در ادامه یک زبان برنامه نویسی را به صورت حرفه ای یاد بگیرید در صورتی که می خواهید تحت وب کار کنید پیشنهاد ما php است ودر غیر این صورت پیشنهاد می شود جاوا را یاد بگیرید . یادگیری زبانهای زیر در همه جا کاربرد دارد پس پیشنهاد می شود بزودی آنها را یاد بگیرید.</p>
<h3></h3>
<h3>sql</h3>
<p style="text-align: justify;"><strong>اس کیو ال</strong> = یک زبان ارتباط با بانکهای اطلاعاتی می باشد و در تمامی برنامه ها از ان استفاده می شود .</p>
<pre class="lang:default decode:true ">SELECT * FROM Customers
WHERE Country='Germany'
AND City='Berlin';</pre>
<p>&nbsp;</p>
<h3>HTML</h3>
<p style="text-align: justify;"><strong>اچ تی ام ال</strong> = یک زبان نمایشی است در بیشتر برنامه ها استفاده می شود و در تمامی سیستم عامل ها حتی موبایل مورد استفاده قرار می گیرد طبعیتا در تمامی زبانهای برنامه نویسی مخصوصا برنامه های تحت وب که حتما از این زبان برای ساختار نمایشی از آن استفاده میکند همچنین جدیدا در html5 امکان ساخت بازی و برنامه های موبایل را نیز بوجود آورده است.</p>
<pre class="lang:default decode:true "> &lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;Page Title&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;h1&gt;This is a Heading&lt;/h1&gt;
&lt;p&gt;This is a paragraph.&lt;/p&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<h3></h3>
<h3>JAVA SCRIPT</h3>
<p style="text-align: justify;">جاوا اسکریپت = این یک زبان برنامه نویسی برای اچ تی ام ال می باشد بسیار راحت و دارای فریم ورکهای زیادی از جمله jquery و anguarjs و &#8230; دارد .  در آینده استفاده نکردن از جاوا اسکریپت در برنامه ها غیر ممکن است .</p>
<pre class="lang:default decode:true ">document.getElementById("demo").innerHTML = "Hello JavaScript";</pre>
<p>&nbsp;</p>
<h3>CSS</h3>
<p style="text-align: justify;"><strong>سی اس اس</strong> = یک زبان ساختاری و آبشاری جهت تغییر ظاهری المنتهای اچ تی ام ال است و هنگامی که اچ تی امال استفاده شود غیر ممکن است از css استفاده نشود.</p>
<pre class="lang:default decode:true ">body {
    background-color: lightblue;
}

h1 {
    color: white;
    text-align: center;
}

p {
    font-family: verdana;
    font-size: 20px;
}</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>XML</h3>
<p style="text-align: justify;"><strong>اکس ام ال</strong> =  یک زبان ساختاری است که بیشتر برای ذخیره و ارتباط برنامه ها استفاده می شود .</p>
<pre class="lang:default decode:true "> &lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;note&gt;
  &lt;to&gt;Tove&lt;/to&gt;
  &lt;from&gt;Jani&lt;/from&gt;
  &lt;heading&gt;Reminder&lt;/heading&gt;
  &lt;body&gt;Don't forget me this weekend!&lt;/body&gt;
&lt;/note&gt;</pre>
<p>&nbsp;</p>
<h2></h2>
<h2><strong>PHP</strong></h2>
<p style="text-align: justify;">پی اچ پی :یک زبان برنامه نویسی تحت سرور می باشد که با تمامی زبانهای بالا ارتباط برقرار می کند . این زبان رایگان است همچنین بازمتن در واقع برنامه در زمان اجرا کامپایل می شود . این زبان سرعت و قدرت بالایی دارد و به صورت خیلی پهناور استفاده می شود و دارای برنامه های آماده زیادی است که شما می توانید آنها را ارتقا بدهید و همچنین بدلیل استفاده wordpress و سیستمهای مدیریت های محتوای دیگر از php می توان گفت این زبان فرا گیر ترین زبان تحت وب دانست .</p>
<pre class="lang:default decode:true ">&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;body&gt;

&lt;?php
echo "My first PHP script!";
?&gt;

&lt;/body&gt;
&lt;/html&gt;</pre>
<p>&nbsp;</p>
<p>امیدواریم توانسته باشیم با این مقاله کمکی به شما کرده باشیم</p>
<h1 style="text-align: center;"><span style="color: #3366ff;">جهت مشاهده جدید ترین اخبار به کانال هنر کدینگ تلگرام بپیوندید.</span></h1>
<h1 style="text-align: center;"><span style="color: #3366ff;"> <a href="https://telegram.me/itnew4u" target="_blank" rel="noopener">عضویت در کانال هنر کدینگ itnew4u@</a></span></h1>

    <div class="xs_social_share_widget xs_share_url after_content 		main_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content">

		
        <ul>
			        </ul>
    </div> 
]]></content:encoded>
					
					<wfw:commentRss>https://piero.ir/%d8%a8%d9%87%d8%aa%d8%b1%db%8c%d9%86-%d8%b2%d8%a8%d8%a7%d9%86-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87-%d9%86%d9%88%db%8c%d8%b3%db%8c-%db%b2%db%b0%db%b1%db%b6/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>وب سایت چند زبانه در وردپرس</title>
		<link>https://piero.ir/%d9%88%d8%a8-%d8%b3%d8%a7%db%8c%d8%aa-%da%86%d9%86%d8%af-%d8%b2%d8%a8%d8%a7%d9%86%d9%87-%d8%af%d8%b1-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3/</link>
					<comments>https://piero.ir/%d9%88%d8%a8-%d8%b3%d8%a7%db%8c%d8%aa-%da%86%d9%86%d8%af-%d8%b2%d8%a8%d8%a7%d9%86%d9%87-%d8%af%d8%b1-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3/#respond</comments>
		
		<dc:creator><![CDATA[پیروز جنابی]]></dc:creator>
		<pubDate>Mon, 12 Dec 2016 12:18:33 +0000</pubDate>
				<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[آموزش طراحی سایت]]></category>
		<category><![CDATA[افزونه های ورد پرس]]></category>
		<guid isPermaLink="false">http://www.piero.ir/?p=544</guid>

					<description><![CDATA[آموزش ساختن وب سایت چند زبانه در وردپرس به راحتی &#160; جهت ساختن وب سایت چند زبانه در وردپرس می تواند از افزونه polylang استفاده نمایید. جهت نصب به قسمت افزونه ها رفته و گزینه افزودن را انتخاب نمایید در گام بعدی گزینه polylang را جستجو نمایید و افزونه مورد نظر را نصب نمایید. بعد [&#8230;]]]></description>
										<content:encoded><![CDATA[<h2>آموزش ساختن وب سایت چند زبانه در وردپرس به راحتی</h2>
<p>&nbsp;</p>
<p dir="rtl">جهت ساختن وب سایت چند زبانه در وردپرس می تواند از افزونه <a href="http://www.wordpress.org/plugins/polylang" target="_blank" rel="noopener">polylang</a> استفاده نمایید.</p>
<p dir="rtl">جهت نصب به قسمت افزونه ها رفته و گزینه افزودن را انتخاب نمایید در گام بعدی گزینه polylang را جستجو نمایید و افزونه مورد نظر را نصب نمایید.</p>
<p dir="rtl">بعد از نصب به تنظیمات و قسمت <strong>Languagesرفته همانند شکل زیر.</strong></p>
<p dir="rtl"><img decoding="async" class="aligncenter wp-image-545 size-medium zoooom" src="http://www.piero.ir/wp-content/uploads/2016/11/lang-189x300.png" alt="وب سایت چند زبانه در ورد پرس" width="189" height="300" /></p>
<p dir="rtl">در تب languages می توانید زبانهای مورد نظر را اضافه کنید همانند شکل زیر</p>
<p dir="rtl"><img loading="lazy" decoding="async" class="aligncenter wp-image-546 size-medium zoooom" src="http://www.piero.ir/wp-content/uploads/2016/11/lang-1-223x300.png" alt="وب سایت چند زبانه در ورد پرس" width="223" height="300" /></p>
<p dir="rtl">در گام بعدی وارد تب <em>‘Strings Translations’</em> شوید و عبارات ترجمه را بسازید.</p>
<figure id="attachment_547" aria-describedby="caption-attachment-547" style="width: 1175px" class="wp-caption alignnone"><img loading="lazy" decoding="async" class="wp-image-547 size-full" src="http://www.piero.ir/wp-content/uploads/2016/11/lang-2.png" alt="وب سایت چند زبانه در ورد پرس" width="1175" height="481" /><figcaption id="caption-attachment-547" class="wp-caption-text">همچنین در تب setting می توانید تنظیمات اضافه ای انجام دهید.</figcaption></figure>
<h3>تنظیمات قسمت کاربری وب سایت چند زبانه در وردپرس</h3>
<p>اکنون وب سایت شما چند زبانه می باشد و فقط شما کافی است مطالب و برگه هایتان را به زبان مربوطه پیوست کنید .</p>
<p>جهت تغیر قسمت کاربری وب سایت ابتدا به نوشته ها و یا برگه ها  رفته و در قسمت ویرایش سریع مطابق تصویر زیر زبان نوشته را انتخاب نمایید. و یا در قسمت نوشته جدید یا برگه جدید زبان مورد نظر را انتخاب نمایید.</p>
<p><img loading="lazy" decoding="async" class=" wp-image-609 aligncenter zoooom" src="http://www.piero.ir/wp-content/uploads/2016/12/polylang.jpg" alt="polylang" width="652" height="258" /></p>
<h3>فهرستها در  وب سایت چند زبانه در وردپرس</h3>
<p>اکنون نیاز است فهرست مناسب نیازمان را طراحی نمایید :</p>
<ul>
<li>به قسمت نمایش / فهرست ها بروید</li>
<li>فهرست مناسب برای هر زبان را بسازید و گزینه های مورد نظر را به آن اضافه نمایید شامل برگه و &#8230;</li>
<li>گزینه Language switcher را به منو اضافه می کنیم.</li>
</ul>
<p><strong>توجه</strong>: برای هر زبان باید فهرسته های آن زبان را اضافه کرد به طور مثال در صورتی که شما در قالبتان فهرست بالا و پایین دارید باید برای هر زبان جداگانه فهرستش را بسازید که شامل فهرست بالا فارسی . فهرست پاپپن فارسی و topmenu . foothermenu می باشد و در ساختن هر فهرست طبق تصویر زیر باید مشخص شود که این فهرست متعلق به کدام زبان است. (همانند تصویر زیر)</p>
<p>&nbsp;</p>
<p><img loading="lazy" decoding="async" class="wp-image-610 zoooom aligncenter" src="http://www.piero.ir/wp-content/uploads/2016/12/polylangmenu.jpg" alt="polylangmenu" width="619" height="175" /></p>
<p>&nbsp;</p>
<p><strong>توجه</strong>:شما حتما باید گزینه Language switcher را به فهرست هایتان اضافه نمایید وگرنه کاربر نمی تواند زبان مورد نظر را انتخاب نماید.این گزینه همانند تصویر زیر دارای پارامترهای زیادی است که قدرت بالایی به وب سایت شما می دهد.</p>
<h3><img loading="lazy" decoding="async" class=" wp-image-611 aligncenter zoooom" src="http://www.piero.ir/wp-content/uploads/2016/12/polylangmenu2.jpg" alt="polylangmenu2" width="950" height="376" />پارامترهای Language switcher</h3>
<ul style="list-style-type: square;">
<li class="description" dir="ltr" style="text-align: left;"> <label for="edit-menu-item-dropdown-662">Displays as dropdown</label> : نمایش به صورت منوی بازشو</li>
<li class="description" dir="ltr" style="text-align: left;"> Displays language names : نمایش نام زبان</li>
<li class="description" dir="ltr" style="text-align: left;"> Displays flags : نمایش پرچم زبان</li>
<li class="description" dir="ltr" style="text-align: left;"> Forces link to front page : <span id="result_box" class="short_text" lang="fa">نیروهای لینک به <span class="">صفحه اول</span></span></li>
<li class="description" dir="ltr" style="text-align: left;"> Hides the current language : مخفی سازی زبان جاری</li>
<li class="description" dir="ltr" style="text-align: left;"> Hides languages with no translation : مخفی سازی زبان بدون ترجمه</li>
</ul>
<p dir="rtl"><strong>توجه:</strong> در صورت مواجه شدن با خطای <strong>عدم تغییر زبان در وردپرس</strong> می توانید  در قسمت <strong>تنظیمات / پیوند های یکتا</strong> رفته و گزینه <strong>تنظیمات عمومی</strong> را بر روی <strong>ساده</strong> قرار دهید.</p>
<p dir="rtl">اکنون وب سایت چند زبانه شما آماده کار است لطفا مارا با نظرات گرانبهایتان مطلع سازید .</p>
<p dir="rtl">با تشکر پیروز جنابی</p>

    <div class="xs_social_share_widget xs_share_url after_content 		main_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content">

		
        <ul>
			        </ul>
    </div> 
]]></content:encoded>
					
					<wfw:commentRss>https://piero.ir/%d9%88%d8%a8-%d8%b3%d8%a7%db%8c%d8%aa-%da%86%d9%86%d8%af-%d8%b2%d8%a8%d8%a7%d9%86%d9%87-%d8%af%d8%b1-%d9%88%d8%b1%d8%af%d9%be%d8%b1%d8%b3/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>انیمیشن در اندروید</title>
		<link>https://piero.ir/%d8%a7%d9%86%db%8c%d9%85%db%8c%d8%b4%d9%86-%d8%af%d8%b1-%d8%a7%d9%86%d8%af%d8%b1%d9%88%db%8c%d8%af/</link>
					<comments>https://piero.ir/%d8%a7%d9%86%db%8c%d9%85%db%8c%d8%b4%d9%86-%d8%af%d8%b1-%d8%a7%d9%86%d8%af%d8%b1%d9%88%db%8c%d8%af/#respond</comments>
		
		<dc:creator><![CDATA[پیروز جنابی]]></dc:creator>
		<pubDate>Tue, 08 Nov 2016 10:10:47 +0000</pubDate>
				<category><![CDATA[آموزش اندروید استدیو]]></category>
		<category><![CDATA[آموزش رایگان]]></category>
		<category><![CDATA[افزونه های اندروید استدیو]]></category>
		<category><![CDATA[آموزش برنامه نویسی]]></category>
		<category><![CDATA[اسکریپت]]></category>
		<category><![CDATA[اندروید استادیو]]></category>
		<guid isPermaLink="false">http://www.piero.ir/?p=528</guid>

					<description><![CDATA[آموزش انیمیشن در اندروید استادیو انیمیشن عملیاتهای حرکتی و تغییرات ظاهری را انجام می دهد انیمیشن در اندروید  به راه های مختلفی انجام میشود یکی از ساده ترین و کاربردی ترین آنها tween می باشد که در این مقاله به آن می پردازیم. Tween Animation انیمیشن در اندروید پارامتر هایی مثل زمان شروع ، زمان [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1>آموزش انیمیشن در اندروید استادیو</h1>
<h2>انیمیشن عملیاتهای حرکتی و تغییرات ظاهری را انجام می دهد</h2>
<p>انیمیشن در اندروید  به راه های مختلفی انجام میشود یکی از ساده ترین و کاربردی ترین آنها tween می باشد که در این مقاله به آن می پردازیم.</p>
<h2>Tween Animation</h2>
<p>انیمیشن در اندروید پارامتر هایی مثل زمان شروع ، زمان پایان ، مدت زمان ، نوع عملیات و سایر موارد را می گیرد ، اندروید این ویژگی ها را در کلاس Animation فراهم می آورد.</p>
<p>با استفاده از متد loadAnimation() ما انیمیشنها را فراخوانی می کنیم.</p>
<pre class="lang:default decode:true ">Animation animation = AnimationUtils.loadAnimation(getApplicationContext(),
   R.anim.myanimation);</pre>
<p>توجه داشته باشید متد دوم نام فایل انیمیشن می باشد که درون پوشه anim که زیر شاخه res است ایجاد می کنیم و  قرار می دهیم .</p>
<h2>متدهای انیمیشن در اندروید و کاربرد آنها</h2>
<table style="height: 200px; width: 707px; border-color: #696565; background-color: #e8e8e8;" border="1">
<tbody>
<tr>
<td style="width: 43px; text-align: center;">
<h3>ردیف</h3>
</td>
<td style="width: 201px; text-align: center;">
<h3>نام متد</h3>
</td>
<td style="width: 440px; text-align: center;">
<h3>شرح</h3>
</td>
</tr>
<tr>
<td style="width: 43px;">۱</td>
<td dir="ltr" style="width: 201px; text-align: center;"><b>start()</b></td>
<td style="width: 440px;">شروع انیمیشن</td>
</tr>
<tr>
<td style="width: 43px;">۲</td>
<td dir="ltr" style="width: 201px; text-align: center;"><b>setDuration(long duration)</b></td>
<td style="width: 440px;">تنظیم مدت زمان انیمیشن</td>
</tr>
<tr>
<td style="width: 43px;">۳</td>
<td dir="ltr" style="width: 201px; text-align: center;"><strong><b>getDuration()</b></strong></td>
<td style="width: 440px;">متدی مه مدت زمان را بر اساس متد بالا بر می گرداند</td>
</tr>
<tr>
<td style="width: 43px;">۴</td>
<td dir="ltr" style="width: 201px; text-align: center;"><strong><b>end()</b></strong></td>
<td style="width: 440px;">پایان انیمیشن</td>
</tr>
<tr>
<td style="width: 43px;">۵</td>
<td dir="ltr" style="width: 201px; text-align: center;"><strong><b>cancel()</b></strong></td>
<td style="width: 440px;">کنسل کردن انیمیشن</td>
</tr>
</tbody>
</table>
<p>برای اجرای انیمیشن فقط کافی است شی خود را با متد startAnimation() صدا بزنیم.</p>
<pre class="lang:default decode:true ">ImageView image1 = (ImageView)findViewById(R.id.imageView1);
image.startAnimation(animation);</pre>
<h2>مثال انیمیشن در اندروید</h2>
<p>در این مثال به صورت گام به گام یک مثال کاربردی از انیمیشن در اندروید می پردازیم.</p>
<table style="height: 252px; width: 777px; border-color: #6e6e6e; background-color: #c9c9c9;" border="1">
<tbody>
<tr style="height: 18px;">
<td style="width: 43px; height: 18px;">
<h3>مرحله</h3>
</td>
<td style="width: 717px; height: 18px;">
<h3>توضیح</h3>
</td>
</tr>
<tr style="height: 18px;">
<td style="width: 43px; height: 18px;">۱</td>
<td style="width: 717px; height: 18px;"> ساخت پروژه ای به نام My Application با اسم پکیج com.example.sairamkrishna.myapplication</td>
</tr>
<tr style="height: 18px;">
<td style="width: 43px; height: 18px;">۲</td>
<td style="width: 717px; height: 18px;"> ویرایش src/MainActivity.java به منظور اضافه کردن کدهای انیمیشن</td>
</tr>
<tr style="height: 18px;">
<td style="width: 43px; height: 18px;">۳</td>
<td style="width: 717px; height: 18px;"> ویرایش res/layout/activity_main.xml به منظور اضافه کردن ظاهر دلخواه</td>
</tr>
<tr style="height: 18px;">
<td style="width: 43px; height: 18px;">۴</td>
<td style="width: 717px; height: 18px;"> ساخت یک پوشه جدید به نامanim در res به منظور معرفی انیمیشنها<strong>res/anim</strong></td>
</tr>
<tr style="height: 18px;">
<td style="width: 43px; height: 18px;">۵</td>
<td style="width: 717px; height: 18px;"> کلیک راست برروی anim و ساخت Android XML file</td>
</tr>
<tr style="height: 18px;">
<td style="width: 43px; height: 18px;">۶</td>
<td style="width: 717px; height: 18px;"> ساخت فایل به نام myanimation.xml جهت الگوی انیمیشن</td>
</tr>
<tr style="height: 18.65px;">
<td style="width: 43px; height: 18.65px;">۷</td>
<td style="width: 717px; height: 18.65px;"> در نهایت اجرا و تست</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h1>کدها ی انیمیشن در اندروید</h1>
<p dir="ltr" style="text-align: center;"><b>MainActivity.java</b></p>
<pre class="lang:default decode:true">package com.example.sairamkrishna.myapplication;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }

   public void clockwise(View view){
      ImageView image = (ImageView)findViewById(R.id.imageView);
      Animation animation = AnimationUtils.loadAnimation(getApplicationContext(),
         R.anim.myanimation);
      image.startAnimation(animation);
   }

   public void zoom(View view){
      ImageView image = (ImageView)findViewById(R.id.imageView);
      Animation animation1 = AnimationUtils.loadAnimation(getApplicationContext(),
         R.anim.clockwise);
      image.startAnimation(animation1);
   }

   public void fade(View view){
      ImageView image = (ImageView)findViewById(R.id.imageView);
      Animation animation1 =
         AnimationUtils.loadAnimation(getApplicationContext(),
            R.anim.fade);
      image.startAnimation(animation1);
   }

   public void blink(View view){
      ImageView image = (ImageView)findViewById(R.id.imageView);
      Animation animation1 =
         AnimationUtils.loadAnimation(getApplicationContext(),
            R.anim.blink);
      image.startAnimation(animation1);
   }

   public void move(View view){
      ImageView image = (ImageView)findViewById(R.id.imageView);
      Animation animation1 =
         AnimationUtils.loadAnimation(getApplicationContext(), R.anim.move);
      image.startAnimation(animation1);
   }

   public void slide(View view){
      ImageView image = (ImageView)findViewById(R.id.imageView);
      Animation animation1 =
         AnimationUtils.loadAnimation(getApplicationContext(), R.anim.slide);
      image.startAnimation(animation1);
   }
}</pre>
<p>&nbsp;</p>
<p style="text-align: center;"><b>res/layout/activity_main.xml</b></p>
<pre class="lang:default decode:true ">&lt;RelativeLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"&gt;

   &lt;TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Alert Dialog"
      android:id="@+id/textView"
      android:textSize="35dp"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true" /&gt;

   &lt;TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorialspoint"
      android:id="@+id/textView2"
      android:textColor="#ff3eff0f"
      android:textSize="35dp"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true" /&gt;

   &lt;ImageView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageView"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView2"
      android:layout_alignRight="@+id/textView2"
      android:layout_alignEnd="@+id/textView2"
      android:layout_alignLeft="@+id/textView"
      android:layout_alignStart="@+id/textView"/&gt;

   &lt;Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="zoom"
      android:id="@+id/button"
      android:layout_below="@+id/imageView"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true"
      android:layout_marginTop="40dp"
      android:onClick="clockwise"/&gt;

   &lt;Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="clockwise"
      android:id="@+id/button2"
      android:layout_alignTop="@+id/button"
      android:layout_centerHorizontal="true"
      android:onClick="zoom"/&gt;

   &lt;Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="fade"
      android:id="@+id/button3"
      android:layout_alignTop="@+id/button2"
      android:layout_alignParentRight="true"
      android:layout_alignParentEnd="true"
      android:onClick="fade"/&gt;

   &lt;Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="blink"
      android:onClick="blink"
      android:id="@+id/button4"
      android:layout_below="@+id/button"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true" /&gt;

   &lt;Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="move"
      android:onClick="move"
      android:id="@+id/button5"
      android:layout_below="@+id/button2"
      android:layout_alignRight="@+id/button2"
      android:layout_alignEnd="@+id/button2"
      android:layout_alignLeft="@+id/button2"
      android:layout_alignStart="@+id/button2" /&gt;

   &lt;Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="slide"
      android:onClick="slide"
      android:id="@+id/button6"
      android:layout_below="@+id/button3"
      android:layout_toRightOf="@+id/textView"
      android:layout_toEndOf="@+id/textView" /&gt;

&lt;/RelativeLayout&gt;</pre>
<p>&nbsp;</p>
<p style="text-align: center;"><b>res/anim/myanimation.xml</b></p>
<pre class="lang:default decode:true ">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;set xmlns:android="http://schemas.android.com/apk/res/android"&gt;

   &lt;scale xmlns:android="http://schemas.android.com/apk/res/android"
      android:fromXScale="0.5"
      android:toXScale="3.0"
      android:fromYScale="0.5"
      android:toYScale="3.0"
      android:duration="5000"
      android:pivotX="50%"
      android:pivotY="50%" &gt;
   &lt;/scale&gt;

   &lt;scale xmlns:android="http://schemas.android.com/apk/res/android"
      android:startOffset="5000"
      android:fromXScale="3.0"
      android:toXScale="0.5"
      android:fromYScale="3.0"
      android:toYScale="0.5"
      android:duration="5000"
      android:pivotX="50%"
      android:pivotY="50%" &gt;
   &lt;/scale&gt;

&lt;/set&gt;</pre>
<p style="text-align: center;"><b> انمیشن حالت ساعت </b></p>
<p style="text-align: center;"><b>res/anim/clockwise.xml</b></p>
<pre class="lang:default decode:true ">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;set xmlns:android="http://schemas.android.com/apk/res/android"&gt;

   &lt;rotate xmlns:android="http://schemas.android.com/apk/res/android"
      android:fromDegrees="0"
      android:toDegrees="360"
      android:pivotX="50%"
      android:pivotY="50%"
      android:duration="5000" &gt;
   &lt;/rotate&gt;

   &lt;rotate xmlns:android="http://schemas.android.com/apk/res/android"
      android:startOffset="5000"
      android:fromDegrees="360"
      android:toDegrees="0"
      android:pivotX="50%"
      android:pivotY="50%"
      android:duration="5000" &gt;
   &lt;/rotate&gt;

&lt;/set&gt;</pre>
<p style="text-align: center;"><b>  انمیشن مات شونده </b></p>
<p style="text-align: center;"><b>res/anim/fade.xml</b></p>
<pre class="lang:default decode:true ">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;set xmlns:android="http://schemas.android.com/apk/res/android"
   android:interpolator="@android:anim/accelerate_interpolator" &gt;

   &lt;alpha
      android:fromAlpha="0"
      android:toAlpha="1"
      android:duration="2000" &gt;
   &lt;/alpha&gt;

   &lt;alpha
      android:startOffset="2000"
      android:fromAlpha="1"
      android:toAlpha="0"
      android:duration="2000" &gt;
   &lt;/alpha&gt;

&lt;/set&gt;</pre>
<p style="text-align: center;">انیمیشن چشمک زن<br />
<b>res/anim/blink.xml</b></p>
<pre class="lang:default decode:true ">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;set xmlns:android="http://schemas.android.com/apk/res/android"&gt;
   &lt;alpha android:fromAlpha="0.0"
      android:toAlpha="1.0"
      android:interpolator="@android:anim/accelerate_interpolator"
      android:duration="600"
      android:repeatMode="reverse"
      android:repeatCount="infinite"/&gt;
&lt;/set&gt;</pre>
<p style="text-align: center;">انیمیشن حرکت</p>
<p style="text-align: center;"><b>res/anim/move.xml</b></p>
<pre class="prettyprint notranslate prettyprinted"><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"utf-8"</span><span class="pun">?&gt;</span>
<span class="tag">&lt;set</span>
   <span class="atn">xmlns:android</span><span class="pun">=</span><span class="atv">"http://schemas.android.com/apk/res/android"</span>
   <span class="atn">android:interpolator</span><span class="pun">=</span><span class="atv">"@android:anim/linear_interpolator"</span>
   <span class="atn">android:fillAfter</span><span class="pun">=</span><span class="atv">"true"</span><span class="tag">&gt;</span>

   <span class="tag">&lt;translate</span>
      <span class="atn">android:fromXDelta</span><span class="pun">=</span><span class="atv">"0%p"</span>
      <span class="atn">android:toXDelta</span><span class="pun">=</span><span class="atv">"75%p"</span>
      <span class="atn">android:duration</span><span class="pun">=</span><span class="atv">"800"</span> <span class="tag">/&gt;</span>
<span class="tag">&lt;/set&gt;

</span></pre>
<p style="text-align: center;">انیمیشن اسلاید</p>
<p style="text-align: center;"><b>res/anim/slide.xml</b></p>
<pre class="lang:default decode:true ">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;set xmlns:android="http://schemas.android.com/apk/res/android"
   android:fillAfter="true" &gt;

   &lt;scale
      android:duration="500"
      android:fromXScale="1.0"
      android:fromYScale="1.0"
      android:interpolator="@android:anim/linear_interpolator"
      android:toXScale="1.0"
      android:toYScale="0.0" /&gt;
&lt;/set&gt;</pre>
<p style="text-align: center;"><b>AndroidManifest.xml</b></p>
<pre class="lang:default decode:true ">&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" &gt;

   &lt;application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" &gt;

      &lt;activity
         android:name="com.example.animation.MainActivity"
         android:label="@string/app_name" &gt;

         &lt;intent-filter&gt;
            &lt;action android:name="android.intent.action.MAIN" /&gt;
            &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
         &lt;/intent-filter&gt;

      &lt;/activity&gt;

   &lt;/application&gt;
&lt;/manifest&gt;</pre>
<p>واکنون نوبت به اجرای برنامه می باشد.</p>
<p><img decoding="async" class="aligncenter" src="https://www.tutorialspoint.com/android/images/animation.jpg" /></p>
<p>&nbsp;</p>
<p><img decoding="async" class="aligncenter" src="https://www.tutorialspoint.com/android/images/zoom.jpg" /></p>
<p><img decoding="async" class="aligncenter" src="https://www.tutorialspoint.com/android/images/slide.jpg" /></p>
<p><img decoding="async" class="aligncenter" src="https://www.tutorialspoint.com/android/images/move.jpg" /></p>
<p><img decoding="async" class="aligncenter" src="https://www.tutorialspoint.com/android/images/clockwise.jpg" /></p>
<p><img decoding="async" class="aligncenter" src="https://www.tutorialspoint.com/android/images/fade.jpg" /></p>
<p>با تشکر از اینکه وقتتون را در اختیار ما گزاشتید.</p>
<p>منبع:https://www.tutorialspoint.com</p>

    <div class="xs_social_share_widget xs_share_url after_content 		main_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content">

		
        <ul>
			        </ul>
    </div> 
]]></content:encoded>
					
					<wfw:commentRss>https://piero.ir/%d8%a7%d9%86%db%8c%d9%85%db%8c%d8%b4%d9%86-%d8%af%d8%b1-%d8%a7%d9%86%d8%af%d8%b1%d9%88%db%8c%d8%af/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
