<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>4goosh</title>
	
	<link>http://www.4goosh.com</link>
	<description>گاه نوشت های یک طراح وب</description>
	<pubDate>Fri, 10 Oct 2008 14:35:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>fa</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/4goosh" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2F4goosh" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/4goosh" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2F4goosh" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2F4goosh" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2F4goosh" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:browserFriendly>www.4goosh.com</feedburner:browserFriendly><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>سمینار تخصصی CSS (رایگان)</title>
		<link>http://feedproxy.google.com/~r/4goosh/~3/-wOtL_uw0Og/css-seminar-flexible-text</link>
		<comments>http://www.4goosh.com/css-tutorial/css-seminar-flexible-text#comments</comments>
		<pubDate>Fri, 10 Oct 2008 14:35:42 +0000</pubDate>
		<dc:creator>amir abbas</dc:creator>
		
		<category><![CDATA[آموزش CSS]]></category>

		<category><![CDATA[CSS]]></category>

		<category><![CDATA[سمینار]]></category>

		<guid isPermaLink="false">http://www.4goosh.com/?p=116</guid>
		<description><![CDATA[در تاریخ 26 مهر ، سمیناری برای آموزش CSS برگزار می شود]]></description>
			<content:encoded><![CDATA[<p>هفته پیش با یکی از دوستان، <a href="http://blog.fantazio.com/" target="_blank">مجتبی دشتی نژاد</a> صحبت کردم. قرار شد که دوره جدید کلاس های CSS <a href="http://fantazio.com/" target="_blank">فانتازیو</a> را من تدریس کنم. به احتمال زیاد کلاس های CSS در ماه آبان تشکیل می شود . در اولین دوره ، CSS در سطح مبتدی و متوسطه برگزار خواهد شد. برای تدریس در کلاس ها هم کتاب <a href="http://www.amazon.com/CSS-Missing-Manual-David-McFarland/dp/0596526873" target="_blank">CSS the missing manual</a> را انتخاب کردم که یکی از کامل ترین کتاب ها در زمینه آموزش CSS است.</p>
<p><img class="alignnone" title="سمینار CSS" src="http://blog.fantazio.com/image/post/css-flexible-text-seminar.jpg" alt="" width="500" height="250" /></p>
<p>در ضمن به جز این کتاب ها، 26 مهر، سمینار CSS هم برگزار می شود که در این سمینار من فصل اول کتاب bulletproof web desgin نوشته آقای دن سدرهولم را آموزش می دهم. این کتاب برای افرادی نوشته شده که با CSS آشنایی دارند و مایلند که شیوه های مناسب طراحی وب با CSS را بیاموزند. در این سمینار به شما آموزش خواهم داد که سایز متن صفحه را به شکلی تنظیم کنید که در تمامی مرورگر ها قابل تنظیم باشد. در خلال آموزش این تکنیک ها، برخی از باگ های مرورگر IE نیز توضیح داده می شود و هک های مورد استفاده نیز توضیح داده خواهد شد.</p>
<p>برای این سمینار، حدود 70 دقیقه فیلم آموزش با فرمت AVI و با کیفیت بسیار بالا و سایز 1024 در 768 نیز آماده شده که بعد از پایان سمینار به شرکت کنندگان اهدا خواهد شد. سعی می کنیم این فیلم ها رو با codec H.264 نیز فشرده کنیم تا کم حجم شود و آن را بر روی وب نیز قرار دهیم تا عزیزانی که نمی توانند در سمینار شرکت کنند نیز از این فیلم ها استفاده کنند.</p>
<p>این سمینار کاملا رایگان بوده و شرکت در آن برای عموم آزاد است.</p>
<p><strong>برای درخواست ثبت نام در سمینار تنها کافیست که در <a href="http://blog.fantazio.com/archives/css-flexible-text-seminar/#comments" target="_blank">بخش کامنت های مطلب مربوط به سمینار CSS</a> در وبلاگ آقای دشتی نژاد ، کامنت بگزارید و ایمیل خود را قرار دهید</strong>.</p>
<p>اگر تعداد دوستانی که ثبت نام کرده اند زیاد باشد، احتمالا این سمینار در چند جلسه برگزار می شود. هر سوالی که در مورد این سمینار باشد را می توانید در بخش کامنت های همین مطلب عنوان کنید.</p>
<img src="http://feeds.feedburner.com/~r/4goosh/~4/-wOtL_uw0Og" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.4goosh.com/css-tutorial/css-seminar-flexible-text/feed</wfw:commentRss>
		<feedburner:origLink>http://www.4goosh.com/css-tutorial/css-seminar-flexible-text</feedburner:origLink></item>
		<item>
		<title>اصول طراحی بر اساس استاندارد های وب 2.0 - قسمت دوم</title>
		<link>http://feedproxy.google.com/~r/4goosh/~3/1ijq3TDaFSc/web20-design-style-guide-part2</link>
		<comments>http://www.4goosh.com/web20/web20-design-style-guide-part2#comments</comments>
		<pubDate>Wed, 17 Sep 2008 17:26:52 +0000</pubDate>
		<dc:creator>amir abbas</dc:creator>
		
		<category><![CDATA[وب 2.0]]></category>

		<category><![CDATA[آموزش]]></category>

		<category><![CDATA[طراحی وب]]></category>

		<guid isPermaLink="false">http://www.4goosh.com/?p=114</guid>
		<description><![CDATA[در مقاله قبل در مورد برخی از خصوصیات طرح وب 2.0 بحث کردیم. در این مقاله نیز در مورد خصوصیاتی دیگر بحث می کنیم]]></description>
			<content:encoded><![CDATA[<p>در مقاله قبل در مورد یکی از موارد مهم در <a href="http://www.4goosh.com/web20/web20-design-style-guide-part1" target="_blank">طراحی وب 2.0</a> بحث کردیم. در مقاله قبلی در مورد سادگی در طرح های وب 2.0 توضیح دادم. در این بخش درباره موارد دیگری همچون در مرکز قرار گرفتن طرح و تعداد ستون های کمتر بحث خواهیم کرد.</p>
<h2>2- در مرکز قرار گرفتن طرح</h2>
<p>در حال حاضر اکثر <a href="http://www.4goosh.com" target="_blank">طراحی های وب</a> 2.0 ای در مرکز صفحه مرورگر شما قرار می گیرند و تعداد کمی از طرح ها نیز ، سایز خود را به نسبت سایز پنجره مرورگر شما تنظیم می کنند ولی بخش اعظم سایت ها در حال حاضر از طرح هایی با عرض ثابت استفاده می کنند که در مرکز صفحه قرار می گیرد.</p>
<p><strong>چرا در مرکز صفحه قرار گرفتن یک طرح خوب است</strong></p>
<p>طرح های وب 2.0 ساده، متمایز و بی و غل و غش هستند. طرج هایی که در مرکز صفحه قرار بگیرند، احساس سادگی را به شکل بهتری به استفاده کننده انتقال می دهند.</p>
<p>همچنین از آنجایی که ما در استفاده از تصاویر و محتوا در طرح های وب 2.0 صرفه جویی می کنیم، احتیاجی نیست که همه حجم صفحه را با تصویر و متن پر کنیم، ما سعی می کنیم که با کمترین متن و تصویر ، بیشترین منظور را برسانیم و در عوض بین عناصر صفحه از فضای سفید و خالی استفاده کنیم. این فضای خالی به خوانده شدن بهتر متن ها کمک می کند و به چشم کاربر استراحت می دهد.</p>
<p><strong>کجا و چه وقت طرح ها را در مرکز صفحه قرار دهیم</strong></p>
<p>قبلا هم توضیح دادم، طرح را در مرکز صفحه قرار دهید مگر اینکه دلیل کاملا قانع کننده ای داشته باشید که این کار را انجام ندهید. به عنوان مثال اگر بخواهید از فضا به شکل خلاقانه تری استفاده کنید و قصد دارید اطلاعات زیادی را در صفحه نمایش دهید (مثلا در یک اپلیکیشن وب). برای مثال نیز می توان طرح سایت <a href="http://www.twitter.com" target="_blank">تویتر</a> را مثال زد که بخش اصلی طرح در مرکز صفحه قرار گرفته است.</p>
<p><img src="http://i38.tinypic.com/2q0m77k.png" alt="" /></p>
<p><span id="more-114"></span></p>
<h2>3- تعداد ستون های کمتر</h2>
<p>چند سال قبل طرح های 3 ستونی جزء طرح های رایج محسوب می شد و گاها طرح های 4 ستونی نیز دیده می شد ولی در حال حاضر بیشتر طرح ها دو ستونی است و طرح های سه ستونی نیز بین طرح ها دیده می شود.</p>
<p><strong>چرا داشتن ستون کمتر، بهتر است</strong></p>
<p>استفاده از ستون کمتر باعث ساده تر شدن طرح شما می شود. ما می خواهیم اطلاعات خود را به شفاف ترین شکل ممکن به کاربر سایت برسانیم.</p>
<p>این مورد نیز یکی از نتایج در مرکز قرار دادن طرح است. وقتی ما طرح را در مرکز قرار دهیم و کل صفحه را پر نکنیم، دیگر به خیلی از ستون ها و اطلاعات موجود احتیاجی نداریم. به عنوان مثال سایت <a href="http://www.37signals.com/">37Signals</a> :</p>
<p><img src="http://i35.tinypic.com/10gfu5g.png" alt="" /></p>
<p>سایت 37signals یک نمونه خوب برای این مورد است. این سایت بسیار ساده طراحی شده و دو ستونی است. در بخش پایین صفحه نیز این طرح یک ستونی می شود. همانطور که می بینید، در حال حاضر مقدار زیادی فضای خالی در این طرح وجود دارد.</p>
<p>سعی کنید در طراحی های خود، بیشتر از 3 ستون را استفاده نکنید مگر اینکه واقعا نیاز باشد. در حال حاضر سایت <a href="http://www.amazon.com" target="_blank">آمازون</a> از طرح سه ستونی استفاده می کند در حالی که حجم اطلاعات در صفحه اول این سایت بسیار زیاد است:</p>
<p><img src="http://i33.tinypic.com/34g2ibl.png" alt="" /></p>
<p>همانطور که در تصویر مشخص است. با اینکه حجم مطالب در صفحه اول سایت آمازون بسیار زیاد است ولی این سایت از طرح سه ستونی استفاده کرده و تنها در جایی که لازم بوده، ستون وسط به چند بخش تقسیم شده است. با اینکه صفحه اول بسیار شلوغ است ولی فضای سفید و خالی بین عناصر وجود دارد و این یک نکته مثبت در طرح های وب 2.0 است. در مقالات بعدی درباره موارد دیگری از اصول <a href="http://www.4goosh.com" target="_blank">طراحی وب</a> بر اساس استاندارد وب 2.0 بحث خواهیم کرد</p>
<img src="http://feeds.feedburner.com/~r/4goosh/~4/1ijq3TDaFSc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.4goosh.com/web20/web20-design-style-guide-part2/feed</wfw:commentRss>
		<feedburner:origLink>http://www.4goosh.com/web20/web20-design-style-guide-part2</feedburner:origLink></item>
		<item>
		<title>قابلیت های خوب مرورگر کروم را به فایرفاکس خود اضافه کنید</title>
		<link>http://feedproxy.google.com/~r/4goosh/~3/ike-T0mEyeM/chrome-features-for-firefox</link>
		<comments>http://www.4goosh.com/firefox/chrome-features-for-firefox#comments</comments>
		<pubDate>Tue, 09 Sep 2008 14:38:04 +0000</pubDate>
		<dc:creator>amir abbas</dc:creator>
		
		<category><![CDATA[فایرفاکس]]></category>

		<category><![CDATA[کروم]]></category>

		<guid isPermaLink="false">http://www.4goosh.com/?p=111</guid>
		<description><![CDATA[گوگل با ارائه مروگر خود سر و صدای زیادی به پا کرد. این مرورگر قابلیت های منحصر به فردی دارد که آن را از بقیه مرورگر های دیگر متمایز می کند. مهمترین ویژگی این مرورگر گه گوگل تاکید زیادی بر روی آن داشت همان سرعت بالای اجرای فایل های جاوا اسکریپت در این مرورگر بود [...]]]></description>
			<content:encoded><![CDATA[<p>گوگل با ارائه مروگر خود سر و صدای زیادی به پا کرد. این مرورگر قابلیت های منحصر به فردی دارد که آن را از بقیه مرورگر های دیگر متمایز می کند. مهمترین ویژگی این مرورگر گه گوگل تاکید زیادی بر روی آن داشت همان <a href="http://www.4goosh.com/google/chrome-tracemonkey-squirrelfish-comparison" target="_blank">سرعت بالای اجرای فایل های جاوا اسکریپت</a> در این مرورگر بود که البته ادعای گوگل حقیقت نداشت و تفاوت زیادی بین سرعت این مرورگر و مرورگر فایرفاکس وجود ندارد. یکی از دوستان در سایت فرندفید <a href="http://www.bspcn.com/2008/09/04/how-to-enable-all-chromes-best-features-in-firefox/" target="_blank">مقاله ای</a> را share کرد که حاوی اطلاعاتی در مورد اضافه کردن قابلیت های کروم به فایرفاکس است.</p>
<p>قابلیت های دیگری نیز در مرورگر کروم وجود دارد که بسیار مفید هستند. خوشبختانه اکثر این قابلیت ها را می توان با استفاده از توسعه دهنده ها به فایرفاکس نیز اضافه کرد. برخی از این قابلیت های از مدت ها قبل برای فایرفاکس در قالب یک توسعه دهنده وجود داشته ولی کمتر کسی به آن ها توجه می کرده است. اجازه بدهید این قابلیت های خوب کروم را معرفی کنیم و توسعه دهنده (extension) آن برای فایرفاکس را نیز معرفی کنیم.</p>
<p><strong>1- قابلیت وب گردی بدون به جا گذاشتن رد پا (incognito) در کروم را با توسعه دهنده stealther به فایرفاکس اضافه کنید</strong></p>
<p>این قابلیت در مرورگر کروم وجود دارد و به کاربر اجازه می دهد که یک tab جدید باز کند و هر چیزی که داخل آن tab باز شده باشد به هیچ عنوان بر روی سیستم ذخیره نمی شود و با بستن آن tab تمامی اطلاعات مربوط به آن tab ناپدید می شود. تمامی صفحاتی که در این حالت ببینید، بعد از بستن آن tab از cache و history مرورگر پاک می شود. این قابلیت زمانی کاربرد دارد که بخواهید صفحاتی رو ببینید ولی مایل نیستید که اطلاعات آن صفحات در هیستوری مرورگر شما ذخیره شود.</p>
<p><img src="http://i36.tinypic.com/24zg3mu.png" alt="کروم - incognito" /></p>
<p>اکستنشنی به نام <a href="https://addons.mozilla.org/en-US/firefox/addon/1306">Stealther extension</a> برای <a href="http://www.4goosh.com/firefox/chrome-features-for-firefox" target="_self">فایرفاکس</a> وجود دارد که دقیقا همین قابلیت را به مرورگر شما اضافه می کند. تنها تفاوت این توسعه دهنده با قابلیت مرورگر کروم این است که مرورگر کروم این قابلیت را در یک پنجره جدید در اختیار شما قرار می دهد ولی این اکستنشن، این قابلیت را به طور کلی برای تمامی TAB های باز فایرفاکس فعال می کند. این اکستنشن بخش تنظیمات کاملی دارد که می توانید مشخص کنید که چه اطلاعاتی بر روی سیستم شما ذخیره نشود و یا حتی برای اجرای این قابلیت یه short cut تعریف کنید.</p>
<p><span id="more-111"></span></p>
<p><strong>2- توسعه دهنده download statusbar دانلود های شما را در status bar نمایش می دهد.</strong></p>
<p>محیط مرورگر chrome به شکلی طراحی شده است که از فضا نهایت استفاده برده شود و به جای اینکه دانلود های شما در صفحه ای مجزا نمایش داده شود، دانلود ها را به استیتوس بار می برد و در آنجا نمایش می دهد. ولی کافیست بدانید که اکستنشن <a href="https://addons.mozilla.org/en-US/firefox/addon/26" target="_blank">download statusbar</a> از <a href="http://downloadstatusbar.mozdev.org/celebrating5.html" target="_blank">5 سال قبل</a> این ویژگی را به فایرفاکس اضافه می کرده است. در ضمن این توسعه دهنده تنظیماتی بسیار بیشتر از مرورگر کروم دارد.</p>
<p><img src="http://i33.tinypic.com/ddndpl.png" alt="download statusbar" /></p>
<p><strong>3- tab های خالی خود را با speed dial پر کنید</strong></p>
<p>مرورگر کروم به طور پیش فرض هر تب را با آخرین تصویری کوچک از آخرین صفحاتی که بازدید کرده اید، پر می کند و در سمت راست نیز آخرین بوکمارک های شما را نمایش می دهد. در حال حاضر قابلیتی به این شکل در فایرفاکس وجود ندارد ولی توسعه دهنده هایی وجود دارد که تقریبا کاری مشابه را انجام می دهند. به عنوان مثلا توسعه دهنده <a href="https://addons.mozilla.org/en-US/firefox/addon/4810">Speed Dial</a> که از روی قابلیتی با همین نام در مرورگر اپرا ساخته شده است. هنگامی که این توسعه دهنده را نصب کنید، جدولی در هر تب جدید به شما نمایش داده می شود که می توانید سایت هایی که زیاد بازدید می کنید را برای هر خانه از این جدول مشخص کنید.<br />
<img src="http://i37.tinypic.com/1or38z.png" alt="" width="520" height="380" /><br />
همانطور که در تصویر مشخص است. من در مرورگر فایرفاکس که در تصویر در سمت چپ قرار دارد، لیستی از سایت هایی که به طور منظم به آنها مراجعه می کنم را در لیست تنظیم کرده ام. این اکستنشن تنظیمات بسیار زیاد و پیشرفته ای دارد.</p>
<p><strong>4- اضافه کردن Domain Highlighting به نوار آدرس فایرفاکس</strong></p>
<p><strong></strong>نوار omni bar مرورگر کروم قابلیتی دارد که دومین اصلی سایت را با رنگ مشکلی نمایش می دهد و باقی آدرس صفحه را با رنگ خاکستری روشن نشان می دهد. این قابلیت به شما کمک می کند که در دام <a href="http://en.wikipedia.org/wiki/Phishing">Phishing</a> سایت های مخرب گرفتار نشوید. شاید فکر کنید که این قابلیت فقط برای کروم وجود دارد ولی حقیقت این است که این قابلیت با نصب توسعه دهنده <a href="https://addons.mozilla.org/en-US/firefox/addon/4014">Locationbar2</a> امکان پذیر است و این اکستنشن نیز از یک سال قبل در اختیار کاربران قرار داشته است.<br />
<img src="http://i33.tinypic.com/f06x01.png" alt="domain highlighting" /></p>
<p>در حملات فیشینگ برای شما ایمیلی ارسال می شود که از شما می خواهد مثلا به سایت Gmail مراجعه کنید و پسورد میل خود را تغییر دهید. وقتی شما بر روی لینک کلیک می کنید به جای سایت اصلی جیمیل به سایتی وارد می شوید که کاملا شبیه به صفحه اول سایت جیمیل است ولی آدرس صفحه کمی متفاوت است. در نظر اول شما شاید متوجه تفاوت آدرس در نوار آدرس نشوید ولی وقتی این قابلیت در مرورگر شما فراهم باشد با یک نگاه می توانید تشخیص بدهید که دومینی که در نوار آدرس قرار دارد، دومین اصلی جیمیل است و یا دومینی شبیه به آن. به عنوان مثال به این تصویر دقت کنید. در بخش پایینی عکس دومینی که قصد فیشینگ داشته با استفاده از هایلایت کردن آدرس به راحتی قابل شناسایی است ولی همان دومین در بخش بالایی تصویری در حالتی که دومین هایلایت نشده است نمایش داده شده است.<img src="http://i33.tinypic.com/11tlvsg.png" alt="فیشینگ" /></p>
<p><strong>5- توسعه دهنده prism هر صفحه وبی را به نرم افزاری مستقل تبدیل می کند</strong></p>
<p>در کروم قابلیتی وجود دارد که از طریق آن می توانید یک صفحه وب را به اپلیکیشنی مستقل تبدیل کنید که در پنجره ای مستقل و بدون داشتن نوار آدرس و کاملا مجزا از مرورگر شما اجرا شود. این قابلیت چیز جدیدی نیست. از مدتی قبل موزیلا <a href="http://labs.mozilla.com/projects/prism/">Prism</a> را توسعه می دهد که عملکردی مشابه دارد و با نصب توسعه دهنده <a href="https://addons.mozilla.org/en-US/firefox/addon/6665">Prism for Firefox</a> می توانید از منوی tools هر صفحه ای را به اپلیکیشنی مستقل تبدیل کنید.<br />
<img src="http://i33.tinypic.com/2u5estv.png" alt="" /></p>
<p>البته کروم یک قابلیت دیگر به اسم omnibox دارد که به شکل هوشمندانه، بر اساس متنی که در نوار آدرس تایپ کنید، نتایجی از سایت هایی که قبلا بازدید کرده اید و همچنین از سرچ سایت گوگل برای شما نمایش می دهد. در حال حاضر قابلیتی به این شکل در فایرفاکس وجود ندارد و اکستنشنی نیز برای این کار هنوز نوشته نشده ولی بعید نیست که در آینده نزدیک این قابلیت نیز به فایرفاکس اضافه شود. البته فایرفاکس از قابلیت <a href="http://lifehacker.com/software/bookmarks/hack-attack-firefox-and-the-art-of-keyword-bookmarking-196779.php" target="_blank">Keyword Bookmarking</a> پشتیبانی می کند که کروم از آن بی بهره است. در حال حاضر فایرفاکس برای طراحان و امور مربوط به <a href="http://www.4goosh.com">طراحی وب</a> بهترین گزینه است.</p>
<p><strong>پی نوشت</strong><br />
دوستان هم مقالاتی در مورد اضافه کردن امکانات کورم نوشتن &#8221;<br />
<a title="لینک ثابت به وب گردی با ظاهر گوگل کروم به همراه امنیت و امکانات فایرفاکس" rel="bookmark" href="http://www.shahvar.net/?p=2245">وب گردی با ظاهر گوگل کروم به همراه امنیت و امکانات فایرفاکس</a></p>
<img src="http://feeds.feedburner.com/~r/4goosh/~4/ike-T0mEyeM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.4goosh.com/firefox/chrome-features-for-firefox/feed</wfw:commentRss>
		<feedburner:origLink>http://www.4goosh.com/firefox/chrome-features-for-firefox</feedburner:origLink></item>
		<item>
		<title>5 ترفند برای کاهش مصرف RAM مرورگر فایرفاکس</title>
		<link>http://feedproxy.google.com/~r/4goosh/~3/DLNRcnQRwww/reduce-ram-use-firefox</link>
		<comments>http://www.4goosh.com/firefox/reduce-ram-use-firefox#comments</comments>
		<pubDate>Fri, 05 Sep 2008 15:06:53 +0000</pubDate>
		<dc:creator>amir abbas</dc:creator>
		
		<category><![CDATA[فایرفاکس]]></category>

		<category><![CDATA[آموزش]]></category>

		<guid isPermaLink="false">http://www.4goosh.com/?p=105</guid>
		<description><![CDATA[مرورگر فایرفاکس در حال حاضر به عنوان محبوب ترین مرورگر کاربران حرفه ای وب محسوب می شود. از زمان ارائه نخستین نسخه این مرورگر، شاهد تغییرات مثبت زیادی در این مرورگر بوده ایم. شاید تنها ایرادی که بتوان به این مرورگر دوست داشتنی گرفت، مصرف بالای RAM آن باشد. فایرفاکس 3 رم زیادی اشغال می [...]]]></description>
			<content:encoded><![CDATA[<p>مرورگر فایرفاکس در حال حاضر به عنوان محبوب ترین مرورگر کاربران حرفه ای وب محسوب می شود. از زمان ارائه نخستین نسخه این <a href="http://www.4goosh.com/" target="_blank">مرورگر</a>، شاهد تغییرات مثبت زیادی در این مرورگر بوده ایم. شاید تنها ایرادی که بتوان به این مرورگر دوست داشتنی گرفت، مصرف بالای RAM آن باشد. فایرفاکس 3 رم زیادی اشغال می کند. خوشبختانه یکی از نکات مثبت فایرفاکس، انعطاف پذیری و داشتن تنظیمات فراوان است. ما می توانیم تنها با به کار گیری چند ترفند ساده، مصرف رم این مرورگر را به نصف کاهش دهیم. در ادامه هر یک از ترفند ها را یک به یک بررسی می کنیم.</p>
<p><strong>1- توسعه دهنده ها (extensions) و قالب های (themes) نصب شده را به روز کنید</strong></p>
<p>یکی از مواردی که باعث بالا رفتن مصرف RAM <a href="http://www.4goosh.com/firefox/reduce-ram-use-firefox" target="_blank">فایرفاکس</a> می شود، توسعه دهنده ها و قالبهای نصب شده بر روی مرورگر است. برخی از توسعه دهنده ها به خاطر مشکلاتی که دارند، رم زیادی را مصرف می کنند. برای اینکه متوجه بشید که کدام یکی از موارد بالا باعث افزایش مصرف رم می شود می توانید فایرفاکس را در حالت safe mode اجرا کنید و میزان مصرف رم را با رم مصرف شده در حالت طبیعی مقایسه کنید. پیدا کردن آن توسعه دهنده مشکل دار شاید کمی سخت و زمان گیر باشد ولی مطمئنا ارزش آن را دارد که این کار را انجام دهید. همیشه سعی کنید که افزونه ها ، قالب ها و توسعه دهنده های مرورگر خود را به روز نگه دارید.</p>
<p>موزیلا لیستی از توسعه دهنده های مشکل زا را در <a href="http://kb.mozillazine.org/Problematic_extensions" target="_blank">اینجا</a> جمع آوری کرده که در همان صفحه، ترفند هایی برای حل مشکل این توسعه دهنده ها نیز ارائه شده.</p>
<p><strong>2- افزونه ها (plugins) را به روز نگه دارید</strong></p>
<p>در بین افزونه ها موجود همیشه adobe reader, flash, shockwave  و java بیشترین مشکلات را ایجاد می کنند. همیشه نسخه افزونه های مربوطه را به روز نگه دارید.</p>
<p>باز شدن فایل های PDF داخل مرورگر همیشه مقدار زیادی RAM و توان CPU را مصرف می کند. می توانید با مراجعه به منوی tools &gt; options &gt; applications ، گزینه adobe acrobat document را بر روی save file تنظیم کنید. به این تصویر دقت کنید:</p>
<p><img src="http://i34.tinypic.com/4lgfft.jpg" alt="" /></p>
<p>از این طریق دیگر فایل های PDF داخل مرورگر باز نمی شوند و دانلود شده و بر روی هارد شما قرار می گیرند.</p>
<p><span id="more-105"></span></p>
<p><strong>3 - history مربوط به download های خود را پاک کنید.</strong></p>
<p>یکی از مواردی که باعث کند شدن و بالارفتن میزان مصرف رم می شود، لیست download های شماست. شما می توانید <a href="http://www.4goosh.com/firefox/reduce-ram-use-firefox" target="_blank">فایرفاکس</a> را طوری تنظیم کنید که بعد از دانلود موفقیت آمیز یک فایل، آن فایل را از داخل لیست حذف کند. به این شکل حجم فایل دانلود های شما بی جهت افزایش نمی یابد. برای این کار وارد tools &gt; options &gt; privacy &gt; history شده و تیک گزینه Remember what I&#8217;ve downloaded را حذف کنید. به این تصویر دقت کنید:</p>
<p><img src="http://i37.tinypic.com/10clzc0.jpg" alt="" /></p>
<p><strong>4- استفاده از config.trim برای خالی کردن RAM در زمان minimize شدن firefox</strong></p>
<p>در سیستم عامل ویندوز، زمانی که یک برنامه را minimize می کنید، سیستم عامل ویندوز فایل های مربوط به آن برنامه را از رم خارج کرده و بر روی هارد سیستم می نویسد تا رم مصرف شده برای برنامه های دیگر آزاد شود. نرم افزار های موزیلا به شکلی نوشته شده که سیستم عامل ویندوز با شدت بیشتری فایل های آن را از رم خارج می کند. به همین دلیل در این مرورگر طوری برنامه نویسی شده که به ویندوز اجازه نمی دهد که در زمان minimize شدن، رم مصرفیش آزاد شود. با استفاده از این تنظیم که توضیح داده می شود، می توانید شرایطی فراهم کنید که در زمان Minimize شدن رم مصرفی فایرفاکس آزاد شود.</p>
<p>برای این کار باید اول در نوار آدرس عبارت about:config را تایپ کنید. سپس صفحه ای باز خواهد شد:</p>
<p><img src="http://i36.tinypic.com/11u7o05.jpg" alt="" /></p>
<p>حال باید بر روی گزینه I&#8217;ll be careful, I promise کلیک کنید تا بتوانید وارد بخش تنظیمات فایرفاکس شوید. بر روی صفحه جدیدی که می بینید کلیک راست کنید، گزینه new و سپس Boolean را انتخاب کنید:</p>
<p><img src="http://i36.tinypic.com/2wdnebk.jpg" alt="" /></p>
<p>بعد از کلیک بر روی این گزینه، پنجره ای جدید باز می شود که باید مقدار config.trim_on_minimize را در آن بنویسید و سپس OK را بزنید.</p>
<p><img src="http://i33.tinypic.com/2h6ail0.jpg" alt="" /></p>
<p>حال صفحه ای جدید باز می شود که باید در آن مقدار مربوط به این کلید جدید را مشخص کنید. در اینجا نیز باید مقدار true را انتخاب کنید:</p>
<p><img src="http://i33.tinypic.com/2eaqil1.jpg" alt="" /></p>
<p>حال روی دکمه OK کلیک کنید. یکبار فایرفاکس خود را ری استارت کنید. اکنون در زمان هایی که فایرفاکس شما رم زیادی مصرف کرده است آن را minimize کنید. مصرف رم شما به شدت کم شده و به حدود 8 مگابایت می رسد ولی کم کم بالا می رود. بعد از چند ثانیه دوباره فایرفاکس خود را maximize کنید. این بار مقدار زیادی از رمی که فایرفاکس اشغال کرده بود آزاد می شود. از طریق این شیوه گاها می توانید بیش از 30 مگابایت رم را آزاد کنید.</p>
<p>هر زمان که RAM سیستم را ارتقا دادید و یا به هر دلیلی مایل به استفاده از این ترفند نبودید. تنها کافیست که همان کلید را پیدا کنید و مقدارش را معادل False قرار دهید.</p>
<p><strong>5- تعیین مقدار رم مصرفی فایرفاکس با browser.cache.memory.capacity</strong></p>
<p>مرورگر فایرفاکس به شکلی برنامه نویسی شده که به نسبت رم موجود بر روی سیستم شما، مقدار رم مصرفی برای کش کردن فایل ها را تنظیم می کند. البته بسیاری از کاربران اعتقاد دارند که در این حالت مقدار مصرف رم فایرفاکس بالاست. شما می توانید مقدار مصرف رم فایرفاکس را خودتان مشخص کنید که مرورگر از آن برای cache کردن تصاویر و فایل ها استفاده کند.</p>
<p>برای اینکار اول باید چک کنید تا مطمئن شیود که قابلیت کش کردن در مرورگر فعال است یا خیر. در نوار آدرس about:config را بزنید و در صفحه ای که باز می شود در بخش filter عبارت:<br />
<strong>browser.cache.memory.enable </strong>را وارد کنید. مقدار این کلید حتما باید true باشد. اگر نیست، آن را معادل true قرار دهید:</p>
<p><img src="http://i35.tinypic.com/2vd46yo.jpg" alt="" /></p>
<p>سپس بر روی صفحه کلیک راست کنید و از گزینه New گزینه Integer را انتخاب کنید:</p>
<p><img src="http://i33.tinypic.com/20shus3.jpg" alt="" /></p>
<p>بعد از این مرحله در پنجره ای که باز می شود عبارت browser.cache.memory.capacity را وارد کنید:</p>
<p><img src="http://i38.tinypic.com/bhk1ae.jpg" alt="" /></p>
<p>حال پنجره ای برای وارد کردن مقدار باز می شود. من بر روی سیستم 512 مگابایت رم دارم. اگر 512 مگابایت رم دارید مقدار 8192 را وارد کنید و اگر 256 مگابایت رم روی سیستم در اختیار دارید، مقدار 4096 را وارد کنید:</p>
<p><img src="http://i33.tinypic.com/2088xah.jpg" alt="" /></p>
<p>از این طریق می توانید مقدار مصرف رم را کاهش دهید. اطلاعاتی در مورد مقدار پیش فرض مصرف رم در فایرفاکس در <a href="http://kb.mozillazine.org/Browser.cache.memory.capacity" target="_blank">این صفحه</a> موجود است که در صورت نیاز می توانید به آن مراجعه کنید.</p>
<p>درصورتی که بخواهید این مقدار را به حالت استاندارد و پیش فرض در آورید باید در فیلد مقدار، عدد 1- (منفی یک) را وارد کنید تا دوباره فایرفاکس در مورد مقدار رم مصرفی تصمیم بگیرد.</p>
<p>این ترفند ها برای کسانی مناسب است که مقدار رم کم (256 یا 512) بر روی سیستم خود دارند و یا در صورت داشتن رم بیشتر (مثلا یک گیگابایت) ، برنامه های سنگینی (همانند photoshop ) را نیز در حین وب گردی باز نگه می دارند. در صورتی که رم کافی بر روی سیستم دارید ، احتیاجی به این ترفند ها نخواهید داشت</p>
<img src="http://feeds.feedburner.com/~r/4goosh/~4/DLNRcnQRwww" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.4goosh.com/firefox/reduce-ram-use-firefox/feed</wfw:commentRss>
		<feedburner:origLink>http://www.4goosh.com/firefox/reduce-ram-use-firefox</feedburner:origLink></item>
		<item>
		<title>مقایسه سرعت اجرای جاوا اسکریپت در chrome ، فایرفاکس و IE</title>
		<link>http://feedproxy.google.com/~r/4goosh/~3/HoU5CSCENEg/chrome-tracemonkey-squirrelfish-comparison</link>
		<comments>http://www.4goosh.com/google/chrome-tracemonkey-squirrelfish-comparison#comments</comments>
		<pubDate>Wed, 03 Sep 2008 19:38:11 +0000</pubDate>
		<dc:creator>amir abbas</dc:creator>
		
		<category><![CDATA[گوگل]]></category>

		<category><![CDATA[اینترنت اکسپلورر]]></category>

		<category><![CDATA[جاوااسکریپت]]></category>

		<category><![CDATA[سافاری]]></category>

		<category><![CDATA[فایرفاکس]]></category>

		<category><![CDATA[کروم]]></category>

		<guid isPermaLink="false">http://www.4goosh.com/?p=102</guid>
		<description><![CDATA[مرورگر chrome به تازگی توسط google معرفی شده است. این مرورگر از موتور javascript به نام V8 استفاده می کند. در این مقاله در مورد این موتور بحث می شود]]></description>
			<content:encoded><![CDATA[<p>مطالب زیادی بر روی وب در مورد سرعت بالای مرورگر chrome نوشته شده که بخش اعظم این مطلب به شکل صحیحی این مرورگر را با مرورگر های دیگر مقایسه نکرده. امروز در وبلاگ جان رسیگ <a href="http://ejohn.org/blog/javascript-performance-rundown/" target="_blank">مطلبی ارسال شد</a> که ترجمه آن را در اینجا می آورم.</p>
<p>اخیرا گوگل یک موتور جاوا اسکریپت جدید به نام V8 Engine را معرفی کرده است که بر روی مرورگر جدید این شرکت که chrome نام دارد، استفاده شده است.</p>
<p>تعداد زیادی موتور جاوااسکریپت در حال حاضر موجود است که بر روی مرورگر های مختلف از آنها استفاده شده است:</p>
<ol>
<li>JavaScriptCore: این موتور در حال حاضر بر روی safari/webkit نصب شده و تا نسخه 3.1 سافاری از این موتور استفاده می کند</li>
<li><a href="http://webkit.org/blog/189/announcing-squirrelfish/" target="_blank">Squirrelfish</a> : این موتور برای safari نسخه 4 آماده شده است و در حال حاضر نسخه نهایی آن آماده نیست ولی در نسخه nightly این مروگر می شود آن را تست کرد. <strong>توجه</strong> : متاسفانه تست Dromaeo بر روی نسخه nightly این مرورگر با شکست مواجه شد لذا این موتور از لیست نتایج حذف گردید.</li>
<li><a href="http://code.google.com/p/v8/" target="_blank">V8</a> : موتور استفاده شده در مرورگر chrome شرکت گوگل</li>
<li>SpiderMonkey : این موتور بر روی فایرفاکس 3 نصب شده و تا آخرین نسخه فایرفاکس از این موتور استفاده می کند</li>
<li><a href="http://ejohn.org/blog/tracemonkey/" target="_blank">TraceMonkey</a> : که برای نسخه 3.1 فایرفاکس آماده شده است و در حال حاضر در نسخه nightly فایرفاکس وجود دارد و در حالت عادی غیر فعال است. مطالبی در مورد این موتور جدید در پست &#8220;<a href="http://www.4goosh.com/firefox/firefox-spidermonkey" target="_blank">آیا فایرفاکس با SpiderMonkey وب را متحول خواهد کرد ؟</a>&#8221; نوشته ام.</li>
<li>Futhark : این موتور بر روی اپرا 9.5 و نسخه های جدیدتر نصب است</li>
<li>IE JScript : که بر روی نسخه های مختلف اینترنت اکسپلورر از آن استفاده می شود.</li>
</ol>
<p>تست های مختلفی بر روی این مرورگر های انجام گرفته و مرورگر کروم شرکت گوگل نیز در بین این مرورگر ها وجود دارد. به این ارقام و اعداد به خوبی دقت کنید تا بتوانید دیدی درست نسبت به عملکرد مرورگر ها به دست آورید.</p>
<p>ما مرورگر ها را با سه مجموعه تست ، آزمودیم که لیست این آزمون ها به قرار ذیل است:</p>
<ul>
<li><a href="http://www2.webkit.org/perf/sunspider-0.9/sunspider.html" target="_blank">SunSpider</a> : یک تست مشهور جاوا اسکریپت است که توسط تیم WebKit ایجاد شده است. این تست <strong>فقط </strong>موتور های جاوا اسکریپت را از لحاظ کارآیی تست می کند ( هیچ عملیاتی در بخش رندر کردن یا ایجاد تغییرات در درخت DOM انجام نمی شود). این مجموعه دارای تست های زیادی است (مانند آبجکت ها، فراخوانی توابع، معادلات ریاضی، حلقه ها و &#8230; ).</li>
<li><a href="http://code.google.com/apis/v8/run.html" target="_blank">V8 Benchmark</a> : یک تست که توسط تیم V8 ساخته شده و <strong>تنها</strong> کارایی موتور های جاوا اسکریپت را می سنجد آن هم با <strong>تاکید زیاد</strong> بر روی کارایی موتور ها در اجرای <strong>حلقه ها</strong> در برنامه.</li>
<li>Dromaeo : این مجموعه تست توسط موزیلا طراحی شده است و javascript, DOM و کارایی کتابخانه های جاوااسکریپت را بررسی می کند. این مجموعه شامل تست های فراوانی است و بخش اعظم این تست ها، کارایی  DOM و کتابخانه های جاوااسکریپت را بررسی می کنند.</li>
</ul>
<p><strong>SunSpider</strong></p>
<p>اجازه بدهید به آمار تست سان اسپایدر تیم وب کیت نگاهی بندازیم (که مجموعه ای از تست ها را برای آزمودن موتور ها در اجرای جاوا اسکریپت خالص و ناب را شامل می شود). نتایج بدین گونه بود:</p>
<p><img src="http://lh3.ggpht.com/amirabbas.abdolali/SL7U3efnkjI/AAAAAAAAAG4/otGD2KRjC0g/js-sunspider-all.sm.jpg" alt="" /></p>
<p>تقریبا نتایجی نزدیک به هم را مشاهده می کنیم که chrome با اختلافی اندک در این تست پیروز است (به نتیجه افتضاح اینترنت اکسپلورر توجه نکنید). کروم در این تست به یقین سریعترین بوده است. البته دقت کنید که در این تست موتور tracemonkey جدید استفاده نشده است و در حالت عادی تست انجام گرفته است.</p>
<p><span id="more-102"></span></p>
<p>Brendan Eich مقایسه ای را شب گذشته بین Tracemonkey و V8 انجام داده که نتیجه اش اینگونه بوده است:</p>
<p><img src="http://lh3.ggpht.com/amirabbas.abdolali/SL7e17ZlvdI/AAAAAAAAAHY/1gi0HkiizaY/js-sunspider-v8tm.sm.jpg" alt="" /></p>
<p>در اینجا کاملا مشهود است که موتور TraceMonkey که تنها 2 ماه بر روی آن کار شده است نتایجی به مراتب بهتر از موتور V8 که بیشتر از دو سال صرف برنامه نویسی آن شده است، عمل کرده است.</p>
<p>چیزی که موتور TraceMonkey را عقب تر از رقیبان قرار می دهد این است که در این لحظه هنوز متد های Tracing بر روی حلقه ها کار نمی کنند [ در این مورد در مقاله قبل توضیح داده بودم ] و همین مورد باعث می شود که در برخی از تست ها موتور V8  تا 10 بار سریعتر از TraceMonkey باشد. هر گاه نسخه 3.1 مرورگر فایرفاکس آماده شد من حتما این تست ها رو از نو انجام خواهم داد.</p>
<p><strong>تست V8 شرکت گوگل</strong></p>
<p>تیم کروم مجموعه تست خودشان را منتشر کرده اند که شامل تست های کمی است (البته این تست ها با SunSpider تفاوت دارند ) و به شدت موتور ها را برای تست قابلیت در حلقه ها تست می کنند. نتایج این تست بدین شکل بود:</p>
<p><img src="http://lh6.ggpht.com/amirabbas.abdolali/SL7g_FhD_YI/AAAAAAAAAH0/Px-00txb1ys/js-chrome.sm.jpg" alt="" /></p>
<p>ما می بینیم که chrome در این تست رقیبان خود را له می کند. البته این تست خودش جای بحث دارد. این تست تنها بر روی بخشی از جاوا اسکریپت تاکید دارد شاید تنها دقایق اندکی مرورگر درگیر این حالت شود و شامل کارایی واقعی مرورگر نمی شود.</p>
<p>در ضمن دقت کنید که در این تست TraceMonkey عملکرد ضعیفی دارد ولی به یاد داشته باشید که قبلا توضیح دادم که tracing در حال حاضر بر روی حلقه ها کار نمی کند.</p>
<p><strong>تست Dromaeo به همراه DOM</strong></p>
<p>در پایان، اجازه بدهید نگاهی کلی به عملکرد موتور ها در اجرای فایل های جاوااسکریپت بیندازیم. من در حال حاضر بر روی <a href="http://v2.dromaeo.com/" target="_blank">مجموعه تست های Dromaeo</a> کار می کنم و در حال اضافه کردن تعداد زیادی از تست های DOM و تست های مربوط به کتابخانه های جاوا اسکریپت هستم. این تست ها تصویر بهتری در مورد عملکرد یک مرورگر در حالت عادی (مثلا وب گردی ساده) می دهد.</p>
<p>دقت کنید که دلیل کند بودن بیشتر صفحات وب به خاطر DOM (مانند مرتب کردن خانه های یک جدول یا کلا دستکاری اجزای داخل صفحه ) است نه خود جاوااسکریپت (مانند بازی های جاوااسکریپت یا گرافیک ایجاد شده با آن) مهم است که به این جزئیات دقت داشته باشیم</p>
<p>نتیجه برای تست DOM ، جاوا اسکریپت و تست کتابخانه ها به این شکل بود:</p>
<p><img src="http://lh4.ggpht.com/amirabbas.abdolali/SL7lh5kKbnI/AAAAAAAAAIQ/qCvMF6P-7w4/js-dromaeo.sm.jpg" alt="" /></p>
<p>متاسفانه IE در نتایج تست نیست چون به دفعات در هنگام اجرای این تست crash کرد. در ضمن WebKit نسخه nightly نیز به خاطر وجود یک باگ در آن crash کرده و تست کردن آن امکان پذیر نبود.</p>
<p>اکنون ما نتایج دیگری می بینیم. مرورگر های بر پایه WebKit بهترین عملکرد را دارند در حالی که chrome از نظر سرعت بعد از نسخه قدیمی webkit قرار گرفته است. در اینجا TraceMonkey کمی عملکرد بهتری داشته است ولی باز به علت اینکه متد های tracing بر روی DOM نیز عمل نمی کنند [ این مورد هم در مقاله قبلی توضیح داده شده بود ] نتوانسته نهایت قدرت خود را نشان دهد. قابلیت tracing برای DOM احتمالا برای نسخه 3.2 فایرفاکس یا نسخه های بعدی آماده خواهد شد.</p>
<p>چیزی که کاملا روشن است این است که افزایش سرعت موتور های جاوا اسکریپت ادامه خواهد یافت.</p>
<img src="http://feeds.feedburner.com/~r/4goosh/~4/HoU5CSCENEg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.4goosh.com/google/chrome-tracemonkey-squirrelfish-comparison/feed</wfw:commentRss>
		<feedburner:origLink>http://www.4goosh.com/google/chrome-tracemonkey-squirrelfish-comparison</feedburner:origLink></item>
		<item>
		<title>آیا فایرفاکس با SpiderMonkey وب را متحول خواهد کرد ؟</title>
		<link>http://feedproxy.google.com/~r/4goosh/~3/iD4Ly2zEIQ4/firefox-spidermonkey</link>
		<comments>http://www.4goosh.com/firefox/firefox-spidermonkey#comments</comments>
		<pubDate>Tue, 02 Sep 2008 08:17:55 +0000</pubDate>
		<dc:creator>amir abbas</dc:creator>
		
		<category><![CDATA[فایرفاکس]]></category>

		<category><![CDATA[جاوااسکریپت]]></category>

		<guid isPermaLink="false">http://www.4goosh.com/?p=93</guid>
		<description><![CDATA[بنیاد Mozilla در حال کار کردن بر روی موتور رندر جدید javascript به نام SpiderMonkey است. در این مقاله در مورد این موتور جدید بحث می شود]]></description>
			<content:encoded><![CDATA[<p>یکی از مواردی که اپل بسیار به آن افتخار می کرد، سرعت بالای مرورگر سافاری در اجرا کردن اپلیکیشن هایی بود که از جاوا اسکریپت استفاده می کردند. به احتمال زیاد در سایت apple در بخش دانلود این تصویر را دیده اید.</p>
<p><img src="http://i37.tinypic.com/2qvbjtf.png" alt="" /></p>
<p>همانطور که می دانید، تمامی اپلیکیشن های وب 2.0 به طور گسترده از جاوااسکریپت استفاده می کنند. هر چقدر سرعت اجرا شدن جاوا اسکریپت بالاتر باشد، کاربر با سهولت و سرعت بیشتری می تواند از سایت استفاده کند. در حال حاضر سریعترین موتور جاوااسکریپت متعلق به safari نسخه 3.1 است. به تازگی تیم توسعه مرورگر سافاری کار بر روی موتور رندر جدیدی به نام <a href="http://webkit.org/blog/189/announcing-squirrelfish/" target="_blank">SquirrelFish</a> کار می کند که سرعتی به مراتب بالاتر از موتور جاوااسکریپت حال حاضر safari دارد. مقایسه سرعت این موتور جدید را با موتور رندر موجود در نسخه 3.1 را می توانید در <a href="http://paste.lisp.org/display/61622" target="_blank">این آدرس</a> ببینید.</p>
<p>تیم mozilla firefox هم بی کار ننشسته. اخیرا تیم موزیلا فایرفاکس بر روی موتور رندر جاوااسکریپت جدید به نام SpiderMonkey کار می کنند که از نظر سرعت به مراتب سریعتر از موتور javascript حال حاضر است. این موتور جدید حتی از squirrelFish نیز سریعتر بوده و قرار است همراه با نسخه فایرفاکس 3.1 عرضه گردد.</p>
<p>در وبلاگ جان رسیگ ، یکی از حرفه ای های جاوا اسکریپت بنیاد موزیلا و خالق jQuery ، مطلبی در مورد <a href="http://ejohn.org/blog/tracemonkey/" target="_blank">SpiderMonkey</a> نوشته شده که بخش هایی از آن نوشته را در اینجا می آورم.</p>
<p><span id="more-93"></span></p>
<p>در حال حاضر فعالان بخش جاوااسکریپت موزیلا، افرادی همچون <a href="http://andreasgal.com/">Andreas Gal</a>, <a href="http://weblogs.mozillazine.org/roadmap/">Brendan Eich</a>, <a href="http://www.bailopan.net/blog/">Dave Anderson</a>, <a href="http://shaver.off.net/diary/">Mike Shaver</a>, بر روی این پروژه کار می کنند و هدف این تیم اضافه کردن تکنیکی به نام <a href="http://www.ics.uci.edu/%7Efranz/Site/pubs-pdf/ICS-TR-06-16.pdf">trace trees</a> را به موتور جاوااسکریپت فایرفاکس اضافه کنند که در صورت انجام این کار، سرعت رندر شدن فایل های جاوا اسکریپت همانند کدهای کامپایل شده، به صورت تقریبا آنی انجام خواهد گرفت.</p>
<p>موتور SpiderMonkey  در حال حاضر با اسم رمز Tracemonkey نامیده می شود. یک نمونه از تست هایی که از این موتور جدید گرفته شده است را می توانید در این تصویر ببینید. برای دیدن تصویر در سایز بزرگتر بر روی تصویر کلیک کنید.</p>
<p><a href="http://i35.tinypic.com/qpsabc.png"><img src="http://i38.tinypic.com/4ret60.png" alt="" /></a></p>
<p>برای دیدن بقیه تصاویر می توانید به <a href="http://weblogs.mozillazine.org/roadmap/archives/2008/08/tracemonkey_javascript_lightsp.html" target="_blank">این پست وبلاگ brendan eich</a> (خالق جاوااسکریپت) مراجعه کنید.</p>
<p>تست ها نشان می دهد که این موتور رندر javascript جدید بسیار سریعتر از نسخه حال حاضر است. نتیجه تعدادی از تست ها به این شکل بوده است</p>
<ul>
<li>در تست <a href="http://webkit.org/blog/152/announcing-sunspider-09/" target="_blank">SunSpider</a> این موتور 1.83 بار سریعتر است</li>
<li>در تست <a href="http://svn.webkit.org/repository/webkit/trunk/SunSpider/tests/ubench/">SunSpider ubench</a> که توسط تیم سافاری برای تست squirrel طراحی شده که در این تست نیز این موتور 22.5 بار سریعتر از موتور فعلی است</li>
<li>در تست <a href="http://blog.mozilla.com/schrep/2008/08/22/what-can-you-do-when-your-browser-is-7-times-faster/">Image Manipulation Demo</a> که در آن کنتراست و روشنایی تصویر با جاوا اسکریپت تغییر می کند 6.46 بار سریعتر است.</li>
<li>در تست <a href="http://sylvester.jcoglan.com/">Matrix Manipulation</a> نیز این موتور 6.26 بار سریعتر است.</li>
</ul>
<p>اگر شما می خواهید شخصا این موتور رندر جدید را امتحان کنید باید نسخه <a href="http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/">نسخه nightly مرورگر Firefox 3.1</a> را نصب کنید. در نوار آدرس about:config و سپس این خط را پیدا کنید:<br />
<strong>javascript.options.jit.content </strong><br />
و مقدار آن را معادل true قرار دهید و مرورگر خود را restart کنید. حال می توانید قابلیت این موتور رندر جدید را شخصا امتحان کنید. نکته جالب توجه اینجاست که این موتور رندر جدید محدود به دسکتاپ نمی شود و ابزار هایی مثل گوشی های موبایل نیز می توانند از آن استفاده کنند.</p>
<p>کدهای این پروژه از منابع مختلفی جمع آوری شده است. بخش اعظم کد این پروژه توسط شرکت adobe در اختیار mozilla قرار گرفته است.پروژه tarmin توسط adobe ایجاد شده و بر روی آن کار می شود.</p>
<p>تیم موزیلا از حدود 3 ماه قبل کار بر روی این پروژه را آغاز کرده و سعی دارد تکنولوژی nanojit که از tarmin شرکت abode به دست آمده را به SpiderMonkey اضافه کند. کد کامل این پروژه را میتوانید در <a href="http://hg.mozilla.org/tracemonkey/">اینجا</a> بیابید. در حال حاضر این تکنولوژی بر روی متد های DOM کار نمی کند ولی به زودی این مشکل برطرف می شود و نه تنها محاسبات ریاضی سرعت می گیرد بلکه ویرایش اجزای صفحه با جاوا اسکریپت (DOM manipulation) نیز بسیار سریعتر خواهد شد.</p>
<p>تحقق این امر بدان معنی است که دیگر جاوااسکریپت آن زبان محدود گذشته نیست و با این تحول جدید این زبان قدرتی معادل زبان برنامه نویسی C پیدا خواهد کرد. در آینده با استفاده از این قابلیت جدید برنامه هایی نوشته خواهند شد که سنگین ترین معادلات را بر روی تصاویر و اجزای داخل DOM انجام خواهند داد.  به نظر می رسد با انتشار firefox 3.1 تحول بزرگی در وب به وجود خواهد آمد.</p>
<img src="http://feeds.feedburner.com/~r/4goosh/~4/iD4Ly2zEIQ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.4goosh.com/firefox/firefox-spidermonkey/feed</wfw:commentRss>
		<feedburner:origLink>http://www.4goosh.com/firefox/firefox-spidermonkey</feedburner:origLink></item>
		<item>
		<title>معرفی امکانات نسخه جدید فرندفید به همراه ارائه استایل فارسی</title>
		<link>http://feedproxy.google.com/~r/4goosh/~3/Dh74MXiJRFw/friendfeed-new-beta-and-rtl-style</link>
		<comments>http://www.4goosh.com/web20/friendfeed-new-beta-and-rtl-style#comments</comments>
		<pubDate>Wed, 27 Aug 2008 17:55:36 +0000</pubDate>
		<dc:creator>amir abbas</dc:creator>
		
		<category><![CDATA[وب 2.0]]></category>

		<category><![CDATA[friendfeed]]></category>

		<guid isPermaLink="false">http://www.4goosh.com/?p=87</guid>
		<description><![CDATA[سایت فرندفید اخیرا نسخه جدیدی را ارائه کرده که در حال حاضر در حالت بتا قرار دارد. در این مقاله قابلیت های جدید سایت friendfeed بررسی می شود.]]></description>
			<content:encoded><![CDATA[<p>چندی پیش با خبر شدیم که نسخه بتای فرندفید در حال آماده شدن است. روز 25 آگوست، نسخه بتای فرندفید در آدرس <a href="http://beta.friendfeed.com" target="_blank">http://beta.friendfeed.com</a> برای همه کاربران فعال شد. فرندفید از زمان شروع فعالیت خود تا به حال چندین بار ، قابلیت های جدیدی را به کاربران خود عرضه کرده است. این سایت تقریبا هر یک تا دو ماه یکبار ، قابلیت های جدیدی را بر اساس درخواست های کاربران به سیستم خود اضافه می کند و همین مورد باعث موفقیت زیاد این سایت و رشد سریع آن شده است. در حال حاضر که در آخرین روزهای آگوست سال 2008 هستیم، فرند فید نسخه بتای خود را عرضه کرده است که تغییراتی زیادی در آن دیده می شود. حال این تغییرات را یک به یک بررسی می کنیم.</p>
<p><strong>1 - طراحی جدید friendfeed</strong></p>
<p><img class="alignnone" title="فرندفید بتا" src="http://i36.tinypic.com/2yoq0qg.jpg" alt="" width="491" height="323" /></p>
<p>اولین چیزی که در نسخه جدید جلب توجه می کند، طراحی جدید سایت فرندفید است. این نسخه نسبت به نسخه قبل ظاهر ساده تری پیدا کرده است و به جای استفاده از رنگ آبی روشن از رنگ خاکستری روشن برای ستون کناری و دکمه ها استفاده شده است. موردی که کاملا مشهود است، این است که تیم فرندفید سعی می کند که محیط این سایت را تا حد ممکن ساده نگه دارد. در حال حاضر فضایی که برای بخش لوگو در نسخه قبل در نظر گرفته شده بود ، کاهش پیدا کرده و tab های بالای صفحه حذف شده و به ستون کناری انتقال داده شده اند. به نظرم طراحی نسخه جدید شکیل تر و مرتبط تر از نسخه قبل است. البته عادت کردن به نسخه جدید کمی زمان می برد.</p>
<p><strong>2 - اضافه کردن تصاویر از روی هارد درایو سیستم</strong></p>
<p><img class="alignnone" title="اضافه کردن تصویر" src="http://i33.tinypic.com/20ayrec.jpg" alt="" width="532" height="303" /></p>
<p>در نسخه قبل فقط از سایت هایی که توسط فرندفید پشتیبانی می شد ، می توانستید ، تصویر را به اشتراک بگذارید در غیر این صورت مجبور بودید از bookmarklet فرندفید استفاده کنید که آن هم محدودیت های خاص خودش را داشت. در نسخه جدید شما می توانید تصویر را مستقیما از درایو کامپیوتر خودتان به فرندفید آپلود کنید. در ضمن در هنگام آپلود عکس می توانید چند تصویر را با هم انتخاب کرده و به طور همزمان آپلود کنید. به نظرم این قابلیت ، یکی از بهترین امکاناتی است که در این نسخه اضافه شده است.</p>
<p><span id="more-87"></span></p>
<p><strong>3 - لیست دوستان</strong></p>
<p><img class="alignnone" title="لیست دوستان" src="http://i34.tinypic.com/wbb4zs.jpg" alt="" width="186" height="155" /></p>
<p>یکی از تغییرات خوب این نسخه بخش لیست دوستان است. در این نسخه شما می توانید دسته بندی های مختلف ایجاد کنید و دوستان خود را در این دسته ها قرار دهید. به عنوان مثال من می توانم یک دسته به نام طراحی وب ایجاد کنم و آقای X و خانم Y را که در طراحی وب مهارت دارند را در این بخش قرار دهم. هر گاه بخواهم فعالیت های این دو دوست را ببینم ، فقط کافیست که بر روی نام دسته طراحی وب کلیک کنم. سپس وارد صفحه ای می شوم که تمام فعالیت این دو دست در آن به نمایش در آمده. اگر بخواهم فقط فعالیت کاربر خاصی در یک دسته خاص را مشاهده کنم می توانم بر روی مثلث آبی کنار نام دسته طراحی وب کلیک کنم تا لیست نام دوستان باز شود و از داخل لیست روی نام دوست مورد نظر کلیک کنم تا پست ها و کامنت های آن فرد را ببینم. در ضمن ، زمانی که در صفحه مربوط به دسته بندی دوستانتان هستید می توانید از گزینه های best of day  و best of week استفاده کنید تا متوجه شوید که چه پست های پرطرفداری بوده که دوستانتان در آن فعالیت داشته اند.</p>
<p><strong>4 - مدیریت بهتر بخش friend setting </strong></p>
<p><img class="alignnone" title="لیست دوستان" src="http://i35.tinypic.com/2s009yp.jpg" alt="" width="487" height="258" /></p>
<p>در این نسخه شما می توانید در بخش friend setting لیست کامل دوستانی را که subscribe کرده اید ببیند. در همین بخش می توانید دوستان رو انتخاب کرده و به دسته بندی هایی که ایجاد کرده اید، اضافه کنید. در این نسخه اگر ماوس را بر روی نام کاربران نگه دارید، پنجره ای باز میشود که معرفی کاربر در آن قرار دارد و فید هایی که کاربر به اشتراک گذاشته است، تعداد لایک ها و کامنت ها را نمایش می دهد، همچنین از این بخش می توانید بفهمید که کاربر شما را subscribe کرده است یا نه. این پنجره در نسخه جدید در تمامی بخش های فرندفید وجود داشت ولی در جایی که واقعا به آن نیاز بود (در صفحه subscribe کردن دوستان جدید) فعال نمی شد که در نسخه جدید این مشکل برطرف شده است. اگر شما نیز از آن دسته افرادی هستید که فقط کسانی را subscribe می کنند که آن افراد subscribe شان کرده باشند، به راحتی می توانید لیست کامل افرادی را که subscribe کرده اید را باز کنید و با بردن ماوس بر روی نام کاربری هر فرد متوجه شوید که فرد مذکور شما را subscribe کرده است یا نه.</p>
<p><strong>5 - پیمایش سریع</strong></p>
<p><img class="alignnone" title="دسترسی سریع" src="http://i35.tinypic.com/50mgk9.jpg" alt="" width="230" height="207" /></p>
<p>در این نسخه تمامی لینک های پر استفاده مثل لینک دسته بندی دوستان و لینک به اتاق ها و فید هایتان در ستون کاری قرار داد و برای ورود به این بخش ها تنها یک کلیک کافی است. در نسخه قبل برای ورود به اتاق خاص مجبور بودید اول وارد tab اتاق ها شوید و اتاق مورد نظر را انتخاب کنید ولی در نسخه جدید تنها با کلیک بر روی اسم اتاق در لیست کناری می توانید به اتاق مورد نظر بروید. در حالت عادی سه اتاق در ستون کناری نمایش داده می شود و باقی اتاق ها در داخل یک لیست قرار دارند که با کلیک بر روی گزینه see all می توانید همه آنها را ببینید. در بخش pref هم می توانید آن سه اتاقی را که در ستون کناری نمایش داده می شوند را مشخص کنید.</p>
<p><strong>6 - قابلیت دیدن صفحه feed اصلی هر کاربر</strong></p>
<p><img class="alignnone" title="فید اصلی فرندفید" src="http://i38.tinypic.com/97sew8.jpg" alt="" width="437" height="162" /></p>
<p>قابلیت جدید دیگری که در این نسخه اضافه شده است ، قابلیت دیدن صفحه feed اصلی هر کاربر است. قطعا افراد زیادی هستند که من آن ها را subscribe کرده ام ولی بقیه دوستانم این افراد را نمی شناسند. ولی با اضافه شدن دیدن صفحه feed اصلی ، حال هر کس می تواند با مراجعه به صفحه <a href="http://beta.friendfeed.com/amirabbas/friends" target="_blank">http://beta.friendfeed.com/amirabbas/friends</a> دقیقا همان صفحه ای را ببینند که من بر روی سیستم خودم می بینم. دقیقا همان مطالبی که دوستان من share کرده اند در صفحه ای که لینک شده است نمایش داده می شود. به عنوان مثال اگر من در طراحی اطلاعاتی داشته باشم و کسانی که subscribe کرده ام نیز طراحان خوبی باشند، شما با مراجعه به آن صفحه می توانید آن دوستان را نیز بیابید . از این طریق می توانید افراد با گرایش های خاص را پیدا کنید و آن ها را subscribe کنید.</p>
<p><strong>پی نوشت :</strong></p>
<p>دوستم بابک هم مطلبی که در مورد <a href="http://bweb.ir/archives/computer-internet/add-friendfeed-to-your-blog-with-customizable-friendfeed-widgets.php" target="_blank">ویجت فرندفید</a> نوشته که خوندن اون هم توصیه میشه چون این قابلیت هم یکی از قابلیت های جدید هست که به این نسخه اضافه شده</p>
<h2>استایل ( style ) فارسی برای فرندفید ( friendfeed )</h2>
<p>در فید ها خواندم که دوستان در مورد <a href="http://1fathi.com/1387/06/06/friendfeed-love/" target="_blank">علاقه شدیدشان به فرندفید</a> نوشته اند. فرندفید محیطی را فراهم کرده که در کمترین زمان هر کاربری را مجذوب خود می کند. من هم برای اینکه بتوانم کمکی کرده باشم و استفاده از محیط این سایت را برای دوستان ساده تر کنم، استایل فارسی فرندفید را آماده کردم. تمامی تصاویری که در این پست قرار داده شده است، از محیط فارسی ایجاد شده با این style تهیه شده است.</p>
<p>برای استفاده از این استایل باید افزونه <a href="https://addons.mozilla.org/firefox/addon/2108" target="_blank">stylish</a> را بر روی فایرفاکس خود نصب کرده باشید. با مراجعه به این صفحه می توانید این افزونه را نصب کنید. بعد از نصب این افزونه و restart فایر فاکس می توانید با مراجعه به صفحه <a href="http://userstyles.org/styles/10025" target="_blank">استایل فارسی فرندفید</a> را نصب کنید. یکی از قابلیت های خوب استایل های نوشته شده برای افزونه stylish این است که ، این استایل ها همان لحظه به صفحه اعمال می شوند و نیازی به لود کامل صفحه نیست. این قابلیت، استایل های آماده شده برای این افزونه را در جایگاهی بالاتر از استایل های آماده شده برای افزونه greasemonkey قرار می دهد.</p>
<p>اگر اشکالی در این استایل مشاهده کردید، حتما اطلاع بدهید که در نسخه های بعدی این اشکالات را برطرف کنم. اشکالات را می توانید در بخش کامنت مطرح کنید یا از طریق ایمیل amirabbas[dot]abdolali[at]gmail[dot]com برایم ارسال کنید.</p>
<img src="http://feeds.feedburner.com/~r/4goosh/~4/Dh74MXiJRFw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.4goosh.com/web20/friendfeed-new-beta-and-rtl-style/feed</wfw:commentRss>
		<feedburner:origLink>http://www.4goosh.com/web20/friendfeed-new-beta-and-rtl-style</feedburner:origLink></item>
		<item>
		<title>7 ترفند برای حفاظت وردپرس در مقابل هکر ها</title>
		<link>http://feedproxy.google.com/~r/4goosh/~3/gIfUD6fuSD0/7-method-wordpress-security</link>
		<comments>http://www.4goosh.com/wordpress/7-method-wordpress-security#comments</comments>
		<pubDate>Fri, 22 Aug 2008 18:46:10 +0000</pubDate>
		<dc:creator>amir abbas</dc:creator>
		
		<category><![CDATA[وردپرس]]></category>

		<category><![CDATA[امنیت]]></category>

		<guid isPermaLink="false">http://www.4goosh.com/?p=76</guid>
		<description><![CDATA[سیستم وردپرس از جمله سیستم هایی است که در حالت عادی از ثبات خوبی برخوردار است و نکات امنیتی همیشه در آن لحاظ می شود ولی به علت پر استفاده بودن این سیستم ، همیشه مورد توجه هکر هاست. مواردی در این مقاله ذکر می شود که با انجام آنها می توانید از وردپرس خود [...]]]></description>
			<content:encoded><![CDATA[<p>سیستم وردپرس از جمله سیستم هایی است که در حالت عادی از ثبات خوبی برخوردار است و نکات امنیتی همیشه در آن لحاظ می شود ولی به علت پر استفاده بودن این سیستم ، همیشه مورد توجه هکر هاست. مواردی در این مقاله ذکر می شود که با انجام آنها می توانید از وردپرس خود به شکل بهتری در مقابل هکر ها حفاظت کنید.</p>
<p>در ادامه هر مورد را یک به یک بررسی می کنیم:</p>
<p><strong>1- نسخه وردپرسی را که از آن استفاده می کنید، مخفی کنید :</strong></p>
<p>یکی از اشتباهات کاربران این است که نسخه وردپرس خود را در معرض دید قرار می دهند. در این حالت اگر شما نسخه وردپرس خود را به روز نکرده باشید در معرض خطر هستید چون هر کسی می تواند نسخه وردپرس شما را ببیند. به طرق مختلف می توان نسخه وردپرس را مخفی کرد. در حالت عادی نسخه ورد پرس در داخل کد HTML صفحه index قابل مشاهده است.</p>
<p><img class="alignnone" title="نسخه وردپرس" src="http://i35.tinypic.com/20h0fp2.jpg" alt="" width="419" height="206" /></p>
<p>برای حذف این شماره باید حداکثر دو فایل را ویرایش کنید. مورد اول در داخل فایل header.php است که باید به دنبال این خط از کد بگردید:</p>
<p><code>&lt;meta name="generator" content="WordPress &lt;?php bloginfo('version'); ?&gt;" /&gt;</code></p>
<p>که باید این خط را به این شکل تغییر دهید :</p>
<p><code>&lt;meta name="generator" content="WordPress" /&gt;</code></p>
<p>ولی در بعضی از قالب ها این شماره نسخه در دو جا نمایش داده می شود. برای حذف شماره نسخه در مکان دوم باید این کد را به فایل function.php موجود در <strong>داخل پوشه theme</strong> اضافه کنید:</p>
<p><code>&lt;?php remove_action('wp_head', 'wp_generator'); ?&gt;</code></p>
<p>از این طریق می توانید مطمئن باشید که شماره نسخه wordpress شما برای عموم قابل مشاهده نیست. احیانا اگر شماره نسخه وردپرس در قالب شما هم به نمایش در می آید ، می توانید با ویرایش آن بخش، شماره نسخه را حذف کنید.</p>
<p>مورد دیگری نیز پاک کردن فایل readme.html از روت است. متاسفانه اغلب کاربران آن فایل را در همان بخش باقی می گذارند در حالی که اصلا هیچ احتیاجی به قرار دادن این فایل بر روی سرور نیست. شما می توانید آدرس این فایل رو در نوار آدرس تایپ کنید، اگر این فایل بر روی سرور موجود باشد، برای شما نمایش داده خواهد شد و شما شماره نسخه کاربر را خواهید دید . به عنوان مثال:</p>
<p>http://www.example.com/readme.html</p>
<p>به جای example نام سایت مورد نظر را قرار دهید. خواهید دید که بسیاری از کاربران ورد پرس این فایل را از روی سرور خود حذف نکرده اند !!</p>
<p><span id="more-76"></span></p>
<p><strong>2- دایرکتوری هایی که صفحه index ندارند ، می توانند مشکل ساز شوند !</strong></p>
<p>در حالت عادی برخی از پوشه های وردپرس حاوی فایل Index نیست و هر کس می تواند داخل آن پوشه ها را ببیند. یکی از این پوشه ها، پوشه plugin است. به این تصویر دقت کنید.</p>
<p><img class="alignnone" title="دایرکتوری پلاگین" src="http://i35.tinypic.com/xbdzdh.gif" alt="" width="453" height="436" /></p>
<p>این تصویر دایرکتوری plugin یکی از دوستانیست که از ورد پرس استفاد می کند. به علت اینکه این صفحه حاوی فایل Index.html نیست ، هر کس میتواند محتوای آن را ببیند و از این طریق می تواند پلاگین هایی را که شما استفاده می کنید را دیده و نسخه آن را نیز ببیند. این یک ضعف امنیتی بزرگ است.</p>
<p>برای رفع این مشکل دو راه وجود دارد. راه حل ساده این است که یک فایل Index.html بسازید و داخل دایرکتوری پلاگین قرار دهید و شیوه دوم و اصولی تر این است که دستوری را به فایل htaccess. موجود در root اضافه کنید تا هر کس سعی کرد ، دایرکتوری هایی را که صفحه index ندارند را ببیند، به صفحه پیغام خطای 404 هدایت شود. برای این کار باید این خط را به آخر فایل htaccess. خود اضافه کنید</p>
<p><code># Prevents directory listing<br />
Options -Indexes</code></p>
<p>بعد از اضافه شدن این دستور دیگر کسی نمی تواند محتوای دایرکتوری هایی که ایندکس ندارند را ببیند. به عنوان مثال می توانید دایرکتوری پلاگین همین وبلاگ در آدرس <a href="http://www.4goosh.com/wp-content/plugins" target="_blank">http://www.4goosh.com/wp-content/plugins</a> را چک کنید.</p>
<p><strong>3- نسخه وردپرس را همیشه به روز نگه دارید</strong></p>
<p>سعی کنید همیشه نسخه وردپرس ، پلاگین ها و قالب های خود را به روز نگه دارید. اگر از نسخه 2.6 استفاده می کنید، به روز کردن پلاگین ها برای شما به سادگی امکان پذیر خواهد بود و به روز رسانی خودکار وردپرس نیز از نسخه بعدی به وردپرس اضافه خواهد شد ولی در حال حاضر نیز می توانید با نصب <a href="http://wordpress.org/extend/plugins/wordpress-automatic-upgrade/" target="_blank">wordpress automatic upgrade</a> می توانید این قابلیت را در اختیار داشته باشید.</p>
<p><strong>4- سطوح دسترسی (premissions) را به درستی تنظیم کنید</strong></p>
<p>هیچ گاه و تحت هیچ شرایطی بر روی هاست های اشتراکی ، پرمیشن هیچ پوشه ای را بر روی 777 قرار ندهید چون افراد دیگری که بر روی همان هاست هستند می توانند فایل هایی را به آن پوشه آپلود و اجرا کنند. برای پوشه ها در نهایت از می توانید از پرمیشن 755 استفاده کنید و برای فایل ها نیز از پرمیشن 644 استفاده کنید.</p>
<p><strong>5- دسترسی به پوشه wp-admin را محدود کنید</strong></p>
<p>اگر دسترسی ها را به این پوشه محدود کنید ، به میزان زیادی امنیت سیستم خود را افزایش داده اید. این پوشه را به دو شکل می توان محدود کرد. شیوه اول محدود کردن دسترسی به این پوشه با استفاده از فایل htaccess. و آدرس IP است. این شیوه فقط زمانی کاربرد دارد که شما از <strong>IP Static</strong> استفاده می کنید. بیشتر کاربران ایرانی از ip های داینامیک استفاده می کنند و این شیوه برای آنها مناسب نیست ولی اگر احیانا کسانی باشند که از آی پی استاتیک استفاده می کنند، کافیست که <strong>داخل پوشه wp-admin</strong> یک فایل htaccess. بسازند و  این تکه کد را داخل آن قرار دهند:</p>
<p><code>order deny,allow<br />
deny from all<br />
# allow my home IP address<br />
allow from XX.XX.XXX.XXX<br />
# allow my work IP address<br />
allow from XX.XX.XXX.XXX</code></p>
<p>به جای X ها باید آدرس آی پی خود را قرار دهند. می توانید به تعداد دلخواه به آدرس آی پی اضافه کنید و تنها همین آدرس ها می توانند به آن پوشه دسترسی داشته باشند و باقی افرادی که سعی داشته باشند وارد دایرکتوری wp-admin شوند، به صفحه پیغام خطای 404 هدایت می شوند.</p>
<p>افرادی که از آدرس های IP داینامیک استفاده می کنند می توانند پوشه wp-admin را پسورد گذاری کنند. با استفاده از قابلیت موجود در داخل CPanel هاست خود می توانید این کار را به راحتی انجام دهید.</p>
<p><strong>توجه:</strong> شخصا موفق نشدم که پوشه wp-admin را بر روی یکی از سرور هایی که از آن استفاده میکنم ، پسورد گذاری کنم. به نظر میرسد تحت شرایط خاص و در صورت فعال بودن rewrite rule های مربوط به پیوند های یکتا ( permalinks ) این قابلیت به درستی کار نمی کند و شما در هر حالت به صفحه 404 هدایت می شوید. این مورد را در فورم پشتیبانی وردپرس سوال کردم ام. در صورت به نتیجه رسیدن ، راه حل را در همین بخش قرار خواهم داد.</p>
<p><strong>6- پسورد های خود را مطمئن و طولانی انتخاب کنید</strong></p>
<p>یکی از دلایل اینکه سایت ها به راحتی هک می شوند استفاده از کلمات عبور ساده و قابل حدس است. برای جلوگیری از هک شدن همیشه سعی کنید که پسورد های طولانی که مخلوطی از حروف ، اعداد و نشانه هاست را انتخاب کنید. همچنین می توانید با نصب پلاگین هایی همچون <a href="http://wordpress.org/extend/plugins/login-lockdown/" target="_blank">Login Lock Down</a> جلوی افرادی را که سعی دارند با امتحان پسورد های مختلف وارد بخش ادمین سایت شما شوند را بگیرید. این پلاگین آدرس های IP را ثبت می کند و اگر کاربری با یک آدرس آی پی تعداد دفعات خاصی ، پسورد را اشتباه وارد کند برای دقایق مشخصی دیگر به او اجازه وارد کردن کلمه عبور را نخواهد داد.</p>
<p>همچنین سعی کنید که username وارد شدن به بخش ادمین را که به شکل پیش فرض admin است را تعویض کنید. در حالت پیش فرض این یوزنیم admin است و نیمی از زحمت هکر برای وارد شدن به بخش ادمین را کم کرده است. حتما این کلمه را تغییر دهید.</p>
<p>[شیوه تغییر کلمه عبور admin را فراموش کرده بودم که بنویسم. ممنون از دوستان که در کامنت ها این نکته را یادآوری کردند]</p>
<p>برای تغییر کلمه عبور admin می توانید از phpmyadmin موجود بر روی هاست خود استفاده کنید ولی اگر تا به حال با این برنامه کار نکرده اید می توانید از پلاگین <a href="http://w-shadow.com/files/change-admin-username.zip" target="_blank">change admin username</a> استفاده کنید. بعد از نصب این پلاگین و فعال کردنش ، به بخش کاربران مراجعت کنید، در این بخش گزینه change username به لینک های بالای همان بخش اضافه شده است. دقت کنید که بعد از تغییر کلمه عبور حتما باید یکبار logout  کرده و دوباره login کنید.</p>
<p><strong>7- جلوی ایندکس شدن احتمالی محتوای پوشه های wp  رو بگیرید</strong></p>
<p>موتور های جستجو می توانند محتوای پوشه های مختلف را جستجو کنند و بسیاری از حفره های موجود در سایت ها با استفاده از همین صفحات ایندکس شده در گوگل توسط هکر ها کشف می شوند. با اضافه کردن این یک خط به فایل robots.txt خود جلوی ایندکس شدن پوشه های wp را بگیرید</p>
<p><code>Disallow: /wp-</code></p>
<p>اگر در حال حاضر هیچ فایل robots.txt ای روی سرور خود ندارید، می توانید از این دستورات را در داخل یک فایل با نام robots و پسوند txt ذخیره کنید و بر روی root سرور خود قرار دهید</p>
<p><code>User-agent: *<br />
# disallow all files in these WordPress directories<br />
Disallow: /wp-content/<br />
Disallow: /wp-admin/<br />
Disallow: /wp-includes/<br />
Disallow: /wp-<br />
# disallow all files in these directories<br />
Disallow: /tag/<br />
Disallow: /cgi-bin/<br />
# disallow robots from parsing individual post feeds and trackbacks<br />
Disallow: /feed/<br />
Disallow: /trackback/<br />
Disallow: */trackback*<br />
# disallow any files that are stats related<br />
Disallow: /stats*<br />
Disallow: /about/legal-notice/<br />
Disallow: /about/copyright-policy/<br />
Disallow: /about/terms-and-conditions/<br />
Disallow: /tag<br />
Disallow: /docs*<br />
Disallow: /manual*<br />
Disallow: /category/uncategorized*<br />
# disallow files ending with the following extensions<br />
User-agent: Googlebot<br />
Disallow: /*.php$<br />
Disallow: /*.js$<br />
Disallow: /*.inc$<br />
Disallow: /*.css$<br />
Disallow: /*.gz$<br />
Disallow: /*.cgi$<br />
Disallow: /*.wmv$<br />
Disallow: /*.php*<br />
Disallow: /*.gz$<br />
Allow: /wp-content/uploads/<br />
#disallow WayBack archiving site<br />
User-agent: ia_archiver<br />
Disallow: /</code></p>
<p>این فایل حتی سایت شما را برای موتور های جستجو نیز بهینه می کند و اجازه ایندکس شدن محتوای بدون استفاده سایت شما را به موتور های جستجو نمی دهد.</p>
<p>البته شیوه های دیگری نیز برای حفاظت بیشتر در دسترس است که احتیاج به کمی دانش فنی دارد. به عنوان مثال می توانید prefix تیبل های بانک اطلاعاتی وردپرس خود را تغییر دهید که البته این کار با نسبت پلاگین نیز امکان پذیر است. افرادی که با SQL injection قصد هک کردن سایت را داشته باشند اگر prefix دقیق را ندادند، کاری نمی توانند انجام دهند از این رو تغییر prefixدهد.</p>
<img src="http://feeds.feedburner.com/~r/4goosh/~4/gIfUD6fuSD0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.4goosh.com/wordpress/7-method-wordpress-security/feed</wfw:commentRss>
		<feedburner:origLink>http://www.4goosh.com/wordpress/7-method-wordpress-security</feedburner:origLink></item>
		<item>
		<title>اصول طراحی بر اساس استاندارد های وب 2.0 - قسمت اول</title>
		<link>http://feedproxy.google.com/~r/4goosh/~3/oQdPLMIq6cA/web20-design-style-guide-part1</link>
		<comments>http://www.4goosh.com/web20/web20-design-style-guide-part1#comments</comments>
		<pubDate>Thu, 21 Aug 2008 18:49:04 +0000</pubDate>
		<dc:creator>amir abbas</dc:creator>
		
		<category><![CDATA[وب 2.0]]></category>

		<category><![CDATA[web 2.0]]></category>

		<category><![CDATA[طراحی]]></category>

		<guid isPermaLink="false">http://www.4goosh.com/?p=72</guid>
		<description><![CDATA[وب 2.0 محدود به اشتراک کاربران در تهیه محتوای سایت نمی شود. سایت های وب 2.0 مجموعا در طراحی نیز از یک الگوی خاص پیروی می کنند. مقالات مختلفی در این مورد موجود است ولی مقاله بن هانت در این بین به نظرم کامل ترین مقاله آمد. تصاویری داخل مقاله بعضا قابل استفاده نبود و [...]]]></description>
			<content:encoded><![CDATA[<p>وب 2.0 محدود به اشتراک کاربران در تهیه محتوای سایت نمی شود. سایت های وب 2.0 مجموعا در طراحی نیز از یک الگوی خاص پیروی می کنند. مقالات مختلفی در این مورد موجود است ولی مقاله <a href="http://webdesignfromscratch.com/web-2.0-design-style-guide.cfm" target="_blank">بن هانت</a> در این بین به نظرم کامل ترین مقاله آمد. تصاویری داخل مقاله بعضا قابل استفاده نبود و تصاویر جدید جایگزین تصاویر قدیمی شده است. بخش هایی از مقاله نیز تغییراتی دارد. در اینجا بخش اول مقاله را می خوانید.</p>
<p>مطالب این مقاله صرفا اطلاعاتی در مورد شکل و ظاهر سایت های وب 2.0 ارائه کرده است و وارد جزئیات دیگر سایت های وب 2.0 نمی شود.</p>
<p>عزیزانی که دوست دارند در طراحی های خود از ظاهر سایت های wrb 2.0 پیروی کنند، می توانند به بخش وب 2.0 سایت <a href="http://www.templatemonster.com/category/web-2-0-templates/" target="_blank">template monster</a> مراجعه کنند. سایت <a href="http://go2web20.net/" target="_blank">go2web20.net</a> نیز گزینه مناسبی برای دیدن سایت های وب 2.0 است.</p>
<p><img class="alignnone" title="تمپلیت مانستر" src="http://i35.tinypic.com/kcgw12.jpg" alt="" width="521" height="477" /></p>
<p>طراحی های وب 2.0 معمولا ویژگی های خاصی دارند که به عنوان خصیصه های یک سایت web 2.0 شناخته می شوند.  البته باید به این نکته دقت کرد که یک سایت لزوما نباید تمامی این موارد را در خود داشته باشد تا به عنوان سایت وب 2.0 شناخته شود. حتی ممکن است سایتی تمامی این خصیصه ها را داشته باشد ولی وب 2.0 به حساب نیاید. این خصوصیات باید به شکل درست در سایت استفاده شوند زیرا ممکن استفاده استفاده نادرست از این خصوصیات تخریب چهره سایت شود.<br />
خصیصه هایی که در قسمت اول این مقاله موضع سادگی در طراحی های وب 2.0 بررسی می شود.</p>
<p>اگر بخواهم طرح های وب 2.0 را در یک کلمه شرح بدهم از واژگی &#8221; سادگی &#8221; استفاده خواهم کرد. لذا از همین مورد شروع میکنم. من به معنای واقعی به سادگی در طراحی اعتقاد دارم و معتقدم آینده طراحی وب در همین سادگی است. سایت های ساده، متمایز و برجسته امروزی ، در ساده ترین شکل ، بیشترین تاثیر گذاری را دارند.</p>
<ol>
<li>این سبک طراحی ها به طراح اجازه می دهند که کاربر را به سمت هدفش هدایت کنند. طراحان عناصر گرافیکی را کاهش میدهند و با انتخاب درست و به جا از این تصاویر و گرافیک ها، توجه کاربر را به بخش های خاصی از سایت جلب می کنند</li>
<li>طراحان از جملات کوتاه و تاثیر گذار استفاده می کنند تا به نتیجه دلخواه خود برسند</li>
<li>آنها این ایده را که می گوید: &#8220;طراحان نمی توانند حدس بزنند که کاربر به دنبال چیست&#8221; را قبول ندارند.</li>
</ol>
<p><span id="more-72"></span></p>
<h2>1- سادگی</h2>
<p><strong>طرح های وب 2.0 ساده ترین طرح های موجود هستند و این بسیار خوب است و بدین معنی است که طرج های وب 2.0 هدفمند، پاکیزه و ساده اند.</strong><br />
این به معنی مینیمال بودن طرح های وب 2.0 نیست. در این مورد بیشتر خواهیم نوشت. من اعتقاد دارم که طرح ها نباید مینیمال باشد بلکه ما باید فقط از اجزایی که واقعا به آنها نیاز داریم در صفحه استفاده کنیم. به چند نمونه از سایت های وب 2.0 دقت کنید. در تمامی این سایت ها عناصر اضافی از صفحه حذف شده است ولی آیا این خلوت بودن صفحات باعث غیر عادی شدن طرح شده است ؟ [قطعا خیر]<br />
این خلوت بودن صفحه باعث می شود که شما به محتوای صفحه بیشتر دقت کنید و با دقت بیشتری به عناصر موجود در صفحه دقت خواهید کرد که هدف طراح هم همین بوده که توجه شما به این عناصر جلب شود. این طرح ها کاربر را راضی نگه می دارند که شما به راحتی آن چیزی را که به دنبالش بوده اید، پیدا می کنید.</p>
<p><strong>چرا سادگی خوب است</strong></p>
<ol>
<li>از این طریق سایت ها هدفمند خواهند بود و هر صفحه ای برای هدفی خاص ایجاد شده است.</li>
<li>زیرا می دانیم که توجه کاربر به اجزای صفحه یک منبع محدود است (کاربر به طور کامل همه اجزای صفحه را بررسی نمی کند)</li>
<li>این وظیفه طراح است که کاربر را هدایت کند تا چیزی را که می خواهد، پیدا کند ( یا بر عکس آن ، توجه کاربر را به بخش خاصی از سایت جلب کند )</li>
</ol>
<p>اجزای داخل صفحه توجه کاربر را به خود جلب می کنند. هر چقدر اجزای داخل صفحه بیشتر باشد، کاربر مشغول دیدن اجزای بسیار زیاد صفحه می شود و احتمال اینکه به بخش مهم سایت توجهی نکند، زیاد است. لذا ما باید به طریقی با کاربر ارتباط برقرار کنید و این شلوغی را در صفحه کاهش دهیم. باید به دنبال راهی باشیم که از طریق آن ، این اجزا را به حداقل کاهش دهیم از این رو سادگی را در صفحه به کار می گیریم.</p>
<p><strong>چه وقت و چگونه باید طرحمان را ساده کنیم</strong></p>
<p><strong>چه وقت ؟</strong><br />
همیشه</p>
<p><strong>چگونه ؟</strong><br />
دو اصل مهم برای موفقیت در استفاده از سادگی این موارد هستند:</p>
<ol>
<li>اجزای غیر ضروری را از صفحه حذف کنید به شرط اینکه به عملکرد سایت لطمه ای وارد نشود</li>
<li>اگر صفحه شما شلوغ است ، سعی کنید راه جایگزینی در طراحی پیدا کنید که همان اجزا را به شکلی ساده تر در صفحه به کار بگیرید.</li>
</ol>
<p>اگر صفحه شما شلوغ است ، سعی کنید راه جایگزینی در طراحی پیدا کنید که همان اجزا را به شکلی ساده تر در صفحه به کار بگیرید.هر زمان که شروع به طراحی می کنید این نکته را به عنوان یک اصل در طراحی مد نظر داشته باشید تا تمامی اجزای گرافیکی غیر ضروری را از صفحه حذف کنید بر روی عناصری از صفحه که ارتباط کمتری با بقیه اجزای صفحه دارند، تمرکز کنید زیرا این اجزا توجه کاربر را به خود جلب می کنند و کاربر از توجه به محتوا اصلی سایت باز می ماند.از جلوه های بصری حال چه می خواد تصاویر باشد، خطوط، کلمات ، اشکال یا رنگ ها باشد، فقط در جهت انتقال هدف سایت استفاده کنید نه تزئین صفحه.<br />
متاسفانه در میان سایت های ایرانی ، نمونه های بسیاری می بینیم که از گرافیک تنها به منظور تزئین صفحه استفاده می کنند. به عنوان مثلا می توان سایت niksalehi.com را نام برد.<br />
همیشه باید در طراحی سعی کنیم که اجزای گرافیکی که با هدف مشخص استفاده می کنیم از اجزای تزئینی صفحه بیشتر باشد.<br />
به تصویر سایت نیک صالحی دقت کنید:</p>
<p><img class="alignnone" title="نیک صالحی" src="http://i35.tinypic.com/2cf6z9t.jpg" alt="" width="400" height="339" /></p>
<p>این طرح بسیار شلوغ است، از رنگ ها و اشکال متفاوت به وفور استفاده شده است. به علت کثرت تبلیغات ، لوگو و نوارپیمایش سایت که مهمترین بخش های سایت هستند در میان تصاویر اصلا به چشم نمی آیند. بقیه گرافیک هایی که کار شده است، فقط جنبه تزئینی دارد</p>
<p><strong>من مخالف پرمایگی، پیچیدگی و زیبایی در طراحی وب نیستم.</strong></p>
<p>سادگی به این معناست:<br />
<em>از تصاویر فقط زمانی استفاده کنید که به آنها نیاز دارید و از آنها در جای مناسب استفاده کنید تا بتوانید از طریق آنها با کاربر ارتباط برقرار کنید.</em></p>
<p>کلا اطلاعات داخل صفحه به دو بخش تقسیم می شوند، اطلاعات سخت و نرم</p>
<p><strong>اطلاعات سخت:</strong><br />
حقایقی چون اخبار، قیمت اجناس، زمان حرکت قطار ها و یا موجودی حساب شما در بانک جزو این دسته از اطلاعات محسوب می شوند</p>
<p><strong>اطلاعات نرم:</strong><br />
این اطلاعات جنبه کیفی ارتبطات را شامل می شود مانند برداشت نخست از کیفیت محصولات یک شرکت، احساس کاربر در مورد اینکه یک سرویس دهنده چقدر در دسترس است ؟  و یا احساس شما در مورد اینکه یک کالا برای شما مناسب است یا خیر. این اطلاعات نیز مانند اطلاعات سخت اهمیتی فراوان دارند.</p>
<p>حال چه از اطلاعات سخت استفاده می کنید چه استفاده از اطلاعات نرم ، سعی کنید از آنها به شکل درست و هوشمندانه استفاده کنید. به این مثل دقت کنید</p>
<p><img class="alignnone" title="الکس داکال" src="http://i35.tinypic.com/2dihthi.jpg" alt="" width="400" height="572" /></p>
<p>طراحی سایت <a href="http://www.circografico.com.ar/" target="_blank">الکس داکال</a> ، باشکوه، جالب و جذاب است. او از برخی تکنیک های بصری استفاده کرده است که توجه شما را جلب کند و شما را مجذوب طرح هایی خواهد کرد که خود الکس طراحی می کند.<br />
اما این طرح بسیار ساده است و از تصویر به شکل بهینه استفاده کرده است. این طرح شبیه به طرح های کم ارزش و شلوغ نیست و هر جزء از صفحه به منظور خاصی طراحی شده است.<br />
اصلا مهم نیست که موضوع سایت شما چیست. هر گاه که تصمیم به طراحی گرفتید ، سعی کنید از تصاویر به شکل بهینه ای استفاده کنید. تصاویر باید به منظور ایجاد ارتباط با کاربر استفاده شوند. سپس از خود سوال کنید که آیا می توان همین تاثیر را با استفاده از عناصر کمتری ایجاد کنم. اگر این کار شدنی است، انجامش دهید</p>
<p>در بخش های بعدی در مورد جنبه های دیگر طراحی های وب 2.0 بحث خواهیم کرد.</p>
<img src="http://feeds.feedburner.com/~r/4goosh/~4/oQdPLMIq6cA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.4goosh.com/web20/web20-design-style-guide-part1/feed</wfw:commentRss>
		<feedburner:origLink>http://www.4goosh.com/web20/web20-design-style-guide-part1</feedburner:origLink></item>
		<item>
		<title>شروع کار با جی کوئری</title>
		<link>http://feedproxy.google.com/~r/4goosh/~3/KmQPxBe4OGE/starting-jquery</link>
		<comments>http://www.4goosh.com/jquery/starting-jquery#comments</comments>
		<pubDate>Sun, 17 Aug 2008 18:14:04 +0000</pubDate>
		<dc:creator>amir abbas</dc:creator>
		
		<category><![CDATA[jQuery]]></category>

		<category><![CDATA[طراحی]]></category>

		<guid isPermaLink="false">http://www.4goosh.com/?p=66</guid>
		<description><![CDATA[جی کوئری فریم ورک جاوا اسکریپتی است که بسیار آسان و مختصر است. در این مقاله ما کار با این فریم ورک را شروع می کنیم.]]></description>
			<content:encoded><![CDATA[<p>در مقالات قبل، فریم ورک جی کوئری را معرفی کردم. در این مقاله ما کار با جی کوئری را شروع خواهیم کرد. برای شروع کار باید فایل <a href="http://jquery.com" target="_blank">jQuery</a> را از سایت اصلیش دریافت کنیم. برای راحتی کار، آخرین نسخه jQuery را به همراه فایل XHTML تمرینی در پایان مقاله برای دانلود قرار داده ام. در این مقاله ما ساده ترین کار را انجام می دهیم. اینجا سعی می کنیم که یک کلاسی CSS را با استفاده از jQuery به تگ blockquote داخل صفحه اختصاص بدهیم.</p>
<p>برای شروع کار متنی را از مقاله <a href="http://www.4goosh.com/web20/lifestreaming-versus-blogging-p14" target="_blank">آینده وبلاگ نویسی</a> کپی کردم و بخش از متن را داخل blockquote قرار دادم. از آنجاییکه من padding و margin تمامی عناصر داخل صفحه را صفر کرده ام، در حال حاضر هیچ تفاوتی بین متن داخل تگ p و blockquote وجود ندارد. به این تصویر دقت کنید:</p>
<p><img class="alignnone" title="blockquote بدون اختصاص کلاس" src="http://i33.tinypic.com/52ig09.gif" alt="" width="554" height="195" /></p>
<p>همانطور که در تصاویر مشخص است در حال حاضر هیچ فرقی بین متن داخل p و blockquote وجود ندارد. در بخش دستورات CSS، کلاسی را برای blockquote آماده کردم که این تگ را به شکلی مجزا از متن معمولی نمایش دهد. حال می خواهیم این کلاس ساخته شده را با استفاده از jQuery به صفحه اضافه کنیم.</p>
<p>برای اینکه بتوانیم از جی کوئری استفاده کنیم باید اول فایل آن را به صفحه خود پیوست کنیم. بهترین مکان برای فایل های جاوا اسکریپت، قبل از تگ پایانی body است. از آنجایی که تا فایل جاوا اسکریپت دانلود و اجرا نشود، بقیه صفحه منتظر load شدن آن می ماند، اگر فایل های جاوا اسکریپت را در پایان صفحه قرار دهید، اول صفحه XHTML شما لود می شود و سپس جاوا اسکریپت لود می شود. به این طریق سایت شما کند نمی شود و عملا شکل و ظاهر صفحه شما کامل می شود و سپس جاوا اسکریپت دانلود می شود.</p>
<p><span id="more-66"></span></p>
<p>نخست فایل جی کوئری را به صفحه پیوست می کنیم و پس از آن باید فایل js خودمان را که دستوراتمان را قرار است در آن بنویسیم را به صفحه پیوست می کنیم. دقت کنید که اول باید فایل جی کوئری را اضافه کنید و سپس فایل خودتان را در غیر این صورت دستورات شما کار نخواهد کرد.</p>
<pre><code>      &lt;script type='text/javascript' src='jquery-1.2.6.pack.js'&gt;&lt;/script&gt;
      &lt;script type='text/javascript' src='design.js'&gt;&lt;/script&gt;
&lt;/body&gt;</code></pre>
<p>در بین دستورات CSS ، کلاسی به نام quote آماده شده است. می خواهیم این کلاس را به تمامی blockquote های داخل صفحه اختصاص دهیم. حال باید فایل design.js را بسازیم. نام فایل مهم نیست. می توانید نام آن را هر چه دوست دارید بگذارید. برای ساخت این فایل می توانید از notepad استفاده کنید. Notepad را باز کنید و file &gt; save as را بزنید، در بخش file name باید نام فایل را به همراه پسوند js بنویسید و کل عبارت را داخل علامت نقل قول ( &#8221; &#8221; )  قرار دهید و ذخیره کنید تا فایل شما آماده شود.</p>
<p><img class="alignnone" title="نت پد و جاوا اسکریپت" src="http://i38.tinypic.com/ev97vn.jpg" alt="" width="486" height="127" /></p>
<p>حال همین فایل design.js را باز می کنیم تا دستورات را داخل آن بنویسیم.</p>
<p>نخست ما باید تمامی تگ های blockquote داخل صفحه خود را با استفاده از جی کوئری پیدا کنیم. در جی کوئری هر گاه بخواهیم چیزی را داخل صفحه جستجو کنیم از ( )$ استفاده می کنیم. هر چیزی که داخل دو پرانتز قرار بگیرید در داخل صفحه جستجو خواهد شد. ما هر چیزی را داخل صفحه می توانیم جستجو کنیم. می توانیم تگ مربوطه را در بین پرانتز وارد کنیم و یا نام کلاس یا ID عنصر مورد نظر را وارد کنید. در اینجا ما می خواهیم که تگ های blockquote داخل صفحه را بیابیم تا بتوانیم کلاس مورد نظرمان را به آن اضافه کنیم. برای یافتن blockquote های داخل صفحه باید کدی به این شکل بنویسیم</p>
<p><code>$('blockquote')</code></p>
<p>دقت کنید که نام تگ را باید بدون علامت های &lt; و &gt; بنویسید و نام تگ باید حتما در بین علامت نقل قول &#8221; یا &#8216; قرار بگیرد.</p>
<p>در مرحله بعدی ما باید از یک متد استفاده کنیم تا کلاس مورد نظرمان را به تگ های blockquote اضافه کنیم. متدی در جی کوئری وجود دارد که دقیقا به همین منظور طراحی شده است. متد addClass به شما این قدرت را می دهد که به هر عنصری که در صفحه جستجو کرده اید ، هر کلاسی که دوست دارید را اختصاص بدهید. کلاسی که ما آماده کرده بودیم ، quote بود. حال این کلاس را به blockquote ها اضافه می کنیم. کدی که می نویسیم باید به این شکل باشد:</p>
<p><code>$('blockquote').addClass('quote');</code></p>
<p>نام کلاس را باید بدون نقطه آغازین بنویسیم و مانند بخش قبل ، نام کلاس باید بین علامت نقل قول باشد. در پایان خط هم سمیکالن ( ; ) قرار می دهیم. در جاوا اسکریپت هر زمان که دستورات یک خط تمام می شود باید در پایان خط علامت سمیکالن را قرار دهیم.</p>
<p>اکنون جی کوئری در داخل کد صفحه جستجو می کند و لیستی از تمامی تگ های blockquote ایجاد می کند. سپس کلاس quote را به همه آنها اضافه می کند ( در فایل مثالی که آماده شده است تنها یک تگ blockquote وجود دارد ولی شما می توانید فایل را ویرایش کنید و به تعداد دلخواه تگ blockquote به آن اضافه کنید و نتیجه را ببینید. )</p>
<p>اگر ما تنها همین یک خط را در داخل فایل design.js قرار دهیم کافیست ولی این کد به محض لود شدن صفحه اجرا خواهد شد. گاهی اوقات این اجرا شدن به قدری سریع اتفاق می افتد که هنوز صفحه لود نشده و عملا اتفاق خاصی نمیافتد و کلاس مورد نظر ما به blockquote ها اختصاص نمی یابد. ما باید زمان اجرا شدن جاوا اسکریپت را به تاخیر بیندازیم تا اول صفحه load شود ، سپس فایل جاوا اسکریپت اجرا شود. به همین خاطر باید از event handler ها استفاده کنیم. event handler های مختلفی وجود دارد و اگر jQuery یک event handler مخصوص به خودش برای این منظور نداشت ما مجبور بودیم از handler ای به نام onload استفاده کنیم . این handler اجرای جاوا اسکریپت را به تاخیر می اندازد تا صفحه به طور کامل به همراه تصاویرش load شود و پس از آن فایل جاوا اسکریپت اجرا خواهد شد. برای استفاده از این handler ما باید یک تابعی (function) بنویسیم که دستورمان داخل آن قرار گیرد. بدین شکل :</p>
<pre><code>function quoteclass() {
     $('blockquote').addClass('quote');
     }</code></pre>
<p>سپس باید این تابع را به تگ body پیوست کنیم. بدین شکل:<br />
<code>&lt;body onload="quoteclass();"&gt;</code></p>
<p>استفاده از این handler سه ضعف عمده دارد :<br />
1- شما مجبور خواهید بود که فایل HTML خود را ویرایش کرده و تابع را به تگ body اضافه کنید<br />
2- برای اجرا شدن جاوا اسکریپت باید صبر کنید تا تمامی تصاویر نیز load بشوند. در صورتی که صفحه مملو از تصاویر باشد باید زمان زیادی را منتظر باشید تا جاوا اسکریپت اجرا شود.<br />
3- در هر بار تنها می توان یک behavior را به body اضافه کرد و در صورتی که بخواهید behavior های دیگر را نیز به صفحه اضافه کنید، این کار به راحتی امکان پذیر نیست و مجبورید توابع دیگری برای این منظور بنویسید.</p>
<p>جی کوئری برای راحتی کاربران یک handler مخصوص به خود دارد که هیچ یک از ضعف های ذکر شده را ندارد. نخست اینکه این handler منتظر لود شدن تصاویر نمی ماند و بعد از load شدن فایل HTML اجرا خواهد شد، دیگر اینکه هر تعداد behavior را که بخواهید می توانید استفاده کنید و محدودیتی بابت تعداد behavior ها نخواهید داشت و علاوه بر این مواردی که ذکر شد هیچ احتیاجی به ویرایش فایل XHTML خود ندارید. از این handler باید به این شکل استفاده کنیم</p>
<p><code>$(document).ready(function() {<br />
});</code></p>
<p>اکنون هر وقت بخواهیم دستوری را به جمع دستورات اضافه کنیم باید آن را در میان این handler بنویسیم به این شکل :</p>
<pre><code>$(document).ready(function() {
    $('blockquote').addClass('quote');
});</code></pre>
<p>اکنون باید دستورات ما به درستی کار کند و بعد از refresh کردن صفحه باید کلاس مورد نظر ما به blockquote های داخل صفحه اضافه شده باشد. نتیجه شبیه به این تصویر خواهد بود:</p>
<p><img class="alignnone" title="تصویر نهایی" src="http://i38.tinypic.com/2vbolg8.gif" alt="" width="578" height="245" /></p>
<p>شاید برای دوستان سوال باشد که چرا ما این مراحل طولانی را برای اضافه کردن یک کلاس طی کرده ایم در حالی که به راحتی می توانیم به blockquote ها با استفاده از خود CSS هر سبکی را که دوست داریم اعمال کنیم. پاسخ این است که جی کوئری قادر است که حتی بعد از load شدن صفحه کلاس ها را اضافه و یا کم کند در صورتی که با استفاده از CSS این کار امکان پذیر نیست. این ساده ترین کاری بود که با جی کوئری می توانستیم انجام دهیم. مقالات بعدی حاوی مطالب پیشرفته و کاربردی خواهد بود.</p>
<p>فایل های تمرینی این مقاله را می توانید <a href="http://www.4goosh.com/examples/17-8-2008-starting-jquery.zip" target="_blank">از اینجا</a> دریافت کنید.</p>
<img src="http://feeds.feedburner.com/~r/4goosh/~4/KmQPxBe4OGE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.4goosh.com/jquery/starting-jquery/feed</wfw:commentRss>
		<feedburner:origLink>http://www.4goosh.com/jquery/starting-jquery</feedburner:origLink></item>
	</channel>
</rss>
