Nest.js ile Sunucu Taraflı Uygulama Geliştirme


BACKEND Eğitimi:

 Nest.js Eğitimi ve Sunucu taraflı uygulama geliştirme (230 saat):

Modül 1: Nest.js Girişi

1.1 Nest.js Nedir?

  • js’in temel prensipleri
  • TypeScript ve Express.js ile ilişkisi

1.2 Kurulum ve Proje Yapısı

  • js projesi oluşturma
  • Temel proje yapısı ve dosya organizasyonu

1.3 Temel Kavramlar

  • Module, Controller, Service
  • Dependency Injection
  • Middleware kullanımı

1.4 RESTful API Temelleri

  • Endpoint tanımlama
  • HTTP metotları ve route parametreleri
  • Request ve response Nesneleri

Modül 2: Veritabanı Entegrasyonu

2.1 TypeORM ve PostgreSQL

  • TypeORM nedir?
  • PostgreSQL ile veritabanı oluşturma ve Veritabanına bağlanılması

2.2 TypeORM ile Modelleme

  • Entity ve Repository kullanımı
  • Veritabanı tablolarının oluşturulması

2.3 CRUD Operasyonları

  • Temel CRUD operasyonlarını gerçekleştirme
  • TypeORM query builder kullanımı

2.4 Validation ve DTOs

  • DTO (Data Transfer Object) kavramı
  • Class-validator ile veri doğrulama

Modül 3: JWT Authentication ve Güvenlik

3.1 Passport.js ve JWT

  • js kullanımı
  • JWT ile kullanıcı doğrulama

3.2 Guard ve Middleware

  • Auth guard ve middleware kullanımı
  • Role-based yetkilendirme

3.3 OAuth ve Social Media Authentication

  • OAuth protokolü
  • Dış servislerle entegrasyon

3.4 Güvenlik Pratikleri

  • SQL Injection, Cross-Site Scripting (XSS) önlemleri
  • HTTPS kullanımı

Modül 4: GraphQL ve Nest.js

4.1 GraphQL Temelleri

  • GraphQL kavramları
  • GraphQL query ve mutationlar

4.2 Nest.js ve GraphQL Entegrasyonu

  • js ile GraphQL servisi oluşturma
  • Resolver ve schema kullanımı

4.3 Apollo Server ve Client

  • Apollo Server kullanımı
  • Frontend ile GraphQL entegrasyonu

Modül 5: Testing ve Hata Ayıklama

5.1 Birim Testleri

  • Jest ve Supertest kullanımı
  • Unit ve integration testler

5.2 Hata Ayıklama (Debugging)

  • js uygulamalarını hata ayıklama
  • Hata ayıklama stratejileri

Modül 6: Mikroservisler ve Nest.js

6.1 Mikro Servis Kavramları

  • Mikro servis mimarisi nedir?
  • Avantajları ve zorlukları

6.2 Nest.js ile Mikro Servis Geliştirme

  • js ile mikro servis oluşturma
  • İletişim ve veri paylaşımı

Modül 7: WebSocket ve Real-Time Uygulamalar

7.1 WebSocket ve Nest.js

  • WebSocket protokolü
  • WebSocket ile iletişim kurma

7.2 Real-Time Uygulama Geliştirme

  • WebSocket ile anlık haberleşme
  • Real-time uygulama senaryoları

Modül 8: Performans ve Optimizasyon

8.1 Performans Analizi

  • Uygulama performansının değerlendirilmesi
  • Optimizasyon stratejileri

8.2 Cache ve CDN

  • Veri önbellekleme stratejileri
  • CDN kullanımı

Modül 9: Docker ve Konteynerizasyon

9.1 Docker Temelleri

  • Docker nedir?
  • Docker konteynerleri ve avantajları

9.2 Nest.js ve Docker Entegrasyonu

  • js uygulamasını Dockerize etme
  • Docker-compose kullanımı

Modül 10: Proje Geliştirme ve Bitirme

10.1 Büyük Ölçekli Bir Proje Geliştirme

– Öğrenilen bilgilerin pratiğe dönüştürülmesi

– Projeyi planlama ve geliştirme

10.2 Bitirme ve Değerlendirme

– Projenin tamamlanması ve sunumu

– Öğrencilerle geri bildirim oturumları düzenleme

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

* Kurs ücretini sorunuz. 

React, Capacitor.js ile Platform Bağımsız (Web, Mobil) Uygulama Geliştirme


FRONTEND Eğitimi:

React, TypeScript ve Capacitor.js kullanarak platform bağımsız (Web, Mobil, Masaüstü) uygulama geliştirme eğitimi: (220 saat)

Modül 1: Temel Arayüz Teknolojileri

1.1 HTML ve CSS Temelleri

  • Temel HTML etiketleri
  • CSS seçiciler, özellikler ve değerler

1.2 Uyumlu (Responsive) Tasarım ve Mobil öncelikli(Mobile First) Yaklaşımı

  • Ortam sorguları (Media queries) kullanımı
  • Mobil öncelikli (Mobile First) tasarım prensipleri

