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


Pret per participant

Upcoming Courses

Categorii înrudite