Swift @autoclosure Attribute

Swift AutoClosure

Bir fonksiyonun şayet “() -> T” türünde bir parametresi varsa, @autoclosure attribute (özniteliği) ile küme parantezi kullanılmadan çağırılabilir. Örneğin:

// Explicit Closure

func Test(parametre p: () -> Int)

{

print(p())

}

Test(parametre: {3 + 5}) // 8

Yerine aşağıdaki gibi kullanılabilir:

func Test(parametre p: @autoclosure () -> Int)

{

print(p())

}

Test(parametre: 3 + 5) // 8

Bu kod parçasında argüman otomatik olarak bir closure’a dönüşmektedir.

Reklamlar

Kotlin Nedir?

Google’ın 2017’deki son etkinliğinde resmen duyurusunu yaptığı KOTLIN, yazılım dünyasında deprem etkisi yaptı. Özellikle hali hazırda Java ile Android uygulaması geliştirenlerin çoğu bu haberi heyecan ve endişeyle karşıladı. Aykut Taşdelen yol sohbetlerinde Kotlin’in aslında çok da yeni bir gelişme olmadığını yaklaşık 1 yıldır gündeminde olduğunu ve Kotlin’e dair görüşlerini anlatıyor. Java mı daha iyi, Kotlin mi? Kotlin’e geçmeli miyim? Java’nın sonu mu geldi? gibi çeşitli sorulara bu video’da cevaplar bulacaksınız.

AIDL Android Interface Definition Language Nedir ?

AIDL (Android Interface Definition Language)  farklı process’lere ait bileşenlerin bir Android servisi ile asenkron haberleşmesini sağlar yani bileşenlerin istekleri servise eşzamanlı iletilir. AIDL interface’leri “.aidl” uzantılı dosyalara yazılırlar.

Şayet bu şekilde gerçekleştirilen IPC mekanizmasının asenkron olmasına ihtiyaç yok ise Messenger sınıfının kullanımı tercih edilebilir. Bu sınıf servise gönderilen istekleri aynı thread içerisinde kuyruklama semantiği kullanarak iletir.

Eğer bir bound servise farklı process’lerin bileşenleri değil de aynı process’e ait bileşenler bağlansın (bind edilsin isteniliyorsa) bu kez Binder sınıfından türetilmiş bir sınıfın kullanımı yeterli olacaktır.

Not : Bu kısa yazı Aykut Taşdelen’in Android Programlama Eğitimi isimli kitabından alıntıdır referans gösterilmeden kullanılamaz.

Java’daki super anahtar sözcüğü nereden geliyor ?

Java’da taban sınıftan türemiş sınıfa (yani üst sınıfa) erişimi sağlayan “super” anahtar sözcüğünün nereden geldiğini hiç düşündünüz mü ? Bu kelime, günlük İngilizce’de (mükemmel, birinci sınıf vb) anlamlarında kullanılan dilimize de yerleşmiş bir sözcüktür. Ancak kelimenin asıl kökeni Latince’dir (superior). Latince’de (üst, üstünde, üzerinde) anlamlarında kullanılan bu sözcük, tıp ve anatomide de yer belirtmek için kullanılır. Örneğin :

Konka Nasalis Superior (Burnun üst kısmındaki kıkırdağın ismi)
Superior Orbital Fissure : Göz çukurunun üzerindeki deliğin ismi.

Superior’un tersi ise inferior kelimesidir ve (alt, altında gibi) anlamlara gelir. Örneğin günümüzde sıkça kullandığımız “infra structure” tamlaması da (alt yapı) bu kelime ile ilişkilidir. Latince’de diğer yer belirten sözcükler şöyledir :

Lateral : Yan
Dorsal : Sırt kısmı
Medial : Orta eksen
Mezial : Orta eksenin iç kısmı
Distal : Orta eksenin dış kısmı
Anterior : Ön kısım
Posterior : Arka kısım

Bu durumda web’de sıkça kullandığımız postback kelimesine yorumlarınızı bekliyorum 🙂