Formação Clojure
Explore o paradigma da programação funcional com Clojure
Assista o vídeo
veja nossa apresentação da Formação e uma Alura Live sobre a Carreira em Front-end
Clojure
A Programação Funcional é um dos diversos paradigmas do universo da programação, isto é, uma outra maneira de organizar nosso pensamento ao escrever um código e seu maior diferencial é que as funções são o principal elemento utilizado para criar seus programas.
O Clojure é uma linguagem de programação que roda por cima da máquina virtual do Java ou Javascript. A linguagem utiliza fortemente o paradigma funcional, incentivando a imutabilidade e funções puras, facilitando a criação e manutenção de software.
Na Formação Clojure da Alura, você vai conhecer as vantagens e desvantagens da programação funcional, alguns conceitos de estrutura de dados e vai trabalhar com coleções. Tudo isso será aplicado levando em consideração a linguagem utilizada, que tenta utilizar por padrão diversas das boas práticas adquiridas pelas linguagens em geral com o passar do tempo.
Além disso, você vai entender como trabalhar com estado em um mundo que favorece imutabilidade, entenderá como criar garantias com schemas, trabalhar com boas práticas e criar testes de exemplos e de propriedades.
Vamos lá?
Pré-requisitos
Lógica de programação ou alguma outra linguagem de programação. Aqui na Alura, veja a Formação Iniciante em Programação.
Esta formação foi criada em parceria com o Nubank.
Por que estudar esta formação?
-
Guia de aprendizado
Conteúdos pensados para facilitar seu estudo
-
Do básico ao avançado
Formação completa para o mercado
-
Você dentro do mercado
Do zero ao sonhado emprego em sua área de interesse
Comece essa formação agora mesmo e capacite-se para seu próximo projeto!
Conheça os planosCom quem você irá aprender
-
Guilherme Silveira
Passo a passo
1 Introdução à programação funcional
No primeiro momento da formação, você vai começar com as funções, lidando com coleções no paradigma funcional.
-
Curso Clojure: Introdução à programação funcional
Curso | 10h - Entenda a importância da imutabilidade em Clojure
- Aprenda como lidar com funções como dados
- Passe funções como parâmetros, retorne funções
- Utilize map e reduce como base no seu dia a dia funcional
- Trabalhe com vetores, mapas e threading em Clojure
-
Curso Clojure: Coleções no dia a dia
Curso | 10h - Aprenda recursão e recursão de cauda
- Veja como agrupar, ordenar e compor mapas mais complexos
- Entenda a diferença entre execução lazy e eager
- Entenda as sequências "infinitas"
- Aprenda a usar as estruturas da linguagem que farão parte do seu dia a dia
Faça esse curso e:
Mais detalhesdo curso Clojure: Introdução à programação funcional
Faça esse curso e:
-
2 Mutabilidade e testes
Nessa segunda parte da formação, você encontrará algumas situações em que podemos usar a mutabilidade para resolver alguns problemas e logo em seguida você vai aprender algumas práticas para testar seu software.
-
Curso Clojure: Mutabilidade com átomos e refs
Curso | 10h - - Utilize diversas estruturas de dados como vetores, listas, conjuntos, filas e mapas
- - Entenda os problemas de concorrência e processamento paralelo
- - Use átomos e retry de transações
- - Utilize partials, doseq, dotimes, juxt, future e outras funções
- - Entenda a diferença entre atoms e refs
- - Utilize as vantagens e entenda as dificuldades de usar refs
-
Curso Clojure: Record, protocol e multi method
Curso | 08h - Entenda quando faz sentido utilizar componentes OO em Clojure
- Aprenda a usar Record e Protocols
- Faça a ponte com Java através de invocações de inter operabilidade
- Crie seu próprio componente OO de cache simples
- Utilize multi methods com e sem record
-
Curso Clojure: Schemas
Curso | 08h - Utilize Schemas para obter garantias de entrada e saída de suas funções
- Crie seus próprios Schemas de agregação de valores
- Utilize Schemas com Sequências
- Utilize Schemas com mapas fixos ou dinâmicos
- Entenda as vantagens do uso de schemas
-
Curso Clojure: Explorando testes
Curso | 08h - Aprenda a diferença entre escrever testes e testar
- Utilize técnicas como exploração de boundary e category partitioning
- Tests erros e situações de falhas esperadas
- Crie testes que envolvem o uso de schemas
- Entenda como pré e pós condições complementam o toolkit de garantia de código
-
Curso Clojure: Geradores e testes de propriedades
Curso | 08h - Utilize geradores para criar valores válidos para seus modelos e funções
- Utilize geradores para criar valores inválidos, quando aplicável
- Aprenda a diferença entre testes clássicos automatizados e de propriedade
- Implemente testes complexos de propriedades que validam parte do sistema
Faça esse curso e:
Mais detalhesdo curso Clojure: Mutabilidade com átomos e refs
Faça esse curso e:
Mais detalhesdo curso Clojure: Record, protocol e multi method
Faça esse curso e:
Faça esse curso e:
Faça esse curso e:
Mais detalhesdo curso Clojure: Geradores e testes de propriedades
-
Programação
Além dessa, a categoria Programação conta com cursos de Lógica, Python, PHP, Java, .NET, Node JS, Ruby & Rails, C, Computação, Jogos,e mais...