Scala Programlama Dili (Online-Canlı)

Eğitim Süresi

3 GÜN

Kontenjan

12

Ön Koşullar

Herhangi bir ön koşul yoktur.

Eğitim Hakkında

Scala, Java'ya çok yakın olan bir programlama dilidir. Özelliği, programcının aynı zamanda nesne ve fonksiyonel yönelimli program yazmasına izin vermesidir. Ölçeklenebilirliği, esnek söz dizimi, Java ile birlikte çalışması ve model eşleştirmesi nedeniyle popüler bir programlama dili haline gelmiştir.

Scala’nın kendi IDE’si olmasına rağmen Java Byte-Code üretebiliyor yani JVM üzerinde çalıştırma özelliğine sahiptir. Bundan dolayı Java library, framework’lerini ve araçlarını rahatlıkla scala aracılığı ile kullanabilirsiniz.

Scala programlama dilin temel özelliklerini bu eğitimde öğreneceksiniz. Apache Spark ile yoğun kullanımından dolayı scala’ın günümüzde önemi artmıştır. Big data machine learning ve spark konusunda çalışanlara scala öğrenmeyi tavsiye ediyoruz.


Bu Eğitimde Neler Öğreneceksiniz

  • Değiştirilebilir ve değiştirilemez veriler arasındaki farkları anlama
  • Scala tarafından kullanılan temel syntax’ları anlama
  • Scala kullanarak nesneleri ve sınıfları yaratmak
  • Değişken kapsamı ve implicit fonksiyon çağrılarını anlama
  • Özellik ve miras yapısını anlama
  • Fonksiyonel programlama paradigması ve nesneye yönelik yaklaşımların nasıl farklılaştırılır konusunu kavrama
  • Currying kavramı ve lambda fonksiyonlarını kavrayabilme
  • Fonksiyonel programlamayla koleksiyonları ve jenerikleri kullanma
  • Model eşleştirmeyi anlama

Bu Eğitime Kimler Katılmalı

  • Programlama bilgisi olan kişiler
  • Java Geliştiricileri
  • Yazılım ve Bilgisayar Mühendisleri

Eğitim İçeriği

Introducing Scala

  • What is Scala
  • Advantages and Disadvantages to using Scala
  • Scaladocs
  • Scala Libraries
  • Scala tools - Repl and Eclipse

Basic Scala Syntax

  • Variables and Data types
  • Mutable vs Immutable data
  • Operators
  • Statement blocks
  • Conditionals
  • Loops , Guards and Yielding
  • Functions
  • Simple I/O

Objects in Scala

  • Creating objects
  • Creating new operators
  • Companion Objects and Singletons
  • Val vs Def
  • Exception Handling: Throwing exceptions and why not to

Inheritance and Traits

  • Simple Inheritance in Java and Scala
  • Abstract methods and classes
  • Traits
  • Multiple inheritance using traits
  • Packages

Unit Testing and TDD

  • What is unit testing
  • Scala Test
  • Installing and running simple tests
  • Test styles: Flat Spec and feature Spec
  • Matchers and Exception catching

Functional Programming

  • Advantages and disadvantages to the functional programming style
  • Pure functions
  • Higher order functions
  • Lambda (anonymous) functions
  • Closures
  • Currying
  • Combining functions
  • Recursion
  • Lazy Evaluation and partially applied functions

Collections and Generics

  • Generic types in Java and Scala
  • Arrays and the Array Buffer
  • Ranges
  • Iterating and transforming collections
  • Lists
  • Tuples
  • Maps
  • Zipping and unzipping collections
  • Variance and type bounds

Functional programming with Collections

  • The map function
  • forEach
  • filter
  • flatMap
  • Options

Pattern Matching

  • Case classes
  • match ... case
  • Capturing variables
  • Matching Lists
  • Matching and Recursion
  • Deep Matching