Pular para o conteúdo principal

Postagens

Mostrando postagens de 2012

Globalcode na DevFest falando sobre Internet das Coisas e Geolocalização

Falta muito pouco para começar o DevFest , uma grande oportunidade para desenvolvedores absorverem conteúdo rico através de palestras com profissionais renomados no mercado e, CodeLabs, onde você pode levar seu próprio computador e aprender de uma forma prática. Simplesmente imperdível. A Globalcode não poderia ficar de fora desta festa tecnológica. Estaremos lá, ministrando uma palestra e um CodeLab. Eu, terei a honra de representar a empresa nos dois casos. A palestra será sobre um tema fascinante, simplesmente falarei sobre Android, Arduino e ADK . Juntos formam a base para um termo que vem ganhando espaço no mercado, a Internet das Coisas . A internet das coisas visa colocar qualquer dispositivo eletrônico na grande rede mundial de computadores. Imaginem um mundo onde a geladeira manda um tweet para você falando para passar no mercado e comprar leite porque acabou. Imagine um mundo onde sua casa vai ligar para você e perguntar se ela já pode ligar a banheira e aquecer a ág

Globalday of Code retreat, vamos programar juntos...

    Meu primo é apaixonado por tocar violão, ele chega em casa da escola e gasta alguns minutos tirando um pedaço de uma música ou outra, sempre que está com os amigos quer mostrar um solo que aprendeu, uma música nova, qualquer coisa. Isso se chama paixão. Quando somos apaixonados pelo que fazemos os exercícios se tornam um prazer, e com isso a pratica se torna um show.      É com esse pensamento na cabeça que o dia global do retiro de programação ("Global Day of Coderetreat") acontece. Vários países no mundo irão reunir programadores apaixonados no dia 8 de Dezembro   para  exercitar a arte de escrever software, e esse ano o Brasil é um deles.     As inscrições podem ser feitas no endereço  http://coderetreatbrazil. eventbrite.pt/ .     Iremos trabalhar na prática vários conceitos elaborados de programação orientadas objetos como SOLID , as quatro regras do design simples , desenvolvimento guiado por testes , métodos pequenos, polimorfismo, código legível, arq

Tarefa Assíncrona com o AsyncTask

A plataforma Android nos fornece uma quantidade muito grande de classes e interfaces que facilitam o desenvolvimento e permitem a construção de um código limpo. Um bom exemplo disso são as tarefas assíncronas e, a classe AsyncTask. A forma de uso é extremamente simples, basta termos uma classe que extenda AsyncTask. Por exemplo: class MeuAsyncTask extends AsyncTask<Void, Void, Void>{ @Override protected Void doInBackground(Void... params) { return null; } } Ao extender AsyncTask, somos obrigados a sobrescrever o método doInBackground, onde será feito o processamento multithreading e de forma assíncrona. Por exemplo, podemos ter um acesso e um parser XML ou JSON, uma rotina que salva uma grande quantidade de dados em um banco de dados relacional ou, um extenso processamento de imagens. Fique atento também ao fato de termos alguns tipos identificados na hora do extends: <Void, Void, Void> Estes são, respectivamente:

ScrumToys Workshop: Youtube Live Streaming

Está disponível no Youtube o vídeo do workshop de introdução ao projeto ScrumToys. Os slides utilizados neste workshop já estão no slideshare. Workshop de Introdução ao ScrumToys from Dr. Spock Enjoy it! By Spock Twitter: @drspockbr http://blog.spock.com.br/ http://linkedin.spock.com.br/ Outros posts: http://blog.globalcode.com.br/search/label/Spock

Workshop de Introdução ao Projeto ScrumToys

Como parte da iniciativa Adote uma JSR (adopt-a-jsr) promovida pelo grupo de usuários SouJava , será realizado, nesta próxima quinta-feira (25/10) a partir das 19:30 via web, um workshop de introdução sobre o projeto ScrumToys . Este projeto é uma pequena aplicação Web implementada com os recursos do JavaServer Faces 2.0 do Java EE 6 que foi incorporada à ferramenta NetBeans para demonstração das diversas funcionalidades do JSF . Neste workshop serão apresentados, ao longo de uma hora e meia, detalhes da arquitetura interna, as principais funcionalidades demonstradas do JSF e como contribuir nas evoluções futuras deste projeto. Pouco antes do horário agendado para início acesse o seguinte link para acompanhar o workshop: http://bit.ly/Te2Oa6 Todos os interessados no projeto ScrumToys estão convidados, principalmente se você deseja participar da iniciativa Adote uma JSR e quer contribuir com a JSR-344 (JavaServer Faces 2.2). Tema : Workshop de Introdução ao projeto Sc

