<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>برنامه-نویسی-و-توسعه-وب &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/برنامه-نویسی-و-توسعه-وب/</link>
	<description>Feed of posts on WordPress.com tagged "برنامه-نویسی-و-توسعه-وب"</description>
	<pubDate>Mon, 06 Oct 2008 13:28:41 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[یک Tooltip تر و تمیز و خیلی کم حجم]]></title>
<link>http://silvercover.wordpress.com/?p=88</link>
<pubDate>Fri, 06 Jun 2008 15:39:23 +0000</pubDate>
<dc:creator>silvercover</dc:creator>
<guid>http://silvercover.fa.wordpress.com/2008/06/06/%db%8c%da%a9-tooltip-%d8%aa%d8%b1-%d9%88-%d8%aa%d9%85%db%8c%d8%b2-%d9%88-%d8%ae%db%8c%d9%84%db%8c-%da%a9%d9%85-%d8%ad%d8%ac%d9%85/</guid>
<description><![CDATA[این روزا با غنی تر شدن سایت ها نیاز به تعبیه ویژگی های ج]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;">این روزا با غنی تر شدن سایت ها نیاز به تعبیه ویژگی های جدید همچون Tooltip بیش از پیش احساس میشه. از طرفی تنوع ویژگی ها و ویجت ها های جدید انتخاب رو کمی دشوار می کنه. یکی از مسائلی که همیشه در انتخاب المان های غنی کننده رابط کاربری وب سایت مهم هست مسئله حجم و سازگاری المان مد نظر هست. این بار قصد دارم تا یکی از این المان های پرکاربرد یعنی یک Tooltip ساخته شده با Javascript رو به شما معرفی کنم. این Tooltip با مرورگرهای مهم از قبیل IE, FF,Opera تست شده و سازگار هست و تنها حجمی برابر با 2 کیلوبایت داره که بسیار حائز اهمیت هست. این Tooltip به هنگام نمایان شدن و محو شدن از جلوه Fading استفاده می کنه که زیبایی کار رو دو چندان می کنه.</p>
<p style="text-align:center;"><a href="http://silvercover.files.wordpress.com/2008/06/tooltip.gif"><img class="alignnone size-full wp-image-89 aligncenter" src="http://silvercover.wordpress.com/files/2008/06/tooltip.gif" alt="" width="459" height="175" /></a></p>
<p style="text-align:justify;">بیشتر از این توضیح نمی دم و شما رو به سایت سازنده هدایت می کنم:</p>
<p style="text-align:justify;"><a href="http://www.leigeber.com/2008/06/javascript-tooltip/" target="_blank"><strong>سایت سازنده</strong></a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[GUI Design Studio ابزاری برای طراحی رابط کاربری برنامه ها]]></title>
<link>http://silvercover.wordpress.com/?p=61</link>
<pubDate>Sat, 10 May 2008 08:25:41 +0000</pubDate>
<dc:creator>silvercover</dc:creator>
<guid>http://silvercover.fa.wordpress.com/2008/05/10/gui-design-studio-%d8%a7%d8%a8%d8%b2%d8%a7%d8%b1%db%8c-%d8%a8%d8%b1%d8%a7%db%8c-%d8%b7%d8%b1%d8%a7%d8%ad%db%8c-%d8%b1%d8%a7%d8%a8%d8%b7-%da%a9%d8%a7%d8%b1%d8%a8%d8%b1%db%8c-%d8%a8%d8%b1%d9%86%d8%a7/</guid>
<description><![CDATA[برنامه نویسی یکی از پردرآمدترین مشاغلی می باشد که امرو]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;"><a href="http://silvercover.files.wordpress.com/2008/05/docgenpdf1_30.png"><img class="alignleft size-full wp-image-62" style="float:left;margin:5px;" src="http://silvercover.wordpress.com/files/2008/05/docgenpdf1_30.png" alt="" width="223" height="273" /></a>برنامه نویسی یکی از پردرآمدترین مشاغلی می باشد که امروزه بسیاری از افراد به آن مشغول می باشند. برنامه نویسان حرفه ای ماهیانه درآمد مناسبی را برای امورگذران زندگی خود از همین راه کسب می کنند. زبان های برنامه نویسی مختلف همانند <span>C , VisualBasic , Delphi , perl </span>...<span> </span>و یا زبان های برنامه نویسی وب مثل <span>PHP </span>و یا <span>ASP.net</span> که مورد استفاده طراحان وب می باشد ، همگی به برنامه نویس توانایی هایی را می دهد که در زمینه کاری برنامه نویسی خود دارای ویژگی هایی می باشد. بسیاری از کاربرانی که قصد دارند تا برنامه نویسی را فرا گیرند بیشتر از زبان های برنامه نویسی شیء گرا همانند <span>VisualBasic </span>استفاده می کنند. بسیاری از وب سایت های موجود در اینترنت نیز با در اختیار قرار دادن سورس کدهای مربوط به زبان های برنامه نویسی مختلف به کاربران مبتدی در این زمینه یاری می رسانند.</p>
<p style="margin-top:0;margin-bottom:0;line-height:150%;text-align:justify;" dir="rtl">در این مطلب نرم افزاری را برای کاربرانی که در سطح مبتدی برنامه نویسی می باشند معرفی می کنیم.</p>
<p style="margin-top:0;margin-bottom:0;line-height:150%;text-align:justify;" dir="rtl">
<p style="margin-top:0;margin-bottom:0;line-height:150%;text-align:justify;" dir="rtl">
<p style="margin-top:0;margin-bottom:0;line-height:150%;text-align:justify;" dir="rtl">
<p style="margin-top:0;margin-bottom:0;line-height:150%;text-align:justify;" dir="rtl">
<p style="margin-top:0;margin-bottom:0;line-height:150%;text-align:justify;" dir="rtl"><strong>GUI Design Studio</strong> نام نرم افزاری می باشد که به کمک آن کاربران قادر به طراحی شکل و فرم برنامه و کدنویسی آسان می باشند. عناصر ساخت برنامه به صورت کاملا گرافیکی در اختیار کاربران می باشد و بدون کدنویسی می توانند بسیاری از امکانات را بر روی برنامه خود قرار دهند. ساخت پروژه ها ، ساخت برنامه های به همراه درج مشخصات آن ها ، چگونگی ساخت روند یک برنامه و مسیر طراحی و برنامه نویسی و ... از امکانات این نرم افزار می باشد. با استفاده از این نرم افزار در کنار زبان های برنامه نویسی مختلف برنامه نویسان مبتدی راحتتر قادر به حل مشکلات خود خواهند بود. این نرم افزار محصولی از شرکت <strong>Caretta Software</strong> می باشد.</p>
<p style="margin-top:0;margin-bottom:0;line-height:150%;text-align:justify;" dir="rtl">
<p style="margin-top:0;margin-bottom:0;line-height:150%;text-align:justify;" dir="rtl">
<p style="margin-top:0;margin-bottom:0;line-height:150%;text-align:justify;" dir="rtl">سایت سازنده : <a href="http://www.carettasoftware.com" target="_blank">Ceretta Software</a></p>
<p style="margin-top:0;margin-bottom:0;line-height:150%;text-align:justify;" dir="rtl">منبع : <a href="http://www.p30world.com" target="_blank">P30World.com</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[آیا موفقیت زبان‌های برنامه‌نویسی با ریش و سبیل سازنده نسبت دارد؟]]></title>
<link>http://silvercover.wordpress.com/?p=55</link>
<pubDate>Fri, 02 May 2008 14:03:24 +0000</pubDate>
<dc:creator>silvercover</dc:creator>
<guid>http://silvercover.fa.wordpress.com/2008/05/02/%d8%a2%db%8c%d8%a7-%d9%85%d9%88%d9%81%d9%82%db%8c%d8%aa-%d8%b2%d8%a8%d8%a7%d9%86%e2%80%8c%d9%87%d8%a7%db%8c-%d8%a8%d8%b1%d9%86%d8%a7%d9%85%d9%87%e2%80%8c%d9%86%d9%88%db%8c%d8%b3%db%8c-%d8%a8%d8%a7/</guid>
<description><![CDATA[این تئوری تامیر خاسون است که در وبلاگش مطرح کرده. بگذار]]></description>
<content:encoded><![CDATA[<p class="spip">این تئوری <a class="spip_out" href="http://blogs.microsoft.co.il/blogs/tamir/archive/2008/04/28/computer-languages-and-facial-hair-take-two.aspx">تامیر خاسون</a> است که در وبلاگش مطرح کرده. بگذارید ما هم نگاهی بیندازیم.</p>
<p class="spip">برای شروع باید رفت سراغ فرترن، آدا و سیمولا. نویسنده فرترن (جان باکوس) پارسال درگذشت. نویسنده آدا (جین ایشبیا) سه ماه قبل و نویسنده سیمولا هم کریستین نیگارد بود که در اثر سکته قلبی مرد. حالا نگاهی به ظاهر این افراد بیاندازید.</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_8cc483cb-5393-43af-b7e6-17ed3a2fa1aa.png" alt="" /> <img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_9c29ed36-591a-44a5-b737-8631bcc8c7b2.png" alt="" /> <img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_c2615e7a-ad0b-4df5-9d0b-da94859b2f38.png" alt="" /></p>
<p class="spip">صورت هر سه سه تیغه و سفید است و زبان هایشان به تاریخ پیوسته. اما بریم سراغ f#. نویسنده این زبان یعنی دکتر دان سیم هم ریش و سبیل نداشت و در نتیجه زبان اختراعی‌اش را کمتر می‌شناسیم.</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_502f37be-7711-4be4-9297-e122d4dce1d6.png" alt="" /></p>
<p class="spip">وضعیت پرولوگ هم همینطور است. زبان خوبی که مخترعش هنوز هم ریش ندارد. وضع صورت آلن کولمرائور مشخص کننده آینده این زبان است.</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_2cf449cf-9f78-4117-be37-aece1e405878.png" alt="" /></p>
<p class="spip">اما زبان‌های موفق چی؟ مثلا سی! این زبان را سه نفر به وجود آوردند: برایان کرنیقان، دنیس ریچی و کنت تامپسون. وضع اینها بهتر است و هنوز هم ریششان را حفظ کرده‌اند و سی هم هنوز با داشتن ۱۶٪ سهم بازار، یکی از مهمترین زبان‌های کامپیوتری است.</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_85f95d7f-bf52-41a4-801b-241c9f4e2bbc.png" alt="" /> <img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_b782d4cf-2464-4931-a714-db52ed464839.png" alt="" /> <img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_b55842b4-c138-423a-81cf-bd522d6c1435.png" alt="" /></p>
<p class="spip">Obejctive C که توسط برند کوکس نوشته شد موفقیت چندانی نداشت و بعد هم Java+ او شکست خورد. من و شما دلیلش را می‌دانیم:</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_a89251c5-e8fa-4b93-99f3-ec8d1fbe7c97.png" alt="" /></p>
<p class="spip">در مقابل C++ که در حال حاضر حدود ۱۸٪ صنعت را در اختیار دارد زبان بسیار موفقی بود که در حال حاضر در حال عقب نشینی در مقابل زبان‌های جدید است. بگذارید دقیق‌تر نگاه کنیم. این تصویر استراستوپ در روزهایی است که C++ را معرفی کرد:</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_b7c599f6-8ebb-4861-93f8-a62139a05e46.png" alt="" /></p>
<p class="spip">و این هم عکس این روزهایش:</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_fe2f9f08-7a12-4155-983d-b1d6b67f2bc5.png" alt="" /></p>
<p class="spip">تاثیر عمیق موی صورت روی موفقیت زبان ها کاملا واضح نیست؟ برایان باید برای حفظ سی پلاس پلاس، تیغش را از پنجره بیرون بیاندازد و این زبان را نجات دهد.</p>
<p class="spip">بیسیک زبان بعدی است. توماس ای کورتز مخترع بیسیک است که در آن روزها به عنوان یک زبان ساده و عمومی شهرت داشت که تقریبا همه برنامه نویسان آن را بلد بودند. این هم عکس آن روزها.</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_0198c9bc-099f-48d1-9d72-03a669c648f4.png" alt="" /></p>
<p class="spip">و البته این روزها بیسیک دیگر زبان مهمی نیست اما در شاخه‌هایی مثل Visual Basic هنوز زنده است و به همراه سبیل ، به زندگی به عنوان یک زبان ساده ولی ناکارآ ادامه می‌دهد:</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_2a519160-b065-4430-b246-e438b2fb911c.png" alt="" /></p>
<p class="spip">حالا که بحث سبیل است، باید از زبان پرل یاد کنیم که با داشتن حدود ۶٪ بازار، یکی از زبان‌های مهم این روزها در سرورها به حساب می‌آید. این هم عکس لری وال، نویسنده آن:</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_9d73cf3c-aaaf-4986-826d-401c2b29b1aa.png" alt="" /></p>
<p class="spip">حالا نوبت رابی و پیتون (پایتون) است.یکی دو سال است که این زبان‌ها به مشهورترین زبان‌های دنیا تبدیل شده اند و کلی خبر درباره آن‌ها می‌خوانیم. این مسابقه به خاطر ریش حرفه‌ای وان رسوم (رابی) و یوکیهورو ماتسوموتو (پایتون) است.</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_b11dbfe3-2154-44b8-811d-e27d0051e604.png" alt="" /> <img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_884a18d3-4126-415b-baed-0e4abf083121.png" alt="" /></p>
<p class="spip">ولی وضعیت #C و Java چیست؟ آندره هلسبرگ نه ریش دارد و نه سبیل و به همین دلیل سی شارپ بعد از چهار سال فقط چهاردرصد بازار را در اختیار گرفته و این، در پیک این زبان است و در نتیجه در سال‌های آینده امید چندانی برای این زبان وجود نخواهد داشت. در مقایسه به جیمز گاسلینگ و ریشش نگاه کنید و کشف کنید که چرا جاوا ۱۸٪ بازار را در اختیار گرفته.</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_0ccdb8d5-2b66-4f6e-a79a-1a23e5cb0333.png" alt="" /> <img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_baf48399-d08c-4eba-8499-bf8351a82120.png" alt="" /></p>
<p class="spip">دیگر چه؟ فهرستی دارم از زبان‌های جدید و احتمالا ناموفق.</p>
<p class="spip">مثلا RubyCLR که توسط سام رمجی ابداع شده و امیدی به مشهور شدن ندارد:</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_82f3d728-bbbd-468f-958f-1953f572753b.png" alt="" /></p>
<p class="spip">یا اسکات گاتری را ببینید که WPF و Silverlight را نوشته. البته در نوشتن اینها بقیه مایکروسافتی‌ها هم نقش دارند ولی به هر حال در مایکروسافت کسی پشمالو نیست.</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_6a03e72c-fc5b-48a3-9c32-bae81b58d94c.png" alt="" /></p>
<p class="spip">شانس JSON در این میان از بقیه بیشتر است. امیدوارم دوگلاس کراکفورد به کار خوبش ادامه دهد.</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_0f5c8d51-220a-4299-bed1-032c64aff4c6.png" alt="" /></p>
<p class="spip">پیش‌بینی سخت، پیش بینی در مورد زبان‌های جدید و ماجولار مثل Haskell است. در این مورد افرادی مثل سیمون پیتون جیمز، پاول هوداک و فیلیپ والدر همدیگر را خنثی می‌کنند و در نتیجه نمی‌شود در مورد موفقیت یا شکست این زبان پیش‌بینی صحیحی ارائه داد.</p>
<p class="spip"><img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_2d442d05-08bb-4bbc-9cce-0c821080bf2f.png" alt="" /> <img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_b092333c-92ca-41c9-800e-845de0da4ef3.png" alt="" /> <img src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Computerlanguagesandfacialhairtaketwo_11FB7/image_885276a2-b2eb-4de4-a168-583242738bbe.png" alt="" /></p>
<p>در پایان، PHP هم نباید فراموش شود. راسموس لردرف آدم مناسبی برای نوشتن این زبان بود و احتمالا هر زبان دیگری ابداع می‌کرد هم موفق می‌بود.</p>
<p><a href="http://freekeyboard.net/spip.php?article437" target="_blank">منبع</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[افزایش کارایی فرم ها با بهره گیری از پیام های خود کار]]></title>
<link>http://silvercover.wordpress.com/?p=40</link>
<pubDate>Mon, 14 Apr 2008 14:08:33 +0000</pubDate>
<dc:creator>silvercover</dc:creator>
<guid>http://silvercover.fa.wordpress.com/2008/04/14/%d8%a7%d9%81%d8%b2%d8%a7%db%8c%d8%b4-%da%a9%d8%a7%d8%b1%d8%a7%db%8c%db%8c-%d9%81%d8%b1%d9%85-%d9%87%d8%a7-%d8%a8%d8%a7-%d8%a8%d9%87%d8%b1%d9%87-%da%af%db%8c%d8%b1%db%8c-%d8%a7%d8%b2-%d9%be%db%8c%d8%a7/</guid>
<description><![CDATA[در این خود آموز نحوه اضافه کردن پیام های خود کار به فیلد]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;">در این خود آموز نحوه اضافه کردن پیام های خود کار به فیلد های یک فرم آموزش داده میشه. با استفاده از این تکنیک هنگامی که کاربر یک فیلد رو انتخاب کنه یک پیام حبابی با جلوه FadeIn ( ظاهر شدن) نمایان میشه و موقعی هم که تمرکز از فیلد مورد نظر گرفته بشه با جلوه FadeOut غیب میشه.</p>
<p style="text-align:center;"><a href="http://silvercover.files.wordpress.com/2008/04/focusmessage.png"><img class="aligncenter size-full wp-image-41" src="http://silvercover.wordpress.com/files/2008/04/focusmessage.png" alt="" /></a></p>
<p>در این تکنیک از فریم ورک <a href="http://script.aculo.us/" target="_blank">Scriptaculous</a> جهت خلق جلوه ها استفاده شده. برای دانلود این خود آموز هم <a title="دانلود  خود اموز" href="http://www.box.net/shared/ez78f38kkk" target="_blank">اینجا</a> رو کلیک کنید.</p>
<p><strong>مرحله 1 : ضمیمه کردن کتابخانه های Scriptaculous</strong></p>
<p>ابتدا یک فایل خالی html ( مثلا index.html ) رو ایجاد کنید و در قسمت Head اون کد زیر رو قرار بدین:</p>
<div style="text-align:left;" dir="ltr"><span style="color:#cc0000;">&#60;script src=</span><span style="color:#3333ff;">"scriptaculous/lib/prototype.js" </span><span style="color:#cc0000;">type=</span><span style="color:#3333ff;">"text/javascript"</span><span style="color:#cc0000;">&#62;&#60;</span><span style="color:#cc0000;">/script</span><span style="color:#cc0000;">&#62;</span></p>
<div><span style="color:#cc0000;">&#60;</span><span style="color:#cc0000;">script src=</span><span style="color:#3333ff;">"scriptaculous/src/scriptaculous.js"</span> <span style="color:#cc0000;">type=</span><span style="color:#3333ff;">"text/javascript"</span><span style="color:#cc0000;">&#62;</span><span style="color:#cc0000;">&#60;</span><span style="color:#cc0000;">/script</span><span style="color:#cc0000;">&#62;</span></div>
</div>
<div><strong>مرحله 2 : کد HTML</strong></div>
<div style="text-align:justify;">در این مرحله یک فیلد متنی به عنوان نمونه جهت جستجو یکی جهت ایمیل و یک فیلد مخفی دیگه با شناسه msgstatus در بدنه فایل HTML قرار میدیم. کار این فیلد مخفی نگه داشتن وضعیت نمایش کادر پیام هست.</div>
<p style="text-align:left;" dir="ltr"><span style="color:#ff6600;">&#60;input type=</span><span style="color:#3333ff;">"text"</span> <span style="color:#ff6600;">name=</span><span style="color:#3333ff;">"name"</span><span style="color:#ff6600;"> id=</span><span style="color:#3333ff;">"</span><span style="color:#3333ff;">name</span><span style="color:#3333ff;">"</span> <span style="color:#ff6600;">onfocus=</span><span style="color:#3333ff;">"<span style="font-weight:bold;">javascript:showMsg(1)</span>"</span><span style="color:#ff6600;">/&#62;<br />
</span><span style="color:#ff6600;">&#60;</span><span style="color:#ff6600;">input id=<span style="color:#3333ff;">"msgstatus" </span>type=<span style="color:#3333ff;">"hidden" </span>value=<span style="color:#3333ff;">"0"</span> /&#62;<br />
</span><span style="color:#000099;">&#60;div class="msg" id<span style="font-weight:bold;">=</span><span style="font-weight:bold;color:#3333ff;">"</span></span><span style="color:#3333ff;"><span style="font-weight:bold;">msg1</span>"</span> <span style="color:#000099;">style=</span><span style="color:#3333ff;">"display<span style="color:#cc33cc;">:</span>none;"</span><span style="color:#000099;">&#62;</span><br />
...some html code here...<span style="color:#000099;"><br />
</span><span style="color:#000099;"><span style="color:#009900;">&#60;a href=</span><span style="color:#3333ff;">"#"</span> <span style="color:#009900;">onClick=</span><span style="color:#3333ff;">"<span style="font-weight:bold;">javascript:hideMsg(1)</span>"</span><span style="color:#009900;">&#62;</span><span style="color:#000000;"> Close</span><span style="color:#009900;"> &#60;/a&#62;<br />
</span></span><span style="color:#000099;">&#60;</span><span style="color:#000099;">div/</span><span style="color:#000099;">&#62;</span></p>
<p style="text-align:left;" dir="ltr"><span style="color:#ff6600;">&#60;input type=</span><span style="color:#3333ff;">"text"</span> <span style="color:#ff6600;">name=</span><span style="color:#3333ff;">"email"</span><span style="color:#ff6600;"> id=</span><span style="color:#3333ff;">"</span><span style="color:#3333ff;">email</span><span style="color:#3333ff;">"</span> <span style="color:#ff6600;">onfocus=</span><span style="color:#3333ff;">"<span style="font-weight:bold;">javascript:showMsg(2)</span>"</span><span style="color:#ff6600;">/&#62;<br />
</span><span style="color:#ff6600;">&#60;</span><span style="color:#ff6600;">input id=<span style="color:#3333ff;">"msgstatus" </span>type=<span style="color:#3333ff;">"hidden" </span>value=<span style="color:#3333ff;">"0"</span> /&#62;<br />
</span><span style="color:#000099;">&#60;div class="msg" id<span style="font-weight:bold;">=</span><span style="font-weight:bold;color:#3333ff;">"</span></span><span style="color:#3333ff;"><span style="font-weight:bold;">msg2</span>"</span> <span style="color:#000099;">style=</span><span style="color:#3333ff;">"display<span style="color:#cc33cc;">:</span>none;"</span><span style="color:#000099;">&#62;</span><br />
...some html code here...<span style="color:#000099;"><br />
</span><span style="color:#000099;"><span style="color:#009900;">&#60;a href=</span><span style="color:#3333ff;">"#"</span> <span style="color:#009900;">onClick=</span><span style="color:#3333ff;">"<span style="font-weight:bold;">javascript:hideMsg(2)</span>"</span><span style="color:#009900;">&#62;</span><span style="color:#000000;"> Close</span><span style="color:#009900;"> &#60;/a&#62;</span></span><br />
<span style="color:#000099;">&#60;</span><span style="color:#000099;">div/</span><span style="color:#000099;">&#62;</span></p>
<p style="text-align:justify;">توجه کنید که در قطعه کد بالا از تگ div برای نمایش کادر پیام استفاده میشه. حالا اگر نیاز داشته باشید که تعداد فیلد های بیشتری بسازین و برای هر کدوم هم یه کادر پیام مجزا بذارین باید قسمت ID هر تگ div رو به صورت افزایشی نامگذاری کنید. مثلا msg3 ، msg4 . از طرف دیگه باید شماره هر کادر رو هم با تابع <em>showMsg</em> اعلام کنید.</p>
<p style="text-align:right;">
<p style="text-align:right;"><strong>مرحله 3 : توابع Javascript </strong></p>
<p style="text-align:justify;">الان نوبت این هست که کدهای جاوا اسکریپتی رو که قرار هست باعث نمایان شدن و غیب شدن پیام ها میشه در قسمت head فایل خودمون درج کنیم. بلو اولی برای نمایان کردن پیام هست و دومی برای غیب کردنش.</p>
<p style="text-align:justify;">
<div dir="ltr"><span style="color:#cc0000;">&#60;script language=</span><span style="color:#3333ff;">"javascript"</span><span style="color:#cc0000;">&#62;</span><br />
<span style="font-weight:bold;">function</span> showMsg<span style="font-weight:bold;color:#000099;">(</span>idElement<span style="font-weight:bold;color:#000099;">){</span><br />
idEl<span style="color:#3333ff;">= </span>idElement<span style="font-weight:bold;color:#000099;">;</span><br />
statusMenu <span style="color:#3333ff;">=</span> document.getElementById<span style="font-weight:bold;color:#000099;">(</span><span style="color:#3333ff;">'msgstatus'</span><span style="font-weight:bold;color:#000099;">);</span><br />
<span style="font-weight:bold;color:#000099;"> if(</span>statusMenu.value<span style="color:#3333ff;">=</span><span style="color:#3333ff;">=</span><span style="color:#ff0000;">0</span><span style="font-weight:bold;color:#000099;">){</span><br />
statusMenu.value<span style="color:#3333ff;">=</span>1;<br />
Effect.toggle<span style="font-weight:bold;color:#000099;">(</span><span style="color:#3333ff;">'msg'</span>+idEl<span style="color:#3333ff;">,</span> <span style="color:#3333ff;">'appear'</span><span style="font-weight:bold;color:#000099;">);</span> <span style="font-weight:bold;color:#000099;">return false;</span><br />
<span style="font-weight:bold;color:#000099;"> }</span><br />
<span style="font-weight:bold;color:#000099;">}</span></div>
<div dir="ltr">
<div><span style="font-weight:bold;">function</span> hideMsg<span style="font-weight:bold;color:#000099;">(</span>idElement<span style="font-weight:bold;color:#000099;">){</span><br />
idEl<span style="color:#3333ff;">= </span>idElement<span style="font-weight:bold;color:#000099;">;</span><br />
statusMenu <span style="color:#3333ff;">=</span> document.getElementById<span style="font-weight:bold;color:#000099;">(</span><span style="color:#3333ff;">'msgstatus'</span><span style="font-weight:bold;color:#000099;">);</span><br />
<span style="font-weight:bold;color:#000099;"> if(</span>statusMenu.value<span style="color:#3333ff;">=</span><span style="color:#3333ff;">=</span><span style="color:#ff0000;">1</span><span style="font-weight:bold;color:#000099;">){</span><br />
statusMenu.value<span style="color:#3333ff;">=</span><span style="color:#ff0000;">0</span>;<br />
Effect.toggle<span style="font-weight:bold;color:#000099;">(</span><span style="color:#3333ff;">'msg'</span>+idEl<span style="color:#3333ff;">,</span> <span style="color:#3333ff;">'appear'</span><span style="font-weight:bold;color:#000099;">);</span> <span style="font-weight:bold;color:#000099;">return false;</span><br />
<span style="font-weight:bold;color:#000099;"> }</span><br />
<span style="font-weight:bold;color:#000099;">}</span></div>
<div><span style="color:#cc0000;">&#60;/script&#62;</span></div>
</div>
<div style="text-align:justify;">تمام شد! تبریک میگم به همین سادگی شما تونستید  کارایی و قابلیت فرم های خودتون رو بالا ببرید و تجربه دلچسب تری رو برای کاربر نهایی رغم بزنید.</div>
<div style="text-align:justify;"></div>
<div style="text-align:justify;"><a href="http://feeds.feedburner.com/~r/Woork/~3/269638022/improve-form-usability-with-auto.html" target="_blank">منبع</a></div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[تولید کلمه عبور تصادفی در PHP]]></title>
<link>http://silvercover.wordpress.com/?p=33</link>
<pubDate>Wed, 09 Apr 2008 21:10:57 +0000</pubDate>
<dc:creator>silvercover</dc:creator>
<guid>http://silvercover.fa.wordpress.com/2008/04/09/%d8%aa%d9%88%d9%84%db%8c%d8%af-%da%a9%d9%84%d9%85%d9%87-%d8%b9%d8%a8%d9%88%d8%b1-%d8%aa%d8%b5%d8%a7%d8%af%d9%81%db%8c-%d8%af%d8%b1-php/</guid>
<description><![CDATA[یکی از اصول ساده امنیتی که رعایت کردن اون کمک به سزایی د]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;">یکی از اصول ساده امنیتی که رعایت کردن اون کمک به سزایی در ارتقا سطح امنیتی وب سایت میکنه، تولید کلمه عبور تصادفی در مواقع نیاز هست. به عنوان مثال اگر شما از توابع رمزگذاری یکطرفه همچون <a href="http://ir2.php.net/manual/en/function.md5.php" target="_blank">MD5</a> برای ذخیره کردن کلمه های عبور استفاده کرده باشین در هنگامی که کاربر کلمه عبورش رو فراموش میکنه و درخواست دریافت مجددش رو میکنه می تونین با بهره گیری از این تابع یک کلمه عبور تولید شده تصادفی که فاکتور های امنیتی درش رعایت شده رو تولید کنید و برای کاربر ارسال کنید. و اما کد تابع مورد نظر ما:</p>
<p style="text-align:justify;">
<p style="text-align:left;" dir="ltr"><strong><span style="color:#0000ff;">&#60;?php</span></strong></p>
<p dir="ltr"><span style="color:#8b008b;">function</span> make_password($num_chars) {<br />
<span style="color:#8b008b;"> if</span> ((is_numeric($num_chars)) &#38;&#38;<br />
($num_chars &#62; <span style="color:#ff0000;">0</span>) &#38;&#38;<br />
(! is_null($num_chars))) {</p>
<p dir="ltr">$password = <span style="color:#339966;">''</span>;<br />
$accepted_chars = <span style="color:#339966;">'abcdefghijklmnopqrstuvwxyz1234567890'</span>;</p>
<p dir="ltr"><span style="color:#ff6600;">// تغذیه کردن مولد پسورد که در نسخه های قدیمی پی اچ پی مرسوم هست</span><br />
srand(((int)((double)microtime()*<span style="color:#ff0000;">1000003</span>)) );</p>
<p dir="ltr"><span style="color:#8b008b;">for</span> ($i=<span style="color:#ff0000;">0</span>; $i&#60;=$num_chars; $i++) {<br />
$random_number = rand(<span style="color:#ff0000;">0</span>, (strlen($accepted_chars) -<span style="color:#ff0000;">1</span>));<br />
$password .= $accepted_chars[$random_number] ;<br />
}</p>
<p dir="ltr"><span style="color:#8b008b;">return</span> $password;<br />
}<br />
}<br />
<span style="color:#0000ff;"><strong> ?&#62;</strong></span></p>
<p style="text-align:justify;" dir="rtl">همون طور که مشخص هست این تابع نیاز به یک پارامتر ورودی داره که وظیفش مشخص کردن طول رشته کلمه عبور تولیدی هست. وقتی که تابع مقدار طول رشته رو دریافت میکنه ابتدا اون رو بررسی میکنه که مقداری عددی و بزرگتر از صفر باشه. در ادامه متغیر password$ اماده سازی میشه. پس از اون بازه حروف و اعداد توسط متغیر accepted_char$ تعریف میشه که در نهایت مولفه های کلمه عبور تولیدی از بین همین موارد انتخاب خواهند شد. شما می تونین موارد دلخواه خودتون از جمله حروف بزرگ لاتین و سایر کاراکتر ها رو به این رشته اضاف کنید.</p>
<p style="text-align:justify;" dir="rtl">در نهایت در حلقه پایانی به تعداد مشخص شده از رشته درون accepted_char$ کاراکتر ها به صورت تصادفی انتخاب می شن و در کنار هم قرار میگیرند. در خاتمه کلمه عبور تولید شده به برنامه فراخواننده توسط return ارسال میشه تا مورد استفاده قرار بگیره.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[پیوستن به وب 2 با Adobe AIR]]></title>
<link>http://silvercover.wordpress.com/2008/03/30/%d9%be%db%8c%d9%88%d8%b3%d8%aa%d9%86-%d8%a8%d9%87-%d9%88%d8%a8-2-%d8%a8%d8%a7-adobe-air/</link>
<pubDate>Sun, 30 Mar 2008 11:12:29 +0000</pubDate>
<dc:creator>silvercover</dc:creator>
<guid>http://silvercover.fa.wordpress.com/2008/03/30/%d9%be%db%8c%d9%88%d8%b3%d8%aa%d9%86-%d8%a8%d9%87-%d9%88%d8%a8-2-%d8%a8%d8%a7-adobe-air/</guid>
<description><![CDATA[(Adobe AIR (Adobe Integrated Runtime یک نوآوری است که برنامه های حوضه دس]]></description>
<content:encoded><![CDATA[<p align="justify"><img src="http://silvercover.wordpress.com/files/2008/03/adobe_air.png" alt="adobe_air.png" align="left" border="0" />(Adobe AIR (Adobe Integrated Runtime یک نوآوری است که برنامه های حوضه دسکتاپ و اینترنت رو با هم ترکیب می کنه و ضرورت استفاده از مرورگر جهت بهره گیری از برنامه های تحت وب رو از میان بر می داره. از منظر یک توسعه گر وب، کار این برنامه اجرای برنامه های تحت وب بدون نیاز به مرورگر و مستقیما بر روی دسکتاپ هست.</p>
<p align="justify"> در این تکنولوژی جدید از سایر فن آوری ها و زبان های تحت وب موجود همچون HTML, Dreamweaver, Flash و... بهره برده می شه که همه این ها بر روی سکوی AIR پیاده سازی می شن. بدین ترتیب برنامه های ساخته شده با این تکنولوژی ماهیتی پویا پیدا می کنن، چرا که از پتانسیل برنامه های تحت وب و شاهراه اینترنت بهره می برن تا بیشتر محتویات مورد نیاز برنامه رو از طریق اینترنت تامین کنن.</p>
<p align="justify"> همون طور که گفته شد هدف از AIR فراهم آوردن محیطی است که در اون بتوان برنامه های تحت وب مثل <a href="http://docs.google.com/" target="_blank">Google Docs</a> رو بدون نیاز به مرورگر و در حالت آفلاین اجرا کرد. بدین صورت که تمامی کارهایی رو که به صورت آنلاین امکان پذیر هست رو در محیطی آفلاین انجام خواهیم داد  و به هنگام اتصال به اینترنت تمامی تغییرات و دستورات ما اعمال خواهد شد. علاوه بر این ویژگی AIR مستقل از پلتفرم هست، بدین معنا که بر روی سیستم عامل های معروف به راحتی اجرا خواهد شد. ( البته نسخه لینوکسی در حال حاضر در حال توسعه هست).</p>
<p align="justify">AIR با بهره گیری از ویژگی های دسکتاپ همچون کنترل های ویژوال و رویداد هایی همچون کشیدن و انداختن ( Drag &#38; Drop ) و ترکیب اون ها با ویژگی های برنامه های تحت وب تجربه جدید و دلچسبی را برای کاربران به ارمغان خواهد آورد. همون طوری که تکنولوژی AJAX تونسته وب رو به سطحی بالاتر ارتقا بده.</p>
<p align="justify"> از زمان ظهور AIR مدت زیادی نمیگذره، اما با این وجود شرکت های صاحب نامی همچون eBay به سمت استفاده از این تکنولوژی رفتن که نمونش رو میشه در قسمت <a href="http://desktop.ebay.com" title="eBay Desktop" target="_blank">eBay Desktop</a>  مشاهده کرد. با استفاده ازاین دسکتاپ میشه بدون نیاز به مرورگر به قسمت مزایده سایت eBay دسترسی داشت. در حالت عادی نیاز هست که شما با حساب کاربری خودتون به صورت آنلاین و زنده وارد سایت بشین و در مزایده ها شرکت کنید. اما حالا با استفاده از این دسکتاپ ساخته شده بر مبنای AIR میشه همه این کارها از وارد شدن به حساب کاربری تا شرکت در مزایده رو به صورت آفلاین انجام داد و در زمانی دیگر به هنگام آنلاین شده به سایت اصلی ارسال کرد.</p>
<p align="justify"> لازمه استفاده از برنامه های مبتنی بر AIR داشتن افزودنی اجرا کننده اون ( همانند فلش پلیر) هست که از طریق <a href="http://get.adobe.com/air/" title="Download Adobe AIR" target="_blank">این آدرس</a> به صورت رایگان قابل دریافت هست. نصب این افزودنی بسیار ساده هست و پس از نصب از طریق میانبر های ایجاد شده قابل دسترس خواهد بود. از طریق <a href="http://www.adobe.com/products/air/tools/" target="_blank">این آدرس</a> هم میشه کیت توسعه نرم افزاری (SDK) اون رو هم به منظور ساخت و توسعه برنامه های مبتنی بر AIR دریافت کرد.</p>
<p align="justify"> از نقطه نظر امنیتی هم روی این تکنولوژی کار شده و به هنگام اجرای برنامه ها از طریق امضای دیجیتالی مشخص میشه که کدام برنامه ها معتبر هستن و کدامیک دارای امضا نیستن و هویتشون ناشناخته هست. با امضای دیجیتالی ضمیمه شده به راحتی میشه به هویت سازندگان برنامه پی برد و از بابت کارکرد امن و مطمئن برنامه اطمنیان پیدا کرد.</p>
<p align="justify">به هر حال با همه این تفاسیر AIR در ابتدای راه خودش هست و آینده درخشانی همچون Flash در انتظارش هست. این روز ها با توسعه اینترنت و نیاز روز افزون کاربران بهره گیری از چنین فن آوری هایی ضرورت پیدا میکنه و از طرف دیگه باعث میشه که پویایی و کارایی برنامه های مبتنی بر وب بهتر و بیشتر بشه. به هر حال توسعه دهندگان و برنامه نویسان نباید از حضور این فن آوری غافل بشن وباید به صورت از چنین فن آوری هایی جهت بودن در کورس رقابت استفاده کنند.</p>
]]></content:encoded>
</item>

</channel>
</rss>
