Curso Advanced Programming with Scala

  • Development & Administration Fiori

Curso Advanced Programming with Scala

24 horas
Visão Geral

Este Curso Advanced Programming with Scala se baseia no curso básico sobre programação com Scala. Ele aprofunda sua compreensão da linguagem e cobre aspectos mais idiomáticos da sintaxe, com um olho na criação de Linguagens Específicas de Domínio em Scala e na capacidade de ler e entender o código mais complexo.

Objetivo
  • Obtenha uma compreensão profunda da linguagem de programação Scala
  • Entenda os idiomas da programação orientada a objetos em Scala
  • Entenda os idiomas da programação funcional em Scala
  • Tenha uma boa noção dos implícitos, para que servem e como funcionam
  • Aprenda a usar Scala para criar suas próprias linguagens específicas de domínio (DSLs)
  • Sinta-se confortável escrevendo código Scala avançado por meio de laboratórios práticos
Publico Alvo
  • O público-alvo é composto por desenvolvedores profissionais que já tenham um conhecimento básico e um pouco de experiência com Scala e que pretendam aprofundar seu entendimento e compreensão prática da linguagem.
Pre-Requisitos
  • Para aproveitar ao máximo este curso, os futuros alunos devem ter alguns anos de experiência profissional em pelo menos uma linguagem de programação orientada a objetos e conhecimento e experiência básicos em Scala.
Materiais
Inglês/Português/Lab Prático
Conteúdo Programatico

Classes

  1. Instantiation
  2. Constructor-Local Parameters and Variables
  3. Defining and Using Classes
  4. Positional and Named Method Parameters
  5. Access Modifiers and Scope of Protection
  6. Fields and Accessor Methods

Inheritance

  1. Overriding of Stable/Unstable Members

AnyVal

  1. What Is AnyVal?
  2. How Scala Treat AnyVal Types
  3. Extending AnyVal

Custom Operators

  1. Idiomatic Method Invocation
  2. Prefix, Infix, and Postfix Notations
  3. Defining Operators
  4. Unary, Left-, and Right-Associative Operators
  5. Operator Precedence
  6. Assignment Operators

Traits

  1. Using Traits
  2. Mixing-In at Object Creation

Linearization of Traits

  1. Stackable Trait Pattern
  2. Abstract Overrides

Variance in Scala

  1. What Is Variance?
  2. Invariant, Contravariant, Covariant
  3. Upper Bounds and Lower Bounds

Def, Val, Lazy Val

  1. Review
  2. Run-time Differences

Streams

  1. Potentially Infinite Collections

Functional Programming and Collections

  1. For Comprehension Equivalence
  2. Functional Use of Option and Try
  3. Mapping, Flattening, and Flat-Mapping

TDD Principles and ScalaTest

  1. Testing Styles

Using ScalaTest and ScalaMock

  • Matchers
  • Stub and Verify Approaches

Extractors

  1. Case Class Features
  2. Defining Extractor Methods
  3. Fixed Arity
  4. Variable Arity
  5. Infix Operator
  6. Boolean
  7. Use of Extractors
  8. Pattern Matching
  9. Variable Assignment
  10. “for” Generators

Introduction to Implicits

  1. Two Flavors
  2. What They Are For
  3. How They Work

Implicit Parameters

  1. Two Flavors
  2. Resolving Ambiguities

Implicit Conversions

  1. Conversion Classes
  2. Conversion Methods
  3. Implicit Extensions

Implicit Application, Resolution, and Scope

Call-By-Name vs. Call-By-Value

  1. Background
  2. Call-By-Name Syntactic Sugar

Type Classes

  1. Background
  2. Definition and Usage
  3. Context Bounds

Partial Functions

  1. What Is a Partial Function?
  2. Partial Function Methods
  3. Map as a Partial Function
  4. Lifting Partial Functions

Scala for DSLs

  1. Accessor and Mutator Methods
  2. Method Invocation Operators
  3. Operator Overloading
  4. Call-By-Name Blocks
  5. Extractor Methods
  6. Interpolators
  7. Partial Function Idiom
TENHO INTERESSE

Cursos Relacionados

Curso SAP Fiori Administration 

24 Horas

Curso SAP Fiori Implementação e Configuração

32 horas

Curso SAP FIORI Desenvolvedor Fiori

32 Horas

Curso SAP ABAP HANA - Desenvolvedor ABAP HANA

24 horas

Curso SAP ABAP - Administration

32 horas