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.

    Conteúdo

    Rust é uma linguagem de nível de sistema com algumas características que são grandes diferenciais, como ter segurança de memória sem coletor de lixo, possibilitar concorrência sem corrida de dados, abstração sem overhead e um compilador que garante segurança no alocamento de recursos. Com Rust, pensar em Programação Funcional será algo muito intuitivo no desenvolvimento.

    Neste livro, Julia Naomi traz todo o potencial do Rust, apresentando-o como uma ótima opção às outras linguagens, inclusive as de mais alto nível, sendo até possível implementar TDD. Você verá como Programação Funcional se associa a Rust, em comparação com Clojure, com foco em funções, traits, iterators, adapters e consumers. Além disso, você se aprofundará em sua principal característica, 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. A autora ainda apresenta quatro 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), com os quais você já pode colocar a mão na massa.

    A edição atualizada em 02/2021 conta com novos capítulos completos de async, incluindo tokio e async_std, além da adição de assincronicidade com sistema de atores baseado no Actix. Todos os códigos foram atualizados para a edição 2018 do Rust.

    Saiba o que você vai aprender

     

    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

    Autor

    Julia Naomi Boeira

    Julia Naomi Boeira é desenvolvedora de software na Thoughtworks Brasil e possui grande experiência no desenvolvimento de jogos, tendo idealizado o Lean Game Development. Atualmente, atua como divulgadora da engine Unity dentro da Thoughtworks principalmente em realidade aumentada.

    Dados do produto

    Número de páginas:
    276
    ISBN:
    978-85-94188-42-7
    Data publicação:
    03/2018. Atualizado em 02/2021.
    Submeter errata Fórum de discussões

    Compartilhe!

    Compartilhe no Facebook Compartilhe no Twitter

    Impulsione sua carreira aprendendo também...

    Livro de TDD para Games
    TDD para Games
    +
    Livro de Lean Game Development
    Lean Game Development
    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