Vamos usar Scala?

Vamos usar Scala?

Como migramos nossa stack Java para Scala

1b6e30201dc5af3d4dc5530482552bd6?s=128

Bruno Campos

August 09, 2014
Tweet

Transcript

  1. Globalcode – Open4education Vamos usar Scala? Como migramos nossa stack

    Java para Scala Bruno Campos | Mauricio Carvalho
  2. Globalcode – Open4education Quem Somos? Bruno Campos • Formado em

    Sistemas de Informação no Mackenzie SP; • Desenvolvedor na Amil; • Conhece Java, Scala e Ruby; • É Co-fundador da Condo-X e apaixonado por games. • @brucampos88
  3. Globalcode – Open4education Quem Somos? Maurício Carvalho • Estudou Análise

    de Sistemas no Instituto Federal de São Paulo; • Desenvolvedor na Amil; • Possui algumas certificações em Java (OCJA, JCPJP, OCEWCD) • É Co-fundador da Condo-X que propõe melhorar o dia a dia de quem trabalha com Condomínios. • @m_jcarvalho
  4. Globalcode – Open4education

  5. Globalcode – Open4education

  6. Globalcode – Open4education

  7. Globalcode – Open4education

  8. Globalcode – Open4education O que Fazemos? Métricas de JAN a

    JUN 2014 • Consultas a rede credenciada - 23.175.104 (Vinte e três milhões, cento e setenta e cinco mil, cento e quatro.) • Ativação (Prestador, Empresa e Corretor) - 339.376 (Trezentos e trinta e nove mil, trezentos e setenta e seis.) • Emissão de demonstrativos IR - 438.000 (Quatrocentos e trinta e oito mil.)
  9. Globalcode – Open4education Why Scala?

  10. Globalcode – Open4education Motivação • Ambiente Multiparadigma • Menos código

    repetitivo • Java bytecode • Actors • "100%" compativel com a infra atual
  11. Globalcode – Open4education Como Fazemos? Abstração de Arquitetura • Middleware

    - Regras de negócio • Portal - Front Controller
  12. Globalcode – Open4education Abordagem Iniciar onde tinhamos menos complexidade •

    Direcionamento de Fluxo (Acessos, Validações de Contexto, Logins, Resources Rest ) • Acompanhar a evolução da equipe "on the fly" (Code reviews, prover exemplos, pair programming e f(scala) => estudar⁴⁵⁶⁷⁸⁹) )
  13. Globalcode – Open4education Primeiro contato http://www.takipiblog.com/2014/01/16/compiling-lambda-expressions-scala-vs-java-8/

  14. Globalcode – Open4education Um novo mundo… http://gatesofthefuture.com/harvest-alchemicall-the-world-economy-june-12-2014/

  15. Globalcode – Open4education Procurando exemplos http://blog.podsnap.com/reactive-clj.html

  16. Globalcode – Open4education 1º Tentativa https://www.coursera.org/course/progfun Functional Programming Principles in

    Scala Coursera
  17. Globalcode – Open4education 1º Exercício Dedução do método de Newton

    para cálculo de raízes http://problematicsets.com/newtons-method-for-calculating-square-roots-in-scala/ http://pt.wikipedia.org/wiki/M%C3%A9todo_de_Newton
  18. Globalcode – Open4education 1º Reação

  19. Globalcode – Open4education 2º Tentativa

  20. Globalcode – Open4education 2º Tentativa Exemplo em Java

  21. Globalcode – Open4education 2º Tentativa Exemplo em Scala

  22. Globalcode – Open4education Complexidade ciclomática Exemplo em Java

  23. Globalcode – Open4education Solução Exemplo em Scala

  24. Globalcode – Open4education Coleções Exemplo em Java

  25. Globalcode – Open4education Coleções Exemplo em Scala

  26. Globalcode – Open4education Adaptação do Time

  27. Globalcode – Open4education Dificuldades

  28. Globalcode – Open4education Coisas do dia-a-dia Adicionar um item em

    uma lista
  29. Globalcode – Open4education Ctrl/Cmd + F "add" :::

  30. Globalcode – Open4education WTF?!?!

  31. Globalcode – Open4education

  32. Globalcode – Open4education Interoperabilidade entre as linguagens

  33. Globalcode – Open4education Interoperabilidade entre as linguagens

  34. Globalcode – Open4education MyJavaClass: Object is type ascription; : _*

    is a special instance of type ascription. Such an argument must correspond to a repeated parameter . Scala Language Specification - (§4.6.2) Interoperabilidade entre as linguagens
  35. Globalcode – Open4education IDE

  36. Globalcode – Open4education Lib Developer x Developer

  37. Globalcode – Open4education PERGUNTAS?

  38. Globalcode – Open4education OBRIGADO!