Course Outline

Invoering

  • Wie gebruikt Scala?
  • Het ontwikkelen van grootschalige, puur functionele programma's

Overzicht van Functioneel Programming in Scala

  • Functies van hogere orde
  • Combinatoren
  • Polymorfe functies

Mastering Scala-typen

  • Producttypen en somtypen
  • Supertypes en subtypes
  • Universaliteiten en existentiële zaken
  • Hogere types
  • Typ Lambda's

Mastering Scala Typeklassen

  • Klassen en instanties
  • Trucs met impliciete trucs
  • Polymorfe beperkingen

Casestudy: Zeer stateful programma's met complexe externe systemen

Codeeroefening

Werken met gegevens

  • Onveranderlijke gegevens en recursie
  • Catamorfismen en kerkcodering
  • Vaste puntgegevens
  • Recursieschema's

Geavanceerde patroonmatching in Scala

  • Diepe matching
  • Het gebruik van extractors

Casestudy: Scala en Big Data

Codeeroefening

Functionele patronen gebruiken

  • Opties, beide en validaties
  • Semigroepen en monooïden
  • Functies
  • Toepassingen
  • Monaden
  • Opvouwbaar en verplaatsbaar
  • Lenzen

Werken met effecten

  • IO
  • Staat
  • Lezer
  • Effecten combineren

Casestudy

  • Nader te bepalen

Codeeroefening

Functionele Architectuur

  • Moderne architectuur voor FP
  • Gereificeerde berekening en uitgestelde evaluatie
  • Compositorische beoordelaars
  • Optimalisatietechnieken
  • Puur functionele spot

Bibliotheken en DSL's

  • Aangepaste besturingsstructuren met bijnaamparameters
  • Het bouwen van goed ontworpen bibliotheken en interne DSL's

Functionele afhandeling van uitzonderingen

  • Traditionele afhandeling van uitzonderingen
  • Functionele afhandeling van uitzonderingen
  • Gebruik Try with voor begrip

Laatste codeeroefening en evaluatie

Slotopmerkingen

Requirements

  • Praktische ervaring met Scala programmeren
  • Bekendheid met patroonmatching en eigenschappen

Publiek

  • Scala programmeurs die de meer geavanceerde en genuanceerde functies van Scala willen leren
  14 Hours
 

Related Courses

Combined C/C++, JAVA and Web Application Security

  28 Hours

Advanced Java Security

  21 Hours

Combined JAVA, PHP and Web Application Security

  28 Hours

Standard Java Security

  14 Hours

Java and Web Application Security

  21 Hours

Related Categories