Programa do Curso

Introdução

  • Quem usa Scala?
  • Desenvolvimento de programas puramente funcionais em grande escala

Visão geral do funcional Programming em Scala

  • Funções de ordem superior
  • Combinadores
  • Funções Polimórficas

Dominando Scala Tipos

  • Tipos de produtos e tipos de soma
  • Supertipos e subtipos
  • Universais e Existenciais
  • Tipos superiores
  • Tipo Lambdas

Dominando Scala classes de tipo

  • Classes e instâncias
  • Truques com implícitos
  • Restrições Polimórficas

Estudo de caso: Programas com alto estado e sistemas externos complexos

Exercício de codificação

Trabalhando com dados

  • Dados imutáveis e recursão
  • Catamorfismos e codificação de igreja
  • Dados de Ponto Fixo
  • Esquemas de recursão

Correspondência avançada de padrões em Scala

  • Correspondência profunda
  • Usando extratores

Estudo de caso: Scala e Big Data

Exercício de codificação

Usando padrões funcionais

  • Opções, opções e validações
  • Semigrupos e Monóides
  • Funtores
  • Aplicativos
  • Mônadas
  • Dobráveis e travessáveis
  • Lentes

Trabalhando com efeitos

  • OI
  • Estado
  • Leitor
  • Combinando efeitos

Estudo de caso

  • A definir

Exercício de codificação

Arquitetura Funcional

  • Arquitetura Moderna para FP
  • Computação reificada e avaliação diferida
  • Avaliadores Composicionais
  • Técnicas de otimização
  • Zombaria puramente funcional

Bibliotecas e DSLs

  • Estruturas de controle personalizadas com parâmetros por nome
  • Construindo bibliotecas bem projetadas e DSLs internas

Tratamento de exceções funcionais

  • Tratamento de exceções tradicional
  • Tratamento de exceções funcionais
  • Usando Try com For compreensões

Exercício Final de Codificação e Avaliação

Observações finais

Requisitos

  • Experiência prática em programação Scala
  • Familiaridade com pattern matching e traits

Público

  • Scala programadores que desejam aprender as características mais avançadas e diferenciadas de Scala
  14 horas
 

Cursos Relacionados

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

  28 horas

Advanced Java Security

  21 horas

Combined JAVA, PHP and Web Application Security

  28 horas

Standard Java Security

  14 horas

Java and Web Application Security

  21 horas

Categorias Relacionadas