1.3 Temel JavaScript ve ES6+ Özellikleri

  • JavaScript temelleri
  • ES6+ özellikleri

Modül 2: React.js ve TypeScript

2.1 React.js Temelleri

  • React bileşenleri ve JSX
  • React State ve Props kullanımı

2.2 React Router ve Navigasyon

  • React Router kullanımı
  • Sayfa geçişleri ve navigasyon stratejileri

2.3 React State Yönetimi

  • Context API ve Redux kullanımı
  • Redux Toolkit, React-Redux Hooks ve Redux Saga

2.4 TypeScript ile React Entegrasyonu

  • TypeScript temelleri
  • TypeScript ile React uygulaması geliştirme

Modül 3: Capacitor.js ve Platform Bağımsız Uygulama Geliştirme

3.1 Capacitor.js Nedir?

  • js’in temel prensipleri

3.2 Mobil Uygulama Geliştirme

  • js ile mobil uygulama projesi oluşturma
  • js eklentisinin kullanımı

3.3 Web Uygulama Geliştirme

  • js ile web uygulama projesi oluşturma
  • Platform bağımsız kodlama

3.4 Electron.js Temelleri

  • js nedir?
  • js electron.js eklentisi kullanımı

3.5 Masaüstü Uygulama Geliştirme

  • js ve Electron.js ile masaüstü uygulama geliştirme

Modül 4: Tailwind CSS ve Responsive Tasarım

4.1 Tailwind CSS Temelleri

  • Tailwind CSS’in avantajları
  • Sınıf tabanlı CSS yaklaşımı

4.2 Responsive Tasarım

  • Tailwind CSS ile uyumlu tasarım stratejileri
  • Ekran boyutlarına göre düzen yönetimi

Modül 5: Hata Ayıklama (Debugging) ve Test Süreçleri

5.1 Hata Ayıklama Stratejileri

  • Tarayıcı geliştirici araçları kullanımı
  • Mobil ve masaüstü uygulamalarda hata ayıklama

5.2 Test Süreçleri

  • Birim testleri (Unit test) ve entegrasyon testleri (integration test)
  • React Testing Library ve Jest kullanımı

Modül 6: Uygulama Dağıtımı (Deployment) ve CI/CD

6.1 Uygulama Dağıtım Stratejileri

  • Web, mobil ve masaüstü uygulamalarını yayınlama
  • Apple App Store, Google Play markete uygulama ekleme

6.2 CI/CD ve Otomatik Dağıtım

  • Continuous Integration (CI) ve Continuous Deployment (CD)
  • GitHub Actions veya başka CI/CD araçları ile entegrasyon

Modül 7: Mobil ve Masaüstü Uygulama Optimizasyonu

7.1 Performans Analizi

  • Uygulama performansının değerlendirilmesi
  • Optimizasyon stratejileri

7.2 Offline Çalışma ve Cache Stratejileri

  • Service Worker kullanımı
  • Veri önbellekleme ve offline çalışma

Modül 8: Proje Geliştirme ve Bitirme

8.1 Büyük Ölçekli Bir Proje Geliştirme

– Öğrenilen bilgilerin pratiğe dönüştürülmesi

– Projeyi planlama ve geliştirme

8.2 Bitirme ve Değerlendirme

– Projenin tamamlanması ve sunumu

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

* Kurs ücretini sorunuz. 

Typescript Programlama Dili


Typescript Programlama Dili  (160 saat)

Modül 1: TypeScript Temelleri

1.1 Giriş

  • TypeScript’in Önemi ve Kullanım Alanları
  • JavaScript ve TypeScript arasındaki temel farklıklar
  • TypeScript’in avantajları ve güçlü yanları

1.2 Kurulum ve Ayarlar

  • js ve npm kurulumu
  • TypeScript kurulumu
  • TypeScript Proje yapılandırması ve “tsconfig.json” dosyası

1.3 İlk TypeScript Uygulaması

  • Bir TypeScript dosyası oluşturma
  • Temel TypeScript sentaksı
  • TypeScript dosyasını derleme ve çalıştırma

1.4 TypeScript Entegrasyonu

  • TypeScript ile yaygın IDE’lerin (VS Code, WebStorm, …) kullanımı
  • TypeScript entegrasyonu için geliştirme araçları

Modül 2: Veri Tipleri ve Değişkenler

2.1 Temel Veri Türleri

  • string, number, boolean, array, object veri türleri
  • Tür çıkarımları ve tür bilgilendirmeleri

2.2 Değişkenler ve Sabitler

  • let, const, var anahtar sözcükleri ile değişken tanımlama
  • Blok faaliyet alanı ve fonksiyon faaliyet alanı

2.3 Türlere Alternatif İsimler Verilmesi ve Birlik Türleri

  • Tür takma adları (Type aliases)
  • Birlik türleri ve Kesişim türleri

2.4 Türlere İlişkin İleri Düzey Bilgiler

  • Sayımlama Türleri ve Sabitleri ve literal türler
  • Null Türü ve Undefined Türü
  • Tür söylemleri (Type assertions)

