segunda-feira, 31 de março de 2014

Workshop de Qualidade de Software no CISL


Aí está o que você queria: O Workshop de Qualidade de Software ministrado pelo CISL: Comitê de Implantação de Software Livre do Governo Federal. Será realizado no período de 05/05/2014 até
08/05/2014, na sede do SERPRO, no Horto, no horário de 9:00 -> 13:00.

As vagas são limitadas. Para se inscrever, enviar os dados  (nome, CPF, e-mail, telefone, instituição e CNPJ da instituição) para o endereço eletrônico: cisl@serpro.gov.br até o dia 18/04/2014. As vagas serão alocadas por ordem de chegada dos pedidos, respeitando a divisão de vagas entre os órgãos.
Encaminharemos a confirmação ou não da vaga no treinamento no dia 21/04/2014.

Conteúdo Programático:
- Apresentação sobre Dívida técnica e prática de ferramentas de análise (Maven, Sonar, jQana, JDepend, Cobertura, PMD, Checkstyle e Findbugs);
- Arquitetura: Apresentação sobre os principais problemas arquiteturais e como detetá-los usando as ferramentas apresentadas. Prática usando sistemas de exemplo;
- Projeto: Apresentação sobre os principais problemas com projeto de software e sua análise, utilizando as ferramentas apresentadas. Também tem prática;
- Implementação: Apresentação sobre os principais problemas com implementação (programação), e sua análise com as ferramentas. Também tem prática;


sábado, 29 de março de 2014

Em breve: seja mau e use o MEAN stack!


Já ouviu falar em LAMP? Já cansou de perder tempo com Java EE/JSF/JPA? Acha que RoR fica devendo? Então, você tem que ser mau, e conhecer o Stack de desenvolvimento MEAN (MongoDB, Express, Angular.js e Node.js). O Bom Programador está preparando um tutorial sinistro pra você! Vá afiando sua Katana, e prepare-se para cortar muitas cabeças... Em breve!

Workshop de Qualidade de Software no CISL



Vou ministrar uma turma do meu famoso Workshop de Qualidade de Software pelo CISL - Comitê de Implantação de Software Livre do Governo Federal, e será no Rio de Janeiro, na sede do Serpro, no Horto. Deverá acontecer em Maio. Fique ligado(a), que até semana que vem dou os detalhes. 
Veremos: Boas práticas, Métricas e Ferramentas. Maven, Sonar, jQana, JDepend, etc. 

quarta-feira, 26 de março de 2014

Você testa direito?

Conforme prometido, aqui vai mais uma série de tutoriais, para comemorar o terceiro ano do Bom Programador! Esta série é sobre testes: Tudo o que você sempre quis saber sobre teste de aplicação, mas tinha vergonha de perguntar. Acompanhe essa série e as outras séries de tutoriais aqui, na sua fonte de informação sobre engenharia e qualidade de software. Neste primeiro tutorial, veremos como automatizar testes funcionais em aplicações legadas.


segunda-feira, 24 de março de 2014

Implementando uma API REST

Bom dia, e boa semana! Nada como começar com um novo tutorial: Implementando uma API REST, que vai lhe mostrar, além da parte puramente técnica, as vantagens de usar uma API mais fluídica e expor suas informações para o Mundo. Existe um grande número de pessoas e empresas que desejam acessar o que você já tem, mas que esconde sob os escombros de frameworks corporativos. Monstros como SOAP e XML, abominações como EJB ou mesmo horrorosos "Portais" de conteúdo, que nada mais fazem do que criar camadas e mais camadas sobre suas informações, afastando mais ainda os seus clientes de você. 

sexta-feira, 21 de março de 2014

Detone usando o node.js!


O povo pediu e eu não posso negar! Mandaram pelo menos 5 mensagens perguntando sobre tutoriais, livros e até cursos de "node.js". Bem, para começar, vamos mostrar um tutorial rápido de plataforma, para que você se acostume ao uso dessa ferramenta. Esse é o primeiro tutorial, outros virão conforme a necessidade.


quinta-feira, 20 de março de 2014

Arquitetura diluída: "limando" o Java EE !


Cara, é hora de cortar a árvore de vez! Vamos "limar" o Java EE da nossa aplicação, e das nossas vidas! Vamos ver uma alternativa de arquitetura diluída mais radical ainda que a do artigo anterior. Vamos mostrar o que as novas tecnologias, criadas no século 21, podem fazer. Chega de "J.." isso... "J..." aquilo, vamos desenvolver de maneira ágil, usando uma arquitetura ágil.

