Açıklama : Bu kurs Java Programlama Dilini bilen programcıların C# Programlama Diline geçişlerini sağlamayı amaçlamaktadır. Kurs içerisinde C# Programlama Dili, katılımcıların Java Programlama Dilini bildikleri varsayımıyla ele alınıp anlatılmaktadır.
Önkoşul: Java Programlama Dilini bilmek ya da C ve Sistem Programcıları Derneği’nin açmış olduğu Java İle Nesne Nesne Yönelimli Programlama kurslarını başarıyla bitirmiş olmak.
* Ücreti sorunuz.
Java ile Uygulama Geliştirme (II)
Online Java ile Uygulama Geliştirme (II)
Ön Koşul
Bu programa katılabilmek için daha Java ile uygulama geliştirmiş olmak ya da derneğimizde düzenlenmekte olan , “Java ile Uygulama Geliştirme (I)” kursuna katılmış olmak gerekmektedir
Mikroservis Uygulamaları
- Domain Driven Design (DDD)
- Microservis test işlemleri
- Mikroservis uygulamalarında güvenlik
- Inter Process Communication
- İleri REST işlemleri
- gRPC
- Event haberleşmesi
- Transaction yönetimi
- Apache Kafka
- Güvenlik (Security)
- Retrofit, Feign Client ile client işlemleri
- WebFlux kullanarak uygulama geliştirme
- İleri düzey uygulamalar
Veri Yapıları ve Algoritmalar
- Algoritma Kavramı
- Algoritmanın Karmaşıklığı
- Algoritma Karmaşıklığının Hesaplama Yöntemleri
- Asimtotik Notasyonlar
- Big O Notasyonu
- Algoritmaların Sınıflandırılması
- Sayılar Teorisine Yönelik Algoritmalar
- Algoritmik Bulmacalar
- Veri Yapısı Kavramı ve Temel Veri Yapıları
- Dinamik Diziler, Kullanım Alanları ve Gerçekleştirimleri
- Bağlı Listeler, Kullanım Alanları ve Gerçekleştirimleri
- Kuyruk Veri Yapısı, Kullanım Alanları ve Gerçekleştirimleri
- Stack Veri Yapısı, Kullanım Alanları ve Gerçekleştirimleri
- Çift Yönlü Dinamik Diziler (Deque), Kullanım Alanları ve Gerçekleştirimleri
- Sıralama Algoritmaları
- Arama (Searching) İşlemleri, İçsel ve Dışsal Arama Kavramları
- İkili Aramalar
- Üstel Aramalar
- Hash Tabloları, Kullanım Alanları, Varyasyonları ve Gerçekleştirimleri
- Tahsisat Algoritmaları Kullanım Alanları ve Gerçekleştirimleri
- Çöp Toplayıcı (Garbage Collector) Kavramı, Kullanım Alanları ve Gerçekleştirimleri
- Ağaç Kavramı, Özellikleri
- İkili Ağaçlar
- Ağaçlarda Dolaşım İşlemleri
- Arama Ağaçları
- İkili Arama Ağaçları, Kullanım Alanları ve Gerçekleştirimleri
- İkili Arama Ağaçlarında Dengeleme
- Heap Ağaçları, Heap Veri Yapısı ve Gerçekleştirimleri
- Heap Veri Yapısıyla Öncelik Kuyrukları
- Heap Sort Yöntemi
- Dışsal (External) Aramalar
- B-Tree ve B+Tree Ağaçları ve Gerçekleştirimleri
- Veri Yapılarının Genelleştirilmeleri (Türden Bağımsız Veri Yapılarının Oluşturulması)
- Graf Veri Yapısı
- Graf Veri Yapısının Gerçekleştirimleri
- Graf Veri Yapısında Dolaşım İşlemleri
- Bazı Tipik Graf Problemlerinin Çözümüne İlişkin Algoritmalar
- Java ile temel düzeyde interpreter tasarımı ve gerçekleştirilmesi
- Örnek uygulamalar
Reaktif programlama ve RxJava
- Reaktif programlama
- RxJava hakkında temel bilgiler
- RxJava’nın detaylı incelenmesi
- Örnek uygulamalar
Asenkron işlemler ve Çoklu thread (Multithreading) uygulamaları
- Process kavramı
- Asenkron programlama hakkında temel bilgiler
- Çizelgeleme algoritmaları (scheduling algorithms)
- Thread kavramı
- Thread sınıfı ve Runnable arayüzü
- Executor’lar
- Thread havuzları
- Callable arayüzü
- Schedulers
- ThreadFactory
- RxJava ile asenkron işlemler
- Schedulers sınıfı (Schedulers factory class)
- computation
- io metodu
- newThread
- single
- trampoline
- Schedulers sınıfı (Schedulers factory class)
- Thread’lerarası senkronizasyon
- synchronized
- Semaphore
- Read Write Lock
- CountDownLatch
- Örnek uygulamalar
Paralel Programlama
- Paralel Programlamanın Anlamı ve Önemi
- Paralel Programlamanın Sorunları
- Paralel Programlamada Kullanılan Kütüphaneler ve Ortamlar
- Fork/Join
- Örnek uygulamalar
TCP/IP Protokol Ailesi İle Proseslerarası Haberleşme
- Protokol Kavramı
- OSI Katmanlarının Anlamı
- IP Protokol Ailesine Genel Bakış
- IP Protokolü
- TCP ve UDP Protokolleri
- Soket Kavramı BSD Soket Sistemi
- Windows Soket API’leri
- Client, server programlama modeli
- Client ile Server Arasında Haberleşme Teknikleri
- TCP Protokolü ile Client/Server Haberleşme
- TCP protokolü ile uygulama geliştirme
- Server programın organizasyonu
- Client programın organizasyonu
- Binary haberleşme
- Text haberleşme
- Farklı platformlarda geliştirilmiş uygulamalar ile haberleşen uygulmalar
- Çok Client’lı Server Uygulamaları
- Network byte order (little andian, big endian kavramları)
- UDP Haberleşmesi
- UDP protokolü ve uygulama geliştirmne
- Datagram kavramı
- UDP programlarının organizasyonu
- UDP kullanılan örnekler
- IP Ailesinin Uygulama Katmanına İlişkin Protokoller (POP3, TELNET, HTTP, SSH Protokolleri)
- Örnek uygulamalar
Temel JNA ve JNI uygulamaları
- JNI kavramı
- JNA kavramı
- Temel Android NDK uygullamaları
- Örnek uygulamalar
Java uygulamalarının performans analizi
NoSql veritabanı yönetim sistemleri
- MongoDB
- Elastic Search
- Redis
- Örnek Uygulamalar
İleri Reflection İşlemleri
- CLASS ve SOURCE annotation’lar
- Annotation proecssor
- Örnek Uygulamalar
Temel Görüntü İşleme (Image Processing)
- Görüntü işleme
- Görüntü işlemede kullanılan çeşitli filtreler ve algoritmalar
- JavaSE görüntü sınıfları (BufferedImage, ImageIO vb)
- Java ile OpenCV kütüphanesinin kullanımı
- Örnek uygulamalar
Byte kod programlama
- Decompile işlemleri
- Örnek uygulamalar
Java’da düzenli ifadeler (regular expressions)
- Regular Expression (regex) kavramı
- JavaSE Regex kütüphanesi
- Örnek Uygulamalar
Temel Düzeyde JavaFX ile masaüstü uygulamaları
- Pencere sistemi
- JavaFX temel kontroller
- Örnek uygulamalar
Docker
- Docker ile işlemler
- Docker container’ler
- Docker compose
- Örnek uygulamalar
Çöp toplayıcı’nın ayrıntılı incelenmesi
- Çöp toplayıcının (garbage collector) aşağı seviyeli incelenmesi
- Çeşitli çöp toplayıcı algoritmaları
- Çöp toplayıcı konfigürasyonu
- Örnek bir çöp toplayıcı kodlanması
- Örnek uygulamalar
Yazılım geliştirmede kullanılan temel araçlar
- Jenkins
- Gradle
- İleri Maven kullanımı
- CI/CD süreçleri
- Github actions
- Örnek uygulamalar
Şifreleme işlemleri (Cryptography)
- Şifreleme kavramı
- Çeşitli şifreleme algoritmaları
- JavaSE şifreleme sınıfları
- Örnek uygulamalar
IOT (Internet Of Things)
- RaspberryPI sistemleri
- RaspberryPI GPIO kullanımı
- Çeşitli sensörlerle işlemler
- IOT uygulamalarında kullanılan çeşitli protokoller
- Örnek uygulamalar
* Kursumuz gerçek zamanlıdır. Derslerimiz interaktif olarak yapılmaktadır.
* Kurs ücreti duyuru sayfasında belirtilmektedir.
Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar iş birliği ile düzenlenmektedir.