Modül 3: Fonksiyonlar

3.1 Fonksiyon Tanımlama ve Çağırma

  • Fonksiyonların ve Metotların Parametre Değişkenleri ve geri dönüş değerleri
  • İsimli parametreler ve default argüman kullanımı

3.2 Rest Parametreler ve Spread Operatorü

  • Rest parametrelerin ve spread operatorünün kullanımı
  • İleri seviye fonksiyon kullanımı

3.3 Yüksek Düzeyli Fonksiyonları

  • Callback fonksiyonlar
  • Promise ve Async/Await kullanımı

3.4 Jenerik Fonksiyonlar ve Sınıflar

  • Jenerik fonksiyonlar
  • Jenerik sınıflar

Modül 4: Sınıflar ve Nesne Yönelimli Programlama (OOP)

4.1 Sınıflar ve Nesne Yaratma

  • Sınıfların Tanımlanması ve Sınıflar Türünden Nesnelerin Yaratılması
  • Yapıcı metotlar ve this kullanımı

4.2 Türetme İşlemleri ve Arayüzler

  • Kalıtım (inheritance)
  • Arayüzler (interfaces) ve implementasyon

4.3 Soyut Sınıflar ve  Arayüzler

  • Soyut sınıfların kullanımı
  • İnterface’lerin ayrıntı

4.4 Sınıfların Statik Metotları

  • Sınıfların Statik Metotları ve Statik Elemanları
  • Örnek uygulamalar

Modül 5: Modüllerle Çalışma

5.1 Modüllerin Tanımlaması ve Kullanma

  • Modüllerin avantajları
  • Modüllerin tanımlaması ve kullanması

5.2 Modüllerde Import ve Export işlemleri

  • Modüller arası veri alışverişi
  • Default ve ismlendirilmiş exports

5.3 Modül Yapılandırma ve Farklı Modül Sistemleri

  • CommonJS ve ES6 modül sistemleri
  • Uygulama senaryoları

Modül 6: Genel Tavsiyeler ve İleri Seviye Konular

6.1 TypeScript Projelerinde Genel Tavsiyeler

  • Kod düzeni ve yazım kuralları
  • Kaynak Kodun Dokümantasyonu ve Kod İçi açıklamalar

6.2 İleri Seviye Konular

  • Dekoratörler
  • Tür Korumaları ve Koşullu Türler
  • Yardımcı türler (Utility types) ve Eşleşmiş türler (mapped types)

 Modül 7: TypeScript ve Web Geliştirme Entegrasyonu

7.1 Webpack ve TypeScript

  • TypeScript projelerini yapılandırma
  • Webpack entegrasyonu

7.2 TypeScript ve React, Angular, Vue.js Entegrasyonu

  • TypeScript ile sık kullanılan framework’lerle çalışma
  • Uygulama senaryoları

Modül 8: Hata Ayıklama ve Performans İyileştirmeleri

8.1 Hata Ayıklama Stratejileri

  • TypeScript hata ayıklama araçları
  • Hata ayıklama stratejileri ve ipuçları

8.2 Performans İyileştirmeleri

  • TypeScript projelerinde performans analizi
  • Optimizasyon stratejileri

Modül 9: TypeScript Ekosistemi ve Araçlar

9.1 TypeScript Ekosistemi

  • Çok Kullanılan kütüphaneler ve araçlar
  • TypeScript Kullanan Topluluklar ve TypeScrşpt İçin Kaynaklar

9.2 TypeScript İçin Editörler ve IDE’ler

  • TypeScript ile uyumlu IDE’lerin kullanımı
  • VS Code, WebStorm gibi yaygın kullanılan editörler

Modül 10: Proje Geliştirme ve Bitirme

  1. Küçük Proje Geliştirme

– Öğrenilen bilgilerin uygulamaya dönüştürülmesi

– Gerçek dünya senaryolarına dayalı küçük bir proje

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

* Kurs ücretini sorunuz. 

Javascript ve Node.js ile Uygulama Geliştirme


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

Javascript programlama dili

 

Bu bölümde daha önce herhangi bir programlama dilinde çalışanlara yönelik Javascript programlama dili anlatılacaktır:

  • Temel türler
  • Tür dönüşümleri
  • Fonksiyonlar
  • Kontrol deyimleri (if, while, do-while, for, break, continue, switch, …)
  • Nesneler
  • Fonksiyon türleri
  • Diziler
  • Lambda ifadeleri
  • Prototype kavramı
  • Sınıflar
  • import bildirimleri

Typescript programlama dili

 

Bu bölümde Typescript programlama dili Javascript programlama dili ile benzerlikleri ve farklılıkları doğrultusunda ele alınacaktır

Node.js

 

  • Node.js kurulumu
  • Node.js uygulaması geliştirmede kullanılan araçlar
  • Javascript’in ES6’da eklenen özelliklerinin Node.js ile kullanımı

Node.js modül geliştirme

 

  • Geliştirilen modüllerin kullanılabilir hale getirilmesi
  • Geliştirilen modüllerin npm’ yüklenmesi
  • Github ile repository oluşturma
  • Örnek uygulamalar

