7 Şubat 2018 Çarşamba

url rewrite web.config ayarları PATTERNSYNTAX

<rule name="target redirect" stopProcessing="true" patternSyntax="ECMAScript">
          <match url="^(.*)fiyatlari$" />
          <action type="Rewrite" url="zurna.aspx" />
        </rule>



Yazım Kuralları (patternSyntax)

patternSyntax özelliği ile söz dizimi kuralları belirlenir.


Bu özelliğe desen tanımlamak için aşağıdaki 2 yöntemden birisi kullanılır

  1. ECMAScript (Regex)

    Perl uyumlu (ECMAScript standardına uyumlu) regular expression sözdizimi. Bu, herhangi bir kural için varsayılan seçenektir. EcmaScript ile javascript regular expression aynı şeydir.

    Desen formatı örneği: "^ ([_ 0-9a-zA-Z -] + /)? (Wp -. *)"
  2. Wildcard (Joker)

    IIS HTTP yönlendirme modülünde kullanılan joker karakter sözdizimi

Öneriler (Hangisini Tercih Etmeli)

  1. Regex eşleştirmesi daha güçlüdür, ancak yürütme süresi az da olsa fazladır.
  2. Joker karakter eşlemesi, Regex'den göre performansı daha iyidir ve anlaşılması kolaydır.
  3. Her iki motor da varsayılan olarak büyük-küçük harf duyarlı değildir.
  4. Büyük / küçük harfe duyarlı eşleme, büyük / küçük harfe duyarsız eşleşmeden daha iyi performans gösterir.


---------

İfadelerde kullanabileceğiniz joker karakter kalıplarına bazı örnekler:
K arakterler
Eşleştirmek için kullanın
? veya _ (alt çizgi)
Tek bir karakter
* veya %
Sıfır veya daha fazla karakter
#
Tek bir rakam (0 - 9)
[karakterlistesi]
karakterlistesi içindeki herhangi bir tek karakter
[!karakterlistesi]
karakterlistesi içinde bulunmayan herhangi bir tek karakter
[a-zA-Z0-9].
Herhangi bir alfasayısal karakter
[A-Z]
A-Z aralığındaki herhangi büyük harfler.
Not: Karakter aralığı belirlediğinizde, karakterlerin artan sıralama düzeninde görünmesi gerekir. Örneğin, [Z-A] geçerli bir kalıp değildir.

2 Şubat 2018 Cuma

OO Javascript te in Operatorü ve hasOwnProperty

Bir nesnede herhangi bir property nin olup olmadığı sorgusu if ile yapılmaz.

// aşağıdaki kod satırı güvenilmezdir if (person1.age) { // do something with age }

Çünkü javascripte if şartında true ve false sonuç döndürürken, true ve false neticesini etkileyen truthy ve falsy değerler vardır.

truthy doğru olarak kabul edilecek tüm değerler anlamındadır. Aşağıdaki değerler true döndürür

  1. an object (nesne), 
  2. a nonempty string (boş olmayan bir dize), 
  3. a nonzero number (sıfır olmayan bir sayı),
  4.  true (doğru)



falsy yanlış olaran  kabul edilecek tüm değerler anlamındadır.  Aşağıdaki değerler false döndürür


  1. değer atanmamış (null),
  2. tanımlanmamış(undefined),
  3. 0, 
  4. yanlış (false),
  5. NaN, 
  6. boş bir dize (empty string)

Örneği hatırlayalım
// aşağıdaki kod satırı güvenilmezdir if (person1.age) { // do something with age }

kişinin yaşı 0 olması durumunda ya da farklı bir örnekte negatif bir sonuç çıkmasında yaş property si olmasına rağmen negatif sonuç verebilir.

Bir property nin varlığını test etmek için daha güvenilir yol in operatörünü kullanmaktır

In operatörü belirli bir adla belirli bir property i arar ve verilen anahtar hash table da mevcutsa bulursa doğru döndürür.

Örnek


var person1 = { name: "Nicholas", sayName: function() { console.log(this.name); } }; console.log("name" in person1); // true1
console.log("sayName" in person1); // true1
console.log(person1.hasOwnProperty("name")); // true
console.log(person1.hasOwnProperty("sayName")); // true

hasOwnProperty metodu in operatörü gibi property nin object içerisinde olup olmadığı testini yapar.

delete person1.name; // true - not output, property i siler
console.log("name" in person1); // false, az önce silindi


Literal Object ile Örnek:
var a={"sayi1":100,"sayi2":125}
undefined
a
("sayi1" in a)
true
a.hasOwnProperty("sayi1")
true









Kayseri Invisalign Tedavisi

Herkes harika bir gülümseme ister ama çoğumuzun buna ulaşmak için yardıma ihtiyacı vardır. Giderek daha fazla insan, hizalayıcı adı verilen ...