Programação Funcional Avançada Em Java (muito além do map, flatMap e filter)

R$149
0 ratings

Aprenda conceitos avançados como Tail Recursion, Trampolines, Laziness e escreva do zero suas próprias implementações das classes Stream, Optional e List.

Gerencie erros/exceções de forma puramente funcional, evitando código spaghetti cheio de try ... catch.

Anos de estudos e práticas aplicadas em empresas como PayPal, Klarna e ThoughtWorks, foram compilados neste curso para que você consiga alcançar a mudança de paradigma de forma incremental em um curto período.

O que você vai aprender:

Funções

  • Funções simples
  • High Order Functions - Parte 1
  • High Order Functions - Parte 2
  • Identidade (Identity)
  • Compondo funções (Composition)
  • Currying e Partial
  • Cache de resultados com Memoization

Postergando execução de código e evitando o famoso StackOverflow com Laziness

  • Evitando execuçāo desnecessária de código com Laziness
  • Recursão
  • Tail Recursion (Recursão de Calda)
  • Evitando o StackOverflow com Trampolines

Criando uma API funcional para Listas nāo funcionais do Java

  • Transformando a lista com map
  • Acessando a lista de forma funcional - Head e Tail
  • Introdução ao foldRight e foldLeft
  • Operações adicionais - copy/append/reverse

Implementando List - Sua primeira estrutura de dados funcional

  • Escrevendo sua própria implementação de List do zero
  • Implementando operações puramente funcionais
    • Usando Trampolines para imprimir uma lista longa
    • Removendo elementos da lista - drop/dropWhile
    • Invertendo a lista - reverse
    • Removendo o ultimo elemento - init
    • Transformando a lista da direita para a esquerda - foldLeft
    • Transformando a lista da esquerda para a direita - foldRight
    • Compondo abstrações funcionais
      • Calculando o tamanho da lista com foldLeft
      • Refatorando a inversāo da lista
      • Concatenando listas com foldRight
      • Transformando uma lista - map
      • Filtrando uma lista - filter
      • Usando abstrações para achatar a lista - flatMap
    • Mais operações e refatorações - length/reverse/concat

Lidando com ausência de valores de forma funcional

  • Refatorando Null checks para uma abordagem funcional
  • Escrevendo sua própria implementação do Optional do zero

Tratamento de erros de forma funcional, evitando try/catch spaghetti

  • Removendo exceptions do nosso código
  • Escrevendo sua própria versão do Try<T>

Streams

  • Qual a diferença entre Streams e Lists? Apenas a API é diferente?
  • Escrevendo sua própria implementação do Stream do zero


Duração: 10 horas


Estudar programação funcional pode se tornar frustrante pois geralmente você encontra materiais superficiais, básicos e repetidos ou extremamente acadêmicos e difíceis de entender.

Este curso foi desenvolvido para você, que sabe programar e deseja aprender conceitos avançados de forma prática.

Aprenda um modelo mental voltado as práticas funcionais que elevará sua abordagem de desenvolvimento de software independente da plataforma usada.

Desenvolva algoritmos e estruturas de dados de funcionais.

Aprenda em uma linguagem que você já conhece, os fundamentos que facilitarāo seu aprendizado de linguagens como Scala e Clojure.


Assista algumas aulas:



O curso não é introdutório, quais sāo os pré-requisitos?

Este curso é para programadores avançados. Como pré-requisitos você precisa conhecer os conceitos básicos de programação funcional, por exemplo operações como map, flatMap, o que é imutabilidade, transparência referencial e etc. Neste curso você vai implementar muitos recursos funcionais do início, portanto é importante que você já os tenha usado.

I want this!
Watch link provided after purchase

Torne-se um programador funcional avançado

Copy product URL
R$149

Programação Funcional Avançada Em Java (muito além do map, flatMap e filter)

0 ratings
I want this!