Core Scala
Escrevendo software de forma mais produtiva na JVM

NÍVEL INTERMEDIÁRIO SC

Scala é uma linguagem de programação relativamente nova. Mesma assim, nos últimos anos, conquistou empresas gigantes como o Twitter e o Foursquare. Uma das primeiras diferenças entre Scala e uma linguagem como Java, é que Scala também suporta o paradigma funcional. Isso por si só abre muitas possibilidades.

Apesar de muito produtiva, assim como qualquer outra linguagem, é necessário entender como Scala funciona para podermos realmente aproveitar seus recursos. O que é um Option e quando usar, por exemplo?

Neste curso vamos ver todos os recursos essenciais para o dia-a-dia de um programador Scala, desde conceitos básicos de sintaxe, passando por programação funcional e diversas das APIs mais importantes, como a própria Option, Try e Collections entre outras. Vamos ver também os recursos necessários para aproveitar melhor os frameworks mencionados e, em seguida, aprender a utilizar os próprios frameworks.

Novidade no treinamento de Scala

O que era bom, ficou ainda melhor! Agora o Core Scala conta também com o Hands-on de 8 horas sobre Big Data com Apache Spark, uma plataforma para o desenvolvimento de aplicações em Big Data, escrita em Scala e que vem ganhando mercado devido a sua grande flexibilidade e ótimo desempenho. Suporta aplicações para análise de dados estruturados, não estruturados, streaming, aprendizagem de máquina e processamento de grafos.

Neste curso, o aluno será apresentado aos conceitos fundamentais de Big Data e aprenderá como utilizar a plataforma Apache Spark para o desenvolvimento de aplicações.


Facebook» Curta o Core Scala no Facebook



Um documento contendo todas as informações detalhadas do treinamento, preço e formas de pagamento com parcelamento em até 6X sem juros.

É rapidinho. Chega por e-mail no mesmo minuto!

ORÇAMENTO ELETRÔNICO

Introdução a Scala
  • Java versus Scala
  • Versões
  • Scala e a máquina virtual Java
  • Instalação
  • Scala REPL - Read, Eval, Print, Loop
  • Sintaxe e semântica
  • Compilação e execução de código Scala
  • Scala como linguagem de script
  • ScalaDoc
  • Tipos parametrizados
Introdução ao SBT
  • Conceitos básicos de gerenciamento de dependências
  • Conhecendo o SBT
  • Instalando o SBT
  • O console do SBT
  • Exemplo de projeto SBT
  • Configuração do build do projeto
Frameworks de testes
  • Automação de testes e TDD
  • Opções
  • Introdução ao Specs2
  • Configuração do SBT e execução dos testes
Introdução a tipos e inferência de tipos
  • O que são tipos
  • Inferência de tipos
  • Quando não usar inferência
  • tipos estruturais
Orientação a Objetos em Scala
  • Classes
  • Objects
  • Escopos e visibilidade
  • Case classes
  • Herança
  • Traits
  • Tipos parametrizáveis
  • Evitando nulls: Option, Some e None
Pattern matching
  • O que é pattern matching
  • Método apply
  • Método unapply
  • Pattern Matching em listas
Programação funcional em Scala
  • O que é programação funcional?
  • Sintaxe Scala para funções
  • Funções recursivas
  • Recursões de cauda - ou tail call recursion
  • Currying de funções
  • Sobre imutabilidade
API de coleções da linguagem Scala
  • Introdução
  • Overview das principais coleções
  • Operações básicas em coleções
  • Tuplas
  • Mapas
  • Operações avançadas em coleções: fold e reduce
  • Coleções paralelas
Outros recursos da linguagem
  • for comprehensions
  • Tratamento de erros e exceções
  • Validando parâmetros de métodos
  • Parâmetros e métodos implícitos
Akka 2
  • Introdução a programação concorrente
  • O modelo de atores
  • O que é Akka
  • Seu primeiro ator: enviando e recebendo mensagens
  • Respondendo mensagens
  • Hierarquia de atores e tolerância a falhas
  • Supervisores
  • Ciclo de vida de atores
  • Roteadores
  • Testando atores
Play 2
  • Introdução ao Play Framework
  • Estrutura básica
  • Arquitetura de uma aplicação Play!
  • Camada de controle
  • Rotas
  • Controladores
  • Redirecionamento de requisições
  • Customizando os resultados retornados
  • Manipulando sessões
  • Camada de visualização
  • Lidando com items estáticos: JS, CSS e imagens
  • Template engine
  • Lidando com formulários
  • Camada de modelo
  • Persistência
  • Framework Anorm
  • Integração com Akka 2
  • Internacionalização
  • Opções de deployment

29
Abril
29
Abril
Online ao vivo
Sábado das 10 às 19 h

No mundo Scala, um framework que chama muito a atenção é o Akka. Ele abstrai conceitos complexos como tratamento de locking em programação concorrente e permite, no mesmo modelo conceitual, o desenvolvimento de aplicações concorrentes e distribuídas. Por tráz disso está o já antigo - e poderoso - modelo de atores. Mas para usá-lo, é preciso mudar um pouco a forma de pensar e desenhar nossas aplicações.

O Play Framework! também é outro destaque no mundo Scala. Ele começou como um framework Java, com suporte a Scala. Mas reconhecendo o poder e produtividade da linguagem Scala, a versão 2 do framework foi totalmente re-escrita em Scala. Agora, o Play Framework! 2 é um framework Scala, com suporte a Java. Uma das principais características desse framework é que ele foca no desenvolvimento de um ""server-side stateless"". Isso facilita em muito a escalabilidade das aplicações desenvolvidas com ele.



Antes de se matricular, você pode conferir este vídeo-tutorial feito pelo Paulo Siqueira e instalar a Plataforma Scala e o SBT no Linux.

Links para assistir no Youtube: Instalando Scala | Instalando SBT




Aqui na Globalcode, distância e tempo não são mais desculpas para fazer o seu curso, pois temos treinamentos híbridos onde você poderá optar por estudar na modalidade Presencial ou Online com aulas ao vivo e podendo interagir com o instrutor em tempo real. Caso perca alguma aula, você poderá assistir à reprise quando quiser!

Veja no quadro de próximas turmas acima.

Conhecer a linguagem Java

Noções básicas de desenvolvimento de aplicações web

Eu já fiz vários treinamentos Online e sem dúvida alguma este oferecido pela Global foi o mais produtivo e o único que não tive nenhum problema.. A preocupação do instruto conosco foi espetacular. Estão de parabéns. Gostei tanto que já estou negociando um novo treinamento com vocês.
Daniel Rocha Oliveira
Curso Online Online