Node.js Event

 

  • EventEmitter sınıfı
  • Ebvent Listener
  • Örnek uygulamalar

Node.js IO (Input Output) işlemleri

 

  • Standard IO (STDIN, STDOUT ve STDERR)
  • fs modülü ile dosya işlemleri
  • Dosya değişiklerinin izlenmesi
  • Örnek uygulamalar

Node.js Streams

 

  • Stream kullanımı
  • Piped stream
  • Paused Stream
  • Örnek uygulamalar

Node.js Web Protokolleri

 

  • http modülü
  • HTTP GET
  • HTTP POST
  • WebSocket işlemleri
  • SMTP Server
  • Örnek uygulamalar

Çok kullanılan Node.js Framework’ler

 

  • Express.js
  • Koa.js
  • Örnek uygulamalar

Node.js veritabanı işlemleri

 

  • Node.js ile PostgreSQL kullanımı
  • Node.js ile MongoDB kullanımı
  • Node.js ile Temel Redis kullanımı
  • Örnek uygulamalar

NodeJS ile TCP/IP Programlama

 

  • TCP protokolü
  • UDP protokolü
  • Örnek uygulamalar

Node.js Test İşlemleri

 

  • Birim testleri
  • Örnek uygulamalar

Node.js Güvenlik

 

  • Örnek uygulamalar

Node.js Uygulamalarının Performansı

 

  • Örnek uygulamalar

Node.js Microservice uygulamaları

 

  • Örnek uygulamalar

Node.js Uygulamalarının Debug Edilmesi.

Önkoşul: Daha önce herhangi bir programlama dilinde uygulamalı çalışma yapmış olmak veya C ve Sistem Programcıları Derneği’nin açmış olduğu Programlamaya Giriş kursu başarıyla bitirmiş olmak.

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

Kurs ücreti duyuru sayfasında belirtilmektedir.

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

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

.NET Core FullStack (Backend + FrontEnd) Uygulama Geliştirme


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

Açıklama:Bu kurs, piyasada “full stack” kavramıyla anılan uygulama geliştirme yaklaşımının gerektirdiği konular gözetilerek oluşturulmuştur. Kurs içeriği, backend ve frontend konuları biçiminde ikiye ayrılmış olup, backend tarafında ASP.NET Core, frontend tarafında ise JavaScript, TypeScript, Vue.js, React, Angular, BootStrap gibi araçların kullanımı anlatılacaktır.

 

Kurs konularından bazıları aşağıdadır:

1) BackEnd Tarafı:

  • Middleware kavramı
  • Request ve Response Manipülasyonları
  • Dependency Inversion, Inversion Of Control
  • Dependency Injection
  • Repository, UnitOfWork kalıpları
  • 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, HTML Helper’lar
  • Blazor Framework
  • Entity Framework Core ile veritabanı işlemleri
  • Authentication, Authorization, Oauth
  • WebAPI ile Rest Servislerin Yazılması
  • JWT (Json Web Token)
  • CQRS Paterni
  • Mikroservis Mimarisi
  • Cookie, Session
  • Onion Architecture
  • RabbitMQ, MSMQ gibi mesaj kuyruklama altyapılarının kullanımı
  • ASP.NET Core 9 ile Gelen Yeni Özellikler

2) FrontEnd Tarafı:

Temel HTML ve CSS konularının gözden geçirilmesi

BootStrap CSS Framework’ü

JavaScript

Bu kısımda JavaScript isimli script (betik) dili üzerinde durulacaktır.

  • Veri türleri ve Dinamik Tür Sistemi
  • Tür dönüşümleri
  • Fonksiyonlar
  • Akış kontrol mekanizmaları, Döngüler
  • JavaScript ile Nesne Yönelimli Programlama
  • Fonksiyonlar
  • Diziler
  • Lambda ifadeleri
  • Prototype kavramı
  • import bildirimleri
  • Çalışma zamanı hatalarının yakalanması

React.js

  • Dosya, Dizin Organizasyonu
  • Komponent Oluşturmak
  • React Hooks (Callback, Reducer)
  • Navigasyon
  • Material UI bileşenleri
  • Flexbox
  • Durum Yönetimi
  • Context API ve Redux Toolkit
  • JSX, Props

Vue.js

  • Fonksiyonlar
  • V-html, V-Once, VBind
  • Event Binding, Modifier
  • Two Way Binding
  • Computed, Watchers
  • js’de CSS sınıfları
  • CLI
  • Form ve Komponentler
  • Yaşam Döngüsü
  • Routing, Props

Angular

  • Ng Direktifleri (Ngİf, NgFor, …)
  • Angular form işlemleri
  • Pipe, Routing
  • Lazy Loading, Eager Loading
  • RxJS Observable
  • ServiceWorker
  • Event Binding
  • Property Binding
  • Interpolation
  • Change Eventleri
  • Angular Material Component’leri
  • ve diğerleri.

