<?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>وبلاگ شخصی امیرمسعود ایرانی</title>
	<atom:link href="http://amib.ir/weblog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://amib.ir/weblog</link>
	<description>برنامه‌نویسی و فناوری‌های رایانه‌ای</description>
	<lastBuildDate>Sat, 19 May 2012 18:20:55 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>اجرای زمانبندی‌شده‌ی اسکریپت‌های تحت وب</title>
		<link>http://amib.ir/weblog/?p=592</link>
		<comments>http://amib.ir/weblog/?p=592#comments</comments>
		<pubDate>Sat, 19 May 2012 18:16:55 +0000</pubDate>
		<dc:creator>امیرمسعود ایرانی</dc:creator>
				<category><![CDATA[برنامه‌نویسی]]></category>

		<guid isPermaLink="false">http://amib.ir/weblog/?p=592</guid>
		<description><![CDATA[ممکن است برای شما نیز پیش آمده باشد که بخواهید اسکریپت تحت وب خود را به طور خودکار و در زمان‌های مشخص فراخوانی کنید. انجام این کار نیازمند دسترسی به Scheduled Tasks در ویندوز و Cron Jobs در لینوکس است. &#8230; <a href="http://amib.ir/weblog/?p=592">ادامه‌ی خواندن<span class="meta-nav">&#8592;</span></a>]]></description>
			<content:encoded><![CDATA[<p>ممکن است برای شما نیز پیش آمده باشد که بخواهید اسکریپت تحت وب خود را به طور خودکار و در زمان‌های مشخص فراخوانی کنید.</p>
<p>انجام این کار نیازمند دسترسی به Scheduled Tasks در ویندوز و Cron Jobs در لینوکس است. بسیاری از میزبان‌های اشتراکی اجازه‌ی استفاده از این قابلیت را برای مشتریان فراهم نمی‌کنند.<br />
یکی از ساده‌ترین راه‌حل‌های موجود، استفاده از سرویس‌های تحت وبی است که به صورت خودکار و در زمان‌های مشخص اسکریپت شما را فراخوانی می‌کنند.</p>
<p>سایت زیر مجموعه‌ای از سرویس‌های Cron تحت وب را فهرست کرده است که می‌توانید به رایگان از آن‌ها استفاده کنید.<br />
<a href="http://www.onlinecronservices.com">http://www.onlinecronservices.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://amib.ir/weblog/?feed=rss2&#038;p=592</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>۴۴ نکته‌ی طلایی در php</title>
		<link>http://amib.ir/weblog/?p=590</link>
		<comments>http://amib.ir/weblog/?p=590#comments</comments>
		<pubDate>Sat, 19 May 2012 18:01:25 +0000</pubDate>
		<dc:creator>امیرمسعود ایرانی</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[برنامه‌نویسی]]></category>

		<guid isPermaLink="false">http://amib.ir/weblog/?p=590</guid>
		<description><![CDATA[امروز به طور اتفاقی مطلب خوب و جامعی را در وبلاگ Boplo.ir دیدم پیشنهاد می‌کنم آن را مطالعه کنید]]></description>
			<content:encoded><![CDATA[<p>امروز به طور اتفاقی مطلب خوب و جامعی را در وبلاگ <a href="http://boplo.ir">Boplo.ir</a> دیدم<br />
<a href="http://boplo.ir/php/php-golden-tips">پیشنهاد می‌کنم آن را مطالعه کنید</a></p>
]]></content:encoded>
			<wfw:commentRss>http://amib.ir/weblog/?feed=rss2&#038;p=590</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>تقویم فارسی جاوااسکریپت با امکانات منحصر به فرد</title>
		<link>http://amib.ir/weblog/?p=321</link>
		<comments>http://amib.ir/weblog/?p=321#comments</comments>
		<pubDate>Wed, 16 May 2012 16:50:37 +0000</pubDate>
		<dc:creator>امیرمسعود ایرانی</dc:creator>
				<category><![CDATA[برنامه‌نویسی]]></category>
		<category><![CDATA[جاوااسکریپت]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[تبدیل تاریخ]]></category>
		<category><![CDATA[خورشیدی]]></category>
		<category><![CDATA[شمسی]]></category>
		<category><![CDATA[فارسی]]></category>

		<guid isPermaLink="false">http://amib.ir/weblog/?p=321</guid>
		<description><![CDATA[تقویم فارسی جاوااسکریپت به بخش «نرم‌افزارهای رایگان» افزوده شد. برای دریافت اطلاعات بیشتر و دانلود تقویم اینجا کلیک کنید ۱۶ آذر ۹۰ رفع اشکال: هنگام دوبار کلیک روی فیلد، تقویم باز نمی‌شد ۷ اسفند ۹۰ &#8211; ویرایش ۰.۱.۲ رفع اشکال &#8230; <a href="http://amib.ir/weblog/?p=321">ادامه‌ی خواندن<span class="meta-nav">&#8592;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://amib.ir/weblog/wp-content/uploads/2011/11/jsPerianCalendar.gif" alt="تقویم شمسی فارسی رایگان برای جاوااسکریپت" title="تقویم شمسی فارسی رایگان برای جاوااسکریپت" width="516" height="162" class="aligncenter size-full wp-image-317" /></p>
<p>تقویم فارسی جاوااسکریپت به بخش «نرم‌افزارهای رایگان» افزوده شد.<br />
برای دریافت اطلاعات بیشتر و <a href="http://amib.ir/weblog/?page_id=316">دانلود تقویم اینجا کلیک کنید</a></p>
<h3>۱۶ آذر ۹۰</h3>
<p>رفع اشکال: هنگام دوبار کلیک روی فیلد، تقویم باز نمی‌شد</p>
<h3>۷ اسفند ۹۰ &#8211; ویرایش ۰.۱.۲</h3>
<p>رفع اشکال در ارزیابی درستی «۳۰ام اسفند» سال‌های کبیسه اگر کاربر تاریخ را برعکس وارد کند</p>
<h3>۱۰ اسفند ۹۰ &#8211; ویرایش ۰.۱.۳</h3>
<p>تغییر نوع دکمه‌ی نمایش تقویم از img به a<br />
افزودن دو قالب جدید «هلویی» و «فیروزه‌ای فسفری» برای استفاده در سایت‌هایی با رنگبندی متفاوت</p>
<h3>۱۷ اردیبهشت ۹۱ &#8211; ویرایش ۰.۱.۴</h3>
<p>اصلاح محل نمایش تقویم هنگامی که فیلد تاریخ در پایین صفحه قرار گرفته باشد<br />
امکان تغییر نام کلاس عناصر برای قالب‌بندی CSS<br />
اصلاح و بهینه‌سازی کدهای جاوااسکریپت</p>
<h3>۲۷ اردبیهشت ۹۱ &#8211; ویرایش ۰.۱.۵</h3>
<p>رفع اشکال به وجود آمده در باز شدن چند تقویم<br />
حذف تمامی دستورات برپایه‌ی eval برای سازگاری با آخرین استانداردهای جاوااسکریپت و افزایش کارایی<br />
اصلاح محل نمایش تقویم در مرورگر IE</p>
]]></content:encoded>
			<wfw:commentRss>http://amib.ir/weblog/?feed=rss2&#038;p=321</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>انتخاب واحد و اندازه‌ی فونت برای طراحی صفحات وب</title>
		<link>http://amib.ir/weblog/?p=577</link>
		<comments>http://amib.ir/weblog/?p=577#comments</comments>
		<pubDate>Thu, 10 May 2012 18:42:41 +0000</pubDate>
		<dc:creator>امیرمسعود ایرانی</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[برنامه‌نویسی]]></category>

		<guid isPermaLink="false">http://amib.ir/weblog/?p=577</guid>
		<description><![CDATA[انتخاب اندازه و واحد فونت یکی از پیش‌نیازهای طراحی صفحات وب برای ایجاد خروجی یکسان در بسترهای مختلف است. واحد‌های اندازه‌گیری گوناگونی مانند point، pixel و em از گزینه‌های موجود به عنوان واحد اندازه‌گیری هستند. واحد pixel یا px ساده‌ترین &#8230; <a href="http://amib.ir/weblog/?p=577">ادامه‌ی خواندن<span class="meta-nav">&#8592;</span></a>]]></description>
			<content:encoded><![CDATA[<p>انتخاب اندازه و واحد فونت یکی از پیش‌نیازهای طراحی صفحات وب برای ایجاد خروجی یکسان در بسترهای مختلف است. واحد‌های اندازه‌گیری گوناگونی مانند point، pixel و em از گزینه‌های موجود به عنوان واحد اندازه‌گیری هستند.</p>
<p>واحد pixel یا px ساده‌ترین و مناسب‌ترین واحد برای تعیین اندازه‌ی فونت در صفحات وب است. این گزینه هنگامی کاربرد دارد که بخواهید متن‌های با اندازه‌ی ثابت در مقایسه با تصاویر داشته باشید.<br />
برای مثال اگر اندازه‌ی فونت یک عنصر html را &#8220;12px&#8221; مشخص کنید، نوشته‌ی شما در تمامی مرورگرها به همین اندازه نمایش داده می‌شود</p>
<p>واحد em واحدی نسبی است. بر اساس فونت پیش‌فرض در عنصر فعلی، واحد em معنی متفاوتی دارد. هر em با اندازه‌ی فونت فعلی برابری می‌کند. مثلا اگر اندازه‌ی فونت عنصری &#8220;12pt&#8221; باشد، &#8220;1em&#8221; برابر &#8220;12pt&#8221; و &#8220;2em&#8221; برابر با &#8220;24pt&#8221; خواهد بود.</p>
<p>واحد پرکاربرد بعدی point یا pt نام دارد. این واحد نیز واحدی نسبی است. شیوه‌ی محاسبه‌ی اندازه‌ی واقعی و پیکسلی وابسته به وضوح صفحه‌ی نمایش یا چاپگر مشخص می‌شود. بر طبق قرارداد، هر ۷۲ پوینت معادل یک اینچ تعیین شده است.<br />
وضوح پیش‌فرض در سیستم‌عامل مکینتاش ۷۲ نقطه در اینچ است. در نتیجه تعیین اندازه‌ی فونت با پیکسل یا پوینت در آن یکسان است. ولی در ویندوز مقدار ۹۶ نقطه در اینچ عدد پیش‌فرض است و معنی آن این است که هر ۹۶ پیکسل با یک اینچ برابری خواهد کرد.<br />
بنابراین اگر اندازه‌ی عنصری را &#8220;72pt&#8221; مشخص کنید، در مکینتاش با اندازه‌ی ۷۲ پیکسل و در ویندوز با اندازه‌ی ۹۶ پیکسل دیده خواهد شد.</p>
<p>برای ساده‌تر شدن محاسبات کافی است اندازه‌ی پوینت را به عدد ۷۲ تقسیم و نتیجه را در وضوح نمایش یا چاپ ضرب کنید.<br />
مثلا محاسبه‌ی ۱۲ پوینت در ویندوز: ۱۲ را تقسیم بر ۷۲ و سپس در ۹۶ ضرب می‌کنیم که نتیجه عدد ۱۶ پیکسل خواهد بود.</p>
<p>با توجه به آنچه گفته شد، اگر بنا است خروجی شما در مرورگر به نمایش درآید واحد pixel، و اگر صفحه‌ی وب شما برای چاپ ایجاد شده است، واحد point یا سایر واحدهای فیزیکی مانند «میلیمتر»، «سانتی‌متر» و «اینچ» گزینه‌های بهتری هستند.</p>
]]></content:encoded>
			<wfw:commentRss>http://amib.ir/weblog/?feed=rss2&#038;p=577</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>پرسش‌های استخدامی برای توسعه‌دهنده‌ی وب</title>
		<link>http://amib.ir/weblog/?p=559</link>
		<comments>http://amib.ir/weblog/?p=559#comments</comments>
		<pubDate>Fri, 20 Apr 2012 15:30:27 +0000</pubDate>
		<dc:creator>امیرمسعود ایرانی</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[برنامه‌نویسی]]></category>
		<category><![CDATA[جاوااسکریپت]]></category>
		<category><![CDATA[عبارت‌های منظم]]></category>
		<category><![CDATA[پایگاه داده]]></category>

		<guid isPermaLink="false">http://amib.ir/weblog/?p=559</guid>
		<description><![CDATA[به تازگی پرسش‌هایی برای آزمودن تسلط کارجویان php طراحی کردم. پرسش‌ها به گونه‌ای طراحی شدند که در زمانی کمتر از ۱۵ دقیقه قابل پاسخگویی باشند و تنها کسانی بتوانند به آن‌ها پاسخ صحیح بدهند که تسلط کافی روی php، HTML، &#8230; <a href="http://amib.ir/weblog/?p=559">ادامه‌ی خواندن<span class="meta-nav">&#8592;</span></a>]]></description>
			<content:encoded><![CDATA[<p>به تازگی پرسش‌هایی برای آزمودن تسلط کارجویان php طراحی کردم. پرسش‌ها به گونه‌ای طراحی شدند که در زمانی کمتر از ۱۵ دقیقه قابل پاسخگویی باشند و تنها کسانی بتوانند به آن‌ها پاسخ صحیح بدهند که تسلط کافی روی php، HTML، JavaScript، CSS، MySQL و SQL Server داشته باشند<br />
پرسش‌ها و پاسخ‌های صحیح را در ادامه مشاهده کنید.</p>
<p><span id="more-559"></span></p>
<h3>به طور مختصر کاربرد doctype را در html شرح دهید.</h3>
<p>عبارتی است که مشخص می‌کند مرورگر فایل html را با چه استانداردی باید پردازش کند. در گذر زمان استانداردهای مختلف با doctypeهای متفاوت تصویب شده است.</p>
<h3>تفاوت UTF-8 و UTF-8 w/o BOM را بنویسید. برای کدنویسی php از کدامیک استفاده می‌شود و چرا؟</h3>
<p>تفاوت این دو عدم وجود BOM یا Byte Order Mark در «UTF-8 w/o BOM» است. BOM ترکیبی از حروف است که در ابتدای فایل متنی می‌آید و استاندارد ذخیره‌سازی یونیکد را در آن مشخص می‌کند. به دلیل عدم پشتیبانی php از فایل‌های یونیکد، برای جلوگیری از اختلال در عملکرد برخی دستورات، لازم است تا از «UTF-8 w/o BOM» در ذخیره‌سازی اسکریپت‌های php استفاده شود.</p>
<h3>کاربرد &lrm;$_SESSION&lrm; در php چیست؟</h3>
<p>آرایه‌ای سراسری است که وظیفه‌ی نگهداری متغیرهای ثبت شده در نشست فعلی را بر عهده دارد. این متغیرها بسته به تنظیمات php تا زمانی مشخص نگهداری و پس از آن حذف می‌شوند.</p>
<h3>دو تفاوت سیستم‌های InnoDB و MyISAM را در MySQL بنویسید.</h3>
<p>دو موتور ذخیره‌سازی موجود در MySQL هستند.<br />
- پشتیبانی InnoDB از Transaction در مقابل MyISAM<br />
- سرعت بیشتر MyISAM در بازیابی اطلاعات در مقابل InnoDB</p>
<h3>افزونه‌ی cURL در php برای انجام چه کاری استفاده می‌شود؟</h3>
<p>این افزونه مانند یک مرورگر اینترنتی، می‌تواند اطلاعات را از سایت‌های اینترنتی دریافت کند و اطلاعات را به آن‌ها بفرستد.</p>
<h3>PDO کوتاه‌شده‌ی چه عبارتی است و کاربرد آن چیست؟</h3>
<p>PHP Data Objects مجموعه‌ای از کلاس‌های برنامه‌نویسی است که وظیفه‌ی برقراری ارتباط با انواع پایگاه‌های داده را برعهده دارد.</p>
<h3>مراحل آپلود فایل و دریافت و ذخیره‌ی آن توسط یک اسکریپت php را بنویسید( فقط عنوان فعالیت‌ها &#8211; نیازی به توضیح نیست )</h3>
<p>انتخاب فایل توسط کاربر &#8211; ارسال محتوای فایل توسط POST &#8211; ذخیره‌ی فایل در شاخه‌ی موقتی &#8211; انتقال و تغییر نام فایل به محل دلخواه</p>
<h3>اشکال موجود در کد php مقابل چیست؟</h3>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">متن فارسی
<span style="color: #000000; font-weight: bold;">&lt;?php</span>
	<span style="color: #990000;">setcookie</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'user_name'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'ali'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>استفاده از برخی دستورات که برای عملکرد صحیح باید سرآمد پاسخ را تغییر دهند، پس از ارسال محتوا ممکن نیست.</p>
<h3>تفاوت &lrm;!=&lrm; و &lrm;!==&lrm; در php چیست؟</h3>
<p>استفاده از دو علامت مساوی برای مقایسه سبب می‌شود تا متغیرها علاوه بر محتوا، بر اساس نوع هم با یکدیگر مقایسه شوند.</p>
<h3>قطعه کد جاوااسکریپت مقابل را کامل کنید.</h3>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> myNumber <span style="color: #339933;">=</span> <span style="color: #CC0000;">10</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> myString <span style="color: #339933;">=</span> <span style="color: #3366CC;">'20'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> myNumberConvertedToString <span style="color: #339933;">=</span> ... 
<span style="color: #003366; font-weight: bold;">var</span> myStringConvertedToNumber <span style="color: #339933;">=</span> ...</pre></div></div>

<p>پاسخ:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> myNumberConvertedToString <span style="color: #339933;">=</span> myNumber.<span style="color: #660066;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> myStringConvertedToNumber <span style="color: #339933;">=</span> parseInt<span style="color: #009900;">&#40;</span> myString<span style="color: #339933;">,</span> <span style="color: #CC0000;">10</span> <span style="color: #009900;">&#41;</span></pre></div></div>

<h3>کد جاوااسکریپت مورد نیاز در رویداد onclick برای جلوگیری از عملکرد href در پیوند مقابل چیست؟</h3>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>a onclick<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;...&quot;</span> href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;page2.php&quot;</span><span style="color: #339933;">&gt;</span>This <span style="color: #990000;">link</span> does not redirect you<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span></pre></div></div>

<p>پاسخ:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">false</span><span style="color: #339933;">;</span></pre></div></div>

<h3>عبارت منظم ‎&lrm;/09[123]\d{8}/&lrm;‎‎ احتمالا چه کاربردی دارد؟</h3>
<p>برای یافتن شماره‌ی موبایل</p>
<h3>وظیفه‌ی دستور مقابل در php چیست؟</h3>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">mysql_query</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">&quot;SET NAMES 'utf8'&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>این دستور به MySQL اعلام می‌کند که از این پس ارسال و دریافت اطلاعات میان php و پایگاه داده با کدگذاری UTF-8 انجام خواهد شد.</p>
<h3>قرار دادن COLLATION یک فیلد جدولی در SQL Server بر روی «Persian_100_CI» چه اثری در عملکرد Queryها دارد؟</h3>
<p>هنگام مرتب‌سازی رشته‌ها، زبان نوشته فارسی فرض خواهد شد.</p>
<h3>چه هنگام قرار دادن Index روی ستونی از جدول توصیه می‌شود؟( در Queryها چه استفاده‌ای از ستون داشته باشیم ). دو مورد را بنویسید.</h3>
<p>هنگام جستجوی مکرر روی یک ستون<br />
هنگام مرتب‌سازی مکرر روی یک ستون</p>
<h3>نوع داده‌ای uniqueidentifier در SQL Server چه کاربردی دارد؟</h3>
<p>هنگامی که نیاز به همزمان‌سازی ردیف‌های جدول وجود دارد<br />
هنگامی که تعداد ردیف‌ها بسیار زیاد است. برای اطمینان از منحصر به فرد بودن ستون کلیدی در تمام موارد.</p>
<h3>چه هنگام حرف N را پیش از رشته‌ها در Queryهای SQL Server قرار می‌دهیم؟</h3>
<p>هنگامی که محتوای رشته حاوی عبارت‌های یونیکد باشد.</p>
<h3>قانون CSS مقابل دقیقا چه عنصرهایی را هدف قرار می‌دهد؟</h3>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #cc00cc;">#body</span>  ul<span style="color: #cc00cc;">#icons</span>  a<span style="color: #00AA00;">:</span>hover</pre></div></div>

<p>hyperlinkهایی که ماوس روی آن قرار دارد<br />
این hyperlink باید فرزند لیستی با شناسه‌ی icons باشد<br />
لیست مورد نظر باید فرزند عنصری با شناسه‌ی body باشد</p>
]]></content:encoded>
			<wfw:commentRss>http://amib.ir/weblog/?feed=rss2&#038;p=559</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>کدهای جاوااسکریپت سایت scriptiny</title>
		<link>http://amib.ir/weblog/?p=557</link>
		<comments>http://amib.ir/weblog/?p=557#comments</comments>
		<pubDate>Thu, 19 Apr 2012 21:03:59 +0000</pubDate>
		<dc:creator>امیرمسعود ایرانی</dc:creator>
				<category><![CDATA[جاوااسکریپت]]></category>

		<guid isPermaLink="false">http://amib.ir/weblog/?p=557</guid>
		<description><![CDATA[اگر تا به حال سایت scriptiny را ندیده‌اید پیشنهاد می‌کنم همین حالا آن را باز کنید هرچند مدتی است مطلب جدیدی در این سایت فرستاده نشده است با این حال مرور مطالب گذشته و استفاده از کتابخانه‌های جاوااسکریپت موجود در &#8230; <a href="http://amib.ir/weblog/?p=557">ادامه‌ی خواندن<span class="meta-nav">&#8592;</span></a>]]></description>
			<content:encoded><![CDATA[<p>اگر تا به حال سایت <a href="http://www.scriptiny.com/">scriptiny</a> را ندیده‌اید پیشنهاد می‌کنم همین حالا آن را باز کنید<br />
هرچند مدتی است مطلب جدیدی در این سایت فرستاده نشده است با این حال مرور مطالب گذشته و استفاده از کتابخانه‌های جاوااسکریپت موجود در این سایت شما را به وجد خواهد آورد.<br />
اسکریپت‌های رایگان و شاید منحصربه‌فرد موجود در این وبلاگ می‌تواند منبع بسیار خوبی برای یادگیری برنامه‌نویسی حرفه‌ای جاوااسکریپت و حتی نمونه‌هایی قابل استفاده در تولید صفحات پویای وب باشد</p>
<p>چند نمونه از اسکریپت‌های قابل دریافت از این سایت عبارتند از: منوی جاوااسکریپت، جعبه‌ی بازشونده، جدول هوشمند جاوااسکریپت و چندین اسکریپت مفید دیگر.</p>
]]></content:encoded>
			<wfw:commentRss>http://amib.ir/weblog/?feed=rss2&#038;p=557</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>رتبه‌ی نخست وضوح ۱۳۶۶‎×‎۷۶۸ میان کاربران وب</title>
		<link>http://amib.ir/weblog/?p=552</link>
		<comments>http://amib.ir/weblog/?p=552#comments</comments>
		<pubDate>Wed, 11 Apr 2012 19:14:45 +0000</pubDate>
		<dc:creator>امیرمسعود ایرانی</dc:creator>
				<category><![CDATA[برنامه‌نویسی]]></category>

		<guid isPermaLink="false">http://amib.ir/weblog/?p=552</guid>
		<description><![CDATA[سایت StatCounter اعلام کرد برای نخستین بار وضوح صفحه‌ی «۱۳۶۶‎×‎۷۶۸» در مکانی بالاتر از وضوح «۱۰۲۴‎×‎۷۶۸» قرار گرفت. این موضوع برای طراحان نرم‌افزارهای تحت وب می‌تواند خبری مهم و اثرگذار باشد. با این حال وضوح «۱۰۲۴‎×‎۷۶۸» در میان کاربران ایرانی &#8230; <a href="http://amib.ir/weblog/?p=552">ادامه‌ی خواندن<span class="meta-nav">&#8592;</span></a>]]></description>
			<content:encoded><![CDATA[<p>سایت <a href="http://gs.statcounter.com/press/screen-resolution-alert-for-web-developers">StatCounter</a> اعلام کرد برای نخستین بار وضوح صفحه‌ی «۱۳۶۶‎×‎۷۶۸» در مکانی بالاتر از وضوح «۱۰۲۴‎×‎۷۶۸» قرار گرفت.<br />
این موضوع برای طراحان نرم‌افزارهای تحت وب می‌تواند خبری مهم و اثرگذار باشد.</p>
<p>با این حال وضوح «۱۰۲۴‎×‎۷۶۸» در میان کاربران ایرانی وب با حدود ۳۲ درصد همچنان در رتبه‌ی نخست قرار دارد و در طراحی سایت‌هایی که برای کاربران داخلی انجام می‌شود، باید این موضوع در نظر باشد.</p>
<p>سایت StatCounter ارائه دهنده‌ی آمارگیرهای حرفه‌ای برای سایت‌های اینترنتی است و نتایج اعلام شده از سوی این سایت بر اساس میلیاردها مشاهده در ماه تهیه می‌شوند.</p>
]]></content:encoded>
			<wfw:commentRss>http://amib.ir/weblog/?feed=rss2&#038;p=552</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>تفاوت و کاربرد عبارت‌های Having و Where در MySQL</title>
		<link>http://amib.ir/weblog/?p=544</link>
		<comments>http://amib.ir/weblog/?p=544#comments</comments>
		<pubDate>Wed, 04 Apr 2012 18:48:33 +0000</pubDate>
		<dc:creator>امیرمسعود ایرانی</dc:creator>
				<category><![CDATA[پایگاه داده]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://amib.ir/weblog/?p=544</guid>
		<description><![CDATA[مطابق استاندارد رسمی SQL، عبارت Having تنها می‌تواند حاوی شرط‌هایی برای محدود کردن نتایج GROUP BY باشد. با این حال «MySQL 5.0.2» و جدید‌تر به شما اجازه می‌دهد شرط خود را بدون داشتن GROUP BY با کمک Having بنویسید. دو &#8230; <a href="http://amib.ir/weblog/?p=544">ادامه‌ی خواندن<span class="meta-nav">&#8592;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://amib.ir/weblog/wp-content/uploads/2012/04/mysql.png" alt="نشان MySQL" title="نشان MySQL" width="170" height="115" class="aligncenter size-full wp-image-546" /></p>
<p>مطابق استاندارد رسمی SQL، عبارت Having تنها می‌تواند حاوی شرط‌هایی برای محدود کردن نتایج GROUP BY باشد. با این حال «MySQL 5.0.2» و جدید‌تر به شما اجازه می‌دهد شرط خود را بدون داشتن GROUP BY با کمک Having بنویسید.</p>
<p>دو تفاوت اساسی میان Having و Where وجود دارد که می‌تواند در انتخاب هر یک موثر باشد.</p>
<p><strong>۱- زمان اجرا:</strong><br />
Where در مرحله‌ی جستجوی ردیف‌ها مورد ارزیابی قرار می‌گیرد. یعنی پایگاه داده در هنگامی که جدول‌ها را پردازش می‌کند شرط مقابل Where را نیز در جستجو دخیل می‌کند.<br />
Having تقریبا در پایان مراحل و پیش از آنکه نتایج به مشتری ارسال شود، نتایج یافته شده توسط Where را پاکسازی می‌کند.</p>
<p><strong>۲- بهینه‌سازی</strong><br />
با توجه به آنچه در مورد زمان اجرای هر یک از عبارت‌های Where و Having گفته شد، مشخص است که اعمال بهینه‌سازی بر روی Where امکان‌پذیر و در خصوص Having ناممکن است. زیرا Having نقشی در یافتن رکوردها ندارد و تنها کار حذف رکوردهای نادرست را انجام می‌دهد.</p>
<p>با توجه به دو تفاوت گفته شده، کاربردهای مختلفی نیز برای این دو دستور به وجود می‌آید.<br />
یکی از بهترین مثال‌ها برای استفاده از Having هنگامی است که می‌خواهید یک فیلد محاسباتی را که با ALIAS نامی برای آن برگزیده‌اید، فیلتر کنید.<br />
<span id="more-544"></span></p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #ff0000;">`fname`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`lanme`</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">`age`</span> <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> mod_age
<span style="color: #993333; font-weight: bold;">FROM</span> myTable
<span style="color: #993333; font-weight: bold;">HAVING</span> mod_age <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">10</span></pre></div></div>

<p>همان گونه که مشاهده می‌کنید در مثال بالا از ستون محاسباتی mod_age مقابل having استفاده کرده‌ایم.<br />
در حالت عادی برای آنکه همین کار را با کمک عبارت Where انجام دهیم دو راه زیر وجود دارد که شاید سبب کاهش خوانایی و افزایش پیچیدگی و حتی کاهش کارایی شوند:</p>

<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #66cc66;">*</span> <span style="color: #993333; font-weight: bold;">FROM</span> <span style="color: #66cc66;">&#40;</span>
	<span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #ff0000;">`fname`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`lanme`</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">`age`</span> <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> mod_age
	<span style="color: #993333; font-weight: bold;">FROM</span> myTable
<span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> sub_search
<span style="color: #993333; font-weight: bold;">WHERE</span> mod_age <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">10</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="sql" style="font-family:monospace;"><span style="color: #993333; font-weight: bold;">SELECT</span> <span style="color: #ff0000;">`fname`</span><span style="color: #66cc66;">,</span> <span style="color: #ff0000;">`lanme`</span><span style="color: #66cc66;">,</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">`age`</span> <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #993333; font-weight: bold;">AS</span> mod_age
<span style="color: #993333; font-weight: bold;">FROM</span> myTable
<span style="color: #993333; font-weight: bold;">WHERE</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">`age`</span> <span style="color: #66cc66;">+</span> <span style="color: #cc66cc;">5</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">10</span></pre></div></div>

<p>در شیوه‌ی نخست، از یک sub-query برای یافتن تمام ردیف‌ها و سپس از یک query برای یافتن موارد دلخواه استفاده کردیم.<br />
در شیوه‌ی دوم هم عبارت محاسباتی را دوباره در مقابل Where تکرار کردیم.</p>
<p>با توجه به آنچه در مورد خوانایی، کارایی، سازگاری و بهینه‌سازی گفته شد، بسته به موقعیت استفاده از Having یا Where می‌تواند توجیه‌پذیر باشد.</p>
]]></content:encoded>
			<wfw:commentRss>http://amib.ir/weblog/?feed=rss2&#038;p=544</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>پشتیبانی نسخه‌ی جدید Notepad++‎ از عبارت‌های منظم Perl</title>
		<link>http://amib.ir/weblog/?p=540</link>
		<comments>http://amib.ir/weblog/?p=540#comments</comments>
		<pubDate>Wed, 28 Mar 2012 11:35:26 +0000</pubDate>
		<dc:creator>امیرمسعود ایرانی</dc:creator>
				<category><![CDATA[عبارت‌های منظم]]></category>
		<category><![CDATA[نرم‌افزار]]></category>
		<category><![CDATA[Notepad++]]></category>
		<category><![CDATA[عبارت منظم]]></category>

		<guid isPermaLink="false">http://amib.ir/weblog/?p=540</guid>
		<description><![CDATA[دیروز نسخه‌ی جدید Notepad++&#8206; منتشر شد تغییر بزرگی در این نسخه به وجود آمده و آن پشتیبانی از PCRE یا «عبارت‌های منظم سازگار با Perl» است. در نسخه‌‌های پیشین از استاندارد قدیمی POSIX استفاده می‌شد که قابلیت‌های کمتری داشت و &#8230; <a href="http://amib.ir/weblog/?p=540">ادامه‌ی خواندن<span class="meta-nav">&#8592;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://amib.ir/weblog/wp-content/uploads/2012/03/cheats-chameleon.jpg" alt="Notepad++" title="Notepad++ آفتاب پرست" width="400" height="288" class="aligncenter size-full wp-image-542" /></p>
<p>دیروز نسخه‌ی جدید Notepad++&lrm; منتشر شد<br />
تغییر بزرگی در این نسخه به وجود آمده و آن پشتیبانی از PCRE یا «عبارت‌های منظم سازگار با Perl» است.<br />
در نسخه‌‌های پیشین از استاندارد قدیمی POSIX استفاده می‌شد که قابلیت‌های کمتری داشت و در حل برخی مشکل‌ها ناتوان بود</p>
<p><a href="http://www.regular-expressions.info/refflavors.html">برای مشاهده‌ی فهرست تفاوت‌های این دو استاندارد اینجا کلیک کنید</a></p>
<p>برای آشنایی بیشتر با عبارت‌های منظم می‌توانید <a href="http://amib.ir/weblog/?p=439" title="آشنایی با عبارت‌های منظم( Regular Expressions )">مطلبی</a> که پیش‌تر در این خصوص نوشتم مطالعه کنید.</p>
<p>برای دریافت آخرین نسخه از ویرایشگر Notepad++&lrm; <a href="http://notepad-plus-plus.org/" title="تارنمای رسمی Notepad++">اینجا کلیک کنید</a></p>
]]></content:encoded>
			<wfw:commentRss>http://amib.ir/weblog/?feed=rss2&#038;p=540</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSON چیست؟</title>
		<link>http://amib.ir/weblog/?p=532</link>
		<comments>http://amib.ir/weblog/?p=532#comments</comments>
		<pubDate>Mon, 19 Mar 2012 14:29:40 +0000</pubDate>
		<dc:creator>امیرمسعود ایرانی</dc:creator>
				<category><![CDATA[برنامه‌نویسی]]></category>
		<category><![CDATA[جاوااسکریپت]]></category>
		<category><![CDATA[JSON]]></category>

		<guid isPermaLink="false">http://amib.ir/weblog/?p=532</guid>
		<description><![CDATA[JSON کوتاه‌شده‌ی عبارت «Javascript Object Notation» به معنی «نشان‌گذاری شیء جاوااسکریپت» است. JSON شیوه‌ای است که با کمک آن اشیا و اطلاعات برنامه‌نویسی به متن قابل پردازش توسط رایانه و قابل فهم برای انسان تبدیل می‌شوند. نکته‌ مهم در این &#8230; <a href="http://amib.ir/weblog/?p=532">ادامه‌ی خواندن<span class="meta-nav">&#8592;</span></a>]]></description>
			<content:encoded><![CDATA[<p>JSON کوتاه‌شده‌ی عبارت «Javascript Object Notation» به معنی «نشان‌گذاری شیء جاوااسکریپت» است. JSON شیوه‌ای است که با کمک آن اشیا و اطلاعات برنامه‌نویسی به متن قابل پردازش توسط رایانه و قابل فهم برای انسان تبدیل می‌شوند.<br />
نکته‌ مهم در این شیوه قابلیت فهم آسان توسط انسان است که در دیگر شیوه‌ها مانند XML کمتر به آن توجه شده است.<br />
همان گونه که از نام JSON مشخص است، جاوااسکریپت به صورت پیش‌فرض می‌تواند رشته‌های JSON را پردازش و آن‌ها را ایجاد کند. افزون بر جاوااسکریپت، تقریبا تمام زبان‌های برنامه نویسی متداول با کمک کتابخانه‌های جانبی از JSON پشتیبانی می‌کنند.<br />
<span id="more-532"></span><br />
برای ساخت عبارت‌های JSON چند قانون ساده وجود دارد که به کوتاهی آن‌ها را مرور می‌کنیم:</p>
<ul>
<li>عبارت‌های JSON باید میان آکولاد «{}» قرار بگیرند.</li>
<li>اعضای شیء با علامت ویرگول«,» از هم جدا می‌شوند</li>
<li>برای تعریف یک عضو در یک شیء JSON، ابتدا «نام عضو» سپس دونقطه«:» و در پایان «مقدار» نوشته می‌شود</li>
<li>مقدار می‌تواند یکی از انواع «عدد»، «رشته»، «بولی»، «آرایه»، «شیء» و «نال» را بپذیرد. سایر انواع داده باید به صورتی دیگر ذخیره شوند</li>
<li>انواع رشته‌ای باید داخل دو گیومه «&quot;» قرار بگیرند</li>
<li>بسته به زبان مبدا و مقصد انواع داده‌ی دیگری نیز ممکن است قابل پذیرش باشند</li>
</ul>
<p>با توجه به قانون‌های گفته شده، یک شیء ساده‌ی JSON در جاوااسکریپت را این‌گونه تعریف می‌کنیم:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> myObj <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	fname<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Amir Masoud&quot;</span><span style="color: #339933;">,</span>
	lname<span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Irani&quot;</span><span style="color: #339933;">,</span>
	regNo<span style="color: #339933;">:</span> <span style="color: #CC0000;">2020</span><span style="color: #339933;">,</span>
	likes<span style="color: #339933;">:</span> <span style="color: #009900;">&#91;</span> <span style="color: #3366CC;">&quot;programming&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;software&quot;</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">&quot;sleeping&quot;</span> <span style="color: #009900;">&#93;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></div></div>

<p>همان‌گونه که مشاهده می‌کنید در شیء بالا چهار عضو با انواع «رشته»، «عدد» و «آرایه» تعریف شده‌اند.<br />
استفاده از این شیء در جاوااسکریپت بسیار ساده است:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> myObj.<span style="color: #660066;">fname</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> myObj.<span style="color: #660066;">lname</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> myObj.<span style="color: #660066;">regNo</span>.<span style="color: #660066;">toString</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> myObj.<span style="color: #660066;">likes</span><span style="color: #009900;">&#91;</span> <span style="color: #CC0000;">0</span> <span style="color: #009900;">&#93;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>از مهم‌ترین کاربردهای JSON انتقال اطلاعات میان جاوااسکریپت و زبان‌های سمت کارساز مانند php و asp.net است. برای تبدیل رشته‌ای حاوی اشیای JSON در جاوااسکریپت می‌توان به صورت زیر عمل کرد. البته پیش از آن از صحت کد مطمئن شوید.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> myJSON <span style="color: #339933;">=</span> <span style="color: #3366CC;">'{ name: &quot;AMIB&quot;, regNo: 2020 }'</span><span style="color: #339933;">;</span>
<span style="color: #003366; font-weight: bold;">var</span> myObj <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">eval</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;(&quot;</span> <span style="color: #339933;">+</span> myJSON <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;)&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> myObj.<span style="color: #000066;">name</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>برای تبدیل یک شیء به رشته‌ای حاوی JSON هم از دستور زیر می‌توانید استفاده کنید:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #003366; font-weight: bold;">var</span> myObj <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000066;">name</span><span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;AMIB&quot;</span><span style="color: #339933;">,</span>
	regNo<span style="color: #339933;">:</span> <span style="color: #CC0000;">2020</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">var</span> myJSON <span style="color: #339933;">=</span> JSON.<span style="color: #660066;">stringify</span><span style="color: #009900;">&#40;</span> myObj <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #006600; font-style: italic;">// myJSON = '{name:&quot;AMIB&quot;,regNo:2020}'</span>
<span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> myJSON <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>در زبان جاوااسکریپت محدودیت‌های کمتری برای تعریف JSON وجود دارد. برای مثال می‌توان یک تابع را به عنوان مقدار برای عضو تعریف کرد یا اینکه به‌جای گیومه از علامت آپستروف «&apos;» برای تعریف انواع رشته‌ای استفاده کرد.</p>
<p>پشتیبانی از JSON در آخرین ویرایش جاوااسکریپت استانداردسازی شده است. برخی از مرورگرهای قدیمی تمامی ویژگی‌های JSON را به درستی پیاده‌سازی نکرده‌اند بنابراین بهتر است پیش از انتشار نهایی، نرم‌افزار خود را به خوبی آزمایش کنید.</p>
]]></content:encoded>
			<wfw:commentRss>http://amib.ir/weblog/?feed=rss2&#038;p=532</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

