Programare cu Scala

Trainingul acopera tot continutul necesar pentru utilizarea eficienta a Scala: operatori si tipuri de date, folosirea structurilor de baza (arrays, map, tuples), folosirea abordarii functionale si orientate pe obiect.
Cod: JVA-031
Durata: 30 ore

Descriere

In cadrul acestui curs participantii vor avea ocazia sa descopere cum sa programeze cu Scala, functionalitatile acestui limbaj precum si avantajele si provocarile utilizarii lui.

Limbajul de programare Scala a inceput sa devina din ce in ce mai popular in ultimii ani nu doar in cadrul comunitatii de software development dar si in zona de dezvoltare a aplicatiilor enterprise. Scala foloseste cele mai avansate functionalitati ale limbajelor de programare actuale precum si functional programming.

Ofera programatorilor oportunitatea de a creste eficienta procesului de dezvoltare si de a crea un cod expresiv si eficient. Codul Scala este compilat in Java byte code si ruleaza in interiorul JVM, lucru care il face extrem de compatibil cu librariille si instrumentele Java existente.

Trainingul acopera tot continutul necesar pentru utilizarea eficienta a Scala: operatori si tipuri de date, folosirea structurilor de baza (arrays, map, tuples), folosirea abordarii functionale si orientate pe obiect, cum se lucreaza cu collections, pattern matching, case-classes, generics si implicit conversions. Mai mult decat atat in agenda cursului sunt incluse si un numar mare de exercitii practice.

Subiecte curs

Scala instructions, operators si types
  • Conditional statements
  • Loops
  • Functii
  • Variabile
  • Operatori
  • Unit type
  • Function type
  • Null, Nothing, Any, AnyRef si AnyVal types
  • Packages si imports
  • Implicit imports
  • Exceptii

Arrays, maps, tuples
  • Crearea, adaugarea si eliminarea elementelor din array
  • Accesul la Array Elements
  • Arrays de lungime fixa sau variabila
  • Multidimensional Arrays
  • Operatiuni cu arrays
  • Sortarea unui array
  • Crearea si accesarea associative tables
  • Iterarea, schimbarea si sortarea associative tables
  • Tuples
  • Zipping

Classes si Inheritance
  • Clase
  • Proprietati cu getters si setters
  • Folosirea parentheses method calls
  • Proprietati cu only getters
  • Auxiliary constructors
  • Primary constructor
  • Nested classes
  • Extending the class
  • Overriding methods
  • Type check si cast
  • Call the superclass constructor
  • Overriding fields
  • Anonymous subclasses
  • Abstract fields
  • Constructor order si early definitions
  • Scala Inheritance Hierarchy
  • Objects equality

Objects
  • Singletons
  • Companion Objects
  • Objects extending a class or trait
  • Enumeratii
  • Packages objects
  • Apply and unapply methods
  • Lazy objects

Traits
  • Traits as interfaces
  • Traits cu implementare specifica
  • Redefinirea abstract methods in Traits
  • Concrete si abstract fields in Traits
  • Objects care folosesc multiple Traits
  • Trait construction order
  • Initializarea Trait fields
  • Traits extending classes
  • Self types

Functii
  • Functii ca valori
  • Default arguments si named arguments
  • Functii fara return value
  • Functii anonime
  • Functii cu Function ca parametru
  • Closures
  • Interfete Functionale
  • Currying
  • Passing function as a parameter in the block of code
  • Folosirea return

Collections
  • Traits collections in Scala: Map, Set si Seq
  • Mutable si immutable collections
  • Secvente
  • Liste
  • Mutable lists
  • Sets
  • Operators atunci cand lucrezi cu collections
  • Metode standard pentru a lucra cu collections
  • Folosrea functiilor map, reduce, fold si scan
  • Zipping
  • Iterators
  • Data Streams
  • Threadsafe Collections
  • Parallel collections
  • Interactiuni cu Java collections

Pattern matching
  • Pattern matching as a better switch
  • Guards
  • The variables in patterns
  • Type patterns
  • Potrivirea arrays, lists si tuples
  • Regular expressions
  • Extractors
  • Patterns in variable declarations
  • Patterns in for expressions

Case classes, Option type and partial functions
  • Сase classes
  • Copy method si named parameters
  • Sealed classes
  • Option type
  • Functii partiale

Generics
  • Generic сlasses
  • Generic functions
  • Type variance
  • Upper si lower type bounds
  • Use _ for type

Implicit conversions
  • Folosirea implicit keyword pentru a defini implicit type
  • Importarea si folosirea implicit conversions
  • Implicit parameters

Obiective

Folosirea eficienta a limbajului de programare Scala.

Public tinta

Cursul este dezvoltat pentru programatori Java dar si programatori cu experienta in alte limbaje (precum C++, C#, etc.) pot sa participe.

Cerinte curs

Cunoasterea a cel putin un limbaj de programare OOP este necesara. Cunostinte de baza in Java sunt de asemenea foarte utile.

Inregistreaza-te pentru urmatorul curs.
+
Inregistrarea la urmatorul curs va asigura prioritatea pe lista de inscriere. Veti fi contactat pentru confirmarea inscrierii in momentul in care urmatorul curs este programat.
Bucuresti 2375 RON
Cracovia 2375 RON
Wroclaw 2375 RON

Facturile pentru curs sunt emise in moneda locala. Toate preturile de mai sus pot fi supuse modificarilor in functie de locul unde se desfasoara trainingul si modul de livrare. Preturile pot fi supuse modificarilor si in perioada in care se programeaza. Pentru persoane fizice pretul este cel afisat. Pentru persoane juridice se adauga TVA.

Alte cursuri care te-ar putea interesa:

Inscrie-te la

Prenume*
Nume*
Companie
Adresa email*
Alege oras
Telefon
Observatii
Luxoft Warsaw - Warsaw Spire, plac Europejski 1, 00-844 Warszawa
Dimitrie Pompeiu nr 5-7 , building C, Et. 5, sect 2, Bucharest, 014459

Contact phone:

021 371 4858
Luxoft Poland Wroclaw - Silver Tower pl. Konstytucji 3-go Maja 3 50-048 Wroclaw
Aleja Generała Tadeusza Bora-Komorowskiego 25, Quattro Business Park Five, 31-476 Kraków, Poland

Contact phone:

+48 122110650
Success
Iti multumim.
Inregistrarea ta a fost trimisa.