All posts in Mercado

Salve, salve galera,

Continuando nossos posts sobre customização de build process template, hoje vamos ver como criar as nossas próprias atividades dentro do workflow. Com isso ganhamos um “poder” surpreendente para estendermos nosso build. Um exemplo que acredito ser bem lúdico é a copia do conteúdo do build para um servidor FTP (antes que questionem, sim existe um pacote de atividades que contém uma atividade dessa, que pode ser visto aqui, só estou dando o exemplo para ficar claro).

Vamos começar a brincar ???

Read more


Salve, salve galera, o feriadão passou então aqui estamos mais uma vez….

Dessa vez falaremos de uma dica então vou ser bem rápido.
A algum tempo fiz um post sobre o build de Java no TFS (quem não tiver visto e se interessar é só clicar aqui) , porém passou despercebido um ponto muito interessante “e se eu tiver testes JUnit no meu projeto e quiser ver a saída desses testes ?”
Bom primeiramente vamos esclarecer algumas coisas

Read more


Salve, salve galera,

Hoje vamos ver como podemos fazer a configuração do servidor de build do TFS para trabalhar com aplicações em Java.

O primeiro ponto que temos que entender e que gera a maior quantidade de dúvidas quando falamos de build de aplicacões em Java no TFS é que o MSBuild não é o responsável pelo Build propriamente dito. Quem faz esse trabalho são os motores de build (Maven ou Ant), o MSBuild trabalha em conjunto coletando algumas informações e fazendo o meio de campo entre o servidor de Build e as motor (e suas configurações), porém o responsável pelo build são os motores de build (por exemplo Maven ou o Ant). Por que estou dizendo isso ? Existe um grande questionamento ( e aqui não digo apenas da equipe tecnica mas também de gestores, diretores e etc) sobre “o que é possível se fazer no build de aplicações em Java no TFS que me faria adota-lo ?”.

Se adotarmos um template de build padrão, tudo o que fazemos hoje realizando o build manual das aplicações nós conseguimos fazer, basta que esteja tudo configurado (e muito bem configurado). Em alguns cenários de adoção de build de aplicações em Java a equipe já tem tudo configurado no motor, toda a sequência de passos, e etc. Quase tudo (nunca digo tudo, por que sempre temos restrições tecnicas) é aproveitado pelo casamento em motor de build e TFS build.

Mas deixa de “bla-bla-bla” e vamos configurar nosso ambiente.

Read more


Salve, salve galera,

Atualmente temos visto que muitos órgãos do governo e outras entidades tem adotado o envio de documentos digitais, tais como NF-e, CT-e, SPED, etc, visando uma maior eficiência na apuração e identificação de fraudes. Existe um assunto que é comum em todos esses tramites de dados, o arquivo enviado geralmente (não sempre) é um arquivo XML, e na maioria das vezes é um documento assinado digitalmente com o certificado digital do emissor.

Nesse post, vou mostrar de uma maneira bem simplista e prática como assinar o conteúdo de uma TAG XML e adiciona-la ao respectivo arquivo para fazer o envio do mesmo. Vale lembrar pessoal que a forma que vou mostrar aqui utiliza o certificado A1, e é aceito pelos serviços relacionados a NF-e, se existem variantes desse ou se outros órgãos tem outras restrições é uma questão de analise de caso-a-caso.

Bom mais vamos deixar de bla-bla-bla e vamos por a mão na massa.

Read more


Salve, salve, galera, vamos encerrar nosso bate-papo sobre os princípios SOLID com o último princípio, o da inversão de dependências. Esse princípio diz que:

- Módulos de alto nível não devem depender de módulos de baixo nível. Ambos devem depender de abstrações.
– Abstrações não devem depender de detalhes. Detalhes devem depender de abstrações.

De forma geral, não devemos depender de implementações  e sim de abstrações.

Mas e ae ??? Onde fica o exemplo ???

Read more


Salve, salve, galera, vamos continuar nossa conversa sobre os princípios SOLID. Agora vamos falar do princípio da segregação de interface. Esse princípio nos diz que;

Os clientes não devem ser forçados a depender de interfaces que eles não usam.

