Bize Ulaşın

Eğitim İçeriği

Groovy'ye Giriş

  • Apache Groovy'ye Giriş
  • Groovy'nin geçmişi ve evrimi
  • Groovy ve Java Sanal Makinesi (JVM)
  • Groovy'nin betik ve programlama dili olarak kullanımı
  • Yaygın Groovy kullanım senaryoları
  • Java tabanlı projelerde Groovy
  • Java ile birlikte Groovy kullanımının avantajları
  • Örnek uygulamanın tanıtımı

Groovy Özelliklerinin Genel Bakışı

  • Dinamik tür denetimi ve isteğe bağlı statik tür denetimi
  • Groovy betik yazma yetenekleri
  • Yalın sözdizimi ve dil iyileştirmeleri
  • Kapanışlar (Closures) ve fonksiyonel programlama
  • Groovy koleksiyonları ve iyileştirilmiş API'ler
  • Operatör aşırı yükleme (Operator overloading)
  • Dize (String) içe aktarma (interpolation)
  • Güvenli gezinme (Safe navigation) ve Elvis operatörü
  • Alanına Özel Dil (DSL) geliştirme
  • Meta-programlama yetenekleri
  • Groovy Geliştirici Kiti (GDK)

Geliştirme Ortamının Kurulumu

  • Groovy'nin kurulumu ve yapılandırması
  • Groovy dağıtımları ile çalışma
  • Komut satırından Groovy kullanımı
  • Groovy betiklerinin çalıştırılması
  • Bir IDE (Entegre Geliştirme Ortamı) kurulumu
  • Groovy projesi oluşturma
  • Bağımlılıkları yönetme
  • Groovy'nin Java projeleriyle entegrasyonu
  • Konteynerler için geliştirme ortamını yapılandırma

İlk Groovy Uygulamanızı Yazma

  • Temel bir Groovy betiği oluşturma
  • Groovy betiği yapısını anlama
  • Groovy uygulamalarının çalıştırılması
  • println deyiminin kullanımı
  • Değişkenlerle çalışma
  • Yöntem (metot) tanımlama
  • Yorum ekleme ve dokümantasyon
  • Basit bir örnek uygulama oluşturma
  • Groovy kodunun derlenmesi

Groovy'nin Sözdizimiyle Tanışma

  • Groovy deyimleri ve ifadeleri
  • Noktalı virgüller ve isteğe bağlı sözdizimi öğeleri
  • Değişkenler ve sabitler
  • Dinamik ve açık (explicit) türlendirme
  • Dize (String) sabitleri ve içe aktarma
  • Tek satır ve çok satırlı dizeler
  • Operatörler ve ifadeler
  • Groovy operatörleri ve kısayolları
  • Null işleme
  • Güvenli gezinme (Safe navigation)
  • Elvis operatörü
  • Birçok atama (Multiple assignment)

Groovy'nin Veri Tipleri ve Koleksiyonlarını Kullanma

  • İlkel ve nesne tipleri
  • Sayılar ve sayısal işlemler
  • Dizeler (Strings) ve karakterler
  • Boole (Boolean)
  • Tarih ve saat ile ilgili değerler
  • Listeler
  • Haritalar (Maps)
  • Kümeler (Sets)
  • Aralıklar (Ranges)
  • Koleksiyonlar üzerinde gezinme
  • Koleksiyon dönüşümleri
  • Koleksiyonları filtreleme ve arama
  • Verileri sıralama ve gruplama
  • Groovy koleksiyon yöntemleri

Groovy Kapanışlarını (Closures) Kullanma

  • Kapanışları anlama
  • Kapanış sözdizimi
  • Kapanış parametreleri
  • Gizli kapanış parametreleri
  • Kapanışları çağırma
  • Kapanışları değişken olarak kullanma
  • Kapanışları yöntemlere iletme
  • Yöntemlerden kapanış döndürme
  • Kapanışlar ve koleksiyonlar
  • Filtreleme ve dönüşüm için kapanış kullanımı
  • Kapsam ve değişken yakalama
  • Fonksiyonel programlama için kapanışlar
  • Pratik kapanış desenleri

Groovy Kontrol Yapıları ile Program Akışını Yönetme

  • Koşul deyimleri
  • if ve else
  • İç içe koşullar
  • switch deyimleri
  • Döngüler ve yineleme
  • for, while ve do-while
  • Döngülerde aralıklar
  • Yineleme için kapanış kullanımı
  • break ve continue
  • İstisna (Exception) işleme
  • try, catch ve finally
  • Özel istisnalar fırlatma
  • Groovy'ye özgü akış kontrolü özellikleri

Uygulamanızda Nesne Yönelimli Programlamayı (OOP) Uygulama

  • Groovy sınıflarını tanımlama
  • Özellikler ve alanlar
  • Oluşturucular (Constructors)
  • Yöntemler
  • Kapsülleme (Encapsulation)
  • Miras (Inheritance)
  • Arayüzler (Interfaces)
  • Soğutma (Abstract) sınıflar
  • Polimorfizm
  • Yöntem ezme (Method overriding)
  • Yöntem aşırı yükleme (Method overloading)
  • Groovy getter ve setter'ları
  • Özellikler (Traits)
  • Sayıtlar (Enums)
  • Örnek uygulama için alan modelleri oluşturma

Çalışma Zamanı ve Derleme Zamanı Meta-Programlama

  • Groovy meta-programlamaya giriş
  • Dinamik yöntem çağrısı
  • Expando nesneleri
  • Çalışma zamanında yöntem ve özellik manipülasyonu
  • Kategoriler ve uzantılar
  • MetaClass
  • Dinamik olarak yöntem ekleme
  • Yöntem çağrılarını yakalama
  • Derleme zamanı dönüşümleri
  • Yaygın AST dönüşümleri
  • Meta-programmayı sorumluca kullanma
  • Pratik meta-programlama örnekleri