Önkoşul: Daha önce C# ile Nesne Yönelimli Programlama konusunda çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C# ile Nesne Yönelimli Programlama kursuna katılmış olmak.

Kurs ücreti duyuru sayfasında belirtilmektedir.

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

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

Hızlandırılmış ve Birleştirilmiş C# ile .NET Ortamında Uygulama Geliştirme


Açıklama : Bu kurs C# Programlama Dilini kullanarak .NET ortamında uygulama geliştirme becerisini kazandırmayı hedeflemektedir. Kurs içerisinde pek çok konu belli bir derinlikte ele alınmaktadır. Bu kurs aynı zamanda bir uygulama kursu olduğundan her konu ele alınırken uygulamalı çalışmalar yapılacaktır.

Kurs konularından bazıları aşağıdadır:
• CLR ortamının temel özellikleri
• Nesne tutan sınıfların (collections) ayrıntılı incelenmesi
• GUI programlama modeli ve Windows Form Uygulamaları
• Temel çizim işlemleri
• Temel veritabanı işlemleri (ADO.NET sınıf kütüphanesi)
• Çok thread’li uygulamalar ve thread’lerin senkronizasyonu
• C# programlama diline eklenen yeni özellikler (eklenti metodları, var değişkenler, default argumanlar vs.)
• Öznitelikler (attributes)
• Nesnelerin seri hale getirilmesi (object serialization)
• Başkaları tarafından yazılmış kütüphanelerin (bileşenlerin) kullanılması
• MDI uygulamaları
• Uygulamaların kurulması ve konuşlandırılması
• CLR ortamının ayrıntılı işlevleri
• Paylaşılan DLL’ler (shared dlls) ve GAC (Global Assembly Cache) kullanımı
• İleri düzey Windows form işlemleri
• Kontrol tasarımı ve yazımı
• Temel WPF (Windows Presentation Foundation) kullanımı
• İleri çizim işlemleri
• İleri düzey veritabanı işlemleri (ADO.NET sınıf sistemi)
• .NET’te XML işlemleri
• Çok thread’li uygulamalarda karşılaşılan sorunlar ve ileri düzey senkronizasyon işlemleri
• TCP/IP client-server programlama
• .Net ortamının aşağı düzeyli ve sistem programlama bakış açısıyla incelenmesi
• Temel düzeyde sembolik arakodla (Common Intermediate Language [CIL]) programlama
• C# programlama diline eklenen yeni özellikler (Anonim metodlar, Lambda ifadeleri vs.)
• Linq (Language integrated Query) kullanımı ve Entity Framework ile temel veritabanı uygulamaları
• .NET Remoting kullanımı
• Temel WCF (Windows Communication Foundation) kullanımı
• TPL (Task Parallel Library)
• İleri düzey WPF (Windows Presentation Foundation) uygulamaları
• WPF ile ileri çizim işlemleri
• WPF ile üç boyutlu çizim işlemleri
• İleri düzey Linq (Language Integrated Query) kullanımı ve Entity Framework ile ileri veritabanı uygulamaları
• İleri düzey WCF (Windows Communication Foundation) uygulamaları
• İleri düzey debug işlemleri
• Birim testleri ve NUnit kullanımı

Ön Koşul : Daha önce C# ile Nesne Yönelimli Programlama dilinde uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C# ile Nesne Yönelimli Programlama kursuna katılmış olmak.

* Ücreti sorunuz.

Xamarin ile Mobil Programlama


Açıklama : Bu kurs C# Programlama Dilini kullanarak Xamarin ile cross-platform mobil uygulama geliştirme becerisini kazandırmayı hedeflemektedir. Kurs içerisinde pek çok konu belli bir derinlikte ele alınmaktadır. Bu kurs aynı zamanda bir uygulama kursu olduğundan her konu ele alınırken uygulamalı çalışmalar yapılacaktır.

Kurs konularından bazıları aşağıdadır:

• Xamarin ortamının temel özellikleri

• Xamarin ile platform bağımsız (cross-platform) uygulama geliştirme

• Visual Studio.NET ile Xamarin uygulamaları

• View kavramı ve sınıf hiyararşisi

• Xaml kullanımı ve detayları

• Temel GUI elemanları

• Layout kavramı ve Layout sınıfları

• Collection view elemanları

• Tarih zamana ilişkin GUI elemanları

• Dosya işlemleri

• Veritabanı işlemleri

• Network işlemleri

• Webservis erişimleri

• Asenkron çalışma (TPL, Thread vs..)

• DependencyService sınıfı ve platforma özel işlemler

• Notification işlemleri

• Ve diğer konular…

Ön Koşul : Daha önce C# veya Java ile temel uygulama geliştirme becerisini kazanmış olmak ya da C ve Sistem Programcıları Derneği’ nin açmış olduğu C# ile Nesne Yönelimli Programlama veya Java ile Nesne Yönelimli Programlama kursuna katılmış olmak

* Ücreti sorunuz.

.NET Ortamında Yeni Teknolojilerle Web Programlama


