All posts in Dicas

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, vamos continuar nossa série de posts sobre customização de build process template, mas antes de continuarmos, já deu uma olhadinha nos posts anteriores ?????????

Parte 1
Parte 2

Hoje vamos falar um pouco sobre argumentos e variáveis. Eu já havia comentado as diferenças entre eles, mas caso alguém tenha perdido a linha de raciocinio podemos entender como Argumento algo que o usuário informe e defina, e Variável tem o mesmo conceito de variável para os ambiente de desenvolvimento, e nesse caso , sempre restrita a um escopo dentro das atividades do workflow.

Vamos colocar a mão na massa ?

Read more


Salve, salve galera !!!

Prosseguindo com o nosso assunto de customização de build process template, nesse post vamos começar a entender o que são os componentes do build process template e como podemos utilizá-los. Mas antes de prosseguir quero fazer um complemento ao post anterior (Parte 1) eu acabei passando por cima das diferenças entre Variáveis e Argumentos. Basicamente as diferenças são que as variáveis tem um escopo definido e delimitado (por exemplo a uma atividade específica) e os argumentos são os valores informados na criação da definição de build visíveis em todo o workflow.

Mas conforme prometido deixemos de lero-lero e vamos por mão na massa.

Nesse post vamos ter um panorama geral de como editar o workflow adicionando atividades e editando-as de maneira estática no primeiro momento.

Read more


Salve, salve galera !!!

Hoje vamos começar a falar sobre a customização build process template no TFS. A ideia desse primeiro post não é colocar a mão na massa mas sim esclarecer alguns conceitos para podermos prosseguir, OK ? E com os conceitos esclarecidos com certeza irão surgir duvidas e ideias do que/como fazer as coisas o que vai ajudar bastante a prosseguirmos.

Antes de iniciarmos precisamos estar familiarizados com algumas conceitos que serão comentados: o que é um Build ? O que é o Build Process Template ? Como funciona o build dentro do TFS ? E o que são build definitions ?

Vamos la ?

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….

No nosso dia-a-dia as vezes nos deparamos com situações onde a arquitetura padrão do TFS não atende 100% nossa necessidade e então precisamos estender as funcionalidades e adicionar recursos particulares para aquele cenário.

Hoje vamos ver de maneira bem simples como criar um plugin de check-in para o TFS 2013.

Read more


Salve, salve galera…

Nesse post vamos tratar de um ponto bem específico dentro do build que é a geração de builds a partir de um changeset específico. Mas antes que alguém levante a lebre “por que usaria isso” vamos criar um cenário para facilitar o entendimento.

Temos o seguinte: 2 desenvolvedores trabalhando em um mesmo projeto, em determinado momento alguém solicita um mudança critica e então um desenvolvedor (DEV 1) inicia essas alterações e assim que concluir irá gerar um build contendo essas alterações. Paralelo a isso temos um outro desenvolvedor (DEV 2) trabalhando em outras alterações que não são criticas e que não podem ir para o build hoje. Após encerrar as alterações solicitadas o DEV 1 faz o check-in do código gerando um changeset 1001, quase que ao mesmo tempo o DEV 2 faz um check-in rotineiro e gera o changeset 1002.

Agora vamos partir para o “por que” desse post….

Read more


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, conforme tínhamos conversado aqui, vamos começar a falar sobre os princípios SOLID.

O primeiro principio a falarmos sera o principio da responsabilidade unica.

Esse principio se trata o de mais fácil entendimento, o de mais fácil aplicação e um dos que menos vemos no dia-a-dia. O SRP define que :

Uma classe deve ter um e apenas um motivo para ser modificada.

Mas podemos ser mais claros ainda, dizendo que cada classe pode representar apenas uma responsabilidade, ou em termos mais comuns do dia-a-dia , fazer apenas uma coisa, para que assim, possamos muda-la apenas se essa função tiver que ser modificada.

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.