25 Nisan 2016 Pazartesi

$rootScope'un uygulamanın farklı yerlerinde bind edilmesi

Mesela badge göstereceksiniz. Badge'i bir ana ekranda menü düğmesinin üzerinde bir de yan menüde ilgili bölümün yanında (5) gibi göstereceksiniz. Verinin ortak biyerden alınması lazım. Ana ekranınızda controller içinde $scope.badge = 5; derseniz doğal olarak sadece orada kullanırsınız. ortak kullanım için $rootScope.badge = 5; yapın. Arkasından html kod içinde {{$root.badge}} kullanımı işi halledecektir.

17 Nisan 2016 Pazar

Sourcetree'ye neler oluyor? Cannot lock branch origin master

Windows ve Mac'te SourceTree kullanıyorum. Bazen kırk yılın başında bir local master brach bozuluyor ve windows'ta pull yapamaz hale geliyorum. En sonunda Allah'a şükür çözümü buldum :)

SourceTree'de sağ en üst kısımdan Terminal açılır.
rm .git/refs/remotes/origin/master
ve
git fetch
yapılır.

Kelebekler uçuşur... Haneye huzur gelir...

15 Nisan 2016 Cuma

Çıldırtan CORS belası

"Evet çıldırdım... CORS'tan çıldırdım. Delice, hayvan gibi, ellerimle deliler gibi kod yazarak" :))))

CORS belası tamam bir güvenlik unsuru ama development yaparken sıçırtıcı derecede uğraştırıyor. Ama en azından asp.net mvc için bir çözüm buldum. CORS'u sunucudan response header'ına bir ekleme yaparak çözebiliyoruz.

Projenizin herhangi bir yerine AllowCrossSite.cs adında bir class oluşturun.
İçi de şöyle birşey olacak...

public class AllowCrossSiteAttribute : System.Web.Mvc.ActionFilterAttribute
{
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            filterContext.RequestContext.HttpContext.Response.AddHeader("Access-Control-Allow-Origin", "*");
            base.OnActionExecuting(filterContext);
        }
}

Bu filtre üzerine yazıldığı her action'ın header'ına Access-Control-Allow-Origin = "*" yapıyor.

Cross origin enable etmek istediğiniz action üzerine attribute'u ekleyebilirsiniz. Şu şekilde...

[AllowCrossSite]
public ActionResult AdBanners()
{
      return View();
}

Hadi kolay gelsin.

13 Nisan 2016 Çarşamba

İstediğim emulatörle test yapmak istiyorum

Bu yazıyı yazdığım şu günlerde ionic emulate komudunu öyle yada böyle çağırınca default olarak 6S Plus emulatörü açılıyor. Başka birşey kullanmak isterseniz ki daha küçük ekran boyutlarını denemek isteyeceksiniz... notasyon aşağıdaki gibi. ios olarak belirmeyi ve --target'ı doğru yazdığınızdan emin olunuz sevgili ionic sevdalıları.

ionic emulate ios --target="iPhone5S" -l -c -s

Emulatör seçenkleri ise yaklaşık şöyle birşey

iPhone-4s
iPhone-5
iPhone-5s
iPhone-6-Plus
iPhone-6
iPad-2
iPad-Retina
iPad-Air
Resizable-iPhone
Resizable-iPad