JavaOne 2012, muitos resultados para comunidade Brasileira

Mais um JavaOne pra entrar pra história. É sempre muito especial participar do evento, saber quais são as tendências, conversar com tantas pessoas que estão fazendo o futuro da plataforma Java. Participar dos coqueteis, fazer networking, assistir os keynotes, comer uma boa comida chinesa no House of Nanking e aproveitar os muitos restaurantes Tailandêses da cidade. Mas, este ano eu senti que o evento teve mais energia e momentos especiais para a comunidade Brasileira. Muitas palestras de amigos e membros do SouJava, cuja caravana teve quase 30 participantes vestindo orgulhosamente a camiseta do grupo. Alguns resultados do SouJava, da Globalcode e da comunidade Brasileira de forma geral: User Group Forum foi um sucesso. Foi um dia de evento (domingo) organizado pelos grupos de usuários. Graças ao Bruno Souza nós tivemos muita atuação e participação. Coordeamos a montagem da grade junto com Jonh Yeary e apoio de outros líderes de grupos de usuários. Tivemos palestra de vários Br

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

Começando em Scala - Parte 2: Integração entre Maven e Scala

Na semana passada publiquei um post falando dos passos para começar o desenvolvimento em Scala . Também mencionei que uma alternativa a fazer o download do Scala do site oficial era configurá-lo via Maven. Hoje vou escrever mais sobre isso. Para utilizar o Scala via Maven é necessário utilizar um plugin denominado scala-maven-plugin. Há também um plugin mais antigo denominado maven-scala-plugin, mas foi substituido pela versão mais nova que iremos abordar. Vou apresentar os itens de configuração do pom.xml necessários para utilizar Scala A dependência com a versão desejada de Scala deve ser configurada no projeto: org.scala-lang scala-library 2.9.2 O plugin deve ser configurado: net.alchim31.maven scala-maven-plugin 3.1.0 compile testCompile O código fonte Scala deve ser escrito dentro do diretório src/main/scala e o código de testes dentro de src/tes

Nova Unidade Globalcode e Profissão Java 2012 em Maringá/PR

É com um grande prazer e uma plena satisfação que anunciamos o lançamento da mais nova Academia Globalcode do Brasil: na cidade de Maringá, norte do Paraná. A Sergio Yamada Computação, uma empresa consolidada e conceituada com mais de 18 anos de experiência em treinamentos tecnológicos na região concretizou esta parceria com a Globalcode, que resultou no lançamento desta unidade. Maringá é um polo de referência que concentra toda uma região metropolitana cujo mote é "Qualidade de Vida e Excelência em Software". Sim, sempre acreditamos no potencial econômico da região e principalmente nas pessoas que vivem nesta região metropolitana. Mas também sempre acreditamos que para atingir o objetivo da excelência era necessário algo a mais. Era necessário conseguir uma qualificação diferenciada de profissionais de software para conseguir atingir a tão almejada excelência. Nós acreditamos que o momento em que o sonho da excelência se inicia e passa a se tornar algo palpável

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 .

Começando em Scala

Há um tempinho atrás fui apresentado para uma nova linguagem de programação, que tem crescido bastante lá fora: Scala! Ela apresenta características interessantes como: roda na JVM, o que significa que não preciso abandonar todos os frameworks, bibliotecas e módulos já desenvolvidos em Java suporta o paradigma de programação funcional, que é algo que eu estava interessado em aprender, porém não abandona o paradigma de orientação a objetos, permitindo uma transição mais suave e escrita de programas mistos. Apesar disso eu estava meio relutante pois ouvi tanto elogios à linguagem, vindos de gurus Java conhecidos, quanto comentários sobre sua complexidade vindos de outros gurus. Mas resolvi dar uma chance à linguagem e formar minha própria opinião embasada em alguma experiência prática. Resultado: me apaixonei pela linguagem! É divertido programar em Scala! Todo mundo que gosta de programação deveria aprender Scala! Mas por que tanta gente reclama que a linguagem é muito complexa?

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

Primeiro módulo AA1 online finalizado

Semana passada finalizei meu primeiro módulo online. Foram 40 horas ministrando o módulo "AA1 - ALM e Testes" da Academia do Arquiteto. Foi uma experiência bem legal e vou falar um pouquinho sobre ela. A idéia dos módulos online surgiu como forma de atender alunos que moram fora de São Paulo e em cidades onde não existem unidades parceiras da Globalcode. Começou com os minicursos transmitidos via Webcast e agora está chegando aos outros cursos. Eu já tinha ministrado vários minicursos com transmissão via Web, mas um curso totalmente online é diferente em vários aspectos: No minicurso há pessoas no auditório, então ele é um curso misto presencial e online. Você tem que acompanhar a ferramenta de transmissão periodicamente para verificar se algum aluno remoto está tentando fazer alguma pergunta, mas não há tanta diferença em relação a um curso presencial tradicional. O feedback também é mais rápido pois você está olhando a cara dos alunos. Na verdade existe até o risco d