Quer dizer, não podemos ter uma classe dependendo de uma interface que não faz sentido para ela, ou que o obrigue a implementar métodos que não fazem sentido. Em outras palavras, damos preferencia para interfaces especificas ao invés de interfaces genéricas.

Em linhas gerais, imaginem que tenhamos uma Classe PessoaFisica e uma PessoaJuridica ambas implementando uma interface IPessoa, acontece que colocamos nessa interface um método ObterPeloCNPJ(…) que sentido faz esse método para a classe PessoaFisica ? Devemos criar interfaces menos genéricas e usa-las então. Poderíamos como uma solução para esse problemas, ter ainda uma interface IPessoa, porem deveríamos ainda ter uma interface IPessoaFisica e uma IPessoaJuridica e deixar os pontos específicos dentro de cada uma.

Esse principio se trata de uma dos mais simples de entendimento e de aplicar. E gera um grande controle quando estamos falando de equipes de médio/grande porte.

Pessoal nesse princípio não vou fazer um exemplo, mas caso surja alguma duvida não exitem em entrar em contato.


Salve, salve, galera, continuando nosso papo sobre os princípios SOLID, hoje vamos falar do princípio que tem o nome mais “exótico”. O principio da substituição de Liskov (quem quiser saber da historia pode ver aqui) diz que:

Se q(x) é uma propriedade demonstrável dos objetos x de tipo T. Então q(y) deve ser verdadeiro para objetos y de tipo S onde S é um subtipo de T.

O que foi isso ????

Vamos falar em termos gerais:  devemos poder trocar uma classe derivada pela sua base (simples assim).

Cade o exemplo ???

Read more


Salve, salve galera, continuando nossa conversa sobre os princípios SOLID vamos falar agora sobre o princípio aberto/fechado. Esse certamente se trata de um dos menos conhecidos.

Esse princípio diz que:

Entidades de software (classes, módulos, funções, etc) devem estar abertas para extensão, mas fechadas para modificação.

E ae ? o que isso quer dizer ?

Quer dizer que nossas classes devem estar aptas para serem extendidas mas fechadas para mudanças.

Uma das práticas do dia-a-dia mais utilizadas se trata de podermos extender uma classe para adicionarmos funcionalidades nela sem que as funcionalidades já implementadas sejam impactadas.

Falou, falou, falou e não entendi nada ! Cade o exemplo ???

Read more


Salve, salve galera, hoje vamos falar sobre alguns principios de orientacao a objetos que sao muito uteis no dia-a-dia e que muitos desenvolvedores desconhecem. Se trata dos principios SOLID.

O termo SOLID se trata de uma abreviacao ( ou de um acronimo como preferir) das primeiras letras de 5 principios muito utilizados e que garantem uma maior estabilidade do codigo.

Os princípios são os seguintes:

  • Single responsibility principle (SRP) – Principio da responsabilidade unica ( Veja AQUI )
  • Open/closed principle – Principio aberto/fechado
  • Liskov substitution principle – Principio da substituição de liskov
  • Interface segregation principle – Principio da segregação de interface
  • Dependency inversion principle – Principio da inversão de dependência

Não vou entrar em detalhes deles por que iremos criar um artigo para detalhar cada um.

Ma de maneira geral temos em comum para todos:

  • Alta taxa de manutenção
  • Facilidade de testes
  • Maior aproveitamento
  • Fácil de estender
  • Garantir integridade da aplicação
  • Evitar códigos defeituoso
  • Evitar código duplicados
  • Etc.

Esses princípios parecem óbvios porem poucos desenvolvedores e ate mesmos arquitetos utilizam.

Eles garantem que temos uma padronizam e uma melhor utilização das ferramentas (independente da tecnologia) e que consigamos extrair o máximo delas.

Nos próximos artigos iremos abordar de maneira bem pratica cada um.

Ate a próxima galera.


Mas suas adoção e gestão exigem cuidados redobrados. O atual desafio é permitir que diferentes tipos de usuários colaborem na definição de novas formas de ver e analisar a informação.
AO uso de sistemas de informação de apoio estratégico à tomada de decisão, através do conhecimento global e integrado do mercado e dos clientes, tem ganhado cada vez mais importância para as empresas. Especialmente no último ano, assistimos à crescente adopção do chamado de BI “self-service”, que parece ter-se tornado a grande tendência na área do BI. Read more