Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo jcranky

Atendendo milhões de requisições com Scala

Tem tanto conteúdo incrível no The Developer's Conference Online que fica até dificil de selecionar! Mas, vamos lá, separei uma palestra bem interessante com o Paulo Siqueira , coordenador da trilha Scala onde ele aborda Scala, Play, Akka, JMeter e muito mais! Palestra: Atendendo milhões de requisições com Scala Se você gostar inscreva-se no  TDC Online  e tenha acesso a centenas de palestras! Se você curte Scala tem muito mais conteúdo aqui no blog , além de um curso completo Core Scala e também Arquiteturas com Scala na Academia do Arquiteto !  Espero que curtam! Yara Senger twitter.com/yarasenger http://blog.globalcode.com.br/search/label/Yara

Play Framework e Scala

Já ouviu falar do Play Framework ? As chances são grandes que sim. Também grandes são algumas das empresas que o utilizam: LinkedIn , Klout e The Guardian , entre outras, e muitos outros projetos menores, como a minha Lojinha . Mas você sabia que a partir da versão 2.0, o Play Framework é escrito em Scala ? Veja você mesmo, no github do projeto . Um fato importante é que, apesar de as versões anteriores do play serem desenvolvidas em Java , elas já suportavam Scala - ou seja, essa mudança, apesar de grande, não foi feita com uma decisão às cegas. Scala é uma linguagem extremamente produtiva. A liberdade e o poder que essa linguagem traz é um dos grandes motivos que fazem com que essas empresas a utilizem - além do fato de a integração Java/Scala ser muito simples. Eu falei um pouco disso em uma entrevista para o InfoQ . O poder da linguagem Scala também é o motivo pelo qual eu mesmo decidi apostar nela - e é o porquê digo que você deveria pelo menos conhecer um pouco mai...

JSF com Scala

Quando falo de Scala, uma coisa que sempre menciono é a interoperabilidade entre Java e Scala. Essa é sem dúvida um grande vantagem quando avaliamos a possibilidade de adotar ou não a linguagem. Para tornar essa afirmação um pouco mais concreta, gravei um screencast explicando como criar um projeto Jsf do zero, utilizando Scala ao invés de Java. É muito simples, e tentei mostrar isso. Se estiver interessado, o video está publicado no youtube . São menos de 15 minutos de video - e só demorou tudo isso porque fui explicando o que estava acontecendo. Seriam necessarios apenas uns dois minutos se não fosse assim. Se quiser apenas ver o resultado final, eu postei o código no meu github . Feedbacks e sugestões para novos screencasts são bem-vindos =] []s, ---------- contatos: Blog: http://jcranky.com Twitter: http://twitter.com/jcranky Scaladores: http://scaladores.com.br Core Scala , curso de Scala na Globalcode:  http://www.globalcode.com.br/treinamentos/cursos/c...

Dev In Sampa 2012

Mais uma semana, mais um evento! Dessa vez, fui ao Dev In Sampa 2012 , onde palestrei sobre Programação Concorrente e Distribuída. O evento aconteceu no auditório da Editora Abril, neste último sábado. Foi um evento de apenas um dia, o que foi bom, já que estava meio cansado devido ao Agile Brazil 2012 e ao Brazil JS . Mas o evento foi sim muito bom mesmo assim. A primeira coisa que se nota nesse evento é que a grade é bastante eclética. Teve de tudo, desde back-end, passando por persistência, programação concorrente e JS na JVM, até front-end e programação "retrô" para tk2000. A palestra que mais gostei foi a Arquitetura de um servidor DNS Hidden Master para gerenciamento de multiplas zonas , do David Robert. Pelo título, parecia que ia ser a mais chata. Mas foi a melhor. Com muito humor, o David contou sobre falhas de segurança no DNS e como a equipe na qual ele trabalhava no registro.br lidou com elas. Na minha palestra, falando sobre programação concorrente e di...

Agile Brazil 2012

