FUNCTIONAL PROGRAMMING EĞİTİMİ

Fonksiyonel düşünün, daha güvenli kod yazın

Pure function, immutability, map/filter/reduce, currying, composition, Option/Either, lazy evaluation ve recursion.

Fonksiyonel programlama: saf fonksiyonlar, değişmezlik, currying, kompozisyon, Option/Either ve monad sezgisi eğitimi. Nesne yönelimli arka planı olan geliştiriciler, Scala, Haskell, Kotlin veya modern JavaScript'te daha okunur kod isteyen yazılımcılar için u…

2 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Fonksiyonel programlama ilkeleri

Eğitim, fonksiyonel programlama paradigmasını dilden bağımsız kavramlarla ve JavaScript/TypeScript, Scala ve Haskell benzeri örneklerle işler: saf fonksiyonlar ve yan etkiler, değişmezlik, birinci sınıf ve yüksek mertebeden fonksiyonlar, currying ve kısmi uygulama, fonksiyon kompozisyonu, özyineleme ve tail call, Option ve Either ile hata yönetimi, functor-monad sezgisi ve tembel değerlendirme.

Süre ve Format

2 Gün. Her gün dört modül; Temeller; İleri Fonksiyonel Teknikler ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — Saf fonksiyonlar, değişmezlik, yüksek mertebeden fonksiyonlar, monad kavramı ve fonksiyonel tasarım

Öğrenme Metodu

Zorunlu stilde yazılmış örnek kodlar adım adım fonksiyonel tasarıma dönüştürülür; her bölümde refaktör alıştırması yapılır.

Neden Bu Eğitim?

λYan etkisiz kod

Saf fonksiyonlarla test edilmesi kolay ve öngörülebilir kod yazarsınız.

🧩Birleştirilebilirlik

Küçük fonksiyonları kompoze ederek karmaşık mantık kurarsınız.

🚫Güvenli hata yönetimi

Null ve exception yerine Option ve Either kullanırsınız.

Anahtar Konular

fonksiyonel programlamapure functionimmutabilityhigher order functioncurryingmonadoption eitherhaskell scalatypescript fpözyineleme
“Durumu azalttıkça, kodun hakkında akıl yürütmek kolaylaşır.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Programlama deneyimi

Herhangi bir dilde 1+ yıl kodlama.

2
Koleksiyonlar

Liste ve sözlük işleme bilgisi.

3
Ortam

Node.js veya Scala/Haskell çalışma ortamı.

4
Açık fikir

Zorunlu stilden farklı düşünmeye hazırlık.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı saf fonksiyon ve değişmez veriyle çalışır, yüksek mertebeden fonksiyonları kullanır.
Modül 1
Paradigma ve Saf Fonksiyonlar
  • İmperatif ve bildirimsel fark
  • Saf fonksiyon ve referans şeffaflığı
  • Yan etki türleri
  • Yan etkileri sınıra itme
  • Test edilebilirlik kazancı
  • Memoization
Modül 2
Değişmezlik
  • Immutable veri yapıları
  • Kopyalama ve structural sharing
  • Object.freeze ve readonly
  • Immer / persistent koleksiyonlar
  • Paylaşılan durum ve eşzamanlılık
  • Reducer kalıbı
Modül 3
Yüksek Mertebeden Fonksiyonlar
  • Fonksiyon birinci sınıf değer
  • map, filter, reduce
  • flatMap ve zincirleme
  • Closure ve kapsam
  • Callback'ten fonksiyon dönüşüne
  • Dizi işlem hattı refaktörü
Modül 4
Kompozisyon
  • Currying ve kısmi uygulama
  • compose ve pipe
  • Point-free stil ve sınırları
  • Fonksiyon kompozisyon yasaları
  • Veri akışı tasarımı
  • Ramda / lodash-fp kullanımı
Günün hedefiKatılımcı özyineleme ve Option/Either ile güvenli akış kurar, functor-monad sezgisi kazanır.
Modül 1
Özyineleme
  • Özyinelemeli düşünme
  • Tail call optimizasyonu
  • Trampolining
  • Fold ve katamorfizma sezgisi
  • Ağaç işleme
  • Fibonacci ve liste uygulamaları
Modül 2
Cebirsel Veri Tipleri
  • Sum ve product tipler
  • Discriminated union (TypeScript)
  • Pattern matching
  • Exhaustiveness kontrolü
  • Domain durumlarını tiplerle modelleme
  • Geçersiz durumları temsil edilemez yapma
