O retorno do cangaceiro JavaScript De padrões a uma abordagem funcional
Flávio AlmeidaConteúdo
O paradigma funcional está cada vez mais presente em frameworks modernos. E com o JavaScript em constante evolução, os desenvolvedores cangaceiros estão sempre aprendendo novas formas de aprimorar a manutenção e legibilidade de seus códigos, armando-se de conceitos e técnicas para se aventurar em terras ainda mais avançadas e frameworks que possuem grande demanda no atual mercado de trabalho.
Neste livro, Flávio Almeida retorna ao cangaço JavaScript, introduzindo o leitor aos jargões e técnicas do paradigma funcional aplicados a JavaScript avançado. Você aprenderá os conceitos da Programação Funcional por meio de exemplos práticos com a criação da nossa própria biblioteca e operadores. Para completar, o autor traz os padrões de projeto mais utilizados para você melhorar ainda mais seus projetos. Com essas novas técnicas, você incrementará seu arsenal para resolver problemas comuns do seu dia a dia como programador front-end e estará pronto para explorar áreas mais profundas do sertão da programação.
Sumário
Parte 1 - O encontro
- 1 Organização inicial do projeto
- 1.1 Subindo o servidor
- 1.2 A página principal do projeto
- 1.3 Organizando o código em módulos
- 1.4 O módulo principal da aplicação
- 1.5 Consumo de Endpoints REST
- 2 Adequação dos dados recebidos
- 2.1 Array e seus superpoderes
- 2.2 Revisando a função reduce
- 2.3 Arrays de uma dimensão através de reduce
- 2.4 Implementação da função Log
- 2.5 A intenção do código
- 2.6 Implementação da função flatMap
- 2.7 Deixando clara nossa intenção
- 2.8 Revisando closure
- 2.9 Modificando funções para que recebam apenas um parâmetro
- 2.10 Isolamento de código por meio de um serviço
- 3 Composição de funções
- 3.1 Reduzindo a quantidade de parâmetros de uma função
- 3.2 Partial application
- 3.3 Compondo funções
- 3.4 Implementando a função compose
- 3.5 compose versus pipe
Parte 2 - O último ensinamento
- 4 Limitando operações
- 4.1 Construção da função takeUntil
- 4.2 Construção da função debounceTime
- 4.3 Mais composição
- 5 Lentidão na rede
- 5.1 Simulando lentidão na rede no navegador
- 5.2 A função Promise.race
- 5.3 Implementando timeout em Promises
- 5.4 Repetindo operações
- 5.5 Implementando delay em Promises
- 5.6 Implementando retry em Promises
- 6 Combatendo o alto acoplamento
- 6.1 O pattern Publish-Subscribe
- 6.2 Sobre EventEmitter
- 6.3 Implementando um EventEmitter
- 6.4 Desacoplando nosso código
- 7 A mônada maybe
- 7.1 Lidando com dados nulos
- 7.2 Criamos uma mônada sem saber!
- 7.3 Utilizando nosso tipo monádico
- 7.4 Mais padrões de projeto
Parte 3 - Encontrando a paz
- 8 Recursão segura com o padrão Trampoline
- 8.1 Recursão e clássico cálculo fatorial
- 8.2 Ultrapassando o tamanho máximo da call stack
- 8.3 Tail Call Optimization
- 8.4 O pattern Trampoline
- 8.5 Conclusão
- 9 Funções velozes com o padrão Memoization
- 9.1 Implementação do pattern Memoization
- 9.2 Implementando a função memoizer
- 9.3 Memoizing da função factorial
- 9.4 Memoization de Promises
- 9.5 Conclusão
- 10 O padrão Decorator
- 10.1 TypeScript como inspiração
- 10.2 Primeira solução
- 10.3 Isolando decorators e definindo uma API
- 10.4 Implementando a função decorate
- 10.5 Métodos com mais de um decorator
- 10.6 Ordem dos decorators
- 10.7 Decorators que recebem parâmetros
- 10.8 Aplicando o decorator diretamente na definição da classe
- 10.9 Considerações finais
Autor
Flávio Almeida
Flávio Almeida é desenvolvedor e instrutor na Caelum, empresa na qual ministrou mais de 5.000 horas de cursos de tecnologia Java e front-end para indivíduos e empresas como Petrobras, SERPRO, BNDES, Ministério da Justiça, Globo.com, Banco Central, entre outras entidades públicas e privadas. Também é instrutor na Alura, publicando mais de 20 treinamentos para esta plataforma de ensino online. Autor do livro Cangaceiro JavaScript: uma aventura no sertão da programação e do livro Mean: Full stack JavaScript para aplicações web com MongoDB, Express, Angular e Node, possui mais de 15 anos de experiência na área de desenvolvimento. Bacharel em Informática com MBA em Gestão de Negócios em TI, tem Psicologia como segunda graduação e procura aplicar o que aprendeu no desenvolvimento de software e na educação. Atualmente, foca na linguagem JavaScript e no desenvolvimento de Single Page Applications (SPA), tentando aproximar ainda mais o front-end do back-end através da plataforma Node.js. Já palestrou e realizou workshops em grandes conferências como QCON e MobileConf, e está sempre ávido por novos eventos.
Dados do produto
- Número de páginas:
- 170
- ISBN:
- 978-85-94188-81-6
- Data publicação:
- 08/2018