Nesta última semana tivemos o Agile Brazil 2012 , em São Paulo. Foi a primeira vez que fui a este evento e foi também de uma forma diferente: como voluntário - também a primeira vez que faço isso. Foi uma experiência fantástica. Mais do que participar do evento, ver como as coisas funcionam "por trás dos panos" e ajudar é muito bom. Muita coisa dando certo, coisas dando errado, e todo mundo correndo para resolver tudo. Pode não parecer, mas é divertido. E tive oportunidade de conversar com muita gente interessante. De forma geral, o evento foi legal. Foram três dias de palestras, com cinco salas com agendas lotadas. Tinha muita coisa mesmo, era até difícil de acompanhar todas as opções em alguns momentos. Feliz ou infelizmente, alguns tópicos se repetem em relação a outros eventos. Se por um lado isso é ruim para os mais experientes, é muito bom para os novatos e estudantes e afins. Acabei assistindo poucas palestras, mas as poucas que assisti foram excelentes. Em espe...

Brazil JS 2012

Javascript pode não ser a linguagem preferida de muita gente, mas uma coisa não podemos negar: é uma linguagem praticamente onipresente. Por isso, resolvi ir ao Brazil JS 2012 , que aconteceu em Porto Alegre, na semana passada. Foram dois dias com várias palestras interessantes, em uma cidade também acolhedora. Quando digo que JavaScript não é a linguagem preferida de muito gente, eu me incluo nesta lista. Uma coisa que me incomoda em especial são as tentativas de ter JS no lado servidor. Nesse sentido, fiquei contente com o fato de que a maior parte das palestras ou foi sobre recursos da linguagem, ou sobre usos específicos no lado cliente - que é o lugar do JavaScript, no fim das contas. No lado cliente então, vimos coisas como demonstrações de jogos feitos 100% com CSS - mostrando que isso não é uma boa idéia pois o código fica absurdo. A combinação JS + CSS é predominante, e tivemos jogos 2D e várias demonstrações de jogos em 3D. Em especial, o Canvas do HTML5 e WebGL foram a...

Como Scala melhorou meu código Java

