JustJava 2013! Aí vamos nós!

Tenho desde 2006 participado do JustJava, palestrando e colaborando com a comunidade Java brasileira. Infelizmente ano passado não consegui participar e estava torcendo para chegar logo a edição de 2013!

Neste ano estarei palestrando junto com Guilherme Elias, e faremos um papo sobre arquitetura de software, e nuvens! Pensando sobre os desafios de fazer um sistema funcionar em cloud computing e todos os desafios legais que podemos enfrentar para ganhar em estabilidade, escalabilidade e qualidade.

Veja os detalhes da apresentação. Ela ocorre no dia 7/junho a partir das 17h30min lá no JustJava:

Indo para as nuvens? Cuidado! A queda pode ser grande!

Cloud Computing é o termo da vez, e muitas empresas querem testar e fazer uso do conceito. Colocar seus projetos e produtos podendo usar uma estrutura com precificação diferenciada e com controle dos recursos utilizados.

Você pode colocar seu projeto como está em uma infraestrutura em produção. Mas aí você descobre que pode pagar pelo o que usa. E neste momento se começa uma busca por economia de centavos em tudo o que é possível. E esta busca torna nossa arquitetura mais flexível, nosso código precisa ser simples e componentizado. Nossos recursos computacionais precisam ser melhor alocados. Mais disponibilidade. Mais restrições. Horários de descanso dos sistemas? Sim! E adeus servidor com muita RAM! Olá pequenos servidores!

Vamos tratar nesta palestra sobre desafios no desenvolvimento de software para usar conceitos como infraestrutura como serviço (IaaS) e plataforma como serviço (PaaS). Identificar restrições importantes de serem levadas como regras nos projetos, padrões de arquitetura, de integração e de projeto que se tornam úteis para organizar a evolução de um software nas nuvens.

Quer saber mais sobre o evento? Aí vão alguns links:

JavaOne Latin America 2012 – Aí vou eu!

Palestrante no JavaOne Latin America!Dia 6 de dezembro é o dia da minha palestra no JavaOne Latin America, que ocore no Transamerica Expo Center em São Paulo. Estou voltando lá para falar sobre Play Framework! E também aproveitar para falar sobre desenvolvimento de produtos, MVPs e outras coisas legais que fecham muito bem com o conceito que o Play tem.

Sobre o que vou falar?

A palestra tem o título Let’s Play! Desenvolvimento Java divertido e rápido! Durante 45mins vou falar sobre o Play! O “márquitin” vai ser mais em cima do divertido e rápido para construir aplicativos web ou web/mobile. 🙂

Vamos trabalhar com o Framework Play e mostrar o trabalho de desenvolver um aplicativo usando Java ou Scala de uma forma divertida. E para ajudar, vamos conversar também sobre deploy em produção destes aplicativos usando Heroku.

Tópicos:

– uso do framework
– ganhos e perdas
– o processo de desenvolvimento de uma aplicação
– integração com outros frameworks
– o processo de testes e automação destes
– o processo de deploy
– dicas de uso
– aplicativos de exemplo

Igor Montezano (da galera do RSJUG) me conseguiu uma super pólo do RSJUG e ela será usada durante o dia 6!

E vamo que vamo!

Na quinta-feira estou em Criciuma para uma palestra sobre análise de negócios, no dia 13 tem workshop sobre o tempo em Porto Alegre, e dia 17 tem #desconf!

Revendo 2011: é dia de Java, Java One Latin America e RSJUG de volta!

Então, dias 26 e 27 de agosto ocorreu o É dia de Java 2011, evento realizado na UFSCar junto com a galera do SouJava. Eu tive duas participações no evento, primeiro fazendo o workshop “Da visão a Produção” na sexta-feira a noite. Depois do workshop fui fazer um lanche com Fabio Velloso, Wagner Santos e Dalton Stoqui, e infelizmente foi a primeira vez que eu perdi para um Xis/Bauru/Sanduiche. No sábado fui palestrar sobre métricas, com uma palestra chamada “Da métrica a diversão“. Os fontes usados como base estão aqui no github.

Em novembro de 2011 estava grande a expectativa pelo Java One Latin America. E quando saiu a lista de palestrantes aceitos, lá estava eu! Tive a oportunidade de falar sobre eXtreme Programming, integração e entrega contínua de produtos. Falei sobre diversos tópicos, sobre a importância de termos feedback do nosso cliente sobre o que está sendo desenvolvido, sobre Lean Startup, sobre práticas do eXtreme Programming e depois mostrei alguns exemplos de como podemos “ganhar” em produtividade de deploy de aplicações. Mostrei um exemplo de script Ant fazendo a automação para deploy de um aplicativo no TomCat 7, rodando antes disto uma série de ferramentas para apoio a automação, com testes e auditoria de código. Em outro exemplo, mostrei um aplicativo feito com Play Framework, fazendo deploy no Heroku. Mais sobre a palestra:

Integração e entrega contínua de produtos? Que venha o eXtreme Programming!

Ser capaz de realizar um deploy de forma contínua não requer apenas habilidades no processo de deploy. E não tem nada a ver com reações rápidas a mudanças ou iterações curtas. Tem a ver com prevenção e aplicação de práticas de engenharia de software efetivas. O objetivo desta palestra é falar como as práticas do eXtreme Programming podem ajudar times Java a alcançarem a qualidade de código necessária para que se possa liberar software em produção de forma contínua e segura. Veremos ferramentas opensource, métricas, automação e riscos minimizados. Com participação da equipe toda e melhoria contínua. Lembre-se: entregar software em produção, para fazer bug fix / patching, não é entrega contínua. É bagunça generalizada, que pode ser evitada.

E para fechar 2011, fizemos a “reativação” do RSJUG, o Grupo de Usuários Java do Rio Grande do Sul. Com o apoio de Leandro Nunes, fizemos um evento fazendo um repeteco da minha palestra do Java One Latin America e depois um bate papo para entender como a comunidade do Rio Grande do Sul pode voltar a fazer eventos e criar novas ações. Fizemos uma relação de atividades que poderão ser desenvolvidas em 2012.

en: Introduction to Test Driven Development

So, I have done one presentation about Test Driven Development yesterday, touching TDD concepts and also lots of concepts about Behavior Driven Development (BDD).

There are simple concepts about the test first process. You have to write a test that fails, write code to make the test pass and then refactor your code. Keep the bar green to keep the code clean, remember this.

Repeat this cycle until you don’t have anything else to test for a specific feature.

Looking at a User Story and its acceptance tests, you also have to make sure you are adding business value on every test.

Simple right?

Well, you have to practice.

A lot.

Really.

I’m not kidding.

Believe me.

By the way, don’t leave technical debt behind.

Just for information, currently I manage teams developing in Java (Web), Java (Mobile) and Delphi (Desktop/WebBroker).

Looking at Java Web, I’m starting to teach teams how to use JUnit for automated unit tests, and code coverage with Emma and EclEmma (Eclipse Plug-in).

For Java Mobile, the solution will be based on J2ME Unit and Cobertura for Java ME.

And Delphi, we are going with DUnit and Delphi Discover, a Coverage Tool for Delphi programmers.

And also looking at test automation, both Delphi and Java Web apps will use Selenium to help on automation of web processes.

Well, you can wait more articles on each of those tools and relation to Agile Development and eXtreme Programming practices.

So, remember: you are build tests for prevention of defects. With this you are also building tests to do regression testing.

Keep quality high, always.