Casa do Código - Livros e Tecnologia

  • Programação
  • Lógica
  • Java
  • .NET
  • PHP
  • Games
  • OO
  • Funcional
  • Python
  • Outros
  • Todos
  • Mobile
  • iOS
  • Android
  • Multiplataforma
  • Outros
  • Todos
  • Front-end
  • HTML e CSS
  • JavaScript
  • Outros
  • Todos
  • Infraestrutura
  • Web
  • Dados
  • Outros
  • Todos
  • Business
  • Startups
  • Marketing Digital
  • Gestão
  • Agile
  • Outros
  • Todos
  • Design & UX
  • Você tem 0 itens na sacola 0 Abrir navegação por categorias e busca Ir para ao topo da página

    Use o código e tenha 10% de desconto!

    Elixir Do zero à concorrência

    Tiago Davi
    Livro de Elixir

    *Você terá acesso às futuras atualizações do livro.

    Prefácio

    Décadas atrás, os processadores eram projetados com apenas um núcleo. Então, naquela época, fazia sentido programar sem pensar em distribuição de tarefas por núcleos de processamento.

    A maioria dos programadores não se preocupava se estava utilizando todo o potencial do processador para executar tarefas em paralelo. Entretanto, hoje, depois de várias pesquisas neste setor, os processadores evoluíram e passaram a ter não apenas um núcleo, mas diversos! Hoje estes processadores são conhecidos como multicore e são muito comuns, até mesmo em aparelhos celulares. 

     No momento, vivemos neste cenário moderno e em constante evolução, mas muitos programadores continuam escrevendo código de maneira clássica, sem considerar que hoje podemos extrair muito mais dos processadores no sentido de podermos processar diversas tarefas em paralelo, a fim de termos um resultado muito mais eficiente.

    Diversas linguagens tentam resolver esse problema. Mas a implementação desses recursos em geral é muito complicada e, no final, eles não conseguem resolver o problema de fato.

    Sistemas orientados a objeto têm de lidar com mutação de estado em processos paralelos. E quando você tem diversos núcleos disputando o mesmo espaço de memória, para checar esse estado, o resultado final pode ser um desastre. 

    Neste livro, vamos estudar a linguagem de programação Elixir que resolve muito bem este problema. Por ser uma linguagem imutável e utilizar o paradigma funcional, Elixir nos permite pensar em termos de funções e transformação de dados.

    Elixir também é baseado em processos que se comunicam isoladamente e, por isso, não sofre efeitos colaterais indesejados como outras linguagens. Em vez disso, ele potencialmente cria uma nova versão limpa dos dados a cada possível mutação.

    Elixir executa código em pequenos processos e cada um com seu próprio estado, o que faz com que a construção de sistemas distribuídos e concorrentes seja feita de forma natural, transparente e fácil.

     

    PARA QUEM ESTE LIVRO FOI ESCRITO

    Se você é recém-chegado no universo da programação, creio que este livro não lhe cairá muito bem devido aos diversos aspectos técnicos que são comparados e explicados aqui. Mas se por outro lado, você já possui alguma experiência com programação, seja qual for a linguagem, e tem vontade de aprender um pouco mais sobre a forma funcional de pensar, utilizando como base os diversos aspectos da linguagem de programação Elixir, então este livro é para você. Espero que sirva bem ao seu propósito. 

    É requerido que você entenda um pouco sobre Orientação a Objetos, estruturas de dados, funções, variáveis e constantes. Você terá de lidar com terminal, editores de código, Elixir e Erlang. Logo, conhecer estes assuntos previamente pode ajudar.

    Como ler este livro

    Sugiro que leia em ordem, do início ao fim, pois os assuntos são abordados pouco a pouco e o conhecimento é exigido conforme os capítulos vão avançando. Porém, nada o impede de visitar somente o assunto que lhe interessa, desde que você já saiba do que se trata.

     

    Todos os exemplos deste livro foram testados no Erlang v19 e no Elixir v1.4.1.

    .

    Sumário

    • 1 Introdução
      • 1.1 O paradigma funcional
      • 1.2 Instalando Elixir
      • 1.3 IEx — Elixir Interativo
      • 1.4 Aridade de funções
      • 1.5 Exercícios
      • 1.6 Você aprendeu
    • 2 Fundamentos
      • 2.1 Tudo é uma expressão
      • 2.2 Inspecionando código
      • 2.3 Introdução a tipos
      • 2.4 Exercícios
      • 2.5 Você aprendeu
    • 3 Organização
      • 3.1 Pattern Matching
      • 3.2 Módulos
      • 3.3 Funções
      • 3.4 Funções e Pattern Matching
      • 3.5 Exercícios
      • 3.6 Você aprendeu
    • 4 Verificação
      • 4.1 Controle de fluxo
      • 4.2 Guard clauses
      • 4.3 Operador pipe
      • 4.4 Exercícios
      • 4.5 Você aprendeu
    • 5 Listas
      • 5.1 Head e tail (cabeça e cauda)
      • 5.2 List comprehension
      • 5.3 Lazy evaluation
      • 5.4 Recursividade
      • 5.5 Exercícios
      • 5.6 Você aprendeu
    • 6 Calculadora de médias
      • 6.1 Exercícios
      • 6.2 Você aprendeu
    • 7 Mix
      • 7.1 Exercícios
      • 7.2 Você aprendeu
    • 8 ExUnit
      • 8.1 Exercícios
      • 8.2 Você aprendeu
    • 9 Introdução a processos
      • 9.1 Exercícios
      • 9.2 Você aprendeu
    • 10 Programação concorrente e paralela
      • 10.1 Criando um app de clima
      • 10.2 Executando o app de clima em paralelo
      • 10.3 Exercícios
      • 10.4 Você aprendeu
    • 11 Tasks
      • 11.1 Exercícios
      • 11.2 Você aprendeu
    • 12 Conclusão

    Dados do produto

    Número de páginas:
    121
    ISBN:
    978-85-5519-261-6
    Data publicação:
    04/2017
    Fórum de discussões

    Compartilhe!

    Compartilhe no Facebook Compartilhe no Twitter

    *Você terá acesso às futuras atualizações do livro.

    altLogoFooter

    Links da
    Casa do Código

    • Meus ebooks
    • Sobre a Casa do Código
    • Todos os livros
    • Nossas coleções
    • Quero escrever um livro ou fazer parceria
    • Perguntas Frequentes
    • Política de Privacidade
    • Fale conosco

    Nas redes sociais

    • /CasaDoCodigo
    • @casadocodigo
    • @casadocodigo

    Receba novidades e lançamentos

    Este site aceita Pix, Cartão de Crédito, Débito

    • pagarme
    • paypal

    Grupo Alura

    • Educação em Tecnologia

      • FIAP
      • Casa do Código
      • PM3 - Cursos de Produto
    • Mais Alura

      • Alura Start
      • Alura Língua
      • Alura Para Empresas
      • Alura LATAM
    • Comunidade

      • Tech Guide
      • 7 days of code
      • Hipsters ponto Jobs
    • Podcasts

      • Hipsters ponto Tech
      • Dev sem Fronteiras
      • Layers ponto Tech
      • Like a Boss
      • Scuba Dev