Ontem publiquei no meu blog pessoal algumas críticas ao método clone . Eu diria que esse é um assunto um pouco delicado. Resolvi escrever um pouco aqui também em homenagem a uma discussão sobre este mesmo assunto que tivemos em uma das turmas da Academia do Arquiteto, alguns meses atrás. Antes de entrar nos detalhes, vamos deixar claro o ponto aonde vamos chegar: objetivos imutáveis podem ajudar muito na qualidade do nosso código, e estudar a linguagem Scala me ajudou a enxergar isso. Dito isso, vamos aos pormenores. O método clone tem pelo menos dois grandes problemas. O primeiro deles é conceitual. Para suportarmos operações de clone em nossos objetos, temos que implementar a interface Cloneable . Faria todo o sentido do mundo, se o método clone estivesse definido nesta interface, e não em Object . O segundo problema é de ordem mais prática. Vejamos o código abaixo, em Scala, que é o mesmo que usei no meu post mencionado acima: class A(b: B) extends Cloneable { override de...

Iterando coleções com Scala

Em uma notícia de uns dias atrás nós anunciamos um novo curso , o Core Scala . Nele, havia um pequeno trecho de código: val alunosMaiores = alunos.filter(aluno => aluno.idade >= 18) Vamos entender como esse código funciona. Para começar, temos uma lista de alunos . Como essa lista foi criada não é muito importante. Poderíamos ter recuperado ela de um banco de dados, ou tê-la criado em Scala com o seguinte código: case class Aluno(nome: String, idade: Int) val alunos = List(Aluno("joao", 19), Aluno("jose", 17), Aluno("maria", 21))   Criamos acima uma case class que é, de forma simplificada, equivalente a um Java Bean completo, com getters, setters, toString etc. Em seguida criamos a lista em si. Para isso, usamos um recurso de Scala que nos permite criar objetos com a sintaxe Classe(params) - sem o new . Este recurso está disponível para a nossa classe Aluno também pelo fato dela ser uma case class ....

TDC 2012, Trilha Scala e a Comunidade Scala no Brasil

Já faz quase um mês desde que tivemos o TDC 20 12 em São Paulo . Neste post, quero falar um pouco sobre uma das novidades que tivemos este ano: a Trilha Scala - e da comunidade dessa linguagem em geral. Na globalcode, temos um mini-curso sobre scala . Nele, sempre gosto de lembrar o quanto Scala vem crescendo nos últimos anos. Essa linguagem vem sendo utilizada por empresas como twiter, foursquare, the guardian... Isso ilustra bem como as coisas estão lá fora. Mas e no Brasil? A comunidade scala brasileira ainda é bem nova, mas está crescendo. No ano passado iniciei, com um amigo, um grupo de usuários de Scala, os Scaladores . Também no ano passado, palestrei sobre Scala no TDC 2011. E o Just Java 2011 e 2012 também contaram com palestras sobre o assunto. Agora, mais interessante do que isso é notar que começaram a aparecer vagas de emprego por aqui. Ainda não exclusivamente, mas empresas que pedem "outras linguagens na JVM", estão começando a incluir Scala na lista. C...

Coleções paralelas em Scala

Amanhã, quarta-feira, 28 de Março, teremos mais um mini-curso gratuito de Scala na globalcode em SP (e webcast). Para dar um gostinho, vou traduzir aqui mais um dos posts de scala que fiz no meu blog pessoal, jcranky.com , em inglês. Há mais ou menos um mês atrás, eu escrevi aqui sobre instruções import em scala . Dessa vez, vou falar um pouco sobre as coleções paralelas, um recurso muito interessante que scala trouxe a partir da versão 2.9, que permite que transformemos coleções normais em coleções que serão executadas em paralelo. Divirtam-se! --- As Coleções Paralelas de Scala são úteis até nos casos mais simples Um dos principais recursos que a versão 2.9 de Scala traz são as Coleções Paralelas. Se fosse pensar nelas rapidamente, vocêe pode considerar usar tal recurso apenas em cenários complexos e com processamento intenso. Embora esses sejam certamente os casos principais onde você poderia considerar o uso de coleções paralelas, existem formas mais simples de alavancar e...

Instruções import em Scala

Fazem 2 ou 3 anos que comecei a escrever sobre Scala no meu blog . Mas lá, escrevo em inglês. Para facilitar a vida dos desenvolvedores brasileiros, vou começar a traduzir alguns posts e publicar aqui. O primeiro deles é bem simples: trata-se de uma comparação entre instruções import em java e scala. Então, vamos lá. --- Instruções import em Scala Mais um baby step em Scala, neste segundo de uma série de posts. Instruções import. As instruções import de Scala são muito similares às do Java, mas com algumas pequenas diferenças que nos permitem escrever código mais conciso. Dê uma olhada nos exemplos a seguir: 1. _ ao invés de * Java: 1 import java.util.*; Scala: 1 import scala.util._ 2. Importando multiplas classes do mesmo pacote Java: 1 import java.util.Date; 2 import java.util.Collection; 3 import java.util.List; Scala: 1 import java.util.{Date, Collection, List} 3. Renaming Java: 1 // can't be done Scala: 1 import java.util.{Collection => JavaCollection...

Começando com Scala

Muito se fala sobre a importância da plataforma Java versus a importância da linguagem Java - e o quanto a primeira supera em muito a última. Enquanto a linguagem tem evoluído pouco e é constantemente alvo de críticas, a plataforma, cada vez mais estável e confiável chama a atenção até mesmo de concorrentes, a ponto de ser utilizada por eles. Não foi à toa que uma comunidade surgiu ao redor de Ruby para criar o JRuby - um Ruby que roda em cima da plataforma Java. Esse foco na plataforma Java, que já existe há alguns anos, fez surgirem diversas outras linguagens que podem ser executadas sobre a JVM. E uma dessas linguagens se chama Scala. Scala foi criada por Martin Odersky, um pesquisador da universidade EPFL, na Suíça. Com base nas restrições percebidas quando ele trabalhava no compilador da linguagem Java, e no Java Generics, Scala surgiu como uma opção extremamente flexível e produtiva para desenvolvimento na plataforma Java. Se você é programador Java e está procurando uma alternat...