<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Keepondev</title>
	<atom:link href="http://keepondev.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://keepondev.wordpress.com</link>
	<description></description>
	<lastBuildDate>Wed, 21 Oct 2009 19:36:30 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>ar</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='keepondev.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/67c38c978c7f20a40cb393926093baa5?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Keepondev</title>
		<link>http://keepondev.wordpress.com</link>
	</image>
			<item>
		<title>Kzalek</title>
		<link>http://keepondev.wordpress.com/2009/10/21/kzalek/</link>
		<comments>http://keepondev.wordpress.com/2009/10/21/kzalek/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 00:20:21 +0000</pubDate>
		<dc:creator>mostafa farghaly</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://keepondev.wordpress.com/?p=970</guid>
		<description><![CDATA[السلام عليكم و رحمه الله تعالى و بركاته

منذ يومين أعطيت تطبيقى الجديد Kzalek للبيتا تسترز حتى يختبروا التطبيق و اسمع كل اقتراحاتهم و ارائهم ، Kzalek عباره عن تطبيق AIR بالطبع يعمل على ويندوز و ماك و لينوكس وظيفته تسهيل التعامل مع موقع تويتر على سبيل المثال بدلا من فتح المتصفح لعده ساعات و عمل [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=970&subd=keepondev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;" dir="rtl">السلام عليكم و رحمه الله تعالى و بركاته</p>
<p style="text-align:center;" dir="rtl"><img class="alignnone size-full wp-image-972" title="ss2" src="http://keepondev.files.wordpress.com/2009/10/ss2.png?w=425&#038;h=625" alt="ss2" width="425" height="625" /></p>
<p style="text-align:right;" dir="rtl">منذ يومين أعطيت تطبيقى الجديد Kzalek للبيتا تسترز حتى يختبروا التطبيق و اسمع كل اقتراحاتهم و ارائهم ، Kzalek عباره عن تطبيق AIR بالطبع يعمل على ويندوز و ماك و لينوكس وظيفته تسهيل التعامل مع موقع تويتر على سبيل المثال بدلا من فتح المتصفح لعده ساعات و عمل ريفرش لمعرفه كل جديد ، يمكنك وضع التطبيق فى ال TaskBar او ال Dock و سوف ينبهك بكل جديد بتنبيهات شبيهه ب Mac Growl ، يحتوى التطبيق على المميزات الاساسيه لموقع تويتر مصل استقبال و ارسال التويتات و الردود و الرسائل المباشره و وضع التويتات فى المفضله &#8230; الخ و يزيد على موقع تويتر ببعض المميزات الغير موجوده فيه مثل دعم اللغه العربيه و ترجمه التويتات من اى لغه إلى العربيه و إطاله و تقصير الروابط و إرسال الصور إلى تويتر و رؤيتها داخل التويت inline و الكثير من المميزات الاخرى .</p>
<p style="text-align:center;" dir="rtl"><img class="alignnone size-full wp-image-973" title="kzalek notifications" src="http://keepondev.files.wordpress.com/2009/10/kzalek-notifications.png?w=329&#038;h=346" alt="kzalek notifications" width="329" height="346" /></p>
<p style="text-align:right;" dir="rtl">جاء رد الفعل غير متوقع تماما بالنسبه لى ، هذا حوار مع مدونه عرب كرنش <a href="http://www.arabcrunch.com/2009/10/breaking-kzalek-first-twitter-arabic-desktop-app-beta-launched-supports-all-platforms-farisi-ui-planned.html">باللغه الانجليزيه</a> و هذا <a href="http://www.arabcrunch.com/ar/2009/10/kzalek-frist-twitter-arabic-desktop-app/">باللغه العربيه</a> ، و هذه <a href="http://www.egyptian.ws/kzalek-first-arabic-twitter-application/">تدوينه</a> فى مدونه صديقى شاب مصرى ، و هذه <a href="http://search.twitter.com/search?q=kzalek">أراء المستخدمين</a> على تويتر ، و هذه <a href="http://3rbtwitter.blogspot.com/2009/10/blog-post_20.html">تدوينه</a> على مدونه تويتر العرب ، و <a href="http://twitter.com/keepOnDev/status/5029940078">الإحصائيات</a> جيدة جدا خلال يومين مع العلم ان التطبيق مازال به الكثير من الاخطاء و ميزات ناقصه ،  و رسائل كثير على البريد الالكترونى من شركات تعرض على العمل معهم بأجر و اخرون يتطوعوا فى تصميم و برمجه Kzalek ، و اخرون يريدون المساعده فى دمج API خدماتهم مع Kzalek .</p>
<p style="text-align:right;" dir="rtl"><strong>تحديث :</strong></p>
<p style="text-align:right;" dir="rtl">من مدونه عالم التقنيه : <a href="http://www.tech-wd.com/wd/2009/10/21/kzalek/">تقرير تجربتنا الخاصه حول برنامج kzalek</a><br />
من مدونه lollwa :  <a href="http://www.lollwa.com/blog/2009/10/21/kzalek/">تطبيق kzalek</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/keepondev.wordpress.com/970/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/keepondev.wordpress.com/970/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/keepondev.wordpress.com/970/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/keepondev.wordpress.com/970/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/keepondev.wordpress.com/970/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/keepondev.wordpress.com/970/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/keepondev.wordpress.com/970/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/keepondev.wordpress.com/970/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/keepondev.wordpress.com/970/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/keepondev.wordpress.com/970/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=970&subd=keepondev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://keepondev.wordpress.com/2009/10/21/kzalek/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15d0ecbb13e07887f18af5202b2cfe7c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">keepondev</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/10/ss2.png" medium="image">
			<media:title type="html">ss2</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/10/kzalek-notifications.png" medium="image">
			<media:title type="html">kzalek notifications</media:title>
		</media:content>
	</item>
		<item>
		<title>محاضرتين من لقاء مجموعه BayJax الاخير</title>
		<link>http://keepondev.wordpress.com/2009/09/20/two-bayjax-group-video-lectures/</link>
		<comments>http://keepondev.wordpress.com/2009/09/20/two-bayjax-group-video-lectures/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 18:49:40 +0000</pubDate>
		<dc:creator>mostafa farghaly</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://keepondev.wordpress.com/?p=965</guid>
		<description><![CDATA[السلام عليكم و رحمه الله تعالى و بركاته

فى هذا الشهر سبتمبر 2009 القيت عده محاضرات من اعضاء مجموعه BayJax بياهو ، منها محاضره the JSON Saga التى وضعتها هنا فى المدونه من قبل ، نشرت مدونه YUI منذ يومين محاضرتين من فعاليات لقاء المجموعه فى اخر الموضوع بالمدونه ستجد محاضرات لم اذكرها هنا اذا مهتم [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=965&subd=keepondev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;">السلام عليكم و رحمه الله تعالى و بركاته</p>
<p style="text-align:right;"><img class="alignnone size-full wp-image-966" title="Nicholas Zackas  at BayJax 9-2009 meeting talking about Scalable JavaScript Architecture" src="http://keepondev.files.wordpress.com/2009/09/nicholas-zackas-at-bayjax-9-2009-meeting-talking-about-scalable-javascript-architecture.jpg?w=450&#038;h=298" alt="Nicholas Zackas  at BayJax 9-2009 meeting talking about Scalable JavaScript Architecture" width="450" height="298" /></p>
<p style="text-align:right;" dir="rtl">فى هذا الشهر سبتمبر 2009 القيت عده محاضرات من اعضاء مجموعه BayJax بياهو ، منها محاضره <a href="http://keepondev.wordpress.com/2009/08/13/the-json-saga-video-lecture/">the JSON Saga</a> التى وضعتها هنا فى المدونه من قبل ، نشرت <a href="http://www.yuiblog.com/blog/2009/09/17/video-bayjax-sept-09/">مدونه YUI</a> منذ يومين محاضرتين من فعاليات لقاء المجموعه فى اخر الموضوع بالمدونه ستجد محاضرات لم اذكرها هنا اذا مهتم ، المحاضره الاول بعنوان Scalable JavaScript architecture عن كيفيه برمجه تطبيقات جافاسكربت عاليه الكفاءه و scalable اعطاها Nicholas Zakas مؤلف كتاب WROX: JavaScript for web developers &#8211; الكتاب لابد ان يقرأه اى شخص يكتب جافاسكربت فى المتصفح &#8211; و يعمل مهندس بياهو  و يعمل على مكتبه YUI ، يمكنك تحميل المحاضره <a href="http://yuiblog.com/yuitheater/zakas-architecture.m4v">من هنا</a> . أما المحاضره التانيه اعطاها كلا من Isaac Schlueter و Matt Hackett تحدثوا عن برمجه السيرفر بجافاسكربت يمكنك تحميلها <a href="http://yuiblog.com/yuitheater/isaac-ssjs.m4v">من هنا</a> . <span style="background-color:#ffffff;">اتمنى لكم و لنفسى مشاهده ممتعه .</span></p>
<p style="text-align:right;" dir="rtl"><span style="background-color:#ffffff;"><span style="color:#888888;"><span style="background-color:#ffffcc;">خارج النص </span></span>: أقوم حاليا بكتابه مجموعه عن المواضيع ضمن سلسله جديده ان شاء الله عن جافاسكربت و البرمجه الوظيفيه ، فإذا كنت مدمن Haskel او Erlang او اى لغه وظيفيه اخرى فإنك ستتعجب من كيفيه برمجه الجافاسكربت وظيفيا و كيف ان مرونتها تجعلك تستخدمها بأى طريقه تشاء .</span></p>
<p style="text-align:right;" dir="rtl">
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/keepondev.wordpress.com/965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/keepondev.wordpress.com/965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/keepondev.wordpress.com/965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/keepondev.wordpress.com/965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/keepondev.wordpress.com/965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/keepondev.wordpress.com/965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/keepondev.wordpress.com/965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/keepondev.wordpress.com/965/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/keepondev.wordpress.com/965/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/keepondev.wordpress.com/965/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=965&subd=keepondev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://keepondev.wordpress.com/2009/09/20/two-bayjax-group-video-lectures/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15d0ecbb13e07887f18af5202b2cfe7c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">keepondev</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/09/nicholas-zackas-at-bayjax-9-2009-meeting-talking-about-scalable-javascript-architecture.jpg" medium="image">
			<media:title type="html">Nicholas Zackas  at BayJax 9-2009 meeting talking about Scalable JavaScript Architecture</media:title>
		</media:content>
	</item>
		<item>
		<title>كتاب O&#8217;Reilly even faster web sites</title>
		<link>http://keepondev.wordpress.com/2009/09/15/oreilly-even-faster-web-sites/</link>
		<comments>http://keepondev.wordpress.com/2009/09/15/oreilly-even-faster-web-sites/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 20:07:01 +0000</pubDate>
		<dc:creator>mostafa farghaly</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[comet]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[oreilly]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[thrading]]></category>

		<guid isPermaLink="false">http://keepondev.wordpress.com/?p=952</guid>
		<description><![CDATA[السلام عليكم و رحمه الله تعالى و بركاته


انتهيت من فتره من قراءه كتاب O&#8217;Reilly Even Faster Web Sites ، الكتاب ليس إصدار ثانى لكتاب O&#8217;Reilly high performance web sites من تأليف نفس الكاتب Steve Souders و لكنه يبدأ من حيث انتهى high performance web sites حيث يحتوى على الكثير من الابحاث و التكنيكات الجديده فى [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=952&subd=keepondev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;" dir="rtl">السلام عليكم و رحمه الله تعالى و بركاته</p>
<p style="text-align:right;" dir="rtl"><img class="alignnone size-full wp-image-955" title="oreilly even faster web sites" src="http://keepondev.files.wordpress.com/2009/09/oreilly-even-faster-web-sites.jpg?w=200&#038;h=200" alt="oreilly even faster web sites" width="200" height="200" /></p>
<p style="text-align:right;" dir="rtl">
<p style="text-align:right;" dir="rtl">انتهيت من فتره من قراءه كتاب <a href="http://www.amazon.com/Even-Faster-Web-Sites-Performance/dp/0596522304/ref=cm_cr_pr_product_top">O&#8217;Reilly Even Faster Web Sites</a> ، الكتاب ليس إصدار ثانى لكتاب <a href="http://www.amazon.com/High-Performance-Web-Sites-Essential/dp/0596529309/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1253027078&amp;sr=8-1">O&#8217;Reilly high performance web sites</a> من تأليف نفس الكاتب Steve Souders و لكنه يبدأ من حيث انتهى high performance web sites حيث يحتوى على الكثير من الابحاث و التكنيكات الجديده فى مجال كفاءه ال front-end ، ساعد فى تأليف الكتاب مع Steve Souders الكثير من الاسماء المعروفه فى مجال ال front-end ، مثل Douglas Crockford مكتشف لغه تبادل البيانات JSON الذى كتب الفصل الاول يتحدث فيه عن كفائه تطبيقات الاجاكس ، و الفصل الثانى كتبه Dion Almaer و Ben Galbraith اصحاب مدونه Ajaxian و تحدثوا فيه عن الإستجابه responsiveness و ال threading ، و الفصل الثالث كتبه Steve Souders يتحدث فيه عن كيفيه تأجيل تحميل وظائف الجافاسكربت عند استخدامها و إستخدام المطلوب منها فقط عند بدايه الوثيقه ، و الفصل الرابع تناول فيه Steve Souders كيفيه تحميل ملفات الجافاسكربت بالتوازى parallel download حيث ان طبيعه تحميل ملفات الجافاسكربت انها تمنع اى مورد من التحميل معها block download حتى تنتهى و تأثير ذلك على ترتيب تنفيذ كود الجافاسكربت Execution order و ال user experience ، و الفصل الخامس يتناول فيه Steve كيفيه ربط الكود ال inline ليتم تنفيذه فقط بعد تحميل الملفات الذى يعتمد عليها من الشبكه بالتوازى بدون عمل blocking و مثال على ذلك من مكتبه DoJo و مكتبه YUI ، و الفصل السادس يتناول فيه Steve تأثيركود الجافاسكربت ال inline على رسم الصفحه rendering و على ظهور تأثيرات ال CSS و الترتيب المناسب لملفات الجافاسكربت و ال CSS ، و الفصل السابع يتناول كيفيه كتابه كود جافاسكربت أسرع فى التنفيذ يكتبه Nicholas Zackas كاتب Wrox: JavaScript for Web developers ، و الفصل الثامن يتناول كفاءه تطبيقات ال comet او ماتعرف بالاجاكس العكسى حيث يبدأ السيرفر الطلب و ليس ال client و يستخدم فى التطبيقات التفاعليه و الreal time كتبه Dylan Schiemann الذى يرأس SitePen و مؤسس Dojo ، و الفصل التاسع يتناول به Tony Gentilcore مهندس بجوجل كيفيه تحسين الكفاءه للمستخدمين الذين لا يستطيعون الحصول على مميزات ال gzipping ، و الفصل العاشر يتناول تأثير الصور على كفاءه التطبيق و كيفيه تحسينها و تقليل حجمها و إستخدام ال CSS sprites و إستخدام command line لمعالجه الصور على السيرفر ديناميكا للحصول على اعلى جود و أصغر حجم يكتبه Nichole Sullivan صاحبه فكره ال CSS الموجه بالكائنات و Stoyan Stefanov مؤلف كتاب Object oriented JavaScript و الاثنين يعملان بياهو ، و الفصل الحادى عشر يتناول كيفيه إستخدام اكثر من دومين للحصول على اكثر من إتصال HTTP بالتوازى يكتبه Steve ، و الفصل التانى عشر يتحدث فيه Steve عن Chunked encoding و كيفيه استخدام ال buffer لزياده كفاءه تطبيقات الويب التى تعتمد على حجم بيانات كبير ، و الفصل التالت عشر يتحدث عن تأثير إستخدام ال iframes كتبه Steve ، و الفصل الرابع عشر يتحدث عن تأثير ال CSS selectors على كفاءه و سرعه اظهار العناصر renderning فى التطبيق و سبل كتابه CSS selectors اسرع و افضل و ال selectors التى يجب عليك تجنبها ، و فى نهايه الكتاب مرجع صغير عن الادوات التى تستخدم فى قياس الكفاءه .</p>
<p style="text-align:right;" dir="rtl"><span style="color:#888888;"><span style="background-color:#ffffcc;">أنص بشده قراءه هذا الكتاب </span></span>، فهو غنى جدا بالمعلومات و سيجعلك متقدما اكثر فى مجال ال front-end و ، و ان لم تقرأ كتاب O&#8217;Reilly High performance web sites فأنا انصحك ايضا بقرائته بشده ، لأن الكتاب الجديد يعتمد عليه فى بعض المناطق و به ابحاث و بعد التكنيكات الرائعه لترقيه كفاءه تطبيقات الانترنت .</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/keepondev.wordpress.com/952/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/keepondev.wordpress.com/952/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/keepondev.wordpress.com/952/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/keepondev.wordpress.com/952/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/keepondev.wordpress.com/952/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/keepondev.wordpress.com/952/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/keepondev.wordpress.com/952/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/keepondev.wordpress.com/952/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/keepondev.wordpress.com/952/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/keepondev.wordpress.com/952/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=952&subd=keepondev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://keepondev.wordpress.com/2009/09/15/oreilly-even-faster-web-sites/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15d0ecbb13e07887f18af5202b2cfe7c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">keepondev</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/09/oreilly-even-faster-web-sites.jpg" medium="image">
			<media:title type="html">oreilly even faster web sites</media:title>
		</media:content>
	</item>
		<item>
		<title>المحاضره العاشره من مؤتمر JSConf2009</title>
		<link>http://keepondev.wordpress.com/2009/08/24/axiom-stack-serverside-javascript-jsconf2009/</link>
		<comments>http://keepondev.wordpress.com/2009/08/24/axiom-stack-serverside-javascript-jsconf2009/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 14:30:31 +0000</pubDate>
		<dc:creator>mostafa farghaly</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://keepondev.wordpress.com/?p=942</guid>
		<description><![CDATA[السلام عليكم و رحمه الله تعالى و بركاته

وضع منظموا مؤتمر JavaScript Conference 2009 المحاضره العاشره ، اعطاها Nick Campell بعنوان Axiom stack: Serverside JavaScript عرض من خلالها منصه Axiom stack لإستخدام JavaScript لبرمجه السيرفر يمكنك مشاهده المحاضره من هنا ، المحاضرات السابقه كلها ستجدها هنا .

Nick presents the adventures of Timmy through the (stick) world [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=942&subd=keepondev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;" dir="rtl">السلام عليكم و رحمه الله تعالى و بركاته</p>
<p style="text-align:center;" dir="rtl"><img class="alignnone size-full wp-image-945" title="Axiom Stack Server Side JavaScrip video lecture at JSConf2009" src="http://keepondev.files.wordpress.com/2009/08/axiom-stack-server-side-javascrip-video-lecture-at-jsconf2009.jpg?w=450&#038;h=253" alt="Axiom Stack Server Side JavaScrip video lecture at JSConf2009" width="450" height="253" /></p>
<p style="text-align:right;" dir="rtl">وضع منظموا مؤتمر JavaScript Conference 2009 المحاضره العاشره ، اعطاها Nick Campell بعنوان Axiom stack: Serverside JavaScript عرض من خلالها منصه Axiom stack لإستخدام JavaScript لبرمجه السيرفر يمكنك مشاهده المحاضره <a href="http://www.jsconf2009.com/campbell_video.html">من هنا</a> ، المحاضرات السابقه كلها <a href="http://keepondev.wordpress.com/tag/video">ستجدها هنا</a> .</p>
<blockquote>
<p style="text-align:left;" dir="rtl">Nick presents the adventures of Timmy through the (stick) world of web programming in order to illustrate the need, beauty, and reality of Server Side JavaScript programming using Axiom Stack. Nick presents the variety of issues that happen when writing templates, multi-language development, and database schema handling. The Axiom Stack provides you with the ability to leverage one language, the web language of JavaScript, to create powerful and wide reaching web applications</p>
</blockquote>
<p style="text-align:right;" dir="rtl">
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/keepondev.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/keepondev.wordpress.com/942/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/keepondev.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/keepondev.wordpress.com/942/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/keepondev.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/keepondev.wordpress.com/942/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/keepondev.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/keepondev.wordpress.com/942/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/keepondev.wordpress.com/942/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/keepondev.wordpress.com/942/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=942&subd=keepondev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://keepondev.wordpress.com/2009/08/24/axiom-stack-serverside-javascript-jsconf2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15d0ecbb13e07887f18af5202b2cfe7c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">keepondev</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/08/axiom-stack-server-side-javascrip-video-lecture-at-jsconf2009.jpg" medium="image">
			<media:title type="html">Axiom Stack Server Side JavaScrip video lecture at JSConf2009</media:title>
		</media:content>
	</item>
		<item>
		<title>تاريخ استطيع قرائته</title>
		<link>http://keepondev.wordpress.com/2009/08/24/dateicanread-js/</link>
		<comments>http://keepondev.wordpress.com/2009/08/24/dateicanread-js/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 12:41:59 +0000</pubDate>
		<dc:creator>mostafa farghaly</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[date]]></category>

		<guid isPermaLink="false">http://keepondev.wordpress.com/?p=934</guid>
		<description><![CDATA[السلام عليكم و رحمه الله تعالى و بركاته
اقوم حاليا ببرمجه تطبيق شبيه بقارىء rss ، و كنت بحاجه لتحويل التاريخ الذى كتب فيه الموضوع إلى صيغه يسهل قرائتها بحيث يحول تاريخ قديم مثل Mon Aug 24 2:30:00 2009 إلى منذ ساعه و 30 دقيقه ، بعد بحث بسيط وجدت وظيفه بإسم prettyDate كتبها john resig مطور ال jQuery ، [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=934&subd=keepondev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;" dir="rtl">السلام عليكم و رحمه الله تعالى و بركاته</p>
<p style="text-align:right;" dir="rtl">اقوم حاليا ببرمجه تطبيق شبيه بقارىء rss ، و كنت بحاجه لتحويل التاريخ الذى كتب فيه الموضوع إلى صيغه يسهل قرائتها بحيث يحول تاريخ قديم مثل <strong>Mon Aug 24 2:30:00 2009</strong> إلى <strong>منذ ساعه و 30 دقيقه</strong> ، بعد بحث بسيط وجدت وظيفه بإسم <a href="http://ejohn.org/files/pretty.js">prettyDate</a> كتبها <a href="http://ejohn.org/blog/javascript-pretty-date/">john resig</a> مطور ال <a href="http://www.jquery.com">jQuery</a> ، لكنها لن تعمل معى لأنها تعطى الفرق بالدقيقه و الساعه و اليوم و الاسبوع و انا ااريدها ان تعمل من الثانيه حتى السنه ، ثم ان prettyDate مقتصره على تحويل الوحدات إلى اللغه الانجليزيه فقط مثل days و weeks &#8230; الخ ، و انا اريد وظيفه تتعامل بالعربيه مع العلم ان العربيه اكثر تعقيدا حيث هناك مفرد و مثنى و جمع و قواعدهم مختلفه مثل <strong>يوم</strong> ، يومين ، 3 ايام ، <strong>11 يوم</strong> ، لاحظ ان يوم تكررت فى المفرد و الجمع ههههههه <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  .</p>
<p style="text-align:right;" dir="rtl">قمت بكتابه وظيفه بإسم <a href="http://keepondev.com/dateICanRead.js">dateICanRead</a> تقبل تاريخ فى الماضى كنص او كائن من نوع Date و ترجع لك الفرق بصيغه مقروءه كما توضح الامثله التاليه :</p>
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">alert("منذ " + dateICanRead("Mon Aug 24 14:50:00 2009"));
<span style="color:#888888;">/*منذ دقيقتين و 30 ثانيه*/
<span style="color:#008000;">alert("منذ " + dateICanRead("Sun Aug 23 06:10:00 2009"));
<span style="color:#808080;">/*منذ يوم و 8 ساعات و 47 دقيقه و 17 ثانيه*/</span>
alert("منذ " + dateICanRead("Aug 11 00:00:00 2008"));
<span style="color:#808080;">/*منذ سنه و اسبوع و 6 ايام و 14 ساعه و 58 دقيقه و 30 ثانيه*/</span>
alert("منذ " + dateICanRead("Aug 12 00:00:00 2009"));
<span style="color:#808080;">/*منذ اسبوع و 5 ايام و 15 ساعه 8 دقائق و 38 ثانيه*/</span></span></span></span></pre>
<p style="text-align:right;" dir="rtl">الوظيفه dateICanRead تقبل عباره تانيه و هى عدد الوحدات التى تريدها كما توضح الامثله التاليه :</p>
<pre style="font:normal normal normal 12px/18px Consolas, Monaco, 'Courier New', Courier, monospace;text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;"><span style="color:#888888;"><span style="color:#008000;">alert("منذ " + dateICanRead("Aug 11 00:00:00 2008", <strong>1</strong>));
<span style="color:#808080;">/*منذ سنه*/</span>
alert("منذ " + dateICanRead("Aug 11 00:00:00 2008", <strong>2</strong>));
<span style="color:#808080;"> /*منذ سنه و اسبوع*/</span></span></span></span></pre>
<p style="text-align:right;" dir="rtl">يمكنك رؤيه الكود و تحيميل ملف dateICanRead.js <a href="http://keepondev.com/dateICanRead.js">من هنا</a> .</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/keepondev.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/keepondev.wordpress.com/934/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/keepondev.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/keepondev.wordpress.com/934/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/keepondev.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/keepondev.wordpress.com/934/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/keepondev.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/keepondev.wordpress.com/934/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/keepondev.wordpress.com/934/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/keepondev.wordpress.com/934/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=934&subd=keepondev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://keepondev.wordpress.com/2009/08/24/dateicanread-js/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15d0ecbb13e07887f18af5202b2cfe7c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">keepondev</media:title>
		</media:content>
	</item>
		<item>
		<title>فيديوهات و شرائح مؤتمر Velocity 2009</title>
		<link>http://keepondev.wordpress.com/2009/08/22/velocity-conference-2009-videos-and-slides/</link>
		<comments>http://keepondev.wordpress.com/2009/08/22/velocity-conference-2009-videos-and-slides/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 20:16:08 +0000</pubDate>
		<dc:creator>mostafa farghaly</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[videos]]></category>

		<guid isPermaLink="false">http://keepondev.wordpress.com/?p=931</guid>
		<description><![CDATA[السلام عليكم و رحمه الله تعالى و بركاته

اقيمت فعاليات مؤتمر Velocity 2009 يوم 22/6 بسان جوز بولايه كاليفورينا و استمر لمده يومين حتى 24/6 ، المؤتمر الوحيد من نوعه المتخصص فى كفائه تطبيقات الانترنت بدايه من ال client حتى ال server و يتحدث بها افضل المهندسين مثل douglas crockford مخترع ال JSON و ben galbraith و dion almaer مدونين مدونه Ajaxian اللى [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=931&subd=keepondev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;" dir="rtl">السلام عليكم و رحمه الله تعالى و بركاته</p>
<p style="text-align:center;" dir="rtl"><img class="alignnone size-full wp-image-932" title="Ben Galbraith and Dion Almaer" src="http://keepondev.files.wordpress.com/2009/08/dion-almaer-and-ben-galbraith-at-velocity-2009.jpg?w=450&#038;h=299" alt="Ben Galbraith and Dion Almaer" width="450" height="299" /></p>
<p style="text-align:right;" dir="rtl">اقيمت فعاليات مؤتمر Velocity 2009 يوم 22/6 بسان جوز بولايه كاليفورينا و استمر لمده يومين حتى 24/6 ، المؤتمر الوحيد من نوعه المتخصص فى كفائه تطبيقات الانترنت بدايه من ال client حتى ال server و يتحدث بها افضل المهندسين مثل douglas crockford مخترع ال <a href="http://keepondev.wordpress.com/2009/07/04/native-json-api/">JSON</a> و ben galbraith و dion almaer مدونين مدونه Ajaxian اللى بالصوره اللى فوق و stoyan stefanov كاتب كتاب OO JavaScript من دار نشر packet و مهندس الكفاءه بياهو و غيرهم فى اشهر الشركات بالعالم كجوجل و مايكروسوفت و تويتر و ياهو و فيسبوك و امازون و غيرهم عن كيفيه ترقيه كفائه تطبيقات الانترنت على كل من المتصفح و الخادم  و ادوات اختبار الكفائه و اخر الابحاث التى تم نشرها فى مجال الكفاءه و بعضها من كتاب even faster web sites الذى سأتحدث عنه عندما اكمل قرائته ان شاء الله  ، هذه هى السنه التانيه للمؤتمر ، اقيم المؤتمر السنه الماضيه بعد النجاح الباهر الذى حققه كتاب High performance web sites من شركه اوريلى وكاتبه steve souders الذى يعمل مهندس بجوجل ، حيث انتبهت شركه اوريلى ان حدث مثل هذا مفقود بالرغم من اهميه الموضوع البالغه ، و بعد النجاح الساحق للمؤتمر فى سنته الاولى 2008 ، ها هى <a href="http://velocityconference.blip.tv/posts?view=archive&amp;nsfw=dc">فيديوهات</a> و <a href="http://en.oreilly.com/velocity2009/public/schedule/proceedings">شرائح</a> المؤتمر مؤتمر 2009 ، اتمنى لكم و لنفسى الإستفاده وزياده الخبره .</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/keepondev.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/keepondev.wordpress.com/931/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/keepondev.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/keepondev.wordpress.com/931/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/keepondev.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/keepondev.wordpress.com/931/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/keepondev.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/keepondev.wordpress.com/931/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/keepondev.wordpress.com/931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/keepondev.wordpress.com/931/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=931&subd=keepondev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://keepondev.wordpress.com/2009/08/22/velocity-conference-2009-videos-and-slides/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15d0ecbb13e07887f18af5202b2cfe7c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">keepondev</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/08/dion-almaer-and-ben-galbraith-at-velocity-2009.jpg" medium="image">
			<media:title type="html">Ben Galbraith and Dion Almaer</media:title>
		</media:content>
	</item>
		<item>
		<title>HTML5 storage الجزء الثانى</title>
		<link>http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/</link>
		<comments>http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 23:02:04 +0000</pubDate>
		<dc:creator>mostafa farghaly</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sqlite]]></category>

		<guid isPermaLink="false">http://keepondev.wordpress.com/?p=834</guid>
		<description><![CDATA[السلام عليكم و رحمه الله تعالى و بركاته
فى هذا الجزء أتناول كيفيه تخزين البيانات فى قاعده بيانات SQLite من خلال local JavaScript Database api
مقدمه
 إنشاء و فتح قاعده البيانات
 إنشاء جدول جديد
 إضافه بيانات للجدول
 إستخدام العبارات الجاهزه
 إختيار بيانات من الجدول
 التعامل مع اخطاء تنفيذ ال SQL
 أرقام الأخطاء و مدلولاتها
 التعامل مع اخطاء [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=834&subd=keepondev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;" dir="rtl">السلام عليكم و رحمه الله تعالى و بركاته</p>
<p style="text-align:right;" dir="rtl"><span style="color:#888888;background-color:#ffffcc;">فى هذا الجزء</span> أتناول كيفيه تخزين البيانات فى قاعده بيانات SQLite من خلال local JavaScript Database api</p>
<p style="text-align:right;" dir="rtl"><a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#intro">مقدمه</a><br />
<a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#create-open-database"> إنشاء و فتح قاعده البيانات</a><br />
<a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#create-new-table"> إنشاء جدول جديد</a><br />
<a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#insert-data-into-table"> إضافه بيانات للجدول</a><br />
<a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#using-prepared-statements"> إستخدام العبارات الجاهزه</a><br />
<a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#selecting-data-from-table"> إختيار بيانات من الجدول</a><br />
<a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#executing-sql-errors"> التعامل مع اخطاء تنفيذ ال SQL</a><br />
<a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#error-codes"> أرقام الأخطاء و مدلولاتها</a><br />
<a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#transaction-errors"> التعامل مع اخطاء ال transaction</a><br />
<a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#database-versioning"> التعامل مع اصدارات قاعده البيانات</a><br />
<a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#browser-support"> الدعم من المتصفحات</a><br />
<a href="http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/#more">للمزيد</a></p>
<p style="text-align:right;" dir="rtl"><a name="intro"><strong>مقدمه</strong></a></p>
<p style="text-align:right;" dir="rtl">تحتوى مواصفات HTML5 على وصف ل Local JavaScript Database قاعده بيانات محليه تمكنك من تخزين البيانات داخل متصفح المستخدم فى قاعده بيانات SQlite بدلا من الكوكيز التى تقتصر مساحتها التخزينيه على 4 كيلو فقط ، قاعده البيانات SQLite على ملايين اجهزه المحمول و الاجهزه الكفيه و السيرفر و الكثير من تطبيقات سطح المكتب لصغر حجمها و مرونتها و تدعيمها شبه الكامل ل SQL ANSI ، للمزيد عن SQL و SQLite داخل المتصفح <a href="http://developer.apple.com/safari/library/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/RelationalDatabases/RelationalDatabases.html">من هنا</a> ، العمليات التى تتم على قاعده البيانات تكون غير تزامنيه asynchronous اى تتطلب كل عمليه تسجيل وظيفه تستمع لحدث نجاح العمليه او حدوث خطأ ، كما ان العمليات كلها تتم بنظام transaction لأن بيئه المتصفح غير مستقره ، يمكن لأى عمليه ان يقطعها refresh او اغلاق نافذه المتصفح ، اى انه إذا حدث خطأ فى عمليه مكونه من عده خطوات فإن قاعده البيانات لن تتأثر بأى من هذه الخطوات ، مثلا اذا كنت تغير بعض البيانات من جدول A ثم تضيف بيانات فى جدول B و تحذف بيانات من جدول C و قمت بإغلاق المتصفح فى منتصف خطوه اضافه البيانات للجدول B ، فإن خطوه تغيير البيانات من الجدول A سيتم التراجع عنها و لن يحدث اى تأثير ، إلا اذا تمت جميع عمليات ال transaction بنجاح .</p>
<p style="text-align:right;" dir="rtl"><a name="create-open-database"><strong>إنشاء و فتح قاعده بيانات </strong></a></p>
<p style="text-align:right;" dir="rtl">قبل ان تتمكن من إستخدام قاعده البيانات عليك اولا فتح اتصال بها ، عندما تقوم بفتح اتصال سيتم انشاء قاعده بيانات جديده فارغه اذا لم يتم انشائها من قبل ، لذلك فإن عمليه فتح و انشاء قاعده البيانات متماثله ، يتم فتح الاتصال بقاعده البيناات عن طريق عن طريق الوظيفه openDatabase التى تقبل اربع عبارات : العباره الاولى هى إسم قاعده البيانات ، العباره التانيه هى إصدار قاعده البيانات للمزيد انظر الجزء الخاص بالتعامل مع اصدارات قاعد البيانات ، العباره الثالثه هى الإسم الذى يستخدمه المتصفح للتفاعل مع المستخدم مثلا عند طلب إذن بزياده الحجم المتاح لقاعده البيانات ، العباره الرابعه هى الحجم الذى تتوقع ان تشغله قاعده البيانات التى تقوم بالعمل عليها و اذا تعدت هذا الحجم المتفق عليه سيتم أخذ إذن المستخدم بأعطاء المزيد من الحجم لقاعده البيانات ، المثال التالى يوضح إنشاء قاعده بيانات بإسم keepondev إصدار 1.0 و حجمها 64 كيلوبايت و لها الإسم keepondev database لإستخدامه عند التفاعل مع المستخدم :</p>
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">var db = <strong>openDatabase</strong>("keepondev", "1.0", "Keepondev database", 65536);</span></pre>
<p style="text-align:right;" dir="rtl"><a name="create-new-table"><strong>إنشاء جدول جديد</strong></a></p>
<p style="text-align:right;" dir="rtl">بقيه امثله هذا الموضوع تعتمد على جدول بإسم goals يحتوى على عمودين id و name :</p>
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">CREATE TABLE IF NOT EXISTS <strong>goals</strong> (
    <strong>id</strong> INTEGER NOT NULL </span><span style="color:#008000;">PRIMARY KEY </span><span style="color:#008000;">AUTOINCREMENT,
    <strong>name</strong> TEXT NOT NULL
);</span></pre>
<p style="text-align:right;" dir="rtl">يمكنك انشاء هذا الجدول من خلال تنفيذ جمله ال SQL السابقه على قاعده البيانات keepondev عن طريق الوظيفه executeSql التابعه للكائن SQLtransaction &#8211; فى المثال بإسم tx &#8211; الذى يتم تمريره للوظيفه التى تمرر للوظيفه transaction <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_eek.gif' alt='8O' class='wp-smiley' /> التابعه للكائن الناتج من openDatabase كما يوضح الكود التالى :</p>
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">var db = openDatabase("keepondev", "1.0", "Keepondev database", 65536);
</span>
<span style="color:#008000;">function resultHandler(){
    alert("success");
};
function errorHandler(){
    alert("fail");
};</span>
<span style="color:#008000;">db.<strong>transaction</strong>(function(<strong>tx</strong>){</span><span style="color:#008000;">
    var sql = "CREATE TABLE IF NOT EXISTS goals(";
    sql += "id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,"
    sql += "name TEXT NOT NULL DEFAULT 'secret goal');";
<strong>    tx</strong>.<strong>executeSql</strong>(sql, [], resultHandler, errorHandler);</span>
<span style="color:#008000;">});</span></pre>
<p style="text-align:right;" dir="rtl">الوظيفه transaction تقبل وظيفه يمرر لها كائن من نوع SQLTransaction بإسم tx فى المثال السابق ، الكائن tx يحتوى الوظيفه executeSql التى تقبل اربع عبارات ، العباره الاولى هى جمله ال SQL التى قمت بوضعها فى المتغير sql و كتبتها على اكثر من سطر حتى لا تخرج عن عرض المدونه ، العباره التانيه مصفوفه تقبل قيم العبارت الجاهزه للمزيد انظر الجزء الخاص بإستخدام العبارات الجاهزه prepared statements ، العباره الثالثه وظيفه يتم إستدعائها اذا تم تنفيذ جمله ال SQL بنجاح ، و العباره الرابعه وظيفه يتم إستدعائها اذا حدث خطأ اثناء تنفيذ جمله ال SQL ، تلك الوظيفتين ستقوم بإظهار نافذه منبثقه ب success او fail فقط ، للمزيد انظر الجزء الخاص بأخطاء تنفيذ ال SQL و الجزء الخاص بأخطاء ال transaction ، يمكنك التأكد من انشاء الجدول و قاعده البيانات بنجاح داخل المتصفح Safari 4 من خلال فتح ال tab الخاص ب database الذى يمكن الحصول عليه من Sesstings &gt; preferences &gt; advanced &gt; show develop menu in menu bar ، ستجد قائمه جديده بإسم develop دخلت فى القائمه file ، قم بقتح tab ال database كما توضح الصوره التاليه :</p>
<p style="text-align:center;" dir="rtl"><img class="alignnone size-full wp-image-903" title="Safari Database tab" src="http://keepondev.files.wordpress.com/2009/08/safari-database-tab.jpg?w=450&#038;h=342" alt="Safari Database tab" width="450" height="342" /></p>
<p style="text-align:right;" dir="rtl">داخل tab ال database ستجد قاعده بيانات بإسم keepondev تحتوى على جدول فارغ بإسم goals ، يالا بينا نملاه .</p>
<p style="text-align:right;" dir="rtl"><a name="insert-data-into-table"><strong>إضافه بيانات للجدول</strong></a></p>
<p style="text-align:right;" dir="rtl">إضافه بيانات للجدول ماهى إلا تنفيذ جمله SQL من نوع INSERT بعد فتح قاعده البيانات و عمل transaction بنفس ترتيب الخطوات السابقه ، كما يوضح المثال البسيط التالى :</p>
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">var db = openDatabase("keepondev", "1.0", "Keepondev database", 65536);
db.transaction(function(tx){
    var sql = "<strong>INSERT</strong> INTO goals (name) VALUES ('world domination')";
    tx.executeSql(sql, [], resultHandler, errorHandler);
});</span></pre>
<p style="text-align:right;" dir="rtl">الشىء الوحيد المختلف فى المثال السابق هى جمله ال INSERT التى تقوم بإضافه صف جديد فى الجدول goals و تظبط قيمه العمود name الى world domination اما العمود id فيأخذ رقم تلقائى ، هناك مأخذ على طريقه الاضافه السابقه : لو احتوت القيمه على &#8216; سيحدث error و يمكن ايضا حقن جمله SQL و عمل هجمه من نوع SQL injection ، الطريقه الافضل لإضافه البيانات هى إستخدام العبارت الجاهزه .</p>
<p style="text-align:right;" dir="rtl"><a name="using-prepared-statements"><strong>إستخدام العبارات الجاهزه</strong></a></p>
<p style="text-align:right;" dir="rtl">إستخدام العباره الجاهزه يمكنك من إستخدام ال &#8216; و ال &#8221; داخل القيم بدون الخوف على كسر جمله ال SQL ، ثم انه يستحيل حقن SQL داخل العبارت الجاهزه و عليه لا يمكن حدوث هجمات SQL injection ، و تزيد كفائه تنفيذ عمليه اضافه اكثر من صف فى الجدول .</p>
<p style="text-align:right;" dir="rtl">قم بوضع علامه استفهام ؟ بدلا من وضع قيمه العمود فى جمله ال SQL ، و بداخل المصفوفه [] التى هى العباره التانيه للوظيفه executeSql قم بإضافه القيمه ، او ضيفها من ناتج مدخل المستخدم كما يوضح الكود البسيط التالى :</p>
<p style="text-align:left;" dir="rtl">
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">var db = openDatabase("keepondev", "1.0", "Keepondev database", 65536);
db.transaction(function(tx){
    var sql = "INSERT INTO goals (name) VALUES (<strong>?</strong>)";
    tx.executeSql(sql, <strong>[</strong>"Conference speaker"<strong>]</strong>, resultHandler, errorHandler);
    tx.executeSql(sql, <strong>[</strong>"technology innovator"<strong>]</strong>, resultHandler, errorHandler);
    tx.executeSql(sql, <strong>[</strong>"JavaScript evangelist"<strong>]</strong>, resultHandler, errorHandler);
    tx.executeSql(sql, <strong>[</strong>"most infeluence person of all time"<strong>]</strong>, resultHandler
    , errorhandler);
    tx.executeSql(sql, <strong>[</strong>"space trip"<strong>]</strong>, resultHandler, errorhandler);
});</span></pre>
<p style="text-align:right;" dir="rtl">يمكنك منع التكرار فى الكود بإستخدام <a href="http://keepondev.wordpress.com/2009/02/12/partial-application-in-javascript/">partial function</a> و النتيجه كما تظهر فى الصوره التاليه :</p>
<p style="text-align:center;" dir="rtl"><img class="alignnone size-full wp-image-911" title="database tab showing keepondev goals table" src="http://keepondev.files.wordpress.com/2009/08/database-tab-showing-keepondev-goals-table.jpg?w=450&#038;h=342" alt="database tab showing keepondev goals table" width="450" height="342" /></p>
<p style="text-align:right;" dir="rtl"><a name="selecting-data-from-table"><strong>إختيار بيانات من الجدول</strong></a></p>
<p style="text-align:right;" dir="rtl">اختيار بيانات من الجدول عباره عن استخدام جمله SQL من نوع SELECT بالإضافه إلى إستقبال البيانات من خلال الوظيفه resultHandler التى كانت وظيفتها فى الامثله السابقه عمل alert بالنص Success فقط ، عند نجاح تنفيذ جمله ال SQL على قاعده البيانات ، يتم تمرير عبارتين للوظيفه resultHandler ، العباره الاولى هى كائن من نوع SQLtTansaction و العباره التانيه كائن من نوع SQLResultSet يحتوى على الصفوف الناتجه من تنفيذ جمله ال SQL ، حيث يحتوى على الخاصيه rows التى هى بمثابه مصقوفه تمثل صفوف الجدول التى رجعت ، يمكننا استخلاص البيانات منها كما يوضح المثال البسيط التالى :</p>
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">function <strong>resultHandler</strong>(<strong>tx</strong>, <strong>result</strong>){
    var rows = <strong>result</strong>.<strong>rows</strong>;<strong>
</strong>    var rowsLen = rows.<strong>length</strong>;
    for(var i = 0; i &lt; rowsLen; i += 1){
        var row = rows.<strong>item(i)</strong>;
        var id = row<strong>["id"]</strong>;
        var name = row<strong>["name"]</strong>;
        alert(id + " : " + name);
    }
};

var db = openDatabase("keepondev", "1.0", "Keepondev database", 65536);
db.transaction(function(tx){
    var sql = "SELECT * FROM goals";
    tx.executeSql(sql, [], <strong>resultHandler</strong>, errorHandler);
});</span></pre>
<p style="text-align:right;" dir="rtl">فى المثال السابق قمت بإستخلاص جميع البيانات من الجدول goals و استقبلت الناتج داخل الوظيفه resultHandler و قمت بعمل alert للصف لكن يمكنك حقنه فى ال DOM و عمل pagination و عمل LIMIT داخل جمله ال SQL حتى لا تتأثر كفائه التطبيق .</p>
<p style="text-align:right;" dir="rtl">إذا كانت الجمله السابقه INSERT يمكنك معرفه ال id الجديد للصف من خلال result.insertId و عدد الصفوف التى تأثرت من result.rowsModified من داخل resultHandler .</p>
<p style="text-align:right;" dir="rtl"><a name="executing-sql-errors"><strong>التعامل مع اخطاء تنفيذ ال SQL</strong></a></p>
<p style="text-align:right;" dir="rtl">يتم إستدعاء الوظيفه errorHandler عند حدوث خطأ فى تنفيذ جمله ال SQL مع تمرير عبارتين لها ، العباره الاولى هى كائن من نوع  SQLTransaction ، و العباره التانيه كائن من نوع SQLError يحتوى على معلومات عن الخطأ الذى حدث ، الوظيفه errorHandler اذا قامت بإرجاع true سيتم الغاء جميع العمليات فى ال transaction الحالى ، و اذا قامت ب return false سيتم التغاضى عن الخطأ و لن يتم الغاء ال transaction ، الكائن SQLError يحتوى على خاصيتين ، الخاصيه الاولى message و هى رساله توضح الخطأ الذى حدث يمكنك استخدامها فى ال debugging ، اما الخاصيه التانيه هى code فهى رقم يدل على الخطأ الذى حدث ، انظر الجزء الخاص بأرقام الاخطاء .</p>
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">function errorHandler(tx, <strong>error</strong>){
    alert(<strong>error</strong>.<strong>message</strong>); <span style="color:#888888;">// unrecognized token: 3awzo</span>
    alert(<strong>error</strong>.<strong>code</strong>); <span style="color:#888888;">// 1</span>
};</span>
<span style="color:#008000;">db.transaction(function(tx){</span><span style="color:#008000;">
    var sql = "<strong>SELECT elly ana 3awzo yabni</strong>";
    tx.executeSql(sql, [], resultHandler, <strong>errorHandler</strong>);</span>
<span style="color:#008000;">});</span></pre>
<p style="text-align:right;" dir="rtl"><strong><a name="error-codes">أرقام الاخطاء و مدلولاتها</a><br />
</strong></p>
<p style="text-align:right;" dir="rtl">داخل الوظيفه errorHandler ناتج error.code رقم يوضح طبيعه الخطأ ، ال 0 يوضح ان الخطأ غير متعلق بقاعده البيانات ، و 1 يوضح ان الخطأ له علاقه بقاعده البيانات ، 2 يوضح ان الخطأ اصدار قاعده البيانات ليس اصدار القاعده التى طلبتها للمزيد انظر الجزء الخاص بإصدارات قاعده البيانات ، و 3 يوضح ان نتيجه جمله ال SQL كبيره جدا و فى هذه الحاله عليك إستخدام LIMIT و OFFSET حتى تحدد عد الصفوف الناتجه من جمله ال SQL ، و 4 توضح ان الحجم المتاح لقاعده البيانات قد تعدى و ان المستخدم رفض اعطاء المزيد من الحجم عند سؤال المتصفح له ، و 5 يدل على ان الخطأ من نوع lock contention error و عليك اعاده تنفيذ ال transaction ، و 6 يل على constraint error مثلا عند تكرار قيمه فى صفين لعمود معلم ك UNIQUE او عدم اعطاء قيمه لعمود NOT NULL .</p>
<p style="text-align:right;" dir="rtl"><a name="transaction-errors"><strong>التعامل مع اخطاء ال transaction</strong></a></p>
<p style="text-align:right;" dir="rtl">كما تمكننا من التعامل مع اخطاء تنفيذ جمله ال SQL ، يمكنك ايضا اتخاذ اجراءات عند وقوع خطأ فى تنفيذ ال transaction الذى قد يحتوى على تنفيذ عده جمل SQL ، الوظيفه transaction تقبل ثلاث عبارات ، فى الامثله السابقه كلها رأينا العباره الاولى فقط و هى عباره عن وظيفه يمرر لها الكائن SQLTransaction ، اما العباره الثانيه التى تمرر للوظيفه transaction هى وظيفه يتم استدعائها عند حدوث خطأ فى ال transaction و العباره الثالثه يتم استدعائها عند نجاح ال transaction كما يوضح المثال البسيط التالى :</p>
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">function <strong>txError</strong>(error){
    alert(error.message);
    alert(error.code);
};
function <strong>txSuccess</strong>(){
    alert("transaction succeed");
};

db.transaction(function(tx){</span><span style="color:#008000;"> </span><span style="color:#008000;">
    <span style="color:#888888;">// execute some sql queries here</span>
}, <strong>txError</strong>, <strong>txSuccess</strong>);</span></pre>
<p style="text-align:right;" dir="rtl">فى المثال السابق سيتم استدعاء txSuccess اذا نجح ال transaction بدوت اى اخطاء ، و سيتم استدعاء الوظيفه txError مع تمرير كائن SQLError لها ، يمكن استخلاص بيانات منها من خلال error.message او error.code للمزيد انظر أرقام الاخطاء و مدلولاتها .</p>
<p style="text-align:right;" dir="rtl"><a name="database-versioning"><strong>التعامل مع اصدارات قاعده البيانات</strong></a></p>
<p style="text-align:right;" dir="rtl">الوظيفه openDatabase التى تقوم بفتح قاعده البيانات تقبل العباره التانيه لها إصدار قاعده البيانات ، اذا قمت بتحديد اصدار خطأ سيتم استدعاء الوظيفه المرتبطه بحدوث الخطأ ، انظر الجزء الخاص بأرقام الاخطاء و مدلولاتها ، و اذا اعطيت اصدار القاعده عباره عن نص فارغ ، سيتم فتح قاعده البيانات بغض النظر عن إصدارها كما يوضح الكود البسيط التالى :</p>
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">var db = openDatabase("keepondev", <strong>""</strong>, "Keepondev database", 65536);</span></pre>
<p style="text-align:right;" dir="rtl">يمكنك معرفه اصدار قاعده البيانات بعد ذلك من خلال الخاصيه verison كما يلى</p>
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">alert(db.version); <span style="color:#888888;">// 1.0</span></span></pre>
<p style="text-align:right;" dir="rtl">الكود السابق نتج عنه 1.0 لأنه لا يوجد إصدارات من قاعده بيانات بإسم keepondev إلا الاصدار 1.0 الذى قمنا بإنشاءه و اضافه فيه بيانات من قبل .</p>
<p style="text-align:right;" dir="rtl">يمكنك ترقيه قاعده البيانات إلى اصدار احدث مع الحفاظ على البيانات بداخها كما هى او تغيرها من خلال الوظيفه changeVersion التى تقبل اربع عبارات ، العباره الاولى هى اصدار قاعده البيانات التى تريد تغيرها ، العباره التانيه هى الاصدار الجديد ، العباره التالته هى الوظيفه التى تقوم بتغير الجداول او تغير ال schema و تقبل كائن من نوع SQLTransaction ، العباره الرابعه هى الوظيفه التى يتم استدعائها اذا حدث خطأ اثناء الترقيه مع تمرير الكائن SQLError لها ، اما العباره الخامسه و الاخيره هى الوظيفه التى يتم استدعائها اذا نجحت عمليه الترقيه ، كما يوضح المثال البسيط التالى :</p>
<pre style="text-align:left;direction:ltr;font-family:tahoma;"><span style="color:#008000;">function <strong>upgrade</strong>(tx){
    var sql = "ALTER TABLE goals RENAME TO targets";
    tx.executeSql(sql, [], resultHandler, errorHandler);
};
function <strong>upgradeError</strong>(error){
    alert("upgrade error :" + error.message);
};
function <strong>upgradeSuccess</strong>(){
    alert("upgrade completed");
}
db.<strong>changeVersion</strong>("1.0", "2.0", <strong>upgrade</strong>, <strong>upgradeError</strong>, <strong>upgradeSuccess</strong>);</span></pre>
<p style="text-align:right;" dir="rtl">فى المثال السابق تم ترقيه قاعده البيانات إلى الاصدار 2.0 مع تغيير إسم الجدول goals إلى targets مع الاحتفاظ بالبيانات كما هى كما توضح الصوره التاليه :</p>
<p style="text-align:center;" dir="rtl"><img class="alignnone size-full wp-image-924" title="keepondev database version 2.0 and goals table converted to targets" src="http://keepondev.files.wordpress.com/2009/08/keepondev-database-version-2-0-and-goals-table-converted-to-targets.jpg?w=450&#038;h=339" alt="keepondev database version 2.0 and goals table converted to targets" width="450" height="339" /></p>
<p style="text-align:right;" dir="rtl"><a name="browser-support"><strong>الدعم من المتصفحات </strong></a></p>
<p style="text-align:right;" dir="rtl">وقت كتابه التدوينه ال local javascript database api مدعم فى safari 3.1+ و iphone os 2.0+ و المتصفحات الاخرى قريبا ان شاء الله .</p>
<p style="text-align:right;" dir="rtl"><a name="more"><strong>للمزيد</strong></a></p>
<p style="text-align:right;" dir="rtl"><a href="http://developer.apple.com/safari/library/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/UsingtheJavascriptDatabase/UsingtheJavascriptDatabase.html">ADC &gt; using JavaScript Databases</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/keepondev.wordpress.com/834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/keepondev.wordpress.com/834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/keepondev.wordpress.com/834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/keepondev.wordpress.com/834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/keepondev.wordpress.com/834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/keepondev.wordpress.com/834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/keepondev.wordpress.com/834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/keepondev.wordpress.com/834/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/keepondev.wordpress.com/834/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/keepondev.wordpress.com/834/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=834&subd=keepondev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://keepondev.wordpress.com/2009/08/14/html5-client-side-storage-part2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15d0ecbb13e07887f18af5202b2cfe7c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">keepondev</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/08/safari-database-tab.jpg" medium="image">
			<media:title type="html">Safari Database tab</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/08/database-tab-showing-keepondev-goals-table.jpg" medium="image">
			<media:title type="html">database tab showing keepondev goals table</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/08/keepondev-database-version-2-0-and-goals-table-converted-to-targets.jpg" medium="image">
			<media:title type="html">keepondev database version 2.0 and goals table converted to targets</media:title>
		</media:content>
	</item>
		<item>
		<title>محاضره The JSON saga من مكتشف ال JSON</title>
		<link>http://keepondev.wordpress.com/2009/08/13/the-json-saga-video-lecture/</link>
		<comments>http://keepondev.wordpress.com/2009/08/13/the-json-saga-video-lecture/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 12:53:28 +0000</pubDate>
		<dc:creator>mostafa farghaly</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://keepondev.wordpress.com/?p=892</guid>
		<description><![CDATA[السلام عليكم و رحمه الله تعالى و بركاته

أعطى Douglas Crockford يوم 27/7 محاضره بعنوان The JSON saga فى اجتماع مجموعه BayJax و تم رفعها اليوم ، تكلم Douglas عن اكتشاف JSON و الحاجه اليها فى الوقت الحاضر و إستخداماتها و معايرتها و تقبلها ممن اعتادوا على XML و مستقبل JSON ، هذا الرجل انا انتظر [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=892&subd=keepondev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;">السلام عليكم و رحمه الله تعالى و بركاته</p>
<p style="text-align:right;"><img class="alignnone size-full wp-image-893" title="The JSON Saga video lecture by Douglas Crockford at yahoo" src="http://keepondev.files.wordpress.com/2009/08/the-json-saga-video-lecture-by-douglas-crockford-at-yahoo.jpg?w=450&#038;h=226" alt="The JSON Saga video lecture by Douglas Crockford at yahoo" width="450" height="226" /></p>
<p style="text-align:right;" dir="rtl">أعطى Douglas Crockford يوم 27/7 محاضره بعنوان The JSON saga فى اجتماع مجموعه BayJax و تم رفعها اليوم ، تكلم Douglas عن اكتشاف JSON و الحاجه اليها فى الوقت الحاضر و إستخداماتها و معايرتها و تقبلها ممن اعتادوا على XML و مستقبل JSON ، هذا الرجل انا انتظر محاضراته بفارغ الصبر ، هناك محاضرات كثيره قبل و بعد هذه المحاضره فى YUI theater و YDN theater اللتان وضعت لهما رابط فى العمود الجانبى للمدونه لكن هذه المحاضره لها مذاق خاص ، يمكنك تحميل الفيديو <a href="http://yuiblog.com/yuitheater/crockford-json.m4v">من هنا</a> ، او مشاهده المحاضره اونلاين <a href="http://developer.yahoo.com/yui/theater/video.php?v=crockford-json">من هنا</a> و تحميل الشرائح <a href="http://yuiblog.com/assets/crockford-json.zip">من هنا</a> .</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/keepondev.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/keepondev.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/keepondev.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/keepondev.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/keepondev.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/keepondev.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/keepondev.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/keepondev.wordpress.com/892/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/keepondev.wordpress.com/892/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/keepondev.wordpress.com/892/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=892&subd=keepondev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://keepondev.wordpress.com/2009/08/13/the-json-saga-video-lecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15d0ecbb13e07887f18af5202b2cfe7c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">keepondev</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/08/the-json-saga-video-lecture-by-douglas-crockford-at-yahoo.jpg" medium="image">
			<media:title type="html">The JSON Saga video lecture by Douglas Crockford at yahoo</media:title>
		</media:content>
	</item>
		<item>
		<title>ثلاث محاضرات جديده من مؤتمر JSConf2009</title>
		<link>http://keepondev.wordpress.com/2009/08/11/3-more-videos-from-jsconf2009/</link>
		<comments>http://keepondev.wordpress.com/2009/08/11/3-more-videos-from-jsconf2009/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 23:08:02 +0000</pubDate>
		<dc:creator>mostafa farghaly</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[couchDB]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[RIA]]></category>
		<category><![CDATA[SproutCore]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://keepondev.wordpress.com/?p=870</guid>
		<description><![CDATA[السلام عليكم و رحمه الله تعالى و بركاته
رفع منظموا مؤتمر JavaScript conference ثلاث محاضرات جديده

المحاضره الاولى بعنوان Introduction to SproutCore اعطاها Mike Subelsky يمكنك مشاهدتها من هنا ، وصف المحاضره :

Apple made a huge splash with their rich MobileMe release which provides a fluid and feature-rich interface through the web browser. Ignite Baltimore Superstar, Mike [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=870&subd=keepondev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;" dir="rtl">السلام عليكم و رحمه الله تعالى و بركاته</p>
<p style="text-align:right;" dir="rtl">رفع منظموا مؤتمر JavaScript conference ثلاث محاضرات جديده</p>
<p style="text-align:center;" dir="rtl"><span><span><img class="aligncenter" title="sproutCore at jsconf2009" src="http://keepondev.files.wordpress.com/2009/08/sproutcore-at-jsconf2009.jpg?w=450&#038;h=249" alt="sproutCore at jsconf2009" width="450" height="249" /></span></span></p>
<p style="text-align:right;" dir="rtl"><strong>المحاضره الاولى </strong>بعنوان Introduction to SproutCore اعطاها <span><span>Mike Subelsky يمكنك مشاهدتها <a href="http://jsconf2009.com/subelsky_video.html">من هنا</a> ، وصف المحاضره :</span></span></p>
<blockquote>
<p style="text-align:right;" dir="rtl"><a href="http://www.apple.com/">Apple</a> made a huge splash with their rich <a href="http://www.me.com/">MobileMe</a> release which provides a fluid and feature-rich interface through the web browser. Ignite Baltimore Superstar, <a href="http://www.subelsky.com/">Mike Subelsky</a>, shows you the inner workings of SproutCore, the JavaScript library that is used to create MobileMe. Mike has used SproutCore as part of the company he co-founded, <a href="http://www.otherinbox.com/">OtherInbox.com</a>. Mike presents this rich interaction environment with passion, depth, and deep nerd tech you have come to expect from JSConf presenters and he does it all with class and style</p>
</blockquote>
<p style="text-align:center;" dir="rtl"><img class="alignnone size-full wp-image-882" title="stoyan stefanov high performance web apps at jsconf 2009" src="http://keepondev.files.wordpress.com/2009/08/stoyan-stefanov-high-performance-web-apps-at-jsconf-2009.jpg" alt="stoyan stefanov high performance web apps at jsconf 2009" /></p>
<p style="text-align:right;" dir="rtl"><strong>المحاضره الثانيه </strong>بعنوان High performance kick ass web apps اعطاها Stoyan stefanoc<span><span> يمكنك مشاهدتها <a href="http://jsconf2009.com/stefanov_video.html">من هنا</a> ، وصف المحاضره :</span></span></p>
<blockquote>
<p style="text-align:right;" dir="rtl">Got a slow web application? <a href="http://www.phpied.com/">Dr. Stefanov</a> is writing a prescription for you on how to put your application on a web diet using a wide array of techniques, tricks, and magic. Stoyan takes a deep dive into web technology and how to optimize it at levels that rarely get touched upon, even at tech conferences. His experience in pipelining, cacheing, image inlining, and smushing at <a href="http://developer.yahoo.com/">Yahoo! Developer Network</a> is shared with you to take advantage of every possible performance improvement ever known. He demonstrates how to use smush.it, minifiers, and other ninja techniques to make the web faster than ever before. This is a must see for any and every web developer</p>
</blockquote>
<p style="text-align:center;" dir="rtl"><img class="alignnone size-full wp-image-886" title="couchdb at javascript conference" src="http://keepondev.files.wordpress.com/2009/08/couchdb-at-javascript-conference1.jpg" alt="couchdb at javascript conference" width="450" height="276" /></p>
<p style="text-align:right;" dir="rtl"><strong>المحاضره الثالثه </strong>بعنوان CouchDB to the edge اعطاها Chris Anderson و Jan Lehnardt<span><span> يمكنك مشاهدتها <a href="http://jsconf2009.com/couch_video.html">من هنا</a> ، وصف المحاضره :</span></span></p>
<blockquote>
<p style="text-align:right;" dir="rtl">Using <a href="http://couchdb.apache.org/">CouchDB</a> to create &#8220;edgy&#8221; web applications that are stored in the database. <a href="http://github.com/jchris/couchapp/tree/master">CouchApps</a> allows you to store not only data in a database like CouchDB, but also full applications, which lends to some rather interesting use cases. Not only do applications then scale up and out, but their ability to revision control themselves comes for free. The CouchApps are pure JavaScript applications that sit on top of the power of CouchDB, and then allow the applications and data to become instantly portable and shareable through replication. This tag team presentation will give you some powerful insight into the concepts of CouchDB and CouchApps</p>
</blockquote>
<p style="text-align:right;" dir="rtl"><strong><span style="color:#ff6600;">خارج النص</span> :</strong> طلع عين امى على ماكتبت و رفعت صور البوست ده ، النت كل شويه يقطع و السرعه 0.1 كيلو بايت فى الثانيه خخخخخخخخخخ</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/keepondev.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/keepondev.wordpress.com/870/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/keepondev.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/keepondev.wordpress.com/870/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/keepondev.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/keepondev.wordpress.com/870/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/keepondev.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/keepondev.wordpress.com/870/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/keepondev.wordpress.com/870/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/keepondev.wordpress.com/870/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=870&subd=keepondev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://keepondev.wordpress.com/2009/08/11/3-more-videos-from-jsconf2009/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15d0ecbb13e07887f18af5202b2cfe7c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">keepondev</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/08/sproutcore-at-jsconf2009.jpg" medium="image">
			<media:title type="html">sproutCore at jsconf2009</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/08/stoyan-stefanov-high-performance-web-apps-at-jsconf-2009.jpg" medium="image">
			<media:title type="html">stoyan stefanov high performance web apps at jsconf 2009</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/08/couchdb-at-javascript-conference1.jpg" medium="image">
			<media:title type="html">couchdb at javascript conference</media:title>
		</media:content>
	</item>
		<item>
		<title>المحاضره السادسه من مؤتمر JSConf2009</title>
		<link>http://keepondev.wordpress.com/2009/07/26/james-duncan-and-smart-javascript-platform-at-jsconf2009/</link>
		<comments>http://keepondev.wordpress.com/2009/07/26/james-duncan-and-smart-javascript-platform-at-jsconf2009/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 18:06:42 +0000</pubDate>
		<dc:creator>mostafa farghaly</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://keepondev.wordpress.com/?p=861</guid>
		<description><![CDATA[السلام عليكم و رحمه الله تعالى و بركاته

وضع منظموا مؤتمر JavaScript conference 2009 أمس المحاضره السادسه يمكنك مشاهدتها من هنا ، اعطى المحاضره James Duncan تناول خلالها مشروعه Smart JavaScript platform لبرمجه السيرفر بالجافاسكربت الذى اشترته شركه Joyent يمكنك معرفه المزيد عن ال Smart platform من هنا ، اتمنى لكم و لنفسى مشاهده ممتعه  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=861&subd=keepondev&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;" dir="rtl">السلام عليكم و رحمه الله تعالى و بركاته</p>
<p style="text-align:right;" dir="rtl"><img class="alignnone size-full wp-image-864" title="James Duncan - the smart platform a JavaScript" src="http://keepondev.files.wordpress.com/2009/07/james-duncan-the-smart-platform-a-javascript.jpg?w=450&#038;h=275" alt="James Duncan - the smart platform a JavaScript" width="450" height="275" /></p>
<p style="text-align:right;" dir="rtl">وضع منظموا مؤتمر JavaScript conference 2009 أمس المحاضره السادسه يمكنك مشاهدتها <a href="http://blip.tv/file/2386711">من هنا</a> ، اعطى المحاضره James Duncan تناول خلالها مشروعه Smart JavaScript platform لبرمجه السيرفر بالجافاسكربت الذى اشترته شركه Joyent يمكنك معرفه المزيد عن ال Smart platform <a href="http://becoming.smart.joyent.com/index.html">من هنا </a>، اتمنى لكم و لنفسى مشاهده ممتعه <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/keepondev.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/keepondev.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/keepondev.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/keepondev.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/keepondev.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/keepondev.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/keepondev.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/keepondev.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/keepondev.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/keepondev.wordpress.com/861/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=keepondev.wordpress.com&blog=2165930&post=861&subd=keepondev&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://keepondev.wordpress.com/2009/07/26/james-duncan-and-smart-javascript-platform-at-jsconf2009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/15d0ecbb13e07887f18af5202b2cfe7c?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">keepondev</media:title>
		</media:content>

		<media:content url="http://keepondev.files.wordpress.com/2009/07/james-duncan-the-smart-platform-a-javascript.jpg" medium="image">
			<media:title type="html">James Duncan - the smart platform a JavaScript</media:title>
		</media:content>
	</item>
	</channel>
</rss>