Java ile Uygulama Geliştirme (II)


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
  • 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.