C# ve ASP.NET Core MVC


Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

C# ve ASP.NET Core MVC

Açıklama: Bu kurs içerik bakımından iki ana kısma ayrılmıştır; C# programlama dili ve ASP.NET MVC Core framework’ü.

İlk kısımda C# dilinin sentaks kuralları, nesne yönelimli programlama ve .NET kütüphanesinin önemli sınıfları ele alınmaktadır.

İkinci kısım ise ASP.NET MVC Core isimli framework ile modern ve platform bağımsız web uygulamaları/servislerinin geliştirilmesine odaklıdır. Bu kısımda ASP.NET Core haricinde (SOLID, UML, Pattern, Idiom, AntiPattern, …) gibi pek çok önemli konu ve teknolojiye de (Entity Framework, SQL Server, RabbitMQ, Git, …) değinilmekte yanı sıra pek çok örnek uygulama geliştirilmektedir.

Kısım 1 (.NET ve C#’a Giriş)

  • .NET ortamına ilişkin temel kavramlar (JIT, MSIL, CLR, CTS, CLS…)
  • Platform bağımsız çalışma olgusu
  • Çevirici programlar, derleyiciler yorumlayıcılar
  • .NET ortamının aşağı seviyede incelenmesi ve Java ile karşılaştırılması
  • Atom kavramı
  • Console sınıfının etkin kullanımı

.NET Tür Sistemi

  • Değişkenler, Sabitler
  • Faaliyet alanı ve Ömür kavramı
  • Type Inference

Metotlar/Fonksiyonlar

  • Parametre ve Argüman kavramları
  • ref/out parametreler
  • Default argüman alan metotlar
  • Variadic (değişken sayıda parametre alan) metotlar
  • İsimlendirilmiş parametreler
  • Overloading

Operatörler

Akış Kontrol deyimleri

  • if ve switch deyimleri
  • Koşul Operatörü
  • while ve do while döngü deyimleri
  • for ve foreach döngü deyimleri
  • break ve continue deyimleri

Tür dönüştürmeleri

Nesne Yönelimli Programlama (OOP) Paradigması

  • Sınıf ve nesne kavramları
  • Referans türleri ve değer türleri
  • Referans (adres) kavramı
  • new operatörü
  • Sınıfın static olmayan veri elemanlarına erişim ve nokta operatörü
  • Sınıfın static olmayan veri elemanlarının varsayılan değerleri
  • Referans parametreli metotlar
  • Referans geri dönüş değerli metotlar
  • Sınıfın static veri elemanları
  • Sınıfın non-static ve static metotları
  • Sınıfın non-static metotları içerisinde non-static ve static elemanlara doğrudan erişim durumu
  • Sınıfın static metotları içerisinde non-static ve static elemanlara doğrudan erişim durumu

Sınıfların başlangıç metotları (constructors)

  • Nesne oluşturulması adımları
  • Sınıfın varsayılan (default) başlangıç metodu
  • Başlangıç metotlarının overload edilmesi
  • Birincil başlangıç metotları (primary constructor’s)

İsim alanları (Namespace)

  • Paketleme ve granülasyon kavramları
  • Farklı isim alanlarındaki sınıflara erişim
  • İç içe isim alanı bildirimleri
  • using anahtar sözcüğü

İsim arama

  • Niteliksiz (unqualified) isim arama
  • Nitelikli (qualified) isim arama

Diziler (Arrays) ve uygulamalar

  • Dizi referansları
  • Diziye ilişkin nesnelerin bellekteki durumu
  • Dizi elemanlarına erişim
  • Dizilere ilk değer verilmesi
  • Dizilerin metotlara geçirilmesi: dizi referansı parametreli metotlar
  • Dizi referansı döndüren metotlar
  • Sıralama algoritmaları: (bubble sort, selection sort, quick sort)
  • char türden diziler
  • char türden diziler ve String sınıfı
  • Referans dizileri
  • Referans dizilerine ilkdeğer verilmesi
  • String türden diziler
  • Dizi dizileri
  • Dizi dizilerinin çok boyutlu dizi gibi kullanılması
  • Dizi dizilerine ilk değer verilmesi

Sınıflarda temel erişim kuralları

  • public erişimcisi
  • private erişimcisi
  • protected erişimcisi
  • internal erişimcisi
  • file erişimcisi
  • Başlangıç metodunun private, protected ya da internal olması durumu
  • Singleton ve Factory tasarım kalıpları
  • Encapsulation kavramı, Property ve AutoProperty’ler
  • Object Initializer kullanımı

Enum’lar

  • enum sabitleri
  • enum sınıfların sabit dışındaki elemanları
  • enum sınıfların başlangıç metotları (constructor)
  • enum’ların karşılaştırılması
  • enum’ların kullanımı

Sınıflar arası ilişkiler

  • Association, Composition, Aggregation, Inheritance, Dependency
  • UML modelleme diline giriş

Türetme (inheritance)

  • Base class (taban sınıf) ve derived class (türemiş sınıf) kavramları
  • Başlangıç metodu içerisinde taban sınıfın başlangıç metodunun çağrılması
  • Başlangıç metodu içerisinde taban sınıfa ait istenilen bir başlangıç metodunun çağrılması
  • Başlangıç metodu içerisinde başka bir başlangıç metodunun çağrılması
  • protected bölümün anlamı
  • Object sınıfı

Taban sınıf ve türemiş sınıf arasındaki dönüşümler

  • Yukarıya doğru dönüşüm (upcasting)
  • Aşağıya doğru dönüşüm (down-casting)
  • is opetörü
  • Otomatik kutulama (auto-boxing) ve otomatik kutuyu açma (auto-unboxing)
  • sealed sınıflar
  • this referansının anlamı ve kullanımı
  • null referans kavramı

Çöp Toplayıcı (garbage collector)

  • Çöp toplayıcı’nın çalışma biçimi
  • Referans sayma, GC Sınıfı
  • IDisposable ve using anahtar sözcüğü ile Dispose kalıbının idiomatik uygulaması

Önemli Veri Yapılarına İlişkin Sınıflar

  • ArrayList, List
  • HashTable, Dictionary, SortedList
  • Tupple

Çok biçimlilik (Polymorphism)

  • Sanal metotlar ve Overriding
  • base referansı
  • Override edilen metot içerisinde taban sınıfın aynı metodunun çağrılması (augmentation)
  • Override edilen metodun erişim belirleyicisinin erişim anlamında yükseltilmesi
  • sealed metotlar

Soyut sınıflar ve metotlar (abstract classes and methods)

  • Soyut sınıf ve metotların anlamı
  • Soyut metotların override edilmesi
  • Soyut metotların override edilmemesi durumu
  • Soyut sınıfların taban sınıf referansı olarak kullanılması
  • Soyut sınıfların başlangıç metotları

Exception Handling

  • Exception kavramı kullanımı
  • throw anahtar sözcüğü ve bir exception nesnesinin fırlatılması
  • Try/Catch/Finally mekanizması
  • Yeniden fırlatma (rethrow)
  • İçiçe try bloklarının bulunması durumu
  • Özgün Exception sınıfları
  • checked ve unchecked exception sınıfları
  • Önemli exception sınıfları

Arayüzler (Interface’s)

  • Bir sınıfın desteklediği arayüzler ve metotların override edilmesi
  • Arayüzler ile abstract sınıflar arasındaki farklar
  • Arayüzler arası tür dönüştürme ayrıntıları
  • Sıkça kullanılan bazı arayüzler

Generic’ler ile Türden Bağımsız İşlemler

  • Generic sınıflar ve metotlar
  • Generic sınıflarda türetme işlemleri
  • Generic sınıflarda new operatörü ile <> (diamond syntax) kullanımı
  • Generic arayüzler
  • Kısıtlamalar (constraint’s)
  • Generic sınıflarda alt sınır ve üst sınır belirlenmesi (invariant, covariant ve contra-variant)

Extension metotlar
Delegate (Temsilci) ve Event’ler
Lambda İfadeleri
Thread ve Process Sınıfları
Reflection ve Metadata kavramları
Attribute sınıfları
Bit seviyesinde işlemler ve ilişkili operatörler
Dinamik kütüphanelerin (DLL) oluşturulması ve kullanılması
Dosya işlemleri
ADO.NET ile VeriTabanı İşlemleri
Asenkron Çalışma ve TPL (Task Parallel Library)

Kısım 2 (ASP.NET MVC Core ve C# ile Web Uygulamaları Geliştirmek)

Middleware kavramı
Request ve Response Manipülasyonları
Dependency Inversion, Inversion Of Control
Dependency Injection kavramı
Katmanlı Mimarı Kullanarak Uygulama Geliştirme
Repository, UnitOfWork kalıpları
Katmanlı mimaride exception handling
Razor sentaksı
MVC (Model ViewController) kalıbı
Razor Engine ve Razor sentaksı
Dinamik tür sistemi ve Expando Nesneler
Transfer Data (ViewBag, ViewData, TempData)
Tag Helper’lar
Validasyon
Blazor Framework
Entity Framework Core ile veritabanı işlemleri
Container ve Docker Kavramları
Container ortamında ASP.NET Core uygulamalarının çalıştırılması
ASPNET Core Güvenlik
Authentication, Authorization, OAuth
Javascript programlama dili
WebAPI ile Rest Servislerin Yazılması
JWT (Json Web Token)
CQRS
Mikroservis Mimarisi
LibMan ve Npm Paket Yönetim Sistemleri
Cookie (Çerezler)
Session Mekanizması
Onion Architecture
RabbitMQ, MSMQ gibi mesaj kuyruklama altyapılarının kullanımı
Ve diğerleri..

Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

Kurs ücreti duyuru sayfasında belirtilmektedir.

Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.

MS-SQL Server 2017 Yönetimi


Açıklama :  Bilgisayar ortamında veriler veri tabanı yönetim sistemlerinde tutulur. SQL Server dünyada en yaygın kullanılan veritabanı yönetim sistemlerinden birisidir. Microsoft firması tarafından üretilmiştir. Sql Server ile veriler mantıksal olarak tablo yapısında organize edilir ve fiziksel olarak veritabanını oluşturan dosya/dosyaların bulunduğu disklere yazılır. SQL Serverin yönetimi, Sql serverinkurulumundan başlayıp, veritabanları ve veritabanı nesnelerinin yaratılması, veritabanı dosyalarının yönetimi, veri yedeklemesi, güvenlik, performans iyileştirme gibi konuları kapsar.

• Veritabanı temel kavramlar
• SQL Server sürümleri özellikleri
• SQL Server Kuruluş ve konfigürasyon
• SQL Server servisleri
• Veritabanı dosyaları yönetimi
• Veritabanı ve veritabanı nesnelerinin yaratılması, yönetilmesi
• İndeksleme ve indeks optimizasyonu
• Backup (Yedekleme) ve Restore (Geri Yükleme), yedekleme stratejileri
• Veritabanı bakımı, veritabanı bakım planlarının oluşturulması
• Snapshotlar
• Hata toleransı teknolojilerinin SQL Server ile kullanımı
• Log Shipping
• Database mirroring
• Replication
• Güvenlik ve yetkilendirme
• Zamanlanmış görevler, alarmlar, operatörler
• SQL Server performansının izlenmesi , SQL Profiler
• Yönetim Araçları, SQL Enterprise Management Studio, SQL Client Configuration Utility, SQLCMD vs
• Data Transfer servisleri
• Ve diğerleri…

* Ücreti sorunuz.

MS-SQL Server 2017 ile İş Zekası (Business Intelligence) Çözümleri


Microsoft SQL Server 2017 Integration Services
SQL Server 2017 Integration Services nedir
SQL Server Import and Export Wizard kullanımı
Dtsx paketlerinin yaratılması, çalıştırılması
Değişken kullanımı
İşlem akış kontrolü
Veri alma görevleri, veri kaynakları ve hedefleri
Veride değişiklik yapan görevler
Diğer görevler
Hata yönetimi ve loglama
Paketlerin yönetimi, güvenlik, yayımlama ve transferi
Paketlerin ayarlanması, çalıştırılması ve çalıştırmanın zamanlanması
Microsoft SQL Server 2017 Analysis Services nedir
Veri kaynakları, veri kaynağı görünümleri
Veri küplerinin oluşturulması
Boyutlar, hiyerarşiler
Ölçütler ve ölçüt grupları
Küplerin sorgulanması(MDX)
Küplere hesaplamaların eklenmesi
İsimlendirilmiş setler
Temel performans göstergeleri(Key Performance Indicators)
Eylemler, perspektifler, tercümeler
Yönetim, güvenlik, yetkilendirme, yedekleme
Veri madenciliği nedir
Microsoft SQL Server Reporting Services nedir
Rapor oluşturma, biçimlendirme, hesaplanmış değerler ekleme, raporların farklı bölümleriyle işlemler
Parametreler, parametere listeleri, dinamik parametere listeleri ve Filtreler,
Rapor modellerinin yaratılması ve Report Builder kullanımı
Raporların önbelleklenmesi, anlık rapor kayıtları(snapshots) ve Rapor tarihçesi
Raporların dağıtımı, abonelikler
Raporların yönetimi, güvenlik ve yetkilendirme
Reporting Services programlaması ve Report Viewer Controlünün kullanımı

Önkoşul:  Temel Microsoft SQL Server bilgisi.

* Ücreti sorunuz.

MS-SQL Server, PostgreSQL ve Oracle ile Veritabanı Programlama


Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

Açıklama: Düzenli bir yapıda tutulan veri topluluğuna veritabanı denir. Günlük yaşamda bankacılık, muhasebe, bilet rezervasyonu gibi birçok işlerde veritabanı ile karşılaşırsınız. Bu gibi uygulamalarda veriler bir RDBMS’de (Relational Database Management System – İlişkisel Veritabanı Yönetim Sistemi) saklanır ve yönetilir. SQL Server,PostgreSQL ve Oracle dünyada yaygın olarak kullanılan RDBMS’lerdir.Bu ürünler ile veritabanının yaratılması, yönetilmesi, veriler üzerinde işlem yapılması sağlanır. Bu kursta bu işlemlerin yapılması detaylı bir şekilde ele alınacaktır.

## Temel Veritabanı kavramları
+ Veritabanı kavramı
+ Veritabanı yönetim sistemleri
+ Çok kullanılan veritabanı yönetim sistemi yazılımları
+ Veritabanı yönetim sistemi yazılımlarının temel özellikleri

## İlişkisel Veritabanı Yaklaşımı
+ İlişkisel veritabanı yaklaşımı
+ İlişkisel veritabanı yaklaşımının avantajları ve dezavantajları
+ Birincil anahtar (primary key) ve yabancı anahtar (foreign key) kavramları
+ Tablo (table), kayıt (record) ve alan (field) kavramları
+ Veri tabanları üzerinde temel işlemler
+ CRUD (Create, Read, Update, Delete) işlemleri hakkında temel bilgiler
+ Diğer yaklaşımlar (NoSql)

## MSSQL Server ve PostgreSQL Server Veritabanı Yönetim Sistemleri Üzerinde Temel CRUD İşlemleri
+ MSSQL Server kurulumu ve yapılandırılması
+ PostgreSQL kurulumu ve yapılandırılması
+ Client programlar (MSSQL Server Management Studio, Datagrip vs.)
+ T-SQL temel özellikleri
+ pgsql temel özellikleri
+ MSSQL veri türleri (data types)
+ PostgreSQL veri türleri (data types)
+ Tabloların yaratılması (create table)
+ Tablolar arasındaki ilişkilerin oluşturulması
+ Alter table cümlesi
+ Verilerin eklenmesi (insert cümleleri)
+ Verilerin güncellenmesi (update vümleleri)
+ Verilerin silinmesi (delete cümleleri)
+ Verilerin sorgulanması (temel select cümleleri)
+ Upsert (update or insert) işlemleri

## PostgreSQL Temel Sorgulama İşlemleri
+ PostgreSQL select cümlesi
+ Order by işlemleri
+ where cümlesi
+ limit
+ “select in” cümleleri
+ between
+ like operatörü
+ Tablo ve eş isimleri (aliases)

## MSSQL Temel Sorgulama İşlemleri
+ MSSQL select cümlesi
+ Order by işlemleri
+ where cümlesi
+ top
+ select in cümleleri
+ between operatörü
+ like operatörü
+ Tablo ve eş isimleri (aliases)
+ Alt sorgular
+ any
+ All
+ Exists

## PostgreSQL ve MSSQL Join İşlemleri
+ Join kavramı ve join cümleleri
+ Inner join
+ Left (outer) join
+ Right (outer) join
+ Full (outer) join
+ Self join
+ Alt sorgular
+ any
+ All
+ Exists

## MSSQL Fonksiyonlar
+ Tablo dönen fonksiyonlar
+ Skaler fonksiyonlar

## MSSQL Fonksiyonlar
+ Tablo dönen fonksiyonlar
+ Skaler fonksiyonlar

## PostgreSQL Fonksiyonlar
+ Tablo dönen fonksiyonlar
+ Skaler fonksiyonlar
+ out parametreli fonksiyonlar

## PostgreSQL ve MSSQL Procedure’lar
+ MSSQL Stored procedure
+ PostreSQL 12 procedures
+ out parametreli procedure’lar

## PostgreSQL ve MSSQL Standart Fonksiyonlar
+ Matematiksel işlem yapan fonksiyonlar
+ Tarih zaman fonksiyonları
+ Yazılar üzerinde işlem yapan fonksiyonlar
+ Aggregate fonksiyonlar

## PostgreSQL ve MSSQL Küme işlemleri
+ Union
+ Union all
+ Intersect
+ Except

## PostgreSQL ve MSSQL Transaction işlemleri
+ Transaction kavramı
+ ACID (Atomicity, Concurrency, Isolation, Durability)
+ Explicit transaction
+ Implicit transaction
+ Commit ve rollback işlemleri

## PostgreSQL ve MSSQL Script Oluşturma
+ Değişken bildirimi
+ Deyimler

## PostgreSQL ve MSSQL Kontrol Deyimleri
+ if deyimi
+ case ifadesel deyimi
+ case ifadesel deyiminin sorgularda kullanımı
+ Döngü deyimleri
+ Cursor kullanımı

## PostgreSQL ve MSSQL Error (Exception) İşlemleri
+ Hataların ayıklanması
+ Hata kodları

## PostgreSQL ve MSSQL Trigger’lar
+ Trigger kavramı
+ Before, instead of ve after trigger’lar
+ Trigger’ların enable ve disable edilmesi

## PostgreSQL ve MSSQL View’lar
+ View kavramı ve kullanımı
+ View yaratma (create view)
+ View değişikleri (alter view)
+ Güncellenebilir (updatable view) view’lar
+ Materialized view’lar

## PostgreSQL ve MSSQL Yönetim İşlemleri
+ Kullanıcı (login) işlemleri
+ MSSQL Server Windows authentication
+ Roller
+ Yedekleme (backup) ve geri alma (restore) işlemleri

## PostgreSQL ve MSSQL Komut Satırı Kullanımı
+ MSSQL Server komut satırından erişim
+ PostgreSQL Server komut satırından erişim

## Temel Oracle Veritabanı Yönetim Sistemi
+ Oracle kurulumu ve yapılandırılması
+ Oracle veri türleri
+ Temel CRUD işlemleri
+ Sorgulama işlemleri
+ Oracle script oluşturma
+ Oracle’ da deyimler
+ if deyimi
+ case ifadesel deyimi
+ Döngü deyimleri
+ Cursor kullanımı
+ Transaction işlemleri
+ Fonksiyonlar ve procedure’ler
+ Trigger’lar
+ View’lar


Önkoşul:
Temel Programlama Bilgisi.

Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.

 * Kurs ücreti duyuru sayfasında belirtilmektedir.

Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.

*Kursumuz gerçek zamanlıdır. Derslerimiz interaktif olarak yapılmaktadır.

Uygulamalı Veri Yapıları ve Algoritmalar


Açıklama: Bu kurs veri yapıları ve algoritmalar konusunun uygulamalı bir biçimde ele alındığı ileri düzey bir kurstur. Uygulamalar hem C++ Programlama Dilinde nesne yönelimli programlama tekniği kullanılarak hem de C Programlama Dilinde yapısal programlama tekniği kullanılarak gerçekleştirilecektir.

Kurs konularından bazıları aşağıdadır:
C++’ta ileri template işlemleri
Algoritma analizi ve algoritmanın karmaşıklığı
Temel veri yapıları (Bağlı listeler, kuyruk sistemleri, hash tabloları, bellek tahsisat algoritmaları.)
Kendi kendini çağıran fonksiyonlar
Parsing algoritmaları
Ağaç yapıları (İkili ağaçlar, dengelenmiş ağaçlar, heap ağaçları.)
Sort işlemleri
Arama işlemleri (Doğrusal ve ikili aramalar, ağaç yapıları kullanılarak yapılan aramalar, hash tablolarında aramalar, string içerisinde yapılan aramalar.)
Dosya yapıları (Algoritmaların disk tabanlı çalışması, kayıtlar üzerinde işlemler, veri tabanlarının oluşturulması, sorgulama işlemleri.)
Rassal sayı üretme algoritmaları
Sıkıştırma algoritmaları
Şifreleme yöntemleri
Sayısal algoritmalar (Matris işlemleri, asal sayıların buluması, interplosyon, rassal dağılımlar, polinomlar, matematiksel seriler üzerinde işlemler.)
Sayısal analiz yöntemleri (Doğrusal denklem sistemlerinin çözümü, sayısal türev ve integral hesapları.)
Yöneylem araştırması algoritmaları (En kısa yol problemi, gezgin satıcı problemi, graf algoritmaları, doğrusal karar modellerinin simplex algoritması ile çözümü.)
Kısıtlı kaynaklarla çalışma ve bit düzeyinde işlemler

Önkoşul: C ve C++ Programlama Dillerini bilmek ve bu dillerde uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C Programlama Dili, Sistem Programlama ve İleri C Uygulamaları (I) ve C++ ve Nesne Yönelimli Programlamaya Giriş kurslarını başarıyla tamamlamış olmak. Ön koşulları tam olarak sağlamayan kişiler bu kursumuzdan kısmen fayda sağlayabilirler. Bu durumda olan adaylarla ön görüşme yapılacaktır.

* Ücreti sorunuz.