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

<channel>
	<title>cebirci.com</title>
	<atom:link href="http://www.cebirci.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.cebirci.com</link>
	<description>Hüseyin Cevizci&#039;nin kişisel blogu</description>
	<lastBuildDate>Fri, 10 Feb 2012 02:43:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Pinterest nedir? Ne işe yarar?</title>
		<link>http://www.cebirci.com/pinterest-nedir-ne-ise-yarar</link>
		<comments>http://www.cebirci.com/pinterest-nedir-ne-ise-yarar#comments</comments>
		<pubDate>Fri, 10 Feb 2012 02:41:25 +0000</pubDate>
		<dc:creator>Hüseyin Cevizci</dc:creator>
				<category><![CDATA[Tanıtım]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[pin butonu]]></category>
		<category><![CDATA[pin button]]></category>
		<category><![CDATA[pin it]]></category>
		<category><![CDATA[pinterest]]></category>
		<category><![CDATA[pinterest butonu]]></category>
		<category><![CDATA[pinterest button]]></category>
		<category><![CDATA[pinterest nasıl]]></category>
		<category><![CDATA[pinterest nedir]]></category>
		<category><![CDATA[tumblr]]></category>

		<guid isPermaLink="false">http://www.cebirci.com/?p=281</guid>
		<description><![CDATA[Pinterest sosyal paylaşım sitelerinin arasında kendine sağlam bir yer edindi. Özellikle Open Graph altyapısıyla hazırlanmış Facebook uygulamasıyla Facebook&#8217;ta da sıkça karşımıza çıkıyor. Türkiye&#8217;de yeni yeni duymaya başladığımız Pinterest, 10 Şubat 2012 itibariyle Alexa sıralamasında globalde  108. , Amerika&#8217;da 20. sıraya yükseldi bile. Paylaşım sitelerine yüksek ilgi gösteren ülkemizde de popüler olacağından şüphem yok. Peki bu Pinterest nedir? [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pinterest.com" target="_blank">Pinterest</a> sosyal paylaşım sitelerinin arasında kendine sağlam bir yer edindi. Özellikle <a href="http://developers.facebook.com/docs/opengraph/" target="_blank">Open Graph</a> altyapısıyla hazırlanmış Facebook uygulamasıyla Facebook&#8217;ta da sıkça karşımıza çıkıyor.</p>
<p>Türkiye&#8217;de yeni yeni duymaya başladığımız <strong>Pinterest</strong>, 10 Şubat 2012 itibariyle <a href="http://www.alexa.com/siteinfo/pinterest.com" target="_blank">Alexa sıralamasında globalde  108. , Amerika&#8217;da 20. sıraya yükseldi bile</a>. Paylaşım sitelerine yüksek ilgi gösteren ülkemizde de popüler olacağından şüphem yok.</p>
<p><strong>Peki bu Pinterest <strong>nedir</strong>?</strong></p>
<p>Pinterest internette hoşunuza giden şeyleri gruplayıp organize ederek paylaşabileceğiniz bir web sitesidir. Bütün paylaşımlar sanalmantar pano (pinboard) olarak adlandırılan alanlarda bulunur. Her mantar panonuza bir isim vererek kaydetmenizi, internette hoşunuza giden şeyleri de bu panolara ekleyerek (iğneleyerek) paylaşmanızı sağlar .</p>
<p>Tıpkı Twitter&#8217;daki gibi Pinterest&#8217;te de takipçileriniz ve takip ettikleriniz vardır. Anasayfanızda takip ettiklerinize ait paylaşımları görürsünüz, paylaşımları beğenebilir ve panonuza &#8221;repin&#8221; yani yeniden iğneleme yapabilirsiniz.</p>
<p><strong>Pinterest nasıl kullanılır?</strong> Yeni bir paylaşımı panonuza Pinterest web sitesinden kendiniz yükleyerek ekleyebileceğiniz gibi;  tarayıcınızın sık kullanılanlarına sürükleyeceğiniz  bir &#8220;<strong>Pin Button</strong>&#8220; sayesinde herhangi bir web sitesinde gezinirken hoşunuza giden bir fotoğrafı panonuza kolayca ekleyebiliyorsunuz.</p>
<p>iPhone uygulaması da bulunan Pinterest, Facebook&#8217;un &#8220;Beğen&#8221; butonu ve Twitter&#8217;ın &#8220;Tweetle&#8221; butonu gibi web sitelerine eklenebilecek &#8220;<strong>Pin It</strong>&#8221; butonunu da <a href="http://pinterest.com/about/goodies/" target="_blank">hazırlamış</a>. Mutlaka web siteleri için yeni araçlar da gelecektir.</p>
<p>Benzer bir uygulama olan Tumblr&#8217;ın ülkemizde büyük ilgi gördüğünü düşünürsek, <strong>Pinterest</strong>&#8216;in de Türkiye&#8217;de popüler olacağını göreceğiz.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cebirci.com/pinterest-nedir-ne-ise-yarar/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC&#8217;de Özel ActionResult Oluşturmak</title>
		<link>http://www.cebirci.com/asp-net-mvcde-ozel-actionresult-olusturmak</link>
		<comments>http://www.cebirci.com/asp-net-mvcde-ozel-actionresult-olusturmak#comments</comments>
		<pubDate>Mon, 02 May 2011 01:17:21 +0000</pubDate>
		<dc:creator>Hüseyin Cevizci</dc:creator>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[actionresult]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[asp.net mvc]]></category>
		<category><![CDATA[custom actionresult]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[rss]]></category>
		<category><![CDATA[rss result]]></category>
		<category><![CDATA[rssresult]]></category>

		<guid isPermaLink="false">http://www.cebirci.com/?p=253</guid>
		<description><![CDATA[Bildiğimiz gibi ActionResult; ASP.NET MVC&#8216;de, gelen isteklere yanıt olarak dönmeyi sağlayan sınıflardır. MVC 2&#8242;de ActionResult sınıfından türemiş dokuz dahili ActionResult tipi bulunuyordu. Listesine buradan göz atabilirsiniz. MVC 3&#8242;de bu tiplere üç yeni tip daha eklendi. Biz de bugün RSS formatında yanıt dönen özel bir ActionResult tipi oluşturacağız. Önce RSS içeriğini taşıyacak minik  bir sınıf oluşturalım [...]]]></description>
			<content:encoded><![CDATA[<p>Bildiğimiz gibi <a href="http://msdn.microsoft.com/en-us/library/system.web.mvc.actionresult.aspx" target="_blank">ActionResult</a>; <a href="http://www.asp.net/mvc" target="_blank">ASP.NET MVC</a>&#8216;de, gelen isteklere yanıt olarak dönmeyi sağlayan sınıflardır. MVC 2&#8242;de ActionResult sınıfından türemiş dokuz dahili ActionResult tipi bulunuyordu. Listesine <a href="http://msdn.microsoft.com/en-us/library/dd410269.aspx" target="_blank">buradan</a> göz atabilirsiniz. MVC 3&#8242;de bu tiplere <a href="http://weblogs.asp.net/jalpeshpvadgama/archive/2011/03/28/three-new-action-result-type-in-asp-net-mvc-3.aspx" target="_blank">üç yeni tip daha eklendi</a>. Biz de bugün <strong>RSS</strong> formatında yanıt dönen özel bir ActionResult tipi oluşturacağız.</p>
<p>Önce <strong>RSS</strong> içeriğini taşıyacak minik  bir sınıf oluşturalım</p>
<pre class="brush:csharp">public class RssIcerik

{

    public string Baslik {get; set;}

    public string Aciklama {get; set;}

    public string Link {get; set;}

}</pre>
<p>Şimdi de <strong>RssResult </strong>sınıfımızı oluşturacağız. Burada RSS XML&#8217;imizi oluştururken, <a href="http://msdn.microsoft.com/en-us/library/system.xml(v=VS.100).aspx" target="_blank">System.Xml</a> namespace&#8217;inde yer alan <a href="http://msdn.microsoft.com/en-us/library/system.xml.xmlwriter.aspx" target="_blank">XmlWriter</a> sınıfından faydalanacağız.</p>
<pre class="brush:csharp">public class RssResult : ActionResult
    {

        private List&lt;RssIcerik&gt; _rssIcerikleri;
        private string _baslik;
        private string _aciklama;
		private string _link;

        public RssResult(IEnumerable icerikler, string baslik, string aciklama, string link)
        {
            _rssIcerikleri = new List(icerikler);
            _baslik = title;
            _aciklama = description;
			_link = link;
        }

		//override ettiğimiz bu metod ActionResult tiplerinde yanıt işleme sürecinde çalışır.
        public override void ExecuteResult(ControllerContext context)
        {

            context.HttpContext.Response.ContentType = "text/xml";
            using (XmlWriter _xmlWriter = XmlWriter.Create(context.HttpContext.Response.OutputStream))
            {

                // Rss xml'ini oluşturmaya başlıyoruz.
                _xmlWriter.WriteStartElement("rss");
                _xmlWriter.WriteAttributeString("version", "2.0");
                _xmlWriter.WriteStartElement("channel");

				// Rss için temel bilgileri giriyoruz.
                _xmlWriter.WriteElementString("title", _baslik);
                _xmlWriter.WriteElementString("description", _aciklama);
                _xmlWriter.WriteElementString("link", _link);

                // Rss içeriklerini yazıyoruz
                _rssIcerikleri.ForEach(x =&gt;
                {
                    _xmlWriter.WriteStartElement("item");
                    _xmlWriter.WriteElementString("title", x.Baslik);
                    _xmlWriter.WriteElementString("description", x.Aciklama);
                    _xmlWriter.WriteElementString("link", x.Link);
                    _xmlWriter.WriteEndElement();
                });

                // Ve xml için kapanış işlemlerini yapıyoruz (rss ve channel tagleri için)
                _xmlWriter.WriteEndElement();
                _xmlWriter.WriteEndElement();
            }
        }
}</pre>
<p>Son olarak; oluşturduğumuz bu ActionResult tipini ASP.NET MVC projemizde artık bir isteğe yanıt olarak kullanabiliriz. Örnek olarak IEnumerable türünden haber Rss içeriklerini değer olarak dönen RssGetir isimli bir metodumuz olduğunda kullanımı şöyle olabilir:</p>
<pre class="brush:csharp">public ActionResult RssKaynagi()

{

    IEnumerable haberler = HaberServisi.RssGetir();
    return RssResult (haberler, "Haberler" , "cebirci.com Haber Rss Kaynağı" , "http://feeds.feedburner.com/cebirci");

}</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.cebirci.com/asp-net-mvcde-ozel-actionresult-olusturmak/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook ve Twitter Otomatik Durum Güncelleme</title>
		<link>http://www.cebirci.com/facebook-ve-twitter-otomatik-durum-guncellem</link>
		<comments>http://www.cebirci.com/facebook-ve-twitter-otomatik-durum-guncellem#comments</comments>
		<pubDate>Wed, 12 Jan 2011 14:28:56 +0000</pubDate>
		<dc:creator>Hüseyin Cevizci</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Facebook API]]></category>
		<category><![CDATA[Facebook Stream Publish]]></category>
		<category><![CDATA[otomatik post]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[twitter api]]></category>

		<guid isPermaLink="false">http://www.cebirci.com/?p=243</guid>
		<description><![CDATA[Facebook’ta ve Twitter’de otomatik post için kısaca şu şekilde bir akış gerekli: Önce Twitter ve Facebook’taki “developer” sayfalarına girip proje için uygulamalar yaratılır. Yaratılan uygulamalardaki “key” ve “secret” bilgileri kaydedilir. Kendi sitenizin uygun bir yerinde kullanıcılardan bu sayfalara post yapılabilmesi için gerekli izin alınır. Facebook için bu izin: &#8220;publish_stream&#8220; Bu iznin alınması için üç taraflı [...]


<strong><em>İlgili diğer başlıklar:</em></strong><ul><li><a href='http://www.cebirci.com/facebook-api-ile-otomatik-durum-guncelleme' rel='bookmark' title='Permanent Link: Facebook API ile otomatik durum güncelleme'>Facebook API ile otomatik durum güncelleme</a></li>
<li><a href='http://www.cebirci.com/graph-api-facebook-connect' rel='bookmark' title='Permanent Link: Graph API ile Facebook Connect'>Graph API ile Facebook Connect</a></li>
<li><a href='http://www.cebirci.com/fql-facebook-query-language-ile-sorgu-yapma' rel='bookmark' title='Permanent Link: FQL (Facebook Query Language) İle Sorgu Yapma'>FQL (Facebook Query Language) İle Sorgu Yapma</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Facebook’ta ve Twitter’de otomatik post için kısaca şu şekilde bir akış gerekli:</p>
<ul>
<li>Önce Twitter ve Facebook’taki “developer” sayfalarına girip proje için uygulamalar yaratılır.</li>
<li>Yaratılan uygulamalardaki “key” ve “secret” bilgileri kaydedilir.</li>
<li>Kendi sitenizin uygun bir yerinde kullanıcılardan bu sayfalara post yapılabilmesi için gerekli izin alınır. Facebook için bu izin: &#8220;<strong>publish_stream</strong>&#8220;</li>
<li>Bu iznin alınması için üç taraflı bir yapı kurulur.</li>
<li>İlgili sosyal ağ sitesinin izin sayfası (bir popup da olabilir) uygulamanıza ait “key” ve “secret” leri içerecek şekilde açılır.</li>
<li>Kullanıcı bu popup’da login olur ve ilgili izinleri verir.</li>
<li>Bu izinler karşılığında sosyal ağ siteleri (Facebook , Twitter, FriendFeed) sizin belirlediğiniz bir sayfaya bir kod gönderir. Facebook için bu kodun adı: &#8220;<strong>access_token</strong>&#8220;</li>
<li>Siz de bu kod yardımıyla otomatik post işlemini kullanıcıya bir daha sormadan gerçekleştirirsiniz.</li>
</ul>
<p>Sosyal ağ siteleri farklı iletişim kurallarına ve yapılarına sahip. Dolayısıyla aşağıdaki dökümanlar iyi incelenmeli:</p>
<p>Facebook:</p>
<p><a href="http://developers.facebook.com/docs/authentication/permissions" target="_blank">http://developers.facebook.com/docs/authentication/permissions</a></p>
<p><a href="http://developers.facebook.com/docs/reference/rest/stream.publish/" target="_blank">http://developers.facebook.com/docs/reference/rest/stream.publish/</a></p>
<p>Twitter:</p>
<p><a href="http://dev.twitter.com/doc/post/statuses/update" target="_blank">http://dev.twitter.com/doc/post/statuses/update</a></p>


<br /><p><strong><em>İlgili diğer başlıklar:</em></strong></p><ul><li><a href='http://www.cebirci.com/facebook-api-ile-otomatik-durum-guncelleme' rel='bookmark' title='Permanent Link: Facebook API ile otomatik durum güncelleme'>Facebook API ile otomatik durum güncelleme</a></li>
<li><a href='http://www.cebirci.com/graph-api-facebook-connect' rel='bookmark' title='Permanent Link: Graph API ile Facebook Connect'>Graph API ile Facebook Connect</a></li>
<li><a href='http://www.cebirci.com/fql-facebook-query-language-ile-sorgu-yapma' rel='bookmark' title='Permanent Link: FQL (Facebook Query Language) İle Sorgu Yapma'>FQL (Facebook Query Language) İle Sorgu Yapma</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.cebirci.com/facebook-ve-twitter-otomatik-durum-guncellem/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# İle Dizin ve Klasör Yönetimi &#8211; Directory Sınıfı</title>
		<link>http://www.cebirci.com/dizin-yonetimi-directory-sinifi</link>
		<comments>http://www.cebirci.com/dizin-yonetimi-directory-sinifi#comments</comments>
		<pubDate>Mon, 27 Sep 2010 04:01:12 +0000</pubDate>
		<dc:creator>Hüseyin Cevizci</dc:creator>
				<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[C#.Net]]></category>
		<category><![CDATA[CreateDirectory]]></category>
		<category><![CDATA[Directory]]></category>
		<category><![CDATA[Directory.CreateDirectory]]></category>
		<category><![CDATA[Directory.Delete]]></category>
		<category><![CDATA[Directory.Exists]]></category>
		<category><![CDATA[Directory.GetDirectories]]></category>
		<category><![CDATA[DirectoryInfo]]></category>
		<category><![CDATA[dizin]]></category>
		<category><![CDATA[dizin yönetimi]]></category>
		<category><![CDATA[GetDirectories]]></category>
		<category><![CDATA[klasör]]></category>
		<category><![CDATA[klasör silmek]]></category>
		<category><![CDATA[klasör yaratmak]]></category>
		<category><![CDATA[klasör yönetimi]]></category>

		<guid isPermaLink="false">http://www.cebirci.com/?p=217</guid>
		<description><![CDATA[Bu yazımızda C# kullanarak Windows dizin yapısında nasıl işlem yapabileceğimizi inceleyelim. Kullanacağımız sınıflar .NET&#8217;in System.IO namespace&#8217;inde bulunan Directory ve DirectoryInfo sınıfları olacak. Bir klasörün var olup olmadığını kontrol etmek //Exists metodu bool türünden bir değer döner. Directory.Exists(@"C:\Test\Kontrol Edilecek Klasör"); Bir klasörün alt klasörleri //Directory sınıfının GetDirectories metodu string[] türünden dizinleri döner. Directory.GetDirectories(@"C:\Test"); Bu kullanıma ek [...]]]></description>
			<content:encoded><![CDATA[<p>Bu yazımızda C# kullanarak Windows dizin yapısında nasıl işlem yapabileceğimizi inceleyelim. Kullanacağımız sınıflar .NET&#8217;in <a href="http://msdn.microsoft.com/en-us/library/system.io.directory_members.aspx" target="_blank">System.IO</a> namespace&#8217;inde bulunan <a href="http://msdn.microsoft.com/library/system.io.directory" target="_blank">Directory</a> ve <a href="http://msdn.microsoft.com/library/system.io.directoryinfo" target="_blank">DirectoryInfo</a> sınıfları olacak.</p>
<p><strong>Bir klasörün var olup olmadığını kontrol etmek</strong></p>
<pre class="brush:csharp">//Exists metodu bool türünden bir değer döner.
Directory.Exists(@"C:\Test\Kontrol Edilecek Klasör");</pre>
<p><strong>Bir klasörün alt klasörleri<br />
</strong></p>
<pre class="brush:csharp">//Directory sınıfının GetDirectories metodu string[] türünden dizinleri döner.
Directory.GetDirectories(@"C:\Test");</pre>
<p>Bu kullanıma ek olarak <strong>DirectoryInfo </strong>sınıfından bir instance yaratarak da alt klasörleri elde edebiliriz.</p>
<pre class="brush:csharp">DirectoryInfo DirInfo = new DirectoryInfo(@"C:\Test");
//DirectoryInfo sınıfının GetDirectories metodu DirectoryInfo[] türünden dizinleri döner.
DirInfo.GetDirectories();</pre>
<p><strong>Klasör yaratmak<br />
</strong></p>
<pre class="brush:csharp">//Directory sınıfının CreateDirectory metodu DirectoryInfo türünden yaratılan dizini döner.
Directory.CreateDirectory(@"C:\Test\Yeni Klasör");</pre>
<p>Şunu da not olarak açıklamamızda fayda far; <em>CreateDirectory </em>metodu dizin için gerekli tüm klasörleri oluşturur. Örneğin, klasör yaratan bu metod eğer bulunmuyorsa yukarıdaki örnekte &#8220;Test&#8221; klasörünü de yaratır.</p>
<p><strong>Klasör silmek<br />
</strong></p>
<pre class="brush:csharp">//Directory sınıfının Delete metodu belirtilen klasörü siler.
Directory.Delete(@"C:\Test\Yeni Klasör");</pre>
<p>Burada dikkat etmemiz gereken bir nokta, <em>Delete </em>metodunun eğer dizini bulamazsa <a href="http://msdn.microsoft.com/library/system.io.DirectoryNotFoundException" target="_blank">DirectoryNotFoundException</a> hatasını fırlatacağıdır. Bir klasör sileceksek yukarıda bahsettiğimiz <em>Exists </em>metoduyla kontrolünü yaptıktan sonra <em>Delete </em>metodunu çağırmamızda fayda var.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cebirci.com/dizin-yonetimi-directory-sinifi/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript OnError Olayı</title>
		<link>http://www.cebirci.com/javascript-onerror-event-olayi</link>
		<comments>http://www.cebirci.com/javascript-onerror-event-olayi#comments</comments>
		<pubDate>Tue, 07 Sep 2010 01:13:34 +0000</pubDate>
		<dc:creator>Hüseyin Cevizci</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[bulunamayan resimler]]></category>
		<category><![CDATA[gözükmeyen resim]]></category>
		<category><![CDATA[hatalı resim]]></category>
		<category><![CDATA[javascript onerror]]></category>
		<category><![CDATA[onerror]]></category>
		<category><![CDATA[onerror event]]></category>
		<category><![CDATA[onerror olayı]]></category>
		<category><![CDATA[resim bulunamadı]]></category>
		<category><![CDATA[resim yerine]]></category>
		<category><![CDATA[sayfada hata]]></category>

		<guid isPermaLink="false">http://www.cebirci.com/?p=188</guid>
		<description><![CDATA[Bu yazıda Javascript&#8217;in onerror olayını inceleyelim. Bazı durumlarda kullandığımız Javascript kodu nedeniyle sayfada hata oluşabilir. Hata sayfa yüklenirken veya bir duruma bağlı olarak meydana gelir. Bu durumlarda tarayıcılar çeşitli uyarılar verir. Örneğin Internet Explorer&#8217;da alttaki durum çubuğunda şöyle bir uyarı olur: Sayfadaki Javascript hatalarını window nesnesinin onerror olayıyla şu şekilde yakalayabiliriz: &#60;script type="text/javascript"&#62; window.onerror = [...]


<strong><em>İlgili diğer başlıklar:</em></strong><ul><li><a href='http://www.cebirci.com/graph-api-facebook-connect' rel='bookmark' title='Permanent Link: Graph API ile Facebook Connect'>Graph API ile Facebook Connect</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Bu yazıda Javascript&#8217;in <strong>onerror</strong> olayını inceleyelim.</p>
<p>Bazı durumlarda kullandığımız Javascript kodu nedeniyle sayfada hata oluşabilir. Hata sayfa yüklenirken veya bir duruma bağlı olarak meydana gelir. Bu durumlarda tarayıcılar çeşitli uyarılar verir. Örneğin Internet Explorer&#8217;da alttaki durum çubuğunda şöyle bir uyarı olur:</p>
<p><a href="http://www.cebirci.com/wp-content/uploads/2010/09/sayfada-hata1.jpg"><img class="alignnone size-full wp-image-192" title="sayfada hata" src="http://www.cebirci.com/wp-content/uploads/2010/09/sayfada-hata1.jpg" alt="" width="166" height="24" /></a></p>
<p>Sayfadaki Javascript hatalarını window nesnesinin <strong>onerror</strong> olayıyla şu şekilde yakalayabiliriz:</p>
<pre class="brush:javascript">&lt;script type="text/javascript"&gt;
   window.onerror = function(){
       alert('Bir hata oluştu!');
   }
&lt;/script&gt;
&lt;script type="text/javascript"&gt;
    alert('eksik bir kod'
&lt;/script&gt;
</pre>
<p>Bu kullanımına ek olarak onerror olayı img etiketli nesnelerde de çok yararlı bir şekilde kullanılabilir. Bildiğimiz gibi sayfamızda bulunan bir resim eğer kaynak adreste bulunmuyorsa gözükmez. Her tarayıcı bu durumda kendine has bir şekilde davranır. Örneğin Internet Explorer&#8217;da bulunamayan resimler için şuna benzer bir simge gözükür:</p>
<p><a href="http://www.cebirci.com/wp-content/uploads/2010/09/resim-bulunamadı.jpg"><img class="alignnone size-full wp-image-198" title="resim bulunamadı" src="http://www.cebirci.com/wp-content/uploads/2010/09/resim-bulunamadı.jpg" alt="" width="44" height="44" /></a></p>
<p><strong>Bulunamayan resimler yerine </strong>istediğimiz bir resmin gözükmesini istiyorsak, yine onerror olayından yararlanırız.</p>
<pre class="brush:xml">&lt;img alt="Alt" src="bulunamayacak.gif" onerror="this.src='ResimBulunamadi.jpg'"&gt;&lt;/img&gt;
</pre>
<p><a href="../wp-content/uploads/2010/09/resim-bulunamad%C4%B1.jpg"><img title="resim bulunamadı" src="../wp-content/uploads/2010/09/resim-bulunamad%C4%B1.jpg" alt="" width="44" height="44" /></a><a href="../wp-content/uploads/2010/09/sagok.jpg"><img style="border: 0;" title="sagok" src="../wp-content/uploads/2010/09/sagok.jpg" alt="" width="44" height="44" /></a><a href="../wp-content/uploads/2010/09/resim-yok.jpg"><img title="resim yok" src="../wp-content/uploads/2010/09/resim-yok.jpg" alt="" width="44" height="44" /></a></p>
<p>Ve böylece sayfamızda daha güzel bir görüntü elde etmiş oluruz.</p>


<br /><p><strong><em>İlgili diğer başlıklar:</em></strong></p><ul><li><a href='http://www.cebirci.com/graph-api-facebook-connect' rel='bookmark' title='Permanent Link: Graph API ile Facebook Connect'>Graph API ile Facebook Connect</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.cebirci.com/javascript-onerror-event-olayi/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Asal Çarpanlara Ayırma Makinesi</title>
		<link>http://www.cebirci.com/asal-carpanlara-ayirma-makinesi</link>
		<comments>http://www.cebirci.com/asal-carpanlara-ayirma-makinesi#comments</comments>
		<pubDate>Thu, 26 Aug 2010 06:42:30 +0000</pubDate>
		<dc:creator>Hüseyin Cevizci</dc:creator>
				<category><![CDATA[Matematik]]></category>
		<category><![CDATA[Tanıtım]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[asal çarpan hesap makinesi]]></category>
		<category><![CDATA[asal çarpan hesaplama]]></category>
		<category><![CDATA[asal çarpanlara ayırma]]></category>
		<category><![CDATA[asal çarpanlara ayırma makinesi]]></category>
		<category><![CDATA[widget builder]]></category>
		<category><![CDATA[wolfram alpha]]></category>
		<category><![CDATA[wolfram alpha widget builder]]></category>
		<category><![CDATA[wolfram alpha widgets]]></category>

		<guid isPermaLink="false">http://www.cebirci.com/?p=164</guid>
		<description><![CDATA[Önceki yazımızda tanıttığımız Wolfram Alpha sitesindeki &#8220;Widget Builder&#8221; özelliği yardımıyla bir &#8220;Asal Çarpanlara Ayırma Makinesi&#8221; yapalım. İşte sonucunda ulaşacağımız bileşen: Öncelikle Wolfram Alpha&#8217;nın Widgets sayfasına gidip &#8220;Create account&#8221; butonuyla siteye geliştirici olarak kaydolmamız gerekli. Ardından hesabımızla siteye giriş yapıp makinemizi yapmaya başlayabiliriz. Oluşturduğumuz bileşene sol üst kısımdaki &#8220;Edit&#8221; tuşunu kullanarak bir isim verelim ve &#8220;Save&#8221; [...]


<strong><em>İlgili diğer başlıklar:</em></strong><ul><li><a href='http://www.cebirci.com/wolfram-alpha' rel='bookmark' title='Permanent Link: Wolfram Alpha'>Wolfram Alpha</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cebirci.com/wolfram-alpha" target="_self">Önceki yazımızda</a> tanıttığımız <a href="http://www.wolframalpha.com/" target="_blank">Wolfram Alpha</a> sitesindeki &#8220;<em>Widget Builder</em>&#8221; özelliği yardımıyla bir &#8220;<strong>Asal Çarpanlara Ayırma Makinesi</strong>&#8221; yapalım. İşte sonucunda ulaşacağımız bileşen:</p>
<p><script id="WolframAlphaScript4c26774d852f62440fc746ea4cdd57f6" src="http://www.wolframalpha.com/widget/widget.jsp?id=4c26774d852f62440fc746ea4cdd57f6" type="text/javascript"></script></p>
<p>Öncelikle <a href="http://developer.wolframalpha.com/widgets/" target="_blank">Wolfram Alpha&#8217;nın Widgets sayfası</a>na gidip &#8220;<em>Create account</em>&#8221; butonuyla siteye geliştirici olarak kaydolmamız gerekli. Ardından hesabımızla siteye giriş yapıp makinemizi yapmaya başlayabiliriz.</p>
<p>Oluşturduğumuz bileşene sol üst kısımdaki &#8220;<em>Edit</em>&#8221; tuşunu kullanarak bir isim verelim ve &#8220;<em>Save</em>&#8221; tuşuna basalım:</p>
<p><a href="http://www.cebirci.com/wp-content/uploads/2010/08/isimverme.png"><img class="alignnone size-full wp-image-165" title="isimverme" src="http://www.cebirci.com/wp-content/uploads/2010/08/isimverme.png" alt="" width="205" height="91" /></a> <a href="http://www.cebirci.com/wp-content/uploads/2010/08/isimverme2.png"><img class="alignnone size-full wp-image-166" title="isimverme2" src="http://www.cebirci.com/wp-content/uploads/2010/08/isimverme2.png" alt="" width="265" height="94" /></a></p>
<p>Ardından asal çarpanlara ayrımayı sağlayacak Wolfram sorgusunu ekleyelim ve &#8220;<em>Next</em>&#8221; tuşuna basalım:</p>
<p><a href="http://www.cebirci.com/wp-content/uploads/2010/08/sorguyu-yapma.png"><img class="alignnone size-full wp-image-168" title="sorguyu yapma" src="http://www.cebirci.com/wp-content/uploads/2010/08/sorguyu-yapma.png" alt="" width="681" height="160" /></a></p>
<p>Şimdi bu sorguda değişken olarak belirleyeceğimiz sayı kısmını imleç yardımıyla seçeceğiz. Ve &#8220;<em>New Variable</em>&#8221; tuşuna basacağız.</p>
<p><a href="http://www.cebirci.com/wp-content/uploads/2010/08/degisken-belirleme.png"><img class="alignnone size-full wp-image-170" title="degisken belirleme" src="http://www.cebirci.com/wp-content/uploads/2010/08/degisken-belirleme.png" alt="" width="669" height="105" /></a></p>
<p>Oluşturduğumuz değişkenle ilgili özellikleri aşağıdaki gibi belirliyoruz ve yine &#8220;<em>Next</em>&#8221; tuşuna basıyoruz:</p>
<p><a href="http://www.cebirci.com/wp-content/uploads/2010/08/degisken-duzenleme.png"><img class="alignnone size-full wp-image-171" title="degisken duzenleme" src="http://www.cebirci.com/wp-content/uploads/2010/08/degisken-duzenleme.png" alt="" width="671" height="177" /></a></p>
<p>Sıradaki &#8220;<em>Widget Layout</em>&#8221; ekranında bileşenimizin görünümüyle ilgili değişiklikler yapabiliyoruz. Başlık, çerçeve rengi ve bileşene yeni öğeler ekleme gibi özellikler bu ekranda bulunuyor. İstediğimiz görsel değişiklikleri yapıp yine &#8220;<em>Next</em>&#8221; tuşuna basıyoruz.</p>
<p>Açılan &#8220;<em>Widget Output</em>&#8221; ekranında ise hesaplanan sonucun nasıl gözükeceğini, hangi alanları içereceğini belirliyoruz. Çıktı ayarlarında &#8220;<em>Show Assumptions</em>&#8221; yani &#8220;<em>Varsayımları Göster</em>&#8221; ve &#8220;<em>Show Warnings</em>&#8221; yani &#8220;<em>Uyarıları Göster</em>&#8221; seçeneklerini isteğimize göre belirliyoruz. &#8220;<em>Next</em>&#8221; tuşuyla sonraki adıma geçiyoruz.</p>
<p>&#8220;<em>Output Type</em>&#8221; adımında sonuçların gösteriliş biçimini belirliyoruz. Lightbox, Popup ve iFrame seçeneklerini önizlemelerde inceleyerek içlerinden birini seçiyoruz ve sonraki adıma geçiyoruz.</p>
<p>&#8220;<em>Widget Info</em>&#8221; adımında bileşenimizle ilgili bilgi kutucuklarını dolduruyoruz.</p>
<p>Son olarak &#8220;<em>Publish</em>&#8221; tuşuna basıyoruz ve bileşenimiz artık hazır. Hazırladığımız <a href="http://developer.wolframalpha.com/widgets/gallery/view.jsp?id=4c26774d852f62440fc746ea4cdd57f6" target="_blank">Asal Çarpanlara Ayırma Makinesi</a>nin sayfasını görebilir ve aşağıdaki kodu sitemize ekleyerek sitemizde bu makineyi yayınlayabiliriz.</p>
<pre class="brush:xml">&lt;script type="text/javascript" id="WolframAlphaScript4c26774d852f62440fc746ea4cdd57f6" src="http://www.wolframalpha.com/widget/widget.jsp?id=4c26774d852f62440fc746ea4cdd57f6"&gt;&lt;/script&gt;
</pre>


<br /><p><strong><em>İlgili diğer başlıklar:</em></strong></p><ul><li><a href='http://www.cebirci.com/wolfram-alpha' rel='bookmark' title='Permanent Link: Wolfram Alpha'>Wolfram Alpha</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.cebirci.com/asal-carpanlara-ayirma-makinesi/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wolfram Alpha</title>
		<link>http://www.cebirci.com/wolfram-alpha</link>
		<comments>http://www.cebirci.com/wolfram-alpha#comments</comments>
		<pubDate>Mon, 23 Aug 2010 06:31:54 +0000</pubDate>
		<dc:creator>Hüseyin Cevizci</dc:creator>
				<category><![CDATA[Matematik]]></category>
		<category><![CDATA[Tanıtım]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[nasıl kullanılır]]></category>
		<category><![CDATA[ne işe yarar]]></category>
		<category><![CDATA[örnek]]></category>
		<category><![CDATA[wolfram]]></category>
		<category><![CDATA[wolfram alpha]]></category>
		<category><![CDATA[wolfram alpha nedir]]></category>
		<category><![CDATA[wolfram alpha örnek]]></category>

		<guid isPermaLink="false">http://www.cebirci.com/?p=139</guid>
		<description><![CDATA[Wolfram Alpha 2009 mart ayında duyurulan ve 15 Mart 2009&#8242;da yayına başlayan bir cevap motorudur. Sorduğumuz sorulara web sayfalarında arama yapmak yerine, kendi veritabanındaki bilgilere dayanarak ve gelişmiş bir hesaplama yaparak yanıt verir. Wolfram&#8217;ın önceki ürünlerinden, fonksiyonal bir programlama paketi olan Mathematica&#8216; dan da faydalanan sistem, sadece matematiksel sonuçlarla kalmıyor ve çok geniş bir yelpazede [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wolframalpha.com/" target="_blank">Wolfram Alpha</a> 2009 mart ayında duyurulan ve 15 Mart 2009&#8242;da yayına başlayan bir cevap motorudur. Sorduğumuz sorulara web sayfalarında arama yapmak yerine,  kendi veritabanındaki bilgilere dayanarak ve gelişmiş bir hesaplama  yaparak yanıt verir. Wolfram&#8217;ın önceki ürünlerinden, fonksiyonal bir programlama paketi olan <a href="http://www.wolfram.com/products/mathematica/index.html" target="_blank">Mathematica</a>&#8216; dan da faydalanan sistem, sadece matematiksel sonuçlarla kalmıyor ve çok geniş bir yelpazede cevaplar sunabiliyor.</p>
<p>Çok yetenekli bu cevap motorunda, cevap alabileceğimiz geniş içerikten bazı örnekler:</p>
<p><strong>Matematik: </strong></p>
<p>Üçüncü Dereceden bir bilinmeyenli bir <a href="http://www.wolframalpha.com/input/?i=x^3+-+4x^2+%2B+6x+-+24+%3D+0" target="_blank">denklemin çözümü</a>: x^3 &#8211; 4x^2 + 6x &#8211; 24 = 0</p>
<p>Bir mantıkla ilerleyen sayı dizisinin <a href="http://www.wolframalpha.com/input/?i=5%2C+14%2C+24%2C+35%2C+47%2C+..." target="_blank">hangi düzende olabileceği </a>: 5, 14, 24, 35, 47, &#8230;</p>
<p>Bir denklemin <a href="http://www.wolframalpha.com/input/?i=derivative+of+x^4+sin+x" target="_blank">türevinin çözümü </a>: Türev =&gt; (x^4)sin(x)</p>
<p>Bir <a href="http://www.wolframalpha.com/input/?i=2+y+%27+%3D+sin%282x%29+" target="_blank">diferansiyel denklemin çözümü</a>:  2 y &#8216; = sin(2x)</p>
<p>Belli bir adet atılan zarla ilgili <a href="http://www.wolframalpha.com/input/?i=8+dice" target="_blank">olasılık durumları</a>: 8 zar</p>
<p><strong>Diğer</strong></p>
<p>Fizikte İdeal gaz kanununa göre <a href="http://www.wolframalpha.com/input/?i=ideal+gas+law+2.2mol%2C+2.0atm%2C+500K" target="_blank">gazın hacmi</a>: 2.2mol, 2.0atm, 500Kelvin</p>
<p>Görüntü ve mercek arasındaki <a href="http://www.wolframalpha.com/input/?i=lens%2C+f%3D20cm%2C+o%3D400cm" target="_blank">uzaklık</a>: Odak uzunluğu: 20cm, Nesne-mercek uzaklığı:400cm</p>
<p>Belli bir tarihte bir <a href="http://www.wolframalpha.com/input/?i=Jupiter+10+Nov+1983" target="_blank">gezegenenin durumu</a>: 10 Kasım 1983&#8242;te Jupiter</p>
<p>Birim <a href="http://www.wolframalpha.com/input/?i=400+cm+in+feets" target="_blank">çevirileri </a>:  400 cm kaç &#8220;feet&#8221;tir?</p>
<p>Bir sözcüğü MD5 metoduyla <a href="http://www.wolframalpha.com/input/?i=MD5+%22cebirci%22" target="_blank">şifreleme</a>: cebirci</p>
<p>Belli bir <a href="http://www.wolframalpha.com/input/?i=bosphorus+Bridge" target="_blank">yapıyla ilgili bilgi </a>: Boğaziçi Köprüsü</p>
<p>Bir sözcüğün <a href="http://www.wolframalpha.com/input/?i=barcode+cebirci" target="_blank">barkoda dönüştürülmüş şekli</a>: cebirci</p>
<p>İki tarih arasında <a href="http://www.wolframalpha.com/input/?i=10+Nov+1983+to+now" target="_blank">geçen sürenin analizi</a>: 10 Kasım 1983&#8242;ten bugüne</p>
<p>Bir yerdeki <a href="http://www.wolframalpha.com/input/?i=time+in+congo" target="_blank">saat</a>: Kongo saati</p>
<p>Bir ülkeyle ilgili <a href="http://www.wolframalpha.com/input/?i=turkey+energy+production" target="_blank">sosyo-ekonomik veriler</a>: Türkiye&#8217;nin enerji üretimi</p>
<p>Dünya üzerindeki bir ülke, şehir, dağ, nehir gibi coğrafi yerlerin <a href="http://www.wolframalpha.com/input/?i=erciyes" target="_blank">detaylı özellikleri</a>: Erciyes Dağı</p>
<p>Tarihsel bir kişi veya olayla <a href="http://www.wolframalpha.com/input/?i=fatih+sultan+mehmet" target="_blank">ilgili bilgi</a>: Fatih Sultan Mehmet</p>
<p>Bir şirketle ilgili <a href="http://www.wolframalpha.com/input/?i=vodafone" target="_blank">detaylı bilgi</a>: Vodafone</p>
<p>Bir film, kitap veya şarkıyla <a href="http://www.wolframalpha.com/input/?i=babam+ve+oglum" target="_blank">ilgili bilgi</a>: Babam ve oğlum</p>
<p>Bir yerin <a href="http://www.wolframalpha.com/input/?i=weather+istanbul" target="_blank">hava durumu</a>: İstanbul</p>
<p>Bir dövizin başka bir döviz cinsinden <a href="http://www.wolframalpha.com/input/?i=1+usd+in+tl" target="_blank">karşılığı</a>: 1 USD&#8217;nin TL karşılığı</p>
<p>Belli bir yılda belli bir yerde olan <a href="http://www.wolframalpha.com/input/?i=earthquake+Istanbul+1999" target="_blank">depremler</a>: 1999 yılında İstabuldaki depremler</p>
<p>Geliştirilmekte olan bir çok bölüm daha var. Anatomi, Spor ve Müzik Sanatçıları bu geliştirilecek konulardan bazıları. Tüm bu sorgu örneklerini kategorize edilmiş biçimde <a href="http://www.wolframalpha.com/examples/" target="_blank">Wolfram Alpha örnekler</a> sayfasından inceleyebiliriz ve istediğimiz sorguları yapabiliriz. Çok nitelikli bir site olan <a href="http://www.wolframalpha.com/" target="_blank"><strong>Wolfram Alpha</strong></a>&#8216;yı gerçekten tavsiye ediyorum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cebirci.com/wolfram-alpha/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Project Euler</title>
		<link>http://www.cebirci.com/project-euler</link>
		<comments>http://www.cebirci.com/project-euler#comments</comments>
		<pubDate>Mon, 16 Aug 2010 22:00:28 +0000</pubDate>
		<dc:creator>Hüseyin Cevizci</dc:creator>
				<category><![CDATA[Matematik]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[matematik]]></category>
		<category><![CDATA[Matematik programlama]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[project euler]]></category>
		<category><![CDATA[projecteuler]]></category>

		<guid isPermaLink="false">http://www.cebirci.com/?p=125</guid>
		<description><![CDATA[Bu yazıda www.projecteuler.net sitesini tanıtacağım. Project Euler, içinde 299 matematik problemi barındırıyor. Ancak bu problemleri çözebilmek için sadece matematik bilgisi yetmiyor. Çünkü sorular bilgisayar yardımı olmadan çözülmesi çok zor sorular. Zaten 117501 kullanıcısı olan sitenin amacı da bilgisayar ve programlama yeteneklerinin kullanılmasını sağlamak. Üye olduğumuzda isteğe bağlı olarak kullandığımız programlama dilini ve ülkemizi seçebiliyoruz. Bu [...]]]></description>
			<content:encoded><![CDATA[<p>Bu yazıda <a href="http://projecteuler.net/" target="_blank">www.projecteuler.net</a> sitesini tanıtacağım. <strong>Project Euler</strong>, içinde 299 matematik problemi barındırıyor. Ancak bu problemleri çözebilmek için sadece matematik bilgisi yetmiyor. Çünkü sorular bilgisayar yardımı olmadan çözülmesi çok zor sorular. Zaten 117501 kullanıcısı olan sitenin amacı da bilgisayar ve programlama yeteneklerinin kullanılmasını sağlamak.</p>
<p>Üye olduğumuzda isteğe bağlı olarak kullandığımız programlama dilini ve ülkemizi seçebiliyoruz. Bu bilgiler ışığında sıralamamızı görebiliyor, üyelerin hangi soruları doğru yanıtladığını inceleyebiliyor, hangi programlama dillerinin daha başarılı olduğunu yorumlayabiliyoruz.</p>
<p>Üyeler 6 aşama atlayabiliyorlar. Birinci aşama için 25, ikinci aşama için 50, üçüncü aşama için 100, dördüncü aşama için 150, beşinci aşama için 200 ve altıncı aşama için 250 soru çözülmesi gerekiyor. Ülkesini Türkiye olarak seçmiş 340 üyeden altıncı aşamaya geçmiş tek bir üye bulunuyor.</p>
<p>Ancak <strong>Project Euler </strong>sitesinin Türk kullanıcılar için bir dezavantajı soruların tamamının İngilizce olması. Her ne kadar sorularda matematiksel terimler yoğunlukta olsa da, İngilizce bilmeyenlerimiz için dil bir sorun olarak karşımıza çıkabilir.</p>
<p>İşte bir örnek soru, siz de kendi programlama dilinizle bu problemi çözmeye ne dersiniz?</p>
<blockquote><p>If we list all the natural numbers below 10 that are multiples of 3  or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.<br />
Find the sum of all the multiples of 3 or 5 below 1000.</p></blockquote>
<p>Türkçesi,</p>
<blockquote><p>3&#8242;ün veya 5&#8242;in katı olan 10&#8242;dan küçük tüm doğal sayıları listelersek, 3, 5, 6, ve 9&#8242;u elde ederiz. Bu katların toplamı 23&#8242;tür. 3&#8242;ün veya 5&#8242;in 1000&#8242;den küçük tüm katlarının toplamını bulunuz.</p></blockquote>
<p>Bakalım sonucu bulabilecek miyiz?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cebirci.com/project-euler/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FQL (Facebook Query Language) İle Sorgu Yapma</title>
		<link>http://www.cebirci.com/fql-facebook-query-language-ile-sorgu-yapma</link>
		<comments>http://www.cebirci.com/fql-facebook-query-language-ile-sorgu-yapma#comments</comments>
		<pubDate>Tue, 27 Jul 2010 07:07:17 +0000</pubDate>
		<dc:creator>Hüseyin Cevizci</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Facebook Query Language]]></category>
		<category><![CDATA[fql]]></category>
		<category><![CDATA[FQL Örneği]]></category>
		<category><![CDATA[FQL Örnek]]></category>
		<category><![CDATA[fql sorgusu]]></category>

		<guid isPermaLink="false">http://www.cebirci.com/?p=103</guid>
		<description><![CDATA[Facebook&#8217;un kendi sorgu dili olan FQL ile Facebook veritabanına sorgu yapabiliyoruz. Sorgu yapabileceğimiz tabloları ve alanları Facebook resmi kaynak dökümanlarında inceleyebiliriz. Şimdi bir FQL sorgusuyla, kullanıcının Facebook&#8217;taki bazı temel bilgilerine nasıl ulaşacağımıza bakalım. Önce FB.api fonksiyonuyla kütüphaneye erişiyoruz. FB.api('/me', function(response) { } Bu fonksiyonun döndüğü sonuç değişkeninde, bağlı kullanıcının Facebook ID değeri bulunuyor. Oluşturduğumuz sorguda [...]


<strong><em>İlgili diğer başlıklar:</em></strong><ul><li><a href='http://www.cebirci.com/graph-api-facebook-connect' rel='bookmark' title='Permanent Link: Graph API ile Facebook Connect'>Graph API ile Facebook Connect</a></li>
<li><a href='http://www.cebirci.com/facebook-api-ile-otomatik-durum-guncelleme' rel='bookmark' title='Permanent Link: Facebook API ile otomatik durum güncelleme'>Facebook API ile otomatik durum güncelleme</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Facebook&#8217;un kendi sorgu dili olan <a href="http://www.cebirci.com/tag/fql" target="_self">FQL</a> ile Facebook veritabanına sorgu yapabiliyoruz. Sorgu yapabileceğimiz tabloları ve alanları <a href="http://developers.facebook.com/docs/reference/fql/" target="_blank">Facebook resmi kaynak dökümanlarında</a> inceleyebiliriz. Şimdi bir FQL sorgusuyla, kullanıcının Facebook&#8217;taki bazı temel bilgilerine nasıl ulaşacağımıza bakalım.</p>
<p>Önce <strong>FB.api</strong> fonksiyonuyla kütüphaneye erişiyoruz.</p>
<pre class="brush:javascript">FB.api('/me', function(response) {
}
</pre>
<p>Bu fonksiyonun döndüğü sonuç değişkeninde, bağlı kullanıcının Facebook ID değeri bulunuyor. Oluşturduğumuz sorguda Facebook ID değerini kullanıyoruz:</p>
<pre class="brush:javascript">var sorgu= FB.Data.query('select name, hometown_location, sex, pic_square from user where uid={0}', response.id);
</pre>
<p>Sorguyu wait metoduyla çalıştırıp, sistemin fonksiyon sonuç dönene kadar beklemesini sağlıyoruz.</p>
<pre class="brush:javascript">sorgu.wait(function(rows){
});
</pre>
<p>Ardından da sorgudan gelen sonuçları ayrıştırıp sayfaya yazıyoruz.</p>
<pre class="brush:javascript">document.getElementById('divBilgiler').innerHTML =
"İsminiz: " + rows[0].name + ",&lt;br/&gt; Cinsiyetiniz: " + rows[0].sex + ",&lt;br/&gt; Resminiz: &lt;br/&gt;" + "&lt;img src='" + rows[0].pic_square + "'&gt;&lt;/img&gt;";
</pre>
<p>Fonksiyonumuzun tamamı şu şekilde:</p>
<pre class="brush:javascript">function fqlSorgu(){
FB.api('/me', function(response) {
  var sorgu= FB.Data.query('select name, sex, pic_square from user where uid={0}', response.id);
  sorgu.wait(function(rows) {
    document.getElementById('divBilgiler').innerHTML =
"İsminiz: " + rows[0].name + ",&lt;br/&gt; Cinsiyetiniz: " + rows[0].sex + ",&lt;br/&gt; Resminiz: &lt;br/&gt;" + "&lt;img src='" + rows[0].pic_square + "'&gt;&lt;/img&gt;";
    });
  });
}
</pre>
<p>Örnek sayfayı şurada görebiliriz: <a href="../demo/FB_FQL" target="_blank">http://www.cebirci.com/demo/FB_FQL</a></p>


<br /><p><strong><em>İlgili diğer başlıklar:</em></strong></p><ul><li><a href='http://www.cebirci.com/graph-api-facebook-connect' rel='bookmark' title='Permanent Link: Graph API ile Facebook Connect'>Graph API ile Facebook Connect</a></li>
<li><a href='http://www.cebirci.com/facebook-api-ile-otomatik-durum-guncelleme' rel='bookmark' title='Permanent Link: Facebook API ile otomatik durum güncelleme'>Facebook API ile otomatik durum güncelleme</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.cebirci.com/fql-facebook-query-language-ile-sorgu-yapma/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook API ile otomatik durum güncelleme</title>
		<link>http://www.cebirci.com/facebook-api-ile-otomatik-durum-guncelleme</link>
		<comments>http://www.cebirci.com/facebook-api-ile-otomatik-durum-guncelleme#comments</comments>
		<pubDate>Wed, 21 Jul 2010 05:40:08 +0000</pubDate>
		<dc:creator>Hüseyin Cevizci</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Yazılım]]></category>
		<category><![CDATA[Durum Güncelleme]]></category>
		<category><![CDATA[Duvara Yazı Eklemek]]></category>
		<category><![CDATA[Facebook API]]></category>
		<category><![CDATA[Facebook Connect]]></category>
		<category><![CDATA[Facebook Stream Publish]]></category>
		<category><![CDATA[publish_stream]]></category>

		<guid isPermaLink="false">http://www.cebirci.com/?p=64</guid>
		<description><![CDATA[Sitemize giriş yapmış birinin, Facebook&#8217;taki durumunu otomatik olarak nasıl güncelleyeceğimize bakalım.  Durum güncellemesi yapabilmek için kullanıcının sitemize Facebook Connect ile bağlanması gerekmektedir. Bu entegrasyonun nasıl yapılacağını Graph API ile Facebook Connect – 1 yazımızda paylaşmıştık. Amacımız kullanıcının Facebook sayfasında şu şekilde bir durumu otomatik olarak yayınlamak: Öncelikle kullanıcıdan gerekli izinleri almamız gerekiyor. İzin almak için [...]


<strong><em>İlgili diğer başlıklar:</em></strong><ul><li><a href='http://www.cebirci.com/graph-api-facebook-connect' rel='bookmark' title='Permanent Link: Graph API ile Facebook Connect'>Graph API ile Facebook Connect</a></li>
</ul>]]></description>
			<content:encoded><![CDATA[<p>Sitemize giriş yapmış birinin, Facebook&#8217;taki durumunu otomatik olarak nasıl güncelleyeceğimize bakalım.  Durum güncellemesi yapabilmek için kullanıcının sitemize Facebook Connect ile bağlanması gerekmektedir. Bu entegrasyonun nasıl yapılacağını <a href="http://www.cebirci.com/fb-connect-graph-api-1">Graph API ile Facebook Connect – 1</a> yazımızda paylaşmıştık.</p>
<p>Amacımız kullanıcının Facebook sayfasında şu şekilde bir durumu otomatik olarak yayınlamak:</p>
<p><a href="http://www.cebirci.com/wp-content/uploads/2010/07/ekran.jpg"><img class="alignnone size-full wp-image-65" title="Facebook Api ile Otomatik Durum Güncelleme" src="http://www.cebirci.com/wp-content/uploads/2010/07/ekran.jpg" alt="Facebook Api ile Otomatik Durum Güncelleme" width="536" height="201" /></a></p>
<p>Öncelikle kullanıcıdan gerekli izinleri almamız gerekiyor. İzin almak için login-buton&#8217;unda perms özelliğine alacağımız izinleri ekleriz. Bu örnekte kullanıcıdan duvarında yazı yayınlama izini isteyeceğiz. Bu izini isteyecek <a href="http://wiki.developers.facebook.com/index.php/Extended_permissions/Stream_permissions" target="_blank">publish_stream</a> değişkenini ekliyoruz.</p>
<pre class="brush:xml">

&lt;fb:login-button autologoutlink="true" perms="publish_stream"&gt;&lt;/fb:login-button&gt;
</pre>
<p>Ardından otomatik durum güncelleyecek kodu sayfamıza ekleyelim:</p>
<pre class="brush:javascript">
function statuGuncelle(){
var body = "cebirci.com'da 'Facebook API ile otomatik Statü güncelleme' yazısını inceliyor.";
FB.api('/me/feed', 'post', { message: body }, function(response) {
if (!response || response.error) {
alert('Hata Oluştu');
} else {
alert('Duvara eklenen Post ID: ' + response.id);
}
});
}
</pre>
<p>Örnek sayfayı şurada görebiliriz: <a href="../demo/FB_DurumGuncelleme/" target="_blank">http://www.cebirci.com/demo/FB_DurumGuncelleme</a></p>


<br /><p><strong><em>İlgili diğer başlıklar:</em></strong></p><ul><li><a href='http://www.cebirci.com/graph-api-facebook-connect' rel='bookmark' title='Permanent Link: Graph API ile Facebook Connect'>Graph API ile Facebook Connect</a></li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://www.cebirci.com/facebook-api-ile-otomatik-durum-guncelleme/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