Modül 3
Option ve Either
  • Null güvensizliği
  • Option/Maybe ile eksik değer
  • Either ile hata taşıma
  • Railway-oriented programming
  • Result tipi örnekleri
  • fp-ts / Scala Try karşılaştırması
Modül 4
Functor ve Monad Sezgisi
  • Functor: map yasası
  • Applicative ile bağımsız hesaplar
  • Monad: flatMap ve yasalar
  • Promise ve Future bir monad
  • IO ve yan etki yönetimi
  • Tembel değerlendirme ve akışlar

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Saf fonksiyon

Yan etkileri sınırlayan saf fonksiyonlar yazabilirsiniz.

✅
Değişmezlik

Immutable veriyle durum yönetimi kurabilirsiniz.

✅
Koleksiyon işleme

map/filter/reduce hatları kurabilirsiniz.

✅
Kompozisyon

Currying ve pipe ile fonksiyonları birleştirebilirsiniz.

✅
Özyineleme

Tail call ve fold ile özyinelemeli çözümler yazabilirsiniz.

✅
Tip modelleme

Cebirsel tiplerle geçersiz durumları engelleyebilirsiniz.

✅
Güvenli hata akışı

Option ve Either ile null ve exception kullanmadan akış kurabilirsiniz.

✅
Monad sezgisi

Functor ve monad yasalarını pratik örneklerle açıklayabilirsiniz.

Kimler İçin Uygundur?

  • Nesne yönelimli arka planı olan geliştiriciler
  • Scala
  • Haskell
  • Kotlin veya modern JavaScript'te daha okunur kod isteyen yazılımcılar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Nesne yönelimli arka planı olan geliştiriciler, Scala, Haskell, Kotlin veya modern JavaScript'te daha okunur kod isteyen yazılımcılar için uygundur.
Hangi dil kullanılır?
Ana örnekler TypeScript ile verilir; Scala ve Haskell karşılıklarıyla kavramlar pekiştirilir.
Matematik bilgisi gerekir mi?
Hayır; kategori teorisi terimleri sezgisel örneklerle anlatılır.
İş projesine uygulanabilir mi?
Evet, reducer, veri dönüşüm hattı ve hata akışı gibi günlük problemler üzerinden çalışılır.
Eğitim sonunda sertifika verilir mi?
Katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Functional Programming Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre2 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Yazılım Geliştirme GenelSession Border Controllers for engineers Eğitimi
Yazılım Geliştirme Eğitimleri

Session Border Controllers for engineers Eğitimi

3 günİleriOnline / Yüz Yüze / Hibrit

Session Border Controller eğitimi: SIP trunk, topology hiding, header manipulation, transcoding, TLS/SRTP, DoS koruması ve Wireshark ile sorun giderme.

Detayları Gör →
Yazılım Geliştirme GenelSharing & Collaborating on an App in Microsoft PowerApps Eğitimi
Yazılım Geliştirme Eğitimleri

Sharing & Collaborating on an App in Microsoft PowerApps Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Power Apps paylaşım ve iş birliği eğitimi: uygulama paylaşımı, co-owner, Entra grupları, veri izinleri, ortamlar, çözümler ve DLP politikaları.

Detayları Gör →
Yazılım Geliştirme GenelSHRM BASK : Organizational Effectiveness & Development Eğitimi
Yazılım Geliştirme Eğitimleri

SHRM BASK : Organizational Effectiveness & Development Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

SHRM BASK Organizational Effectiveness & Development eğitimi: örgüt tasarımı, iş analizi, performans, Kotter ve ADKAR değişim yönetimi, kültür ve gelişim.

Detayları Gör →
Yazılım Geliştirme GenelSistem Modellemesi SysML ile Eğitimi
Yazılım Geliştirme Eğitimleri

Sistem Modellemesi SysML ile Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

SysML ile sistem modellemesi eğitimi: MBSE, gereksinim, BDD/IBD, aktivite, durum, sıra ve parametrik diyagramlar ile izlenebilirlik uygulamaları.

Detayları Gör →
Yazılım Geliştirme GenelSkill Development Using Alexa Components Eğitimi
Yazılım Geliştirme Eğitimleri

Skill Development Using Alexa Components Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Alexa skill geliştirme eğitimi: Alexa Skills Kit, interaction model, intent ve slot, Lambda handler, DynamoDB, APL arayüzü ve skill yayınlama.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn