Online Java ile Uygulama Geliştirme 2
Spring uygulamaları
• Örnek 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
Asenkron işlemler ve Çoklu thread (Multithreading) uygulamaları
• Process kavramı
• Asenkron programlama hakkında temel bilgiler
• Çizelgeleme algoritmaları (scheduling algorithms)
• Thread kavramı
o Thread sınıfı ve Runnable arayüzü
o Executor’lar ve thread havuzları
• RxJava ile asenkron işlemler
o Schedulers sınıfı (Schedulers factory class)
computation
io metodu
newThread
single
trampoline
• Thread’lerarası senkronizasyon
• Ö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
• TCP Protokolü ile Client/Server Haberleşme
• Soket Kavramı BSD Soket Sistemi
• Windows Soket API’leri
• TCP Server Programlarının Yazımı
• TCP Client Programlarının Yazımı
• Client ile Server Arasında Haberleşme Teknikleri
• Çok Client’lı Server Uygulamaları
• IP Ailesinin Uygulama Katmanına İlişkin Protokoller (POP3, TELNET, HTTP, SSH Protokolleri)
• UDP Haberleşmesi
• UDP Client ve Server Programları
• IP protokolü ve temel kavramlar
• TCP ve UDP protokolleri
• Socket kavramı
• Network byte order (little mandian, big endian kavramları)
• Client, server programlama modeli
• TCP protokolü ile uygulama geliştirme
o Server programın organizasyonu
o Client programnın organizasyonu
o Binary haberleşme
o Text haberleşme
o Farklı platformlarda geliştirilmiş uygulamalar ile haberleşen uygulmalar
• UDP protokolü ve uygulama geliştirmne
o Datagram kavramı
o UDP programlarının organizasyonu
o UDP kullanılan örnekler
• Örnek uygulamalar
Paralel Programlama
• Paralel Programlamanın Anlamı ve Önemi
• Paralel Programlamanın Sorunları
• Paralel Programlamada Kullanılan Kütüphaneler ve Ortamlar
Temel JNA ve JNI uygulamaları
Java uygulamalarının performans analizi
İleri düzey Spring uygulamaları
•
• Örnek Uygulamalar
Java’da düzenli ifadeler (regular expressions)
JavaFX uygulamaları
• Örnek uygulamalar
Docker kurulumu ve yönetimi
Java programlarının analiz edilmesi
Çöp toplayıcı’nın ayrıntılı incelenmesi
Yazılım geliiştirmede kullanılan temel araçlar
Bu kurs C ve Sistem Programcıları Derneği ve Sistem Bilgisayar işbirliği ile düzenlenmektedir.
*Ücreti sorunuz.