Como fazer

Thread Local

Thread Local

menos de 1 minuto Numa aplicação web em Java, em vários momentos é muito útil manter informações em um contexto maior que o request, mas também nem tão grande com a session ou application. Nessas situações o Thead Local, pode ajudar bastante. Mas o que é Thread Local? Thread Local é utilizado para definir ciclo de vida dos objetos, trata-se de um tipo de escopo de acesso onde apenas a thread que está sendo executada tem acesso a esses objetos. Por tanto, se a thread Leia mais

Caixa de ferramentas #1: Whitebox

Caixa de ferramentas #1: Whitebox

menos de 1 minuto E aí pessoal, tudo bem por aí? Hoje vou dar início uma nova série, chamada “Caixa de ferramentas“. Nesta série, pretendo falar um pouco de bibliotecas Java ou Groovy que ajudam muito durante o desenvolvimento . São bibliotecas que não devem faltar. Para começar, falaremos hoje de um utilitário chamado Whitebox, ele disponibiliza vários métodos utilitários para acesso interno de classes, incluindo acesso a atributos e métodos privados. Basicamente, um utilitário de reflexão simplificados destinados a testes. Whitebox faz parte da biblioteca Power Leia mais

Reflection e Annotation

Reflection e Annotation

menos de 1 minuto Falarei hoje de coisa antiga, mais muito útil. Me refiro à Reflexões (Reflections) e Anotações (Annotations). Nivelando conceitos Reflexão (javax.reflection) é um recurso do Java, que permite criar chamadas em tempo de execução, sem precisar conhecer as classes e objetos envolvidos (tempo de compilação). Parece estranho dizer isso, mais existem situações, que nosso programa só descobre serem necessárias ao receber dados, em tempo de execução. A reflexão inicia na Class. Esta, representa a o modelo (uma forma), é a partir dela que obtemos as informações dos atributos, métodos, Leia mais

Executando script SQL via SQLPlus

menos de 1 minuto Ontem me deparei com um coisa tão simples e eu não lembrava como fazer. Acostumado a usar o SQLDeveloper do trabalho, quando preciso usar o SQLPlus me perco totalmente. Mais cedo, exportei via SQLDeveloper, os dados de uma tabela de um banco de dados remoto, para que pudesse fazer alguns testes no meu banco de dados local. Pelo SQLDeveloper é muito simples fazer um export de um script SQL, basta clicar com o botão direito sobre a tabela e usar Leia mais

Groovy #3: Collections

Groovy #3: Collections

menos de 1 minuto Fala galera, depois de uma semana só falando do GIT, vamos retomar os estudos sobre Groovy. Hoje falaremos sobre Collections em Groovy, que na minha opinião é onde o Groovy se destaca se comparado ao Java. Observação: Para que você rode os exemplos sem a necessidade de instalação do Groovy, sugiro a leitura do post: Groovy Web Console. Como instanciar? O Groovy dispensa o uso da palavra reservada new (como fazemos do Java), para instanciar uma lista. Veja os exemplo: Conclusão Trabalhar com Leia mais

Git #3: Tags, Branches e comando remotos

menos de 1 minuto Continuando a saga Git, nos posts anteriores, falamos um pouco sobre como o Git funciona e as diferenças de repositórios centralizados e distribuídos (Git #1: Por onde começar), em seguida colocamos a mão na massa, foi apresentados os principais comandos, aqueles que usamos no dia a dia (Git #2: Principais comandos do dia a dia). Para finalizar a saga, falaremos hoje sobre tags, branches e comandos utilizados para sincronizar repositório local e remoto. Tags Criando tags O Git possibilita a criação tags Leia mais

Git #2: Principais comandos do dia a dia

menos de 1 minuto Continuando o post anterior (Git #1: Por onde começar), falaremos mais de como usar o Git, por a mão na massa de verdade. Principais comandos Comando: status Talvez o comando mais utilizado no Git seja o “status”, com ele é possível saber quais foram as alteração desde a última vez que sua branch foi atualizada. Vejamos os exemplos: Exemplo 1: O comando log disponibiliza vários parâmetros interessantes, abaixo listo alguns: -p: que mostra o diff introduzido em cada commit; -p seguido de -<numero>: limita a Leia mais

Codility

Codility

menos de 1 minuto Dias atrás, um amigo do trabalho, me apresentou a uma ferramente muito legal para treinar lógica de programação. A ferramenta chama-se Codility. O Codility, disponibiliza vários desafios de lógica (chamadas de lessons), onde o usuário terá disponível, várias linguagens para responder o desafio. As linguagens disponíveis são: C, C#, C++, Go, Java, JavaScript, Lua, Objective-C, PHP, Pascal, Perl, Python, Ruby, Scala or VB.NET. Hoje, estão disponíveis 18 lessons ao escolha do usuário, sendo que cada lesson, pode possuir várias tasks. Cada task, possui um tempo para ser Leia mais

Interface Fluente e StepBuilders

Interface Fluente e StepBuilders

menos de 1 minuto Interface Fluente Por que criar interfaces fluentes (Fluent Interfaces)? Simples, lembra do Builder, esse padrões de projeto nos ajudam a escrever códigos menos complexos e intuitivos, minimizando os erros durante o desenvolvimento. A interface fluente é muito parecida com o builder, é muito usada na criação de API e utilitários, fazendo com que desenvolvedor seja guiado, auto explicando seu uso a cada passo. Mas por onde começar? Vejamos um exemplo. A classe abaixo é composta por outras duas classes: Eu gosto muito de escrever interfaces fluentes, Leia mais