Yapıcılar (Builders) ile Çalışma

  • Yapıcı desenine (builder pattern) giriş
  • Groovy yapıcıları ve amaçları
  • Hiyerarşik yapılar oluşturma
  • XML yapıcıları
  • JSON yapıcıları
  • HTML ve kodlama (markup) üretimi
  • Yapıcı çıktısını yapılandırma
  • Yapıcılarda kapanış kullanımı
  • Özel yapıcılar oluşturma
  • Alanına Özel Dillerde (DSL) yapıcıları uygulama

Groovy ile Veritabanı Erişimi

  • Veritabanı bağlantısı kavramları
  • Groovy uygulamalarını veritabanlarına bağlama
  • JDBC ve Groovy veritabanı API'leri
  • Veritabanı bağlantılarını yapılandırma
  • SQL sorguları çalıştırma
  • Sorgu sonuçlarını okuma
  • Veri ekleme, güncelleme ve silme
  • Parametreli sorgular
  • İşlemler (Transactions)
  • Veritabanı istisnalarını işleme
  • Groovy SQL ile çalışma
  • Örnek uygulama için veritabanı işlevselliği oluşturma

Groovy'den Java Çağırma

  • Groovy ve Java birbirine geçebilirliği (interoperability)
  • Groovy'den Java sınıflarını kullanma
  • Java yöntemlerini çağırma
  • Java kütüphaneleri ile çalışma
  • Java koleksiyonları ile çalışma
  • Java istisnalarını işleme
  • Groovy sözdiziminin Java sözdizimiyle karşılaştırılması
  • Java'dan Groovy kodu çağırma
  • Groovy ve Java kaynak dosyalarını karıştırma
  • Groovy'nin mevcut Java uygulamalarına entegrasyonu
  • Birbirine geçebilirlik en iyi uygulamaları

REST Hizmetleri ve Uygulamalarına Bağlanma

  • REST API'lerine giriş
  • Groovy uygulamaları için HTTP kavramları
  • HTTP istekleri gönderme
  • GET, POST, PUT ve DELETE işlemlerini işleme
  • İstek parametreleri ve başlıkları ile çalışma
  • JSON yanıtlarını işleme
  • JSON istek gövdeleri oluşturma
  • Kimlik doğrulamayı işleme
  • HTTP hatalarını yönetme
  • Dış REST hizmetlerini tüketme
  • Örnek uygulamaya REST işlevselliği entegre etme

GDK ile Çalışma

  • Groovy Geliştirici Kiti'ne (Groovy Development Kit) giriş
  • Iyileştirilmiş Java API'leri
  • Dizelerle (strings) çalışma
  • Iyileştirilmiş koleksiyonlar
  • Dosya ve dizin işlemleri
  • Dosya okuma ve yazma
  • Akışlar (streams) ile çalışma
  • XML işleme
  • JSON işleme
  • Tarih ve saat ile çalışma
  • Yardımcı yöntemler ve kolaylaştırıcı API'ler
  • Uygun GDK işlevselliğini seçme

Bir Groovy Uygulamasını Birim Test Etme

  • Groovy uygulamalarını test etmeye giriş
  • Test odaklı geliştirme kavramları
  • Birim testleri yazma
  • Test çerçevelerinin kullanımı
  • Test sınıflarını yapılandırma
  • İddialar (Assertions)
  • Sınıfları ve yöntemleri test etme
  • Kapanışları test etme
  • İstisnaları test etme
  • Bağımlılıkları mock'lama (sahteleştirme)
  • Veri odaklı testler
  • Veritabanı ile ilgili işlevselliği test etme
  • REST entegrasyonlarını test etme
  • Test sonuçlarını çalıştırma ve analiz etme

Sorun Giderme (Troubleshooting)

  • Groovy sözdizimi hatalarını teşhis etme
  • Çalışma zamanı hatalarını hata ayıklama
  • Derleme sorunlarını ele alma
  • Java birbirine geçebilirlik sorunlarını giderme
  • Kapanış ve koleksiyon işlemlerini hata ayıklama
  • Veritabanı bağlantı sorunlarını araştırma
  • REST API entegrasyonlarını giderme
  • Meta-programlama davranışını hata ayıklama
  • Günlük tutma ve tanı araçlarını kullanma
  • Pratik sorun giderme egzersizleri

Özet ve Sonuç

  • Groovy dilinin temel kavramlarının gözden geçirilmesi
  • Sözdizimi, tipler ve koleksiyonların gözden geçirilmesi
  • Kapanışlar ve fonksiyonel programlamanın gözden geçirilmesi
  • Nesne yönelimli programlamanın gözden geçirilmesi
  • Meta-programlama ve yapıcıların gözden geçirilmesi
  • Veritabanı ve REST entegrasyonunun gözden geçirilmesi
  • Groovy ve Java birbirine geçebilirliğinin gözden geçirilmesi
  • GDK yeteneklerinin gözden geçirilmesi
  • Test uygulamalarının gözden geçirilmesi
  • Groovy uygulamaları geliştirirken en iyi uygulamalar
  • Son uygulamalı egzersiz
  • Soru ve tartışma

Kurs İçin Gerekli Önbilgiler

  • Herhangi bir programlama dilinde programlama deneyimi
 21 Saatler

Katılımcı Sayısı


Katılımcı başına fiyat

Danışanlarımızın Yorumları (1)

Yaklaşan Etkinlikler

İlgili Kategoriler