Schița de curs

Introducere

  • Cine folosește Scala?
  • Dezvoltarea de programe pe scară largă, pur funcționale

Prezentare generală a funcționalului Programming în Scala

  • Funcții de ordin superior
  • Combinatoare
  • Funcții polimorfe

Stăpânirea Scala Tipuri

  • Tipuri de produse și tipuri de sume
  • Supertipuri și subtipuri
  • Universale și existențiale
  • Tipuri de tip superior
  • Tip Lambdas

Stăpânirea Scala clase de tip

  • Clase și instanțe
  • Trucuri cu implicite
  • Constrângeri polimorfe

Studiu de caz: programe cu un grad ridicat de stare și sisteme externe complexe

Exercițiu de codificare

Lucrul cu date

  • Date imuabile și recursivitate
  • Catamorfisme și codificarea bisericii
  • Date cu punct fix
  • Scheme de recursivitate

Potrivire avansată a modelelor în Scala

  • Potrivire profundă
  • Utilizarea extractoarelor

Studiu de caz: Scala și Big Data

Exercițiu de codificare

Utilizarea modelelor funcționale

  • Opțiuni, fie și validări
  • Semigrupuri și monoizi
  • Functorii
  • Aplicative
  • Monade
  • Pliabile și Traversabile
  • Lentile

Lucrul cu efecte

  • IO
  • Stat
  • Cititor
  • Combinarea efectelor

Studiu de caz

  • TBD

Exercițiu de codificare

Arhitectura functionala

  • Arhitectură modernă pentru FP
  • Calcul reificat și evaluarea amânată
  • Evaluatori compoziționali
  • Tehnici de optimizare
  • Batjocură pur funcțională

Biblioteci și DSL-uri

  • Structuri de control personalizate cu parametri după nume
  • Construirea de biblioteci bine proiectate și DSL-uri interne

Gestionarea excepțiilor funcționale

  • Tratarea tradițională a excepțiilor
  • Gestionarea funcțională a excepțiilor
  • Folosind Încercați cu Pentru înțelegeri

Exercițiu final de codificare și evaluare

Observații de încheiere

Cerințe

  • Experiență practică în programare Scala
  • Familiaritate cu potrivirea de tipare și trăsături

Audiență

  • Scala programatori care doresc să învețe caracteristicile mai avansate și mai nuanțate ale Scala
  • .
  14 ore
 

Numărul de participanți


Dată început

Dată sfârșit


Dates are subject to availability and take place between 09:30 and 16:30.
Open Training Courses require 5+ participants.

Cursuri înrudite

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

  28 ore

Advanced Java Security

  21 ore

Combined JAVA, PHP and Web Application Security

  28 ore

Standard Java Security

  14 ore

Java and Web Application Security

  21 ore

Categorii înrudite