Açıklama : Bu kurs .NET ortamında yeni teknolojilerle Web uygulama geliştirme becerisini kazandırmayı hedeflemektedir. Kurs içerisinde pek çok konu belli bir derinlikte ele alınmaktadır. Kurs aynı zamanda bir uygulama kursu olduğundan her konu ele alınırken uygulamalı çalışmalar da yapılacaktır.

C# programlama diline ilişkin ileri konular
Delege kavramı
Anonim metotlar
Lambda ifadeleri
Fonksiyonel programlama
Linq kavramı
Örnek Uygulamalar
.NET Core ve ASP.NET Core
Temel kavramlar
.NET Core ile platfornm bağımsızlık
ASP.NET Core’ a giriş
Web server’lar
Örnek Uygulamalar
Dependncy Injection
Dependency Inversion Principle
Inversion Of Control
Dependency Injection kavramı
Dependency Injection’ın karmaşık problemlerde gerekliliği
Örnek Uygulamalar
Katmanlı Mimarı Kullanarak Uygulama Geliştirme
Katmanlı mimarı kullanarak proje geliştirme avantajları
Repository, service ve application katmanları
Katmanlı mimari kullanarak proje geliştirmede exception’ların yönetilmesi
Örnek uygulamalar
Razor Motoru
Razor sentaksı
MVC (Model ViewConteoller) kalıbı
ASP.NET MVC
Razor sentaksı
Blazor Web Framework
Veritabanı işlemleri
ADO.NET kullanımı
ORM (Object Relation Model)
Entity Framework Core
Code First ve Database First Yaklaşımları
Örnek Uygulamalar
Container Kullanımı
Container kullanımı
Docker kurulumu ve kullanımı
Container üzerinde ASP.NET core uygulamalarının çalıştırılması
Örnek Uygulamalar
ASPNET Core Güvenlik
Identity kavramı
Authentication
Authorization
OAuth
Open ID Connect
Örnek uygulamalar
Javascript programlama dili
Bu bölümde daha önce herhangi bir programlama dilinde çalışanlara yönelik Javascript programlama dili anlatılacaktır:

Temel türler
Tür dönüşümleri
Fonksiyonlar
Kontrol deyimleri (if, while, do-while, for, break, continue, switch, …)
Nesneler
Fonksiyon türleri
Diziler
Lambda ifadeleri
Prototype kavramı
Sınıflar
import bildirimleri
Node.js
Node.js kurulumu
Node.js uygulaması geliştirmede kullanılan araçlar
Javascript’in ES6’da eklenen özelliklerinin Node.js ile kullanımı
Node.js modül geliştirme
Geliştirilen modüllerin kullanılabilir hale getirilmesi
Geliştirilen modüllerin npm’ yüklenmesi
Github ile repository oluşturma
Örnek uygulamalar
Node.js Event
EventEmitter sınıfı
Ebvent Listener
Örnek uygulamalar
Node.js IO (Input Output) işlemleri
Standard IO (STDIN, STDOUT ve STDERR)
fs modülü ile dosya işlemleri
Dosya değişiklerinin izlenmesi
Örnek uygulamalar
Node.js Streams
Stream kullanımı
Piped stream
Paused Stream
Örnek uygulamalar
Node.js Web Protokolleri
http modülü
HTTP GET
HTTP POST
WebSocket işlemleri
SMTP Server
Örnek uygulamalar
Çok kullanılarn Node.js Framework’ler
Express.js
Koa.js
Örnek uygulamalar
Temel React.js
Örnek uygulamalar
Temel Vue.js
Örnek uygulamalar
Temel Angular
Örnek uygulamalar
MongoDB
Node.js veritabanı işlemleri
Node.js ile PostgreSQL kullanımı
Node.js ile MongoDB kullanımı
Node.js ile Temel Redis kullanımı
Örnek uygulamalar
NodeJS ile TCP/IP Programlama
TCP protokolü
UDP protokolü
Örnek uygulamalar
Node.js Test İşlemleri
Node.js Güvenlik
Örnek uygulamalar
Node.js Uygulamalarının Performansı
Örnek uygulamalar
Node.js Microservice uyglamaları
Örnek uygulamalar

Node.js Uygulamalarının Debug Edilmesi

Ön Koşul : Daha önce C# ya da Java programlama dillerinden en az birinde uygulamalı çalışma yapmış olmak ya da C ve Sistem Programcıları Derneği’nin açmış olduğu C# ile Nesne Yönelimli Programlama veya Java ile Nesne Yönelimli Programlama kursuna katılmış olmak.

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

