<?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>Barış Velioğlu&#039;nun Programlama Notları</title>
	<atom:link href="http://barisvelioglu.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://barisvelioglu.net</link>
	<description>Css, XHTML, JavaScript, C++, C#, JAVA ve diğer programlama dilleri</description>
	<lastBuildDate>Thu, 19 Jan 2012 22:51:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Bir Veritabanındaki Tabloyu Sql İfadesi ile Farklı Bir Veritabanına Kopyalama</title>
		<link>http://barisvelioglu.net/2012/01/20/bir-veritabanindaki-tabloyu-sql-ifadesi-ile-farkli-bir-veritabanina-kopyalama/</link>
		<comments>http://barisvelioglu.net/2012/01/20/bir-veritabanindaki-tabloyu-sql-ifadesi-ile-farkli-bir-veritabanina-kopyalama/#comments</comments>
		<pubDate>Thu, 19 Jan 2012 22:49:08 +0000</pubDate>
		<dc:creator>Barış Velioğlu</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[tablo oluşturma]]></category>
		<category><![CDATA[tablo taşıma]]></category>

		<guid isPermaLink="false">http://barisvelioglu.net/?p=836</guid>
		<description><![CDATA[Sql Server&#8217;da herhangi bir veritabanındaki bir tabloyu verileriyle ya da verileri olmadan başka bir veritabanında da oluşturmak istediğimde genellikle Sql Server&#8217;ın Generate Scripts özelliğinden yararlanıyordum. Ancak bu işlemi direkt olarak bir sql ifadesi yazarak yapmak da mümkün. Select * Into YeniTestDB.dbo.YeniFilmler From Filmler Where 1 = 2 Bu ifade ile Filmler isimli tablo YeniTestDB isimli [...]]]></description>
			<content:encoded><![CDATA[<p>Sql Server&#8217;da herhangi bir veritabanındaki bir tabloyu verileriyle ya da verileri olmadan başka bir veritabanında da oluşturmak istediğimde genellikle Sql Server&#8217;ın Generate Scripts özelliğinden yararlanıyordum. Ancak bu işlemi direkt olarak bir sql ifadesi yazarak yapmak da mümkün.</p>
<pre class="brush:sql">
Select * Into YeniTestDB.dbo.YeniFilmler
         From Filmler
         Where 1 = 2
</pre>
<p>Bu ifade ile Filmler isimli tablo YeniTestDB isimli veritabanında da oluşturulmuş oldu. Ancak yazmış olduğunuz where ifadesi sayesinde mevcut tablodaki verilerin aktarılmasını engellendi. </p>
<p>Eğer buradaki where ifadesi kaldırılırsa bu kez verileriyle birlikte Filmler isimli tablo, YeniTestDB isimli veritabanında oluşturulmuş olacaktı. </p>
]]></content:encoded>
			<wfw:commentRss>http://barisvelioglu.net/2012/01/20/bir-veritabanindaki-tabloyu-sql-ifadesi-ile-farkli-bir-veritabanina-kopyalama/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ConnectionString&#8217;i UI Yardımıyla Yazmak</title>
		<link>http://barisvelioglu.net/2012/01/17/connectionstring-yazilisini-hatirlayamamak/</link>
		<comments>http://barisvelioglu.net/2012/01/17/connectionstring-yazilisini-hatirlayamamak/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 04:20:24 +0000</pubDate>
		<dc:creator>Barış Velioğlu</dc:creator>
				<category><![CDATA[Kısa Notlar]]></category>
		<category><![CDATA[connection string]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://barisvelioglu.net/?p=827</guid>
		<description><![CDATA[Çok sık kopyalanıp yapıştırılan birşey olduğu için mi, her projede genelde bir sefer yazıldığı için mi, yoksa farklı bir özel nedeni var mı bilemiyorum ancak ConnectionString&#8217;in yazılışını genelde sıkça unutuyorum. Bu sebeple şimdiye kadar ConnectionStrings.com isimli siteden sıkça yararlanıyordum. Ancak geçenlerde bana daha basit gelen bir yöntem öğrendim. Windows kullanıyorsanız eğer, adı önemli olmamakla birlikte [...]]]></description>
			<content:encoded><![CDATA[<p>Çok sık kopyalanıp yapıştırılan birşey olduğu için mi, her projede genelde bir sefer yazıldığı için mi, yoksa farklı bir özel nedeni var mı bilemiyorum ancak ConnectionString&#8217;in yazılışını genelde sıkça unutuyorum. Bu sebeple şimdiye kadar <a href="http://www.connectionstrings.com/" target="_blank">ConnectionStrings.com</a> isimli siteden sıkça yararlanıyordum. Ancak geçenlerde bana daha basit gelen bir yöntem öğrendim.</p>
<p>Windows kullanıyorsanız eğer, adı önemli olmamakla birlikte uzantısı udl (universal data link) olan bir dosya oluşturun ve oluşturulan dosyayı çift tıkla açın.</p>
<p><strong>Karşınıza aşağıdaki gibi, veritabanı ayarlarını yapabileceğiniz bir panel açılacak.<br />
</strong></p>
<p><a href="http://barisvelioglu.net/wp-content/uploads/connectionstring.jpg"><img src="http://barisvelioglu.net/wp-content/uploads/connectionstring.jpg" alt="" title="connectionstring" width="367" height="464" class="aligncenter size-full wp-image-828" /></a></p>
<p>Buradan veritabanı bağlantınız için gerekli tüm ayarları yaptıktan sonra dosyayı bir notepad aracılığıyla açın. ConnectionString karşınızda.</p>
<p><code>[oledb]<br />
; Everything after this line is an OLE DB initstring<br />
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TestDB;Data Source=TRABZON</code></p>
]]></content:encoded>
			<wfw:commentRss>http://barisvelioglu.net/2012/01/17/connectionstring-yazilisini-hatirlayamamak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bir Domain&#8217;deki Tüm Requestleri Diğer Bir Domaine Yönlendirmek</title>
		<link>http://barisvelioglu.net/2011/12/22/bir-domaindeki-tum-requestleri-diger-bir-domaine-yonlendirmek/</link>
		<comments>http://barisvelioglu.net/2011/12/22/bir-domaindeki-tum-requestleri-diger-bir-domaine-yonlendirmek/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 23:11:15 +0000</pubDate>
		<dc:creator>Barış Velioğlu</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[url-rewrite]]></category>
		<category><![CDATA[urlrewrite]]></category>
		<category><![CDATA[vbulletin]]></category>

		<guid isPermaLink="false">http://barisvelioglu.net/?p=824</guid>
		<description><![CDATA[2006 yılında açmış olduğum vbulletin alt yapısını kullanan forumumda domain değişikliği gerçekleştirdim. Bu elbette tüm indexin kaybolması, kullanıcıların indexlenmiş konulara ulaşamaması anlamına geliyordu. Bunun için basit bir urlrewrite işlemi gerçekleştirerek, en azından kullanıcıların yeni domainde de aynı konulara ulaşmasını sağlamış oldum. Bu kodu eski domaininizin barındığı hostda .htaccess dosyasına yazmanız yeterli olacaktır. Options +FollowSymlinks RewriteEngine [...]]]></description>
			<content:encoded><![CDATA[<p>2006 yılında açmış olduğum vbulletin alt yapısını kullanan forumumda domain değişikliği gerçekleştirdim. Bu elbette tüm indexin kaybolması, kullanıcıların indexlenmiş konulara ulaşamaması anlamına geliyordu. Bunun için basit bir urlrewrite işlemi gerçekleştirerek, en azından kullanıcıların yeni domainde de aynı konulara ulaşmasını sağlamış oldum. Bu kodu eski domaininizin barındığı hostda <code>.htaccess</code> dosyasına yazmanız yeterli olacaktır.</p>
<p><code>Options +FollowSymlinks<br />
RewriteEngine on<br />
rewritecond %{http_host} ^eskidomanim.com [nc]<br />
rewriterule ^(.*)$ http://yenidomainim.com/$1 [r=301,nc]</code></p>
]]></content:encoded>
			<wfw:commentRss>http://barisvelioglu.net/2011/12/22/bir-domaindeki-tum-requestleri-diger-bir-domaine-yonlendirmek/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Nullable Tipler &#8211; ?? Operatorü</title>
		<link>http://barisvelioglu.net/2011/12/18/nullable-tipler-operatoru/</link>
		<comments>http://barisvelioglu.net/2011/12/18/nullable-tipler-operatoru/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 10:04:40 +0000</pubDate>
		<dc:creator>Barış Velioğlu</dc:creator>
				<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://barisvelioglu.net/?p=813</guid>
		<description><![CDATA[Nullable tipler bir değere sahip olabileceği gibi, undefined durumunda da olabilir. ?? operatoru null kontrolü yapmamızı sağlayarak nullable bir tipin değerini non-nullable bir tipe atamamızı kolaylaştırır. Ayrıca non-nullable tiplerin önüne ? konularak da bu tiplerin, nullable tipler gibi davranmasını sağlayabiliyoruz. DateTime myDateTime = null; //nullable tip olmadığı için derleme zamanında hata verir. Kullanımına basit bir [...]]]></description>
			<content:encoded><![CDATA[<p>Nullable tipler bir değere sahip olabileceği gibi, undefined durumunda da olabilir. <code>??</code> operatoru null kontrolü yapmamızı sağlayarak nullable bir tipin değerini non-nullable bir tipe atamamızı kolaylaştırır. Ayrıca non-nullable tiplerin önüne <code>?</code> konularak da bu tiplerin, nullable tipler gibi davranmasını sağlayabiliyoruz. </p>
<pre class="brush:c#">
DateTime myDateTime = null; //nullable tip olmadığı için derleme zamanında hata verir.
</pre>
<p style="margin:20px 0 0 0; font-weight:bold;">Kullanımına basit bir örnek
</p>
<pre class="brush:c#">
DateTime? myDateTime = null; //sorunsuz çalışır

DateTime? yourDateTime = DateTime.Now;

DateTime dateTime = myDateTime ?? yourDateTime ?? DateTime.Now; // myDateTime null ise yourDateTime'ın değerini ata, o da null ise DateTime.Now'ın değerini ata
</pre>
]]></content:encoded>
			<wfw:commentRss>http://barisvelioglu.net/2011/12/18/nullable-tipler-operatoru/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS&#8217;de Host Edilen Bir Web Uygulamasını AppStart Durumunda Debug Etmek</title>
		<link>http://barisvelioglu.net/2011/12/18/iisde-host-edilen-bir-web-uygulamasini-appstart-durumunda-debug-etmek/</link>
		<comments>http://barisvelioglu.net/2011/12/18/iisde-host-edilen-bir-web-uygulamasini-appstart-durumunda-debug-etmek/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 09:25:41 +0000</pubDate>
		<dc:creator>Barış Velioğlu</dc:creator>
				<category><![CDATA[IIS]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://barisvelioglu.net/?p=806</guid>
		<description><![CDATA[IIS&#8217;de host ettiğim bir web uygulamasını visual studio&#8217;da ctrl+shift+p tuş combinasyonu ile ya da Debug -> Attact to process menüsünü takiben açılan penceredeki ilgili process&#8217;i seçerek kolayca debug edebiliyordum. Ancak attach edilecek process&#8217;i açılan listede görebilmek için bu process&#8217;e ait web uygulamasının bir kez browser tarafından çalıştırılmış olması gerekiyordu. Kısaca bu yöntemle web uygulamasının AppStart [...]]]></description>
			<content:encoded><![CDATA[<p>IIS&#8217;de host ettiğim bir web uygulamasını visual studio&#8217;da <code>ctrl+shift+p</code> tuş combinasyonu ile ya da <code>Debug -> Attact to process</code> menüsünü takiben  açılan penceredeki ilgili process&#8217;i seçerek kolayca debug edebiliyordum. Ancak attach edilecek process&#8217;i açılan listede görebilmek için bu process&#8217;e ait web uygulamasının bir kez browser tarafından çalıştırılmış olması gerekiyordu. Kısaca bu yöntemle web uygulamasının AppStart durumunda gerçekleştirdiği işlemleri debug etme imkanı bulamıyordum.</p>
<p>Çözüm ise debug&#8217;a başlamak istediğiniz noktada <code>System.Diagnostics</code> kütüphanesinden gelen <code>Debugger.Launch()</code> methodunu çağırmak olacak. Bu sayede uygulama o noktaya işaret ettiği anda w3c process penceresi açılarak size debug&#8217;a başlayıp başlamamak istediğinizi soracak, böylece IIS&#8217;de host edilen bir web uygulamasını her durumunda debug edebileceksiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://barisvelioglu.net/2011/12/18/iisde-host-edilen-bir-web-uygulamasini-appstart-durumunda-debug-etmek/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>parseInt Kullanımına Dikkat</title>
		<link>http://barisvelioglu.net/2011/12/18/parseint-kullanimina-dikkat/</link>
		<comments>http://barisvelioglu.net/2011/12/18/parseint-kullanimina-dikkat/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 09:11:37 +0000</pubDate>
		<dc:creator>Barış Velioğlu</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://barisvelioglu.net/?p=802</guid>
		<description><![CDATA[Projelerimizin birinde JSON olarak aldığımız verilerden bir kısmını işlerken javascript&#8217;in parseInt methodundan yararlanıyorduk. "gün/ay/yıl" formatında gelen bir tarih stringini (örn: 08/12/2011) parçalarına ayırıp bir takım işlemlere tabi tutuyorduk. Ancak burada parseInt("08")' ve parseInt("09")&#8216;un 0 değerini döndürdüğünü farkettik. Kısa bir araştırma sonucu parseInt&#8217;in 8&#8242;lik tabanda çalıştığını öğrendik. Artık bu fonksiyonu kullanırken parseInt(deger,taban) şeklinde kullanıyor olacağım. parseInt('01'); [...]]]></description>
			<content:encoded><![CDATA[<p>Projelerimizin birinde JSON olarak aldığımız verilerden bir kısmını işlerken javascript&#8217;in parseInt methodundan yararlanıyorduk. <code>"gün/ay/yıl"</code> formatında gelen bir tarih stringini <code>(örn: 08/12/2011)</code> parçalarına ayırıp bir takım işlemlere tabi tutuyorduk.</p>
<p>Ancak burada <code>parseInt("08")'</code> ve <code>parseInt("09")</code>&#8216;un 0 değerini döndürdüğünü farkettik. Kısa bir <a href="http://stackoverflow.com/questions/850341/workarounds-for-javascript-parseint-octal-bug">araştırma </a>sonucu parseInt&#8217;in 8&#8242;lik tabanda çalıştığını öğrendik. Artık bu fonksiyonu kullanırken parseInt(deger,taban) şeklinde kullanıyor olacağım. </p>
<p><code><br />
parseInt('01'); //eşittir 1<br />
parseInt('02'); //eşittir 2<br />
parseInt('03'); //eşittir 3<br />
parseInt('04'); //eşittir 4<br />
parseInt('05'); //eşittir 5<br />
parseInt('06'); //eşittir 6<br />
parseInt('07'); //eşittir 7<br />
parseInt('08'); //eşittir 0<br />
parseInt('09'); //eşittir 0</p>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://barisvelioglu.net/2011/12/18/parseint-kullanimina-dikkat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>İlgili Html Elementinin Dışına Tıklanma Olayını Yakalama</title>
		<link>http://barisvelioglu.net/2011/11/25/ilgili-html-elementin-disina-tiklanma-olayini-yakalama/</link>
		<comments>http://barisvelioglu.net/2011/11/25/ilgili-html-elementin-disina-tiklanma-olayini-yakalama/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 22:05:44 +0000</pubDate>
		<dc:creator>Barış Velioğlu</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Jquery]]></category>

		<guid isPermaLink="false">http://barisvelioglu.net/?p=798</guid>
		<description><![CDATA[Genellikle açılır menülerde sıkça rastlanılan bir senaryo diyebiliriz. Bir elemente tıklanır ya da fare ile üzerine gelinir ve daha sonra bunun kendisi dışında sayfada herhangi bir yere tıklanılması durumunda kapatılması istenir. Bu elbette birçok şekilde yapılabilir. Stackoverflow&#8216;da rastladığım aşağıdaki yöntem bence gayet güzel bir çözüm olmuş. Siz de varsa eğer kendi çözümlerinizi paylaşabilirsiniz. var isMouseInside [...]]]></description>
			<content:encoded><![CDATA[<p>Genellikle açılır menülerde sıkça rastlanılan bir senaryo diyebiliriz. Bir elemente tıklanır ya da fare ile üzerine gelinir ve daha sonra bunun kendisi dışında sayfada herhangi bir yere tıklanılması durumunda kapatılması istenir. Bu elbette birçok şekilde yapılabilir. <a href="http://stackoverflow.com/questions/1403615/use-jquery-to-hide-a-div-when-the-user-clicks-outside-of-it">Stackoverflow</a>&#8216;da rastladığım aşağıdaki yöntem bence gayet güzel bir çözüm olmuş. Siz de varsa eğer kendi çözümlerinizi paylaşabilirsiniz.</p>
<pre class="brush:js">

var isMouseInside = false;

$(function()
{
    $('.ilgiliElement').hover(function(){
        isMouseInside = true;
    }, function(){
        isMouseInside = false;
    });

    $("body").mouseup(function(){
        if(!isMouseInside)
          $('.ilgiliElement').hide();
    });
});
</pre>
]]></content:encoded>
			<wfw:commentRss>http://barisvelioglu.net/2011/11/25/ilgili-html-elementin-disina-tiklanma-olayini-yakalama/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jquery Ajax ile Herhangi Bir ASP.NET WebService&#8217;ini Tüketmek</title>
		<link>http://barisvelioglu.net/2011/11/09/jquery-ajax-ile-herhangi-bir-asp-net-webserviceini-tuketmek/</link>
		<comments>http://barisvelioglu.net/2011/11/09/jquery-ajax-ile-herhangi-bir-asp-net-webserviceini-tuketmek/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 13:27:37 +0000</pubDate>
		<dc:creator>Barış Velioğlu</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Jquery]]></category>

		<guid isPermaLink="false">http://barisvelioglu.net/?p=789</guid>
		<description><![CDATA[Jquery&#8217;nin $.ajax fonksiyonu ile, oluşturmuş olduğum bir webservice&#8217;i kullanmanın kısaca yolunu aktarıp, öğrendiğim ipuçlarını paylaşacağım. Senaryomuz kısaca iki sayfadan oluşacak. Bunlardan biri sırasıyla varsayılan adlarıyla WebForm1.aspx web sayfası, diğeri ise WebService1.asmx web service olacaktır. WebForm&#8217;da form içerisinde kullanıcı adı alan bir textbox ve bir button olmak üzere service&#8217;e json request&#8217;de bulunan bir ajax çağrımı gerçekleştireceğiz. [...]]]></description>
			<content:encoded><![CDATA[<p>Jquery&#8217;nin <strong>$.ajax </strong>fonksiyonu ile, oluşturmuş olduğum bir webservice&#8217;i kullanmanın kısaca yolunu aktarıp, öğrendiğim ipuçlarını paylaşacağım. Senaryomuz kısaca iki sayfadan oluşacak. Bunlardan biri sırasıyla varsayılan adlarıyla WebForm1.aspx web sayfası, diğeri ise WebService1.asmx web service olacaktır.<br />
<br />
WebForm&#8217;da form içerisinde kullanıcı adı alan bir textbox ve bir button olmak üzere service&#8217;e json request&#8217;de bulunan bir ajax çağrımı gerçekleştireceğiz. Service ise bu kullanıcı adına &#8220;Merhaba&#8221;+KullanıcıAdı ekleyerek bize yine json formatında cevap gönderecek.</p>
<p><strong>WebForm içerisindeki ajax çağrımını gerçekleştiren javascript:<br />
</strong></p>
<pre class="brush:js">

        function docheck() {

            var username = $('#username').val();

            $.ajax({
                type: "POST",
                url: "WebService1.asmx/HelloWorld",
                data: "{'Name':'" + username + "'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (val) {
                    alert(val.d);
                },
                error: function (val) {
                    alert("Hata");
                }

            });
        }
</pre>
<p><strong>Şimdi de WebService dosyamızı oluşturalım:</strong></p>
<pre class="brush:csharp">
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
    [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public string HelloWorld(string Name)
        {
            return "Merhaba "+ Name;
        }
    }
</pre>
<p>Böylece artık ajax requestler ile tüketebileceğimiz bir servis methodu yaratmış olduk. Peki bu senaryoyu gerçekleştirirken neler öğrendim:</p>
<ul>
<li>JSON gönderip almak için servis class&#8217;ının üstüne <b>[System.Web.Script.Services.ScriptService]</b> isimli attribute&#8217;ün eklenmesinin gereklilik olduğunu. Aynı şekilde XML transferi için böyle birşey gerekmediğini</li>
<li>ASP.NET 3.5 ile gelen bir özellik olan, JSON objesinin &#8220;d&#8221; objesi ile sarmalandığını, bu sebeple servisten dönen cevap basit tipler(string, int, bool) dahi olsa senaryomuzdaki gibi val.d diyerek değerlere ulaşmamız gerektiğini. Bu uygulamanın temel sebebinin XSS saldıralarından korunmak olduğunu, zira object içerisine herhangi bir anlamlı javascript ifadesi yazdığımızda eğer request get ise bunun yorumlanabileceğini</li>
</ul>
<p><strong>Yararlandığım kaynaklar:<br />
</strong></p>
<ul>
<li><a href="http://encosia.com/a-breaking-change-between-versions-of-aspnet-ajax">A breaking change between versions of asp.net ajax</a></li>
<li>
<a href="http://stackoverflow.com/questions/4808641/calling-asmx-service-using-jquery-ajax-asp-net-4-0">Calling asmx service using jquery ajax</a>
</li>
</ul>
<p></p>
<p>Bir sonraki yazımda attribute kullanımından bahsederek, reflection&#8217;a giriş yapayacağım.</p>
<p>İyi çalışmalar,</p>
]]></content:encoded>
			<wfw:commentRss>http://barisvelioglu.net/2011/11/09/jquery-ajax-ile-herhangi-bir-asp-net-webserviceini-tuketmek/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sayfadaki Bir Elemana Scroll Yapmak</title>
		<link>http://barisvelioglu.net/2011/10/13/sayfadaki-bir-elemana-scroll-yapmak/</link>
		<comments>http://barisvelioglu.net/2011/10/13/sayfadaki-bir-elemana-scroll-yapmak/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 19:58:28 +0000</pubDate>
		<dc:creator>Barış Velioğlu</dc:creator>
				<category><![CDATA[Jquery]]></category>
		<category><![CDATA[jquery scroll]]></category>
		<category><![CDATA[scroll]]></category>

		<guid isPermaLink="false">http://barisvelioglu.net/?p=761</guid>
		<description><![CDATA[Uzun soluklu tempolu çalışmalar sebebiyle son zamanlarda biraz yorgun düştüğümü itiraf etmeliyim. Öğrendiklerimi paylaşmaya çok vakit bulamıyor olsam da, kısaca yazabileceklerimi paylaşmaya çalışacağım. Bunlardan biri de sayfadaki herhangi bir elemana scroll işlemi gerçekleştirmek olacak. Projemizdeki senaryoda submit edilen form içerisinde, validasyondan geçemeyen ilk elamanın yanında bir validasyon tooltipi gösteriyoruz. (Bu alan boş bırakılamaz, E-posta adresi [...]]]></description>
			<content:encoded><![CDATA[<p>Uzun soluklu tempolu çalışmalar sebebiyle son zamanlarda biraz yorgun düştüğümü itiraf etmeliyim. Öğrendiklerimi paylaşmaya çok vakit bulamıyor olsam da, kısaca yazabileceklerimi paylaşmaya çalışacağım. Bunlardan biri de sayfadaki herhangi bir elemana scroll işlemi gerçekleştirmek olacak. </p>
<p>Projemizdeki senaryoda submit edilen form içerisinde, validasyondan geçemeyen ilk elamanın yanında bir validasyon tooltipi gösteriyoruz. (Bu alan boş bırakılamaz, E-posta adresi geçersiz vb.) Uzun formlarda validasyon mesajı mevcut browser pencere içerisinde sayfada görünemeyebiliyordu. Bu sebeple eğer ilgili tooltip sayfada görünmüyorsa o elemana doğru pürüzsüz bir kaydırma işlemi gerçekleştirdim. Bunu yaparken de jquery&#8217;in <strong>animation </strong>methodundan ve window&#8217;un <strong>scrollTop </strong>property&#8217;sinden yararlandım.</p>
<p><strong>Basitçe syntax</strong></p>
<pre class="brush:js">

	$("html, body").animate({ scrollTop: $("Scroll-Edilecek-Element").offset().top }, "slow");
</pre>
<p>Kullanımına örnek vermek adına, sayfanın en altında sabit bağlantılar olduğunu ve bunların belli bloklara işaret ettiğini varsayalım. Mevcut bağlantılara tıklanıldığın sahip oldukları class&#8217;lar gözönünde bulundurularak ilgili bloklara scroll işlemi gerçekleştirelim. </p>
<p>Örnek uygulama için <a href="http://barisvelioglu.net/dosyalar/ScrollToAnyElement.html">buraya </a>tıklayınız&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://barisvelioglu.net/2011/10/13/sayfadaki-bir-elemana-scroll-yapmak/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Biraz Regex</title>
		<link>http://barisvelioglu.net/2011/10/10/biraz-regex/</link>
		<comments>http://barisvelioglu.net/2011/10/10/biraz-regex/#comments</comments>
		<pubDate>Mon, 10 Oct 2011 21:24:05 +0000</pubDate>
		<dc:creator>Barış Velioğlu</dc:creator>
				<category><![CDATA[Genel]]></category>

		<guid isPermaLink="false">http://barisvelioglu.net/?p=746</guid>
		<description><![CDATA[Bir projede ihtiyaç doğrultusunda regexlerde değişiklik yapmamız gerekiyordu. Ben de daha önce regex&#8217;le ilgilenmiştim ancak itiraf etmeliyim ki bu süreçte çok kullanmadığım için çabucak unutmuşum. Kısaca yeniden bir gözden geçirdim ve yeni öğrendiğim bir tekniği paylaşmak istedim. Proje aşağıdaki gibi urllere sahip, fontunu kalınlaştırdığım kısım ise bizim regex ile elde etmemiz gereken kısım. http://localhost/index.php/page,Testing.EditProfile/PageId,trabhsw32sadsaxe32sadas1 İki [...]]]></description>
			<content:encoded><![CDATA[<p>Bir projede ihtiyaç doğrultusunda regexlerde değişiklik yapmamız gerekiyordu. Ben de daha önce regex&#8217;le ilgilenmiştim ancak itiraf etmeliyim ki bu süreçte çok kullanmadığım için çabucak unutmuşum. Kısaca yeniden bir gözden geçirdim ve yeni öğrendiğim bir tekniği paylaşmak istedim.</p>
<p><a href="http://barisvelioglu.net/wp-content/uploads/regex-640x250.jpg"><img class="aligncenter size-medium wp-image-752" title="regex-640x250" src="http://barisvelioglu.net/wp-content/uploads/regex-640x250-300x117.jpg" alt="" width="300" height="117" /></a></p>
<p>Proje aşağıdaki gibi urllere sahip, fontunu kalınlaştırdığım kısım ise bizim regex ile elde etmemiz gereken kısım.</p>
<p>http://localhost/index.php/page,Testing.<strong>EditProfile</strong>/PageId,trabhsw32sadsaxe32sadas1</p>
<p>İki parçada sorunu şu şekilde çözdüm. Sizin de farklı bir çözümüz varsa paylaşabilirsiniz.</p>
<p><strong>(?&lt;=\.)([a-zA-Z]+){4}</strong></p>
<p>1) İlk kısımda noktaya kadar olan kısmı urlden çıkarmasını istedim. Bu şekilde <strong>http://localhost/index.</strong> kısmından url&#8217;i arındırmış olduk.</p>
<p>2) Amacımız slash&#8217;ın hemen öncesindeki eşleşen kelimeyi almak aslında. Bu durumunda <strong>php</strong> kısmından da bir şekilde kurtulmamız gerekiyor. Php 3 karakter içerdiğinden ve aynı zamanda sayfa isimlerin de asgari 4 karakter olduğu senaryomuzda 2. kısım için a&#8217;dan z&#8217;ye büyük ve küçük harf duyarlı olmak üzere en az 4 karakter zorunluluğu koydum. Bu şekilde istediğim kısmı, projedeki tüm url çeşitlerinde elde etmiş oldum.</p>
<p>Bu örneği uygularken öğrendiğim en önemli nokta ise benim için yazdığım regex&#8217;in ilk kısmıydı. Bu kullanım şeklinin diğer versiyonlarını kendime de bir hatırlatma olsun diye ayrıca buraya not alıyorum.</p>
<p><strong>1) (?=ABC)<br />
</strong>Positive lookahead. Matches a group after your main expression without including it in the result.</p>
<p><strong>2) (?!ABC)<br />
</strong>Negative lookahead. Specifies a group that can not match after your main expression (ie. if it matches, the result is discarded).</p>
<p><strong>3) (?&lt;=ABC)<br />
</strong>Positive lookbehind. Matches a group before your main expression without including it in the result.</p>
<p><strong>4) (?&lt;!ABC)<br />
</strong>Negative lookbehind. Specifies a group that can not match before your main expression (ie. if it matches, the result is discarded).</p>
<p>İyi çalışmalar,</p>
<p>Test için yararlandığım siteye <a href="http://gskinner.com/RegExr/">buradan </a>ulaşabilirsiniz.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://barisvelioglu.net/2011/10/10/biraz-regex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