Atenção: Pode causar revolta, leia e use com sabedoria!


terça-feira, 18 de março de 2014

Lack of Cohesion in Methods 4 (LCOM4)


LCOM 4 é uma métrica sobre coesão de métodos de uma classe, servindo para identificarmos classes suspeitas de violação do princípio SRP (Single Responsability Principle). Apesar de ser muito importante, algumas ferramentas de análise de código deixam de medi-la corretamente.


segunda-feira, 17 de março de 2014

Métodos ágeis, arquitetura lerda

Hoje em dia, as técnicas chamadas de "Métodos ágeis" dominam completamente as áreas de desenvolvimento de software. Coisas como: Scrum, Kanban, XP e Planning poker, "pululam" as discussões sobre o assunto, com defensores cada vez mais estóicos. Porém, as equipes continuam utilizando as mesmas técnicas "mastodônticas", baseadas no "ecossistema" corporativo Java, que trazem uma enorme Complexidade Acidental embutida. Isto acaba criando conflitos e soluções ruins, pois, devido ao seu peso desproporcional, as arquiteturas "inchadas", baseadas nesse "ecossistema", acabam "guiando" a solução, o que, geralmente, força o projeto a entrar no ritmo de "tudo ou nada", quando os "Sprints" se tornam muito curtos para serem atendidos com qualidade. É necessário repensar a maneira como construímos aplicações, usando uma arquitetura mais diluída, se quisermos realmente sermos ágeis.


quarta-feira, 12 de março de 2014

Nova palestea: Arquiteturas de software corporativo modernas, baseadas em plataforma livre


Anuncio minha nova palestra, a ser ministrada pelo CISL: Conitê de I plantação de Software Livre do  Governo Federal.  Falaremos sobre Abordagens diferentes para criação de software corporativo, mais diluídas e desacopladas, que podem ser implementadas com software livre, visando aumentar a manutenibilidade, flexibilidade, portabilidade e interoperabilidade dos seus sistemas aplicativos. Será dia 25 de Abrl de 2014, às 10:00, com transmissão via streaming.

Uma arquitetura diluída: Camada de apresentação


Bem, chegamos ao último artigo dessa série, que mostra uma opção de arquitetura diluída para aplicações corporativas. Agora, vamos ver a camada de apresentação, toda feita em HTML5 usando jQuery para consumir um RESTful webservice.


A armadilha das soluções "corporativas"

Uma das mais antigas táticas da máfia em todos os tempos é oferecer o que você não precisa, para resolver o problema que você não tem. Essa tática é utilizada até hoje, com sucesso, pelos fornecedores de "soluções corporativas", que começam como uma pequena teia de aranha, e terminam com você, todo enrolado, sendo devorado por elas.

terça-feira, 11 de março de 2014

Uma arquitetura diluída: Lógica de negócios


Continuando nossa série de artigos sobre arquitetura de software corporativo diluída, vamos agora mostrar como implementar a camada de lógica de negócios do nosso Microblog. Se você não viu o início da série, por favor consulte o "Set list".

segunda-feira, 10 de março de 2014

Três coisas que você deveria exigir do seu prestador de serviços de TI

(Openclippart.org - liftarn)

Você paga um bom dinheiro para o seu Prestador de serviços de TI, certo? Então, tem direito de exigir pelo menos três coisas dele, por exemplo, provas de que o software desenvolvido funciona a contento. É a mesma coisa que você faz quando compra um Gadget eletrônico: pede ao vendedor que o teste. Vamos ver quais são essas três coisas, que sempre fazem os Consultores "fecharem a cara" imediatamente.

sábado, 8 de março de 2014

Uma arquitetura diluída: Persistência


Carnaval passou, a ressaca também e eu, que viajei cerca de 1.200 Km (só para fugir da festa), andei pensando muito e até trabalhei um pouco. Gostei da polêmica que o artigo "É hora de balançar a árvore" provocou! Porém, como já matei a cobra, agora está na hora de mostrar o... Resto! Vamos ver um exemplo de arquitetura "diluída" e simples, começando pelo aspecto de persistência. Eu pretendo mostrar mais de uma opção, mas vou começar um pouco mais conservador, tentando manter a plataforma Java e "diluindo" o maldito Java EE um pouquinho.