Jenkins (Servidor de Integração)

Jenkins é um servidor de integração continua, um dos mais utilizados e populares. Através da integração contínua é possível agilizar tarefas(Compilação de projeto, execução de testes automatizados, etc), como deploy de um war em um servidor de produção, gerar relatórios de cobertura de testes, calcular métricas sobre o código do projeto, etc. Que de certa forma podem ser demoradas.

jenkins_logo

Podemos então executar tais tarefas a cada mudança no repositório de código(commit), também podendo apontar erros de compilação ou falhas em testes automatizados, avisando todos os envolvidos.
Muita coisa pode ser feita ou alterada através dos diversos Plugins existentes em seu site.

 

Fonte(s):
http://jenkins-ci.org/
http://en.wikipedia.org/wiki/Jenkins_%28software%29

Arquivo(s):
http://www.eclipse.org/hudson/the-hudson-book/book-hudson.pdf
http://bitnami.org/stack/jenkins
http://www.site.lalitbhatt.com/jenkins

 

 

 

 

 

É o Momento de Simplificar?

Quando o mais deve se tornar menos. As vezes complicamos as coisas, eu por exemplo, estou usando uma excelente ferramenta online chamada Kanbanize + Microsoft Project 2013Enterprise Architect Professional para o gerenciamento dos meus projetos pessoais. Tudo isso complementado com técnicas pomodoro, fichas e listas.

loucura_edersonmelo

Tanta organização tem me feito aproveitar melhor e ao mesmo tempo perder tempo. Isso tudo em organizar e projetar antes de implementar, que é justamente aonde tenho o ganho de tempo, na implementação. Ganho também experiência cada vez mais com as técnicas e ferramentas utilizadas, isto com uma visão otimista.

O bom de saber e conhecer tantas técnicas e ferramentas é que isso te possibilita simplificar.

Simplificar não é fazer menos ou não fazer, é simplesmente fazer o que deve ser feito e ponto.

 

Agile Soccer

Metodologia Baseada no Futebol(Agile Soccer)

Sim, utilizamos uma metodologia ágil chamada Agile Soccer(AS, daqui por diante). A ideia é simples e está em fase de teste. É uma mescla de muitas metodologias e sua similaridade com o Scrum não será mera coincidência.
Dentro de uma equipe multidisciplinar temos talentos, posições e outras características similares a um jogo de futebol. Claro que poderíamos ter os mesmos salários, mas fazer o que.
Você pode formatar times de 11, 7 e 5 jogadores, que ainda podem ser compostas por um técnico, auxiliares técnicos e um ou uma equipe de árbitros. Que serão escalados para este jogo(projeto).
Criamos uma estratégia de jogo, não para jogar contra outro time, mas para jogar em busca da vitória em prol a um cliente (nossa torcida).

Agile Soccer
Agile Soccer

Esta estratégia, posiciona os jogadores conforme sua escalação e suas características de jogo (atacante, meio campo, zagueiro, etc).
Todos reunidos, então decidimos como atacar, melhores táticas de jogo, etc.
Cada partida é formada por no máximo 90horas de jogo(ufa). Ou seja, cada projeto pode ter no máximo 90hrs. Sim, existem projetos até maiores que 1600hrs, mas ai caímos no caso de um campeonato. Que segue a mesma regra, você disputa várias partidas.
O tempo de partida é definido em conjunto, focando as características e condições de gols, itens entregáveis. Atrasos que vão e sempre acontecem, entram na regra de morte súbita, ou seja, é dado dois tempos de 15hrs, quando terminar, o jogo acaba, querendo ou não ter atingido este tempo.
As regras básicas estão acima, cada técnico ou clube pode criar sua forma de jogar, tratando cada jogo de forma diferente.
É uma ideia bacana e que posso vir a experimentar, mas continuarei evoluindo.

workrave edersonmelo

Workrave

Uma dica para quem busca mais que simplesmente sentar na cadeira e trabalhar, é a utilização da aplicativos como o workrave. Não sou usuário do aplicativo, mas achei bem interessante.


Workrave is a program that assists in the recovery and prevention of Repetitive Strain Injury (RSI). The program frequently alerts you to take micro-pauses, rest breaks and restricts you to your daily limit. Please refer to the feature comparison for a complete list of features, and how the program performs with respect to other programs on the market. The program runs on GNU/Linux and Microsoft Windows.

Fonte: http://www.workrave.org/

 

Uma nova velha polemica: hack para ie

Como teste do novo app do meu tablet para wordpress,  estarei criando mini posts e dicas rápidas. Como primeiro mini post, uma nova velha polemica : hack para ie.

Muitos desenvolvedores, analistas e especialistas começaram acreditando que evoluímos a ponto de não precisar criar os antigos métodos hacks para navegadores, em principal foco o Internet Explorer.
Infelizmente tais profissionais que se dizem tao experientes e atualizados estão errados.
Qualquer livro sobre linguagem e inovacao acaba entrando nesse polemico assunto. A implementacao jsf prime faces por exemplo sugere a utilizacao de tags para identificacao para o ie: if lt ie 9
Alem disso, temos o detalhe de que elementos html e css apresentara diferenca na exibicao quando exibido em diferentes navegadores.

#ficaadica

Técnica Pomodoro

Venho testando e definitivamente empregando a técnica chamada pomodoro. Sim, parece a marca daquele molho de tomate. Está técnica esta sendo adicionada no aplicativo tagther como uma opção de desenvolvimento interno e ofertada junto a ferramenta.

