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!

    Scala Como escalar sua produtividade

    Paulo Siqueira
    Livro de Scala

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

    Prefácio

    Este livro é um bom ponto de partida para quem sabe pouco ou nada sobre a linguagem Scala e está curioso sobre como ela funciona. Um pouco de experiência com programação ajudará você a seguir o conteúdo do livro, mas não é necessário nenhum conhecimento mais avançado.

    Serão apresentadas as características e recursos principais da linguagem, bem como conceitos indispensáveis para seu uso efetivo, em especial conceitos sobre Programação Funcional. Os recursos apresentados são o ponto de partida para conceitos mais avançados da linguagem, portanto, neste livro focamos em construir o conhecimento mínimo necessário para se trabalhar com Scala.

    Além de conceitos, o livro também aborda elementos da API que todo programador Scala precisa conhecer, incluindo (mas não se limitando a) classes e hierarquia das classes fundamentais da linguagem, API de coleções e parseamento de arquivos XML.

    Este livro também vai ajudar o leitor ou leitora que está considerando adicionar Scala em um projeto Java e não sabe por onde começar. Como mencionaremos no decorrer do livro, Java e Scala se integram muito bem, portanto esse também é um ponto de partida recomendado.

    Para quem já tem algum conhecimento em Scala, o livro também pode ser útil. Você talvez queira apenas pular até o capítulo 6 ou 7, onde começamos a abordar a API de coleções e elementos de Programação Funcional, seguido de recursos mais avançados da linguagem.

    Por fim, nem todo mundo gosta de ler código-fonte em um livro. Logo, para facilitar a vida de quem quiser acessar todos os exemplos do livro de uma forma mais simples, criamos um repositório no GitHub: https://github.com/jcranky/scalando. Eventuais correções necessárias nos códigos serão aplicadas lá também.

    Boa leitura!

    Sobre o autor

    Paulo "JCranky" Siqueira é desenvolvedor de software especializado na máquina virtual Java (JVM). Trabalhou com a linguagem Java desde 2001, já tendo atuado com diversos tipos de frameworks e tecnologias relacionadas, desde applets, passando por aplicações desktop com AWT e Swing, até aplicações web. Isso inclui algumas ferramentas amadas e outras odiadas hoje em dia, como Servlets e JSPs, Struts, Spring, Hibernate, JPA, Java EE, entre muitas outras.

    Depois de anos trabalhando com a linguagem Java, uma sede por melhores opções tomou conta do autor, que encontrou na linguagem Scala e na programação funcional uma alternativa com grande potencial. Algum tempo depois, trabalhar com essa linguagem se tornou a única alternativa aceitável — foi um caminho sem volta.

    Depois de mais alguns anos trabalhando e ministrando treinamentos com Scala no Brasil, e depois de alguns anos à frente dos Scaladores — grupo de usuários da linguagem Scala de SP (http://scaladores.com.br) —, Paulo se mudou para Berlin, onde hoje é engenheiro de Software na Zalando SE (http://zalando.de), o maior site de comércio de moda da Europa, atuando 100% com Scala.

    Paulo também é o criador e responsável por dois projetos de código aberto em Scala que podem ser interessantes para o leitor: a Lojinha (https://github.com/jcranky/lojinha), uma aplicação web simples desenvolvida com o Play Framework para leilão de usados; e o EasyForger (http://easyforger.com/), uma API que oferece uma DSL para desenvolvimento de mods para Minecraft em Scala.

     

    Sumário

    • 1 Introdução a Scala
      • 1.1 O mínimo que você precisa saber sobre Scala
      • 1.2 Instalação
      • 1.3 Nosso primeiro programa
      • 1.4 Scaladoc
      • 1.5 REPL
      • 1.6 Inferência de tipos
      • 1.7 Um pouco de história
    • 2 Acessando fotos do Flickr
      • 2.1 Conhecendo nosso problema
      • 2.2 Modelos e funções
      • 2.3 Como seria em Java?
      • 2.4 Como seria no Java 8?
    • 3 Classes e objetos
      • 3.1 Nossa primeira classe
      • 3.2 val vs. var
      • 3.3 Métodos e funções
      • 3.4 Construtores
      • 3.5 Parâmetros default e nomeados
      • 3.6 Objects
      • 3.7 Classes abstratas
    • 4 Case classes e pattern matching
      • 4.1 Case classes
      • 4.2 Case objects
      • 4.3 Pattern matching com case classes e object
      • 4.4 Método unapply e pattern matching com qualquer classe
      • 4.5 Método de fábrica apply
    • 5 Hierarquia das classes básicas da linguagem
      • 5.1 Option, Some e None
      • 5.2 Any-o que?
      • 5.3 Null, Nothing, Unit e ???
      • 5.4 Exceptions
      • 5.5 Value Classes
    • 6 Coleções
      • 6.1 Herança de funções básicas
      • 6.2 Sets
      • 6.3 Lists
      • 6.4 Tuplas
      • 6.5 Maps
      • 6.6 Arrays
      • 6.7 Coleções imutáveis versus coleções mutáveis
    • 7 Programação Funcional
      • 7.1 O que é Programação Funcional?
      • 7.2 Recebendo funções com dois ou mais parâmetros
      • 7.3 Encontrando elementos: filter e find
      • 7.4 Transformando elementos: map
      • 7.5 Mapeando resultados com coleções aninhadas
      • 7.6 Agregando resultados: fold e reduce
    • 8 Tipagem avançada
      • 8.1 Tipos parametrizados
      • 8.2 Limites de tipos: Type Bounds
      • 8.3 Tipos invariantes, covariantes e contravariantes
    • 9 Um pouco de açúcar: for comprehensions
      • 9.1 Percorrendo múltiplas coleções de forma legível
      • 9.2 Mantendo a imutabilidade
      • 9.3 O segredo do for: Monads
    • 10 Classes abstratas e traits
      • 10.1 Classes abstratas
      • 10.2 Traits
      • 10.3 Classes seladas
      • 10.4 Herança múltipla e o problema do diamante
    • 11 Parseando XML
      • 11.1 O básico de XML em Scala
      • 11.2 Parseando a resposta XML do Flickr
    • 12 Implicits
      • 12.1 Adicionando funcionalidade a tipos existentes: conversões implícitas
      • 12.2 Conversões implícitas ambíguas
      • 12.3 Passando parâmetros sem passar nada: parâmetros implícitos
      • 12.4 Como o sum soma valores "somáveis"?
    • 13 Colocando tudo junto
      • 13.1 Bibliotecas e ferramentas
      • 13.2 Componentes da API
      • 13.3 Considerações finais
    • 14 O fim, e o começo

    Dados do produto

    Número de páginas:
    207
    ISBN:
    978-85-5519-234-0
    Data publicação:
    12/2016. Atualizado em 10/2020
    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