UML ve Tasarım Kalıpları (C# ve Java Kod Örnekleriyle)


Modül 1 : UML (Unified Modelling Language)

• 1.1 : Modelleme Olgusu

• 1.2 : Modelleme Dilleri

• 1.3 : UML (Unified Modelling Language)

o 1.3.1 : UML Standardizasyonu ve UML Versiyonları

o 1.3.2 : UML Kullanımının Getirileri

• 1.4 : UML Modelleri ve İlişkili Diyagramlar

• 1.5 : UML Destekli Tasarım Araçları

• 1.6 : Constraint, TaggedValue ve Stereotype Kavramları

• 1.7 : Use Case (Kullanım Senaryosu) Diyagramları

• 1.8 : Activity (Faaliyet) Diyagramları

• 1.9 : Nesne Yönelimli Modellemeye İlişkin Temel Kavramlar

• 1.10 : Sınıf ve Nesne Diyagramları

• 1.11 : Nesneler Arasındaki İlişkiler

o 1.11.1 : Association (Referans)

o 1.11.2 : Aggregation (Barındırma, İçerme)

o 1.11.3 : Composition (Bağımlı İyelik)

o 1.11.4 : Generalization (Genelleme)

o 1.11.5 : Realization (Gerçekleme)

o 1.11.6 : Dependency (Bağımlılık)

o 1.11.7 : Use (Kullanma)

• 1.12 : State (Durum) Diyagramları

• 1.13 : Sequence (Etkileşim) Diyagramları

• 1.14 : Communication (İletişim) Diyagramları

• 1.15 : Component (Bileşen) Diyagramları

• 1.16 : Package (Paket) Diyagramları

• 1.17 : Deployment (Dağıtım) Diyagramları

Modül 2 : Dizayn ve Paketleme Prensipleri

• 2.1 : Dizayn Prensipleri

o 2.1.1 : Ayrıştırma (Decomposition)

o 2.1.2 : Kohezyon (Yapışıklık)

o 2.1.3 : SRP : Tek Sorumluluk (Single Responsibility) Prensibi

o 2.1.4 : LCP : Zayıf Bağlaşım (Low Coupling) Prensibi

o 2.1.5 : Yeniden Kullanılabilirlik (Reusability) Prensibi

o 2.1.6 : OCP : Açık/Kapalı Prensibi (Open/Closed Principle)

o 2.1.7 : LSP : Liskov Yerine Geçme Prensibi (Liskov Substitution Principle)

o 2.1.8 : DIP : Bağımlılığı Ters Çevirme Prensibi (Dependency Inversion Principle)

o 2.1.9 : ISP : Arayüz Ayırma Prensibi (Interface Segregation Principle)

o 2.1.10 : Polimorfizm Nedir

• 2.2 : Granülarite ve Paket Kavramı

• 2.3 : Paketlemeye İlişkin Prensipler

o 2.3.1 : REP : Yeniden Kullanılabilir Sürüm Eşdeğerliği Prensibi (Release Reuse Equivalence Principle)

o 2.3.2 : CCP : Ortak Kapatma Prensibi (Common Closure Principle)

o 2.3.3 : CRP : Ortak Yeniden Kullanım Prensibi (Common Reuse Principle)

o 2.3.4 : ADP : Çevrimsiz Bağımlılık Prensibi (Acyclic Dependencies Principle)

o 2.3.5 : SDP : Kararlı Bağımlılıklar Prensibi (Stable Dependencies Principle)

o 2.3.6 : SAP : Kararlı Soyutlamalar Prensibi (Stable Abstractions Principle)

Modül 3 : Dizayn Paternlere Giriş ve Temel Kavramlar

• 3.1 : Giriş

• 3.2 : Patern Kümeleri (Pattern Cluster)

• 3.3 : Idiom (Deyim) Kavramı ve Örnekleri

• 3.4 : Anti-Patern (Karşıt Kalıp) Olgusu

• 3.5 : GOF Sistematiği

Modül 4 : Nesne Oluşturulmasına/Yaratılmasına Ait (Creational) Paternler

• 4.1 : Singleton

• 4.2 : Factory Method / Virtual Constructor

• 4.3 : Prototype

• 4.4 : Object Pool

• 4.5 : Builder

• 4.6 : Abstract Factory

Modül 5 : Davranışsal (Behavioral) Paternler

• 5.1 : Iterator / Cursor

• 5.2 : Observer / Publish Subscribe

• 5.3 : Mediator

• 5.4 : Chain of Responsibility

• 5.5 : Command

• 5.6 : Visitor

• 5.7 : Strategy/Policy

• 5.8 : State

• 5.9 : Template Metot

• 5.10 : Interpreter

• 5.11 : Memento

Modül 6 : Yapısal (Structural) Paternler

• 6.1 : Decorator

• 6.2 : Adapter / Wrapper

• 6.3 : Facade

• 6.4 : Proxy / Surrogate

• 6.5 : Bridge

• 6.6 : Compozite

• 6.7 : Flyweight

Modül 7 : Yazılım Mimarisi ve Mimari Paternler

• 7.1 : Dependency Injection ve (IoC) Inversion of Control

• 7.2 : UI (User Interface) Patern’leri

• 7.3 : MVC (Model View Controller) Patern’i

• 7.4 : Model2 Patern’i (FrontController ve HTTP Interceptor)

• 7.5 : MVP (Model View Presenter) Patern’i

• 7.6 : PM (Presentation Model) ve MVVM (Model-View-ViewModel) Patern’leri

• 7.7 : İş Katmanı (Business Layer) Paternleri

• 7.8 : Transaction Script Patern’i

• 7.9 : Table Module Patern’i

• 7.10 : Active Record Patern’i

• 7.11 : Domain Model Patern’i

• 7.12 : Repository Patern’i

• 7.13 : Special Case Patern’i

• 7.14 : Seperated Interface ve Plugin Patern’leri

• 7.15 : APM Patern’i

• 7.16 : Service Locator Patern’i

• 7.17 : Diğer mimari paternler

Modül 8 : Yazılım Geliştirme Sürecinin Modellenmesi

• 8.1 : Proje Yönetiminin Temel Kavramları

• 8.2 : Şelale (Waterfall) Yöntemi

• 8.3 : Spiral Yöntemi

• 8.4 : XP Sıra dışı (Extreme) Programlama ve Scrum

• 8.5 : RUP (Rational Unified Process)

• 8.6 : CRC (Class, Responsibilities, Collaborators)

• 8.7 : MSF (Microsoft Solutions Framework)

• Ve diğerleri …

Önkoşul : C# ve/veya Java programlama dilleri konusunda temel bilgilere sahip olmak ya derneğimizin açmış olduğu C# – Java ile Nesne Yönelimli Programlama kurslarına katılmış olmak.

 * Kurs ücreti duyuru sayfasında belirtilmektedir.

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

C# Kullanarak ASP.NET ile Web Programlama


Açıklama : Bu kurs C# programcılarına ASP.NET kütüphanesini kullanarak, web tabanlı uygulamalar geliştirmeyi öğretmektedir. Günümüzde dağıtım kolaylığı ve teknolojisindeki gelişmeler sebebiyle neredeyse artık tüm uygulamalar web tabanlı yazılmaktadır. Web tabanlı uygulama geliştirme, web ortamının doğasından kaynaklanan bazı nedenlerle masaüstü uygulama geliştirmekten farklıdır. Programcının salt C# ve ASP.NET bilmesi yeterli olmamakta bunun yanı sıra JavaScript, HTML, Ajax, Silverlight, JQuery gibi yan teknolojileri hatta kaçınılmaz bir biçimde veri tabanı programlamayı da bilmesi gerekir. Kursun amacı sayılan bu teknolojileri de katılımcılara öğretmektir. Üstelik kurs boyunca ASP.NET öğretilirken güncel alternatifleri olan JSP, PHP gibi farklı teknolojilerle karşılaştırmalı olarak ele alınmakta böylece katılımcıların bu teknolojiler konusunda da fikir sahibi olması amaçlanmaktadır. ASP.NET kursu, C# bilen ama pratik deneyimi olmayan programcılara iş ortamında proje geliştirirken karşılaşacakları bazı teknolojileri (COM+, Remoting, WCF, Silverlight, UML, Dizayn Paternleri, Reporting Sevrices) ve çeşitli araçları (Enterprise Architect, Blend, Code Generator’ler, MS SQL Server vb) kullanmayı da öğretmektedir.

Kurs konularından bazıları aşağıdadır:
Web Teknolojileri ve ASP.NET’e Giriş
HTML ve Scripting kavramı ve JavaScript ile yazılan scriptlerin sayfaya eklenmesi
IIS (Internet Information Server’ın Yönetimi)
ASP.NET çalışma modelinin incelenmesi
Web Form’ları ve sayfaların hazırlanması
Page nesnesi ve Server kontrolleri
State kavramı, Session, Application, ViewState, Aktif-Aktif Çalışma, State ölçekleme, Yük dengeleme.
Master Page, Theme ve Skin, CSS kullanımı
Cookie kullanımı
ADO.NET ve Entity Framework ile Veri Tabanı İşlemleri
MS SQL Server programlama (Stored Procedure,View,UDF,Trigger vs), ve SQL Server’ın temel düzeyde yönetimi (Yedekleme, Dosyalar, Servisler, Kullanıcı işlemleri vb)
Data Binding
Çok katmanlı uygulama geliştirmek
Veri katmanı (Data Access Layer) yazılması ve ilgili tasarım paternleri, Entity sınıflarının yazımı
Caching, SqlDependency
ASP.NET Uygulamalarında Güvenlik ve Saldırılara Önlemler Almak
Web Part’lar ile kişiselleştirilebilir portal uygulamaları
Web servisleri, Remoting ve WCF (Windows Communication Foundation)
Ajax, JQuery ile asenkron çalışma
Silverlight ve Exression ürünlerinin kullanımı
SMTP ile Mail Gönderimi, Mobil Web Kontrolleri
Özel HttpHandler Yazmak
User Control’ler ve ASP.NET Server Kontrolleri Geliştirmek (Örneğin özgün bir DataGrid, Sanal Klavye yazımı)
Reporting Services ile Raporlama ve Raporların uygulamada sunumu.
Silverligth kullanımı
Ve diğer konular.

Önkoşul: Derneğimizin açmış olduğu C# ile Nesne Yönelimli Programlama kursunu başarıyla tamamlamış olmak ya da .Net dillerinden herhangi birisinde uygulamalı çalışma yapmış olmak.

* Ücreti sorunuz.