pomodoro
Mas definindo, a técnica pomodoro é um método de gerenciamento de tempo desenvolvido por Francesco Cirillo no final dos anos 1980. A técnica utiliza um cronometro para dividir o trabalho em períodos de 25 minutos chamados de ‘pomodoros’.
O método é baseado na ideia de que pausas frequentes podem aumentar a agilidade mental e busca fornecer uma resposta eficaz a um estado provocador de ansiedade chamado de temporal “becoming” nos trabalhos de Henri Bergson e Eugene Minkowski.
Embora a técnica Pomodoro seja extremamente simples e fácil, ela não deve ser usada simplesmente como um processo de acelerar o desenvolvimento da tarefa, mas sim como uma unidade de esforço temporal além do poder que ela tem de focar na tarefa, evitando distrações. Portanto, além de você descobrir ao longo do tempo quais são as atividades em que você seja menos produtivo, você poderá tentar se desenvolver melhor nesses seus pontos mais fracos.

São somente cinco os passos básicos para implementar essa técnica:

  1. Escolher a tarefa a ser executada
  2. Ajustar o pomodoro (alarme) para 25 minutos
  3. Trabalhar na tarefa até que o alarme toque; registrar com um “x”
  4. Fazer uma pausa curta (3 a 5 minutos)
  5. A cada quatro “pomodoros” fazer uma pausa mais longa (15-30 minutos)

Fica como sugestão o aplicativo tomighty(www.tomighty.org) que é muito simples e eficiente.

Fontes: http://pt.wikipedia.org/wiki/T%C3%A9cnica_Pomodoro

;D

Versões Alpha, Beta, Release Candidate e Final

Registrando como eu gosto de trabalhar quando o assunto é a definição de versão do software desenvolvido, utilizo o básico, simples e mais eficiente sistema de definições. Alpha, Beta, Release Candidate e Final.

versao

Alpha

Derivado de uma letra do alfabeto grego e de valor 1, consideramos a primeira fase de um software, ou seja, os primeiros passos. Permitindo o patenteamento e o conhecimento das suas funções, por assim dizer.

Beta

Também derivada do alfabeto grego e de valor 2. É considerada aceitável para ser lançada para os usuários, mas com consciência de que possa ter bugs.

Release Candidate(RC)

Como o nome diz, é a versão na qual o software é um candidato a liberação. Mais próximo da versão final, ainda pode conter bugs, mas deve ser quase perfeita.

Final

Como o próprio nome diz, chegamos ao final, agora é só evolução do software.

 

😉 Ederson Melo

Validadores Personalizados no JSF

Em JSF você podemos trabalhar com dois grupos de validadores de dados: os padrões (que são fornecidos pelo JSF) e os personalizados (que são os podemos criar). Os existentes validam algumas características de dados, tais como: tamanho de campos, limites, etc.
Mas as vezes precisamos validar algo diferente, entra ai a personalização.

Criação de um validador

Basta sobrescrever o método validade(), estendendo a interface javax.faces.validator.Validator, e registrá-lo no contexto do JSF.

1. Criando o validador

public void validateEmail(FacesContext context, UIComponent toValidate, Object value) {
String email = (String) value;
if (email.indexOf(‘@’) == -1) {
((UIInput) toValidate).setValid(false);
FacesMessage message = new FacesMessage(“Email Invalido”);
context.addMessage(toValidate.getClientId(context), message);
}
}

2. Registrando o validador

Devemos registrar o validador no Faces-config, conforme o exemplo abaixo:

<validator>
<h:inputText id=”email” value=”#Bean.user.email}”
validator=”#{validateEmail}” required=”true”/>
<validator-class>
</validator-class>
</validator>

3. Usando o validador

Após criar e registrar o validador, basta usa-lo por meio do marcador <f:validator …/>:

<h:inputtext id=”email” required=”true” validator=”#{validateEmail}” value=”#Bean.user.email}”>
</h:inputtext>

[Lembrete Pessoal]

Básico do vi

Não utilizo o vi no meu dia-a-dia, mas sempre que preciso tenho algumas referências a mão para facilitar.
Consolidado em grande parte das distribuições, o editor vi é uma excelente ferramenta na edição de arquivos e outros. O vi é um editor de textos que possui dois modos de interação com o usuário: o modo comando e o modo edição. Quando iniciado, o vi fica no modo edição, que pode ser acessado pressionando a tecla I ou Insert; já para o modo comando, basta apertar ESC.
Por padrão os que mais utilizo são:

  • O,$ – Início e fim de linha;
  • 1G,G – Início e fim de documento;
  • :q! – Sai do vi sem salvar;
  • :w – Salva o arquivo corrente;
  • :e nomedoarquivo – Abre o arquivo nomedoarquivo;
  • :u – desfaz a última ação;
  • /,? – Busca para frente e para trás;
  • a,A – Entra no modo de inserção na posição atual do cursor.
  • o,O – Adiciona linha e entra no modo de inserção;
  • s,S – Apaga item ou linha e entra no modo de inserção.

Entre várias referências, encontrei um pdf que ajuda bastante quem precisa além do básico.

Sim, o blog mudou

Como podem observar, meu blog mudou. Esta nova ideia de blog começara a partir de novos e atualizados conhecimentos, mas você ainda pode consultar meu conteúdo anterior no edersonmelo.wordpress.com.

Vamos percorrer um longo e melhorado caminho em busca de conhecimento.

Espero que goste e retorne.