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!

    Programação Funcional e Concorrente em Rust

    Julia Naomi Boeira
    Livro de Rust Funcional e Concorrente

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

    Introdução

    Este livro apresenta Rust de forma que a Programação Funcional seja inerente ao desenvolvimento, assim como identifica uma das grandes forças do Rust, a concorrência. Para isso, o livro foi dividido em quatro partes.

    Na primeira, temos um resumo do potencial do Rust e sua história. Passaremos por uma explicação de por que Rust deve ser considerado uma ótima opção, bem como por suas principais características, e apresentaremos um breve módulo de como pode ser feito TDD em Rust. Na segunda, mostramos a Programação Funcional na perspectiva dessa linguagem, comparando ao Clojure. Nosso foco será principalmente em funções, traits, iterators, adapters e consumers.

    Na terceira parte, apresentamos a concorrência nos diversos modos que o Rust oferece, como a criação de *threads*, o compartilhamento de estados e a transferência de informações por canais. Então, na última parte, resumimos as outras, de forma a apresentar 4 frameworks HTTP, sendo dois de alto nível (Iron e Nickel), um de baixo nível (Hyper) e um de programação assíncrona (Tokio).

    Para quem é este livro

    Este livro tem como objetivo usar Rust para desenvolver o pensamento funcional e concorrente em qualquer pessoa que goste de programação. Logo, é recomendado ter um básico conhecimento nessa linguagem, pois muitas das implementações de código esperam um conhecimento raso dela.

    Outros aspectos importantes da escolha de Rust foram a paixão da autora pela linguagem, já que lhe poupou muitas dores de cabeça por não ter mais de se preocupar em implementar sistemas concorrentes em C++, e a facilidade da sintaxe, que tem uma sensação de linguagem de alto nível.

     

    Sumário

    • Parte 1 – Por que Rust?
    • 1 Introdução ao Rust
      • 1.1 História do Rust
    • 2 Por que Rust?
      • 2.1 Type Safety
      • 2.2 Entendimento da linguagem e sua sintaxe
      • 2.3 Segurança de memória
      • 2.4 Programação concorrente
      • 2.5 Mais sobre Rust
    • 3 TDD em Rust
      • 3.1 Por que TDD?
      • 3.2 Um exemplo em Rust
    • Parte 2 – Programação Funcional
    • 4 O que é programação Funcional?
      • 4.1 Imutabilidade
      • 4.2 Laziness
      • 4.3 Funções
    • 5 Definindo funções
      • 5.1 Funções de ordem superior
      • 5.2 Funções anônimas
      • 5.3 Funções como valores de retorno
    • 6 Traits
      • 6.1 Trait bounds
      • 6.2 Traits em tipos genéricos
      • 6.3 Tópicos especiais em traits
    • 7 If let e while let
      • 7.1 if let
      • 7.2 if let else
      • 7.3 while let
    • 8 Result e Option
      • 8.1 Result
      • 8.2 Option
      • 8.3 Exemplo
    • 9 Iterators, adapters e consumers
      • 9.1 Iterators
      • 9.2 Maps, filters, folds e tudo mais
      • 9.3 Consumer
      • 9.4 Mais exemplos com resoluções funcionais
      • 9.5 Funções interessantes
    • Parte 3 – Programação concorrente
    • 10 O que é programação concorrente?
      • 10.1 Definição de concorrência
      • 10.2 E o Rust? Como fica?
      • 10.3 Quando utilizar concorrência?
    • 11 Threads — A base da programação concorrente
      • 11.1 Lançando muitas threads
      • 11.2 Panic! at the Thread
      • 11.3 Threads seguras
    • 12 Estados compartilhados
    • 13 Comunicação entre threads
      • 13.1 Criando channels MPSC
      • 13.2 Como funciona?
      • 13.3 Comunicação assíncrona e síncrona
    • 14 Assincronicidade em Rust
      • 14.1 Async-await
      • 14.2 Runtime Tokio
      • 14.3 Canais do Tokio
      • 14.4 Sincronização de estado
    • 15 Atores com Actix
      • 15.1 Fazendo um request com Actix
      • 15.2 Registrando no banco de dados
      • 15.3 Buscando um alias registrado
      • 15.4 Gerando um BrCode
    • Parte 4 – Aplicando nossos conhecimentos
    • 16 Consolidando todos os temas com Iron
      • 16.1 Iron
      • 16.2 Mais detalhes do Iron
      • 16.3 Iron testes
    • 17 Brincando com Nickel
      • 17.1 Routing
      • 17.2 Lidando com JSON
      • 17.3 Templates em Nickel
    • 18 Hyper: servidores desenvolvidos no mais baixo nível
      • 18.1 Criando um servidor Hello World mais robusto
      • 18.2 Fazendo nosso servidor responder um Post
      • 18.3 Uma API GraphQL com Hyper e Juniper
    • 19 Tokio para web e a assincronicidade
      • 19.1 Tokio-proto e Tokio-core
      • 19.2 Futures
      • 19.3 A versão assíncrona
    • 20 Bibliografia
      • 20.1 Links importantes
      • 20.2 Exemplos GraphQL

    Dados do produto

    Número de páginas:
    276
    ISBN:
    978-85-94188-42-7
    Data publicação:
    03/2018. Atualizado em 02/2021.
    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