24 Mart 2020 Salı

Android ListView Kullanımı

Merhabalar,


Android tarafında listview kontrolü ile nasıl çalışırız bu sorularınızın cevabını bu makalede bulabileceksiniz. ListView nedir diye aklınıza geliyor olabilir. Android tarafında verileri liste halinde göstermek istediğimiz zaman kullandığımız bir kontroldür. ListView örnekleri aşağıdaki görselde gösterilmiştir. 





















Artık uygulamalara bu gözle bakarsak hemen hemen birçok uygulamada kullandığımız sonucuna varabiliriz. 


Peki Nasıl ekleriz? 

Öncelikle her android uygulamasında olduğu gibi sayfamızda bir listview barındırmamız gerekecektir. Android uygulamamızda Ekran Tasarımı tarafına bir listview ekleyerek başlıyor olmamız gerekecektir.





Ekrana eklediğimiz listview üzerindeki kontrolün nasıl görüneceği kısmını belirlemek için de aşağıdaki gibi bir layout tasarımı oluşturalım. Layout adı activity_listview.xml adında olsun.


Ekran tasarımını tamamladıktan sonra artık Java kodlarını yazacağımız MainActivity.java dosyasına geçip kodlarımızı yazabiliriz.



Kodlarımızı yazdık artık uygulamamızı çalıştırıp sonucu görebiliriz.





4 Mart 2020 Çarşamba

.Net Core Projesi Nedir - Ne Değildir?

Merhabalar, 

Asp.Net Framework'ün  baştan aşağı yenilenerek yeniden yazıldığı Asp.NET Core MVC projeleri hakkında bilgi almak istiyorsanız makalemi okumaya devam ediniz :)

















Asp.Net Core MVC Nedir? 

Microsoft'un yeni nesil açık kaynak kodlu web programlama aracıdır.  .Net yazılımcı toplulukları tarafından geliştirilen açık kaynak kodlu bir uygulma geliştirme platformudur. Çapraz platform desteği var. Windows, macOS ve Linux platformlarında ayrıca cihaz,bulut ve gömülü sistemlerde kullanılır.




Neden Core Projelerini Öğrenmeliyim?


Ciddi iş potansiyeline sahip olan bu alanda kendimizi geliştirip iyi bir kariyer sahibi olmak istiyorsak güncel teknolojileri yakından takip etmeliyiz.

Neden Core Projesi Oluşturmalıyım?

  • Cross-platform larda uygulama geliştiriyorsam , yani uygulamam Windows, Linux, macOS gibi işletim sistemleri üzerinde çalışsın istiyorsam
  • Mikroservis mimarisi , yani Java,.NET Framework ,Ruby gibi monolitik dillerler ile yazılmış servislerin veya mikroservislerin karışımı teknolojisi.
  • Container kullanıyorsam ,Docker gibi.
  • Projemin artık çok iyi bir performansa ihtiyacı varsa (Web Framework Benchmarks bakınız)




.NET Framework Ne Zaman Seçmeliyim?
  • Kullanmış olduğum üçüncü parti .NET kütüphaneleri , dll leri , .NET Core için henüz mevcut değilse , yoksa
  • NuGet paketleri .NET Core için henüz mevcut değilse , yoksa
  • Kullandığım platform .NET Core desteklemiyorsa (Azure, üçüncü parti platformlar ya da Service Fabric Stateful Reliable Service gibi.)




2 Mart 2020 Pazartesi

Abstract Interface Farkı

İş görüşmelerinde sıkça karşılaştığımız bu iki terim hakkında detaylı olarak bilgiyi aşağıda bulabilirsiniz.

İkisi birbirine benziyor gibi görünse de aralarındaki farklardan bahsediyor olacağız. 

Nesne yönelimli programlamanın temel taşlarından birisi olan abstraction (soyutlama), C# programlama dilinde iç detayları gizleyerek sadece işlevleri göstermeye yaramaktadır. 

Soyutlama demiş olduğumuz kurguyu yaparken abstract ve interface yapılarını kullanıyor olmamız gerekecektir. Arkadaki teknik hadiselere takılmadan, bize sunulmuş olan metotları kullanarak işimizi görmeye çalışırız.

Şimdi abstract class nedir biraz ondan bahsedelim. Abstract class yapıları genellikle base class (temel sınıf) olarak tanımlamak için kullanılan ve soyutlama yeteneği kazandıran sınıflardır. Elimizdeki bir sınıfı abstract yapmak için abstract yani kelime anlamı soyut olan anahtar kelimeyi kullanırız. 

Abstract bir class içerisinde en az 1 tane abstract üye bulundurmalıdır. Aşağıdaki görselde Yazdir isimli abstract class içerisinde EkranaYazdir isimli metot içermektedir. Bu metot override edilerek gövdesi kodlanır.


    abstract class Yazdir
    {
        public abstract void EkranaYazdir();

    }

Abstract class özellikleri aşağıdaki gibidir:
  • kalıtım (inheritance) uygularken kullanırız.
  • soyut anlamına gelmekte olup new anahtar kelimesi ile nesneleri oluşturulamaz.
  • içerisinde değişken ve metot imzası barındırır.
  • abstract sınıflardan kalıtım alan sınıfların abstract metotların implement edip gövdesini kodlaması zorunludur.
  • Constructors (yapıcı metot) ya da destructors(yıkıcı metot) bulundurabilirler.
  • abstract classlar static olarak tanımlanamazlar, derlenme anında an abstract class cannot be sealed or static hatası verirler.
  • bir sınıf sadece 1 tane abstract classtan kalıtım alabilir. Çoklu kalıtımı desteklemez.
  • abstract classlar içerisinde abstract olmayan metotları da bulunabilir.
  • kendisinden inherit alacak sınıflar ile arasında is-a ilişkisi vardır. (abstact yapmamız gereken senaryolarda interface mi yoksa abstract mı kullanmamız gerektiğini belirtecek senaryo)

IS-A ilişkisi

Çarpışan araba bir arabadır ve arabanın sahip olduğu özellikleri barındırmalıdır.


Can-Do ilişkisi 

Çarpışan arabanın hızlanabiliyor olması, yavaşlayabiliyor olması vs. eğer class'lara yetenek kazandırmak istersek kullanılır.


Farkları

Abstract Class                                              Interface
Constructor içerebilir                                      Constructor içeremez.
Static üyeler içerebilir.                                    Static üyeler içeremez.
public,private,protected olabilirler.                   Sadece public.
IS-A ilişkisi                                                    Can-do İlişkisi
Çoklu kalıtım yok.                                          Çoklu kalıtım var.
Ortak özellikler abstract classa yazılır.              Ortak metotlar interace'e yazılır.
Türetilen sınıf kısmi implement edebilir.           Türetilen sınıf implement zorunda
Metot imzaları ya da implementasyonlar          Sadece metot imzaları içerir.








SQL Server ve SQL Server Management Studio Kurulumu

Merhaba arkadaşlar, bu makalede SQL Server kurulumunu inceleyeceğiz. Öncelikle kurulum yapmak istediğimiz bilgisayarın işletim sistemine bak...