Divulgada a grade das trilhas Java do TDC 2012

Mais uma vez, o SouJava participa da organização do TDC (The Developers Conference) , que acontece neste ano entre os dias 4 a 8 de Julho, e eu tive a oportunidade de colaborar na montagem das trilhas Java do evento. Gostaria de agradecer aos profissionais que contribuíram com as trilhas Java submetendo mais de quarenta (40) palestras por meio do Call4Pappers do evento. Gostaria ainda, agradecer todos os " Beta-testers" que realizaram a inscrição antes mesmo da programação do evento estar disponível, e convido a todos a conferir a programação das trilhas Java . Trilha Java University Coordenação de Marcelo de Castro e Jonnes Tahara Trilha Java EE University Coordenação de   Eder Magalhães   e   Mauricio Leal Trilha Java EE Coordenação de  Eder Magalhães  e  Otávio Santana Trilha Java Coordenação de Marcelo de Castro e Otávio Santana (*)As trilhas University são destinadas a estudantes e profissionais que estão iniciando na tecnologia d

Retrospectiva Trilha de Teste TDC 2011 + Trilha de Teste TDC 2012

No ano passado (2011) eu tive o prazer de coordenar a Trilha de Teste do TDC 2011 – The Developers Conference. Gostaria de apresentar para vocês alguns números desta trilha, algumas escolhas de palestras e também o que estaremos planejando para a Trilha de Teste do TDC 2012. Porque o TDC tem uma Trilha de Teste? Sabemos hoje pela crescente, senão essencial melhoria dos sistemas que desenvolvemos. Há várias iniciativas dentro de uma equipe de desenvolvimento para que o produto tenha a qualidade final esperada por seus usuários. Porém somente testes dentro do time de desenvolvimento não nos garante a qualidade geral do software. Para isso existe uma série de profissionais que focam únicos e exclusivamente em Teste de Software. Dentro da área de teste possuímos diversas áreas de conhecimento e vertentes diferentes, onde se faz cada vez mais necessário termos este tipo de profissional atuando para garantir a qualidade dos sistemas desenvolvidos pelas empresas. Um passo

Venha aprender a criar homescreen widgets e usar notificações push para Android !

Ola pessoal, Nossa caminhada na Academia Android continua firme e forte, e no último sábado terminamos o primeiro módulo, o AND1 - Programando para Android. E nesse sábado começa uma nova etapa, e você que já conhece Android também pode participar ! Nesse final de semana, 26 de maio, começa o AND2 - Criando Widgets e notificações push . Nesse módulo iremos discutir a criação daquelas pequenas aplicações que ficam na tela inicial dos dispositivos Android. Esses widget aumentam sua interação com o usuário, além de sair da "mesmice" dos ícones e começar a oferecer uma nova experiência para o usuário. E no caso das push notifications, Cloud To Device Message (C2DM), você tornará sua aplicação pró-ativa, assim, os usuários podem ser convidados a acessar mais vezes sua aplicação. E dessa forma, você pode aumentar o engajamento do seu cliente e também, até conseguir um aumento na receita de propagandas, já que o usuário passará mais tempo na sua aplicação. Para esse curso,

Mobilidade pegando fogo na Globalcode! AndroidRec, AND1 on-line, TDC, minicursos e etc...

Ola pessoal, O assunto mobile está cada vez mais pegando fogo aqui na Globalcode ! Vários minicursos, novas turmas de Android, eventos e muito mais. É sempre muito bom quando o trabalho tem efeito e rende frutos em tão pouco tempo!! Recentemente fui convidado pelo pessoal da AndroidRec a ir até Recife para participar do evento. O evento aconteceu no dia 28 de abril no auditório da Editora Universitária da UFPE e contou com mais de 130 participantes ! Tive a honra de abrir o evento, e logo de cara com duas palestras! Uma mini-palestra de 15 minutos com o título de ICS Highlights onde procurei apresentar os pontos fortes da nova versão do Android, e que em muitos pontos pode ser considerada revolucionária e com importantes melhorias visuais para os aplicativos Android. Depois, a palestra C2DM - Cloud To Device Message ,  um pouco mais técnica e com duração de 45 minutos, mas que mesmo assim não desanimou o pessoal! Todos bem interessados e com excelentes perguntas ao final da a