S.a. Arkadaşlar,
Son dönemlerde Angular'a olan ilgim nedeniyle daha düzenli ilerlemek açısından kursa başlamıştım. Kursu bitirip proje de yapmıştım, fakat üzerinden zaman geçince kursu tekrardan gözden geçirmek istedim. İkinci defa izlediğimde her şeyin daha iyi oturduğunu fark ettim. Daha iyi anladığımı düşündüğüm halde ileride kendime aldığım notları elden geçirip sizinle de paylaşmak istedim. Bu yazıyı hazırlarken Uygar Manduz'un verdiği eğitim sonrası yazının kapsamı genişledi. 3 yazılık bir seri olarak ele almaya karar verdim. 1. yazıda type scripti ele alacağız.
OOP etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
OOP etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
27 Ekim 2019 Pazar
8 Eylül 2019 Pazar
Tip Kontrolü (Type Checking)
S.a. Arkadaşlar,
Uzun süren bir aradan sonra nihayet gelebildim. İnsan yazmaya alışınca yazmadan edemiyor artık. Ben de not aldığım konulardan biri olan tip kontrolünü ( Type Checking) ele almaya çalışacağım. typeof, GetType, is ve as kavramların inceleyeceğiz. Şahsım adına kullandığım yapıların sadece kullanımını değil; nerelerde ve ne zaman kullanılır, alternatifleri nelerdir gibi soruların cevaplarını bulmaya çalışıyorum. Ortaya çıkan şeyleri de elimden geldiğince paylaşmak istiyorum. Bu da bu şekilde orta çıkan bir yazı oldu. Bu kısa girişten sonra yazıya başlayalım.
Uzun süren bir aradan sonra nihayet gelebildim. İnsan yazmaya alışınca yazmadan edemiyor artık. Ben de not aldığım konulardan biri olan tip kontrolünü ( Type Checking) ele almaya çalışacağım. typeof, GetType, is ve as kavramların inceleyeceğiz. Şahsım adına kullandığım yapıların sadece kullanımını değil; nerelerde ve ne zaman kullanılır, alternatifleri nelerdir gibi soruların cevaplarını bulmaya çalışıyorum. Ortaya çıkan şeyleri de elimden geldiğince paylaşmak istiyorum. Bu da bu şekilde orta çıkan bir yazı oldu. Bu kısa girişten sonra yazıya başlayalım.
Etiketler:
as,
C#,
GetType,
is,
keyword,
OOP,
programming,
Type Checking,
typeof
14 Mayıs 2019 Salı
Modern JavaScript(ES6+) Eğitiminden Notlar
S.a. Arkadaşlar,
Son zamanlarda iyice yükselişe geçen js tarafına bir el atmak istiyordum. En son, öğrenmeyi isteme sürecinden öğrenme sürecine nihayet geçebilmiştim, ama o zamanlar bile bu öğrendiklerimle ilgili notlar alıp blog haline getirmeyi düşünüyordum. Tabi tüm bunlar dağınık bir şekilde duruyordu. Bugün onları derleyip size bu süreçte kendime aldığım notları sunmak istiyorum.
Son zamanlarda iyice yükselişe geçen js tarafına bir el atmak istiyordum. En son, öğrenmeyi isteme sürecinden öğrenme sürecine nihayet geçebilmiştim, ama o zamanlar bile bu öğrendiklerimle ilgili notlar alıp blog haline getirmeyi düşünüyordum. Tabi tüm bunlar dağınık bir şekilde duruyordu. Bugün onları derleyip size bu süreçte kendime aldığım notları sunmak istiyorum.
Etiketler:
ajax,
arrow function,
async,
await,
babel,
callback,
const,
destructuring,
ecma script 6,
fetch api,
for in,
for of,
hell,
let,
OOP,
promise,
scope,
spread,
var,
webpack
5 Ekim 2016 Çarşamba
Developer Mülakat Soruları
S.a. arkadaşlar,
Uzun bir aradan sonra tekrar ilk kez yazıyorum. Bugün yazacağım konu direkt java ile ilgili bir konu değil. Mülakatlarda karşılaştığım ve farklı sitelerden derlediğim java mülakat sorularını ele alıp yine kendimizce cevap arayacağız. Eksiklik veya hata olduğunu düşündüğünüz yerlerde benimle irtibata geçersiniz tekrardan gözden geçirebilir. Umarım istediğiniz gibi güzel işler bulursunuz.
Not: 2.yazıya buradan erişebilirsiniz.
Uzun bir aradan sonra tekrar ilk kez yazıyorum. Bugün yazacağım konu direkt java ile ilgili bir konu değil. Mülakatlarda karşılaştığım ve farklı sitelerden derlediğim java mülakat sorularını ele alıp yine kendimizce cevap arayacağız. Eksiklik veya hata olduğunu düşündüğünüz yerlerde benimle irtibata geçersiniz tekrardan gözden geçirebilir. Umarım istediğiniz gibi güzel işler bulursunuz.
Not: 2.yazıya buradan erişebilirsiniz.
Etiketler:
Abstract,
Cohesion,
coupling,
developer,
Encapsulation,
exception,
final,
Hibernate,
Inheritance,
interface,
Java,
JPA,
mülakat,
OOP,
Overloading,
Overriding,
Polimorfizm,
Reflection,
Serilization,
static
29 Kasım 2014 Cumartesi
Nesneye Yönelik Programlama
S.a. Arkadaşlar ,
Çok uzun süredir başlamak istediğim fakat bir türlü cesaret edemediğim çoğu zaman başlayıp sildiğim bir blog yazısına başlıyorum, Elimden geldiğince , dilim döndüğünce hem yazdıkça kendim daha iyi pekiştirmek hem belki sizlere de yardımcı olabilmek amacıyla bu yazıyı kaleme alıyorum. Bu kısa girizgahtan sonra konuya giriş yapalım isterseniz.
Nesne Yönelimli Programlama öncelikle C++ kullanmıştım kısa bir dönem , daha sonra da Java kullanmaya başladım. Ama anlattıklarım genelde Java'daki bilgilerimle paralellik gösterecektir.
Nesneye yönelik programlamada 4 adet olmazsa olmaz konumuz vardır.Bunlar:
1-Kalıtım
2-Çok Biçimlilik
3-Kapsülleme
4-Soyutlama
Aslında bakarsak bunların her biri başlı başlığına uzun makale olabilecek konular. Belki bunları daha sonra ayrıntılı ele alacağız fakat şuan bunları kısaca anlatmaya çalışacağız.
1-Kalıtım: Bazı özellikleri tekrar tekrar yazmak yerine kullanabileceğimiz bir yapı. Örnek vermek gerekirse bir ailemiz var. Ve bu ailenin bazı özellikleri anne ve babadan gelir. Bu anne babadan gelen özellikleri tekrar çocuk yazmak yerine , anne-babadan referans kullanarak bu bilgileri çekebiliriz. Fakat bununla birlikte çocuğun kendine has özelliklerini ayrıca da ekleyebiliyoruz. Kalıtımın en sade ifadesiyle böyle anlatabilecğimi düşünüyorum.
public class cocuk extends annebaba {
//Yazılacak Kodlar
}
Yukarıdaki örnek ile anne-babadan gelen özellikleri çocuk artık kullanabilir hale gelmektedir. Kısaca kalıtım böyle , daha ileride daha ayrıntılı anlatmak dileğiyle.
2-Çok Bçimlilik: Farklı sınıflar arasında aynı metod çağırma denilebilir en kısa ifadesiyle. Örnek vermek gerekirse elimizde üçgen , dörtgen ve beşgen gibi 3 şekil olsun.
Her şeklin çevresi=kenar sayisi * kenar uzunluğu olmalıdır. Bunu aynı methodla farklı sınıflarda kullanılabilmesidir.
3-Kapsülleme: Bir sınıfın içeriğinin bilinmesine gerek kalmadan kullanılabilmesidir. Bir örnekle zenginleştirmek gerekirse, arabası olan bir şoförün motor çalışma mantığına bilmesine gerek yoktur. Sadece anahtarla arabayı çalıştırıp gaza bastığında arabanın gitmesi kafidir. Aynen bu şekilde de kapsülleme yaparak dışarıya gözükmemesi gereken şeyleri gizleye biliyoruz. Burada bir kaç kavramı verip bu konuyu da bitirelim.
Public: Herkesin görebileceği değişkenlerdir
Procted: Aynı paket içinde görülebilecek , fakat farklı paketlerden ulaşılamayan değişkenlerdir.
Private: Sadece aynı sınıftan erişilebilen değişkenlerdir.
Bu değişkenlerin ulaşılmaz olanlarına ulaşılmak istendiğinde getter/setter metodlarını kullanmak zorundayız. Fakat şu unutulmamalıdır. Sadece kullanacağımız değişkenleri getter/setter yapmalıyız. Yoksa private değişkenlerimizin publicten pek farkı kalmayacaktır
4-Soyutlama: Metodların bir kısmının kendisinde barındıran , bir kısmını kalıtım sınıflarından alan sınıflara soyut sınıflar denir.Alt sınıfların ortak özelliklerini ve işlevlerini taşıyan bir üst sınıf oluşturmak
istersek ve gerçek dünyada bu sınıftan bir nesne yoksa , üst sınıfı “soyut
sınıf” olarak tanımlarız. Örnek verecek olursak “Memeli” sınıfından direkt bir nesne oluşturulmaz; ancak alt sınıfları tanımlanarak onlardan nesneler oluşturulur.
Şimdilik dilimiz döndüğünce bu konuyu yazmaya çalıştık , umarım faydamız dokunur . Varsa yanlışlarımız affola , diğer yazımızda görüşünceye kadar hoşça kalın .
Çok uzun süredir başlamak istediğim fakat bir türlü cesaret edemediğim çoğu zaman başlayıp sildiğim bir blog yazısına başlıyorum, Elimden geldiğince , dilim döndüğünce hem yazdıkça kendim daha iyi pekiştirmek hem belki sizlere de yardımcı olabilmek amacıyla bu yazıyı kaleme alıyorum. Bu kısa girizgahtan sonra konuya giriş yapalım isterseniz.
Nesne Yönelimli Programlama öncelikle C++ kullanmıştım kısa bir dönem , daha sonra da Java kullanmaya başladım. Ama anlattıklarım genelde Java'daki bilgilerimle paralellik gösterecektir.
Nesneye yönelik programlamada 4 adet olmazsa olmaz konumuz vardır.Bunlar:
1-Kalıtım
2-Çok Biçimlilik
3-Kapsülleme
4-Soyutlama
Aslında bakarsak bunların her biri başlı başlığına uzun makale olabilecek konular. Belki bunları daha sonra ayrıntılı ele alacağız fakat şuan bunları kısaca anlatmaya çalışacağız.
1-Kalıtım: Bazı özellikleri tekrar tekrar yazmak yerine kullanabileceğimiz bir yapı. Örnek vermek gerekirse bir ailemiz var. Ve bu ailenin bazı özellikleri anne ve babadan gelir. Bu anne babadan gelen özellikleri tekrar çocuk yazmak yerine , anne-babadan referans kullanarak bu bilgileri çekebiliriz. Fakat bununla birlikte çocuğun kendine has özelliklerini ayrıca da ekleyebiliyoruz. Kalıtımın en sade ifadesiyle böyle anlatabilecğimi düşünüyorum.
public class cocuk extends annebaba {
//Yazılacak Kodlar
}
Yukarıdaki örnek ile anne-babadan gelen özellikleri çocuk artık kullanabilir hale gelmektedir. Kısaca kalıtım böyle , daha ileride daha ayrıntılı anlatmak dileğiyle.
2-Çok Bçimlilik: Farklı sınıflar arasında aynı metod çağırma denilebilir en kısa ifadesiyle. Örnek vermek gerekirse elimizde üçgen , dörtgen ve beşgen gibi 3 şekil olsun.
Her şeklin çevresi=kenar sayisi * kenar uzunluğu olmalıdır. Bunu aynı methodla farklı sınıflarda kullanılabilmesidir.
3-Kapsülleme: Bir sınıfın içeriğinin bilinmesine gerek kalmadan kullanılabilmesidir. Bir örnekle zenginleştirmek gerekirse, arabası olan bir şoförün motor çalışma mantığına bilmesine gerek yoktur. Sadece anahtarla arabayı çalıştırıp gaza bastığında arabanın gitmesi kafidir. Aynen bu şekilde de kapsülleme yaparak dışarıya gözükmemesi gereken şeyleri gizleye biliyoruz. Burada bir kaç kavramı verip bu konuyu da bitirelim.
Public: Herkesin görebileceği değişkenlerdir
Procted: Aynı paket içinde görülebilecek , fakat farklı paketlerden ulaşılamayan değişkenlerdir.
Private: Sadece aynı sınıftan erişilebilen değişkenlerdir.
Bu değişkenlerin ulaşılmaz olanlarına ulaşılmak istendiğinde getter/setter metodlarını kullanmak zorundayız. Fakat şu unutulmamalıdır. Sadece kullanacağımız değişkenleri getter/setter yapmalıyız. Yoksa private değişkenlerimizin publicten pek farkı kalmayacaktır
4-Soyutlama: Metodların bir kısmının kendisinde barındıran , bir kısmını kalıtım sınıflarından alan sınıflara soyut sınıflar denir.Alt sınıfların ortak özelliklerini ve işlevlerini taşıyan bir üst sınıf oluşturmak
istersek ve gerçek dünyada bu sınıftan bir nesne yoksa , üst sınıfı “soyut
sınıf” olarak tanımlarız. Örnek verecek olursak “Memeli” sınıfından direkt bir nesne oluşturulmaz; ancak alt sınıfları tanımlanarak onlardan nesneler oluşturulur.
Şimdilik dilimiz döndüğünce bu konuyu yazmaya çalıştık , umarım faydamız dokunur . Varsa yanlışlarımız affola , diğer yazımızda görüşünceye kadar hoşça kalın .
Kaydol:
Kayıtlar (Atom)