Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
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
Kursumuza ön kayıt yaptırmak için bu bağlantıyı kullanabilirsiniz.
* 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.