Yapay zekadan makale özeti
- Kısa
- Ayrıntılı
- "Yazılım Hocası" tarafından sunulan "ASPDA 101" eğitim serisinin bir parçası olan bu görsel eğitim videosu, C# dilinin tarihçesini ve modern programlama özelliklerini anlatmaktadır.
- Video, C# dilinin farklı sürümlerindeki gelişmeleri kronolojik olarak ele alarak başlıyor ve ardından C# 4.0 ve 5.0 versiyonlarında eklenen önemli özelliklere odaklanıyor. İçerikte dinamik veri bağlama, isimlendirilmiş ve seçimli parametreler, kovaryans ve kontravaryans özellikleri, çağıran bilgisi öznitelikleri gibi konular örneklerle açıklanıyor. Ayrıca C# 5.0'da asenkron programlama için kullanılan "async" ve "await" anahtar kelimelerinin nasıl çalıştığı, web servisinden veri çekme ve işleme örneği üzerinden adım adım gösteriliyor.
- Eğitim, C# 4.0 ve 5.0 versiyonlarındaki yeni özelliklerin özetlenmesiyle sonlanıyor ve modern programlama yaklaşımlarını destekleyen C# dilinin gelişimini gösteriyor.
- C# Tarihçesi
- Bu eğitim, ASP.NET 101 isimli eğitim serisinin bir parçası olan C#'ın tarihçesi bölüm dört başlıklı konuyu ele alıyor.
- C# 10'da ana konu geliştirilen ve yönetilen kod iken, C# 20 ile birlikte dile özgü yapılar eklenmiştir.
- C# 30 ile birlikte dile bütünleşik sorgulama (Language Integrated Query - LINQ) ilave edilmiştir ve XML veritabanı veya nesneleri dille bütünleşik sorgularla sorgulanabilmektedir.
- 00:50C# 40 ile Gelen Yenilikler
- C# 40'ın temel amacı dinamik programlamadır ve "dynamic" anahtar kelimesi sayesinde Python, Ruby ve JavaScript ile üretilen nesnelerin C# tarafında son bağlayıcı Cihan Led Aydın ile ele alınması mümkündür.
- "Dynamic" anahtar kelimesi, var anahtar kelimesinden farklıdır ve sistem.object sınıfının bir kısaltmasıdır.
- Object sınıfının içerisinde her türlü veri tipi atayabilirsiniz, ancak tip güvenli olmadığı için çalışma zamanı hatalar oluşabilir.
- 01:35Dinamik Veri Bağlama
- Dinamik nesneler sayesinde dinamik programlar tam destek verilmektedir.
- C# 4 versiyonu ile beraber dinamik tipli nesneler, nesne tiplerinin derleme zamanı yerine çalışma zamanında belirlenmesidir.
- Dinamik anahtar kelimesi, derleyiciye tanımlanan nesnenin tipinin derleme zamanında değil de dinamik çalışma zamanı olarak belirlenebileceği bildirilmektedir.
- 04:55Optional Parameters
- Optional parameters (isimlendirilmiş ve seçimli parametreler) özelliği, sınıfların yapıcı metotlarındaki parametrelere isim verebilme ve bazı parametreleri opsiyonel bırakabilme imkanı sağlar.
- Seçimli parametre özelliği, metot çağrımında seçimli parametre oluşturmamıza olanak sağlamaktadır.
- İsimlendirilmiş parametre özelliği, metot çağrımında artık parametre isimlerini yazarak göndermemizi sağlar ve parametreler artık metot imzasındaki sırayla göndermek zorunda değildir.
- 07:59Kovaryans ve Kontravaryans
- C# 40 ile beraber gelen covariance (kovaryans) özelliği ile jenerik delegeler ve arayüze tanımlanabilmektedir.
- Kovaryans özelliği, tanımlanmış olan bir jenerik parametreden daha alt tipteki sınıfları göndermemize olanak sağlar.
- Kontravaryans özelliği ise tanımlanmış bir jenerik parametreden daha üst tipteki sınıfları göndermemize olanak sağlar.
- 10:32C# 50 ile Gelen Özellikler
- C# 50 ile dile kazandıran önemli iki özellik vardır: caller-by-ref (çağıran bilgisi öznitelikleri) ve asenkron metodlar.
- Caller-by-ref öznitelikleri sayesinde kendisini çağıran ile ilgili bilgileri ulaşabilmektedir.
- Caller-by-ref özniteliklerinde üç farklı özellik bulunmaktadır: caller.MethodName, caller.FilePath ve caller.LineNo.
- 13:19Asenkron Programlama Kavramı
- C50 ile gelen asenkron programlama özellikleri, eski versiyonlarda yapamadığımız yeni bir şey sunarak işimizi kolaylaştırıyor.
- Asenkron programlama, çoklu iş parçacıklı (paralel) programlamadan farklı olarak, uzun zaman alacak işlemler sırasında programın kullanılmaz halde beklemesinden ve kullanıcının başka işlemler yapabilmesine imkan sağlamak amacıyla kullanılır.
- Örneğin, bir butona basıldığında web servisinden veya veritabanından büyük miktarda veri çekip işleyip sonuç üretmek gibi uzun süren işlemlerde asenkron programlama tekniği kullanılabilir.
- 14:25C50'de Asenkron Programlama Kullanımı
- C50'de paralel programlama ile gelen iki anahtar kelime vardır: "async" ve "await".
- "Async" kelimesi, metotta asenkron çalışma olacağını ve "await" anahtar kelimesinin en az bir kere kullanılacağını belirtir.
- "Async" ile çalıştırılan komut veya metot, Common Language Runtime tarafından çalıştırıldığı an itibariyle içinde bulunduğu metottan geri döner ve program normal çalışmasına devam edebilir.
- 15:22Asenkron Programlama Örneği
- Örnek kodda, "async" anahtar kelimesi ile tanımlanan metodun içinde iki farklı noktada "await" kelimesi kullanılmıştır.
- "Content = new MemoryStream()" satırında karşı taraftan gelen bilgiler "content" isimli değişken içerisine atılır.
- "GetResponseAsync" metodu çalıştırıldığında, var olan metottan çıkılır ve bu metodun çalışması bitene kadar program normal çalışması devam eder.
- 18:43Asenkron Metotların Çalışma Mantığı
- Asenkron metotun işi bittiği anda, metod hemen bir sonraki komuttan çalışmasına devam eder.
- İkinci "await" komutuna geldiğinde, çalışmaya tekrar ara verilir ve kullanıcı farkına varmadan gelen veri arka planda kopyalanmaya başlar.
- Kopyalama işlemi tamamlandıktan sonra, metod bir alt satırdan çalışmasına devam eder ve metodun çalışması sonlandırılır.
- 19:39C50'nin Diğer Özellikleri ve Kapanış
- Bu eğitimde C40 ve C50 versiyonlarında dile gelen yeni özellikleri incelenmiştir: dinamik programlama, isimlendirilmiş opsiyonel parametreler ve delegelerdeki kontrol durumları.
- C50'nin en önemli özelliği olan asenkron programlama, çok sıklıkla kullanılacak bir özellik olarak vurgulanmıştır.
- İzleyicilerden Facebook grubuna üye olmaları, resmi Facebook sayfasını beğenmeleri ve soru-cevap kısmında sorularını sormaları istenmiştir.