JPA e Hibernate – Existe diferença? 

Uma das dúvidas mais comuns para quem está iniciando com os frameworks de ORM é:

Eu uso Hibernate ou JPA? Qual é melhor?

E normalmente quando você faz essa pergunta a reação costuma ser:

Mulher fazendo cara de decepção

Então vamos aprender o que são esses dois caras e porque as pessoas fazem essa cara pra você!

Continuar lendo “JPA e Hibernate – Existe diferença? “

Anúncios

Mapeando views com Hibernate no spring-data

Que tal finalmente conseguir mapear suas views sem ter problema na hora de recuperar os resultados?

Um framework sensacional que existe para persistência de dados  é  o Hibernate. Ele simplifica uma série de operações através da sua abstração,  permitindo que você realize interações com o banco sem necessariamente escrever SQL. Mas o assunto não é sobre ele nem sobre outra maravilha que é o spring-data. Não se preocupe se você não conhece essas ferramentas, vamos falar  delas em outro post.

O assunto de hoje é sobre uma particularidade que acontece quando você coloca os dois juntos (bem comum) e tenta mapear uma view (não tão comum).

Bora lá ver como resolver isso!

Continuar lendo “Mapeando views com Hibernate no spring-data”

Especificidade CSS – Black Magic!

Vamos descobrir qual é a magia que existe por trás do CSS? Bora lá!

A minha principal formação vem do backend e por consequência, sempre existiu uma certa dificuldade em lidar com o CSS. Até o dia que eu descobri que ele não funciona aleatoriamente! Hoje eu vou mostrar a magia que existe por baixo do funcionamento do css.

Seletores

A primeira coisa que nós precisamos entender quando estamos falando de css é que seu funcionamento se baseia no conceito de seletores. Que são maneiras que o css tem para encontrar um conteúdo X (desde uma div, até um simples span) e aplicar nesse conteúdo o valor das regras definidas. Vamos ver um exemplo.

<div class="conteudo-site"></div>
.conteudo-site{

background-color: red;

}

Continuar lendo “Especificidade CSS – Black Magic!”

Agilidade no Desenvolvimento – Existe isso?

Vamos ver o que é essa tal de agilidade?

Atualmente eu trabalho na Bluesoft, uma empresa que é sem dúvidas referência em desenvolvimento ágil. Mas o que é esse tal de Desenvolvimento Ágil?

Manifesto Ágil

Sempre que você escuta algo relacionado a agilidade, tem uma parte da frase que fala sobre o manifesto ágil. O motivo é simples, ele foi a “primeira expressão” sobre desenvolvimento ágil que surgiu. Ou seja, independente da metodologia que você use, ela está fundamentada no manifesto. Eu não vou explicar cada um dos princípios porque existem milhares de referências que fazem isso.

“Angeliski, se você não vai explicar o manifesto ágil, vai falar sobre o que nesse texto?”

Continuar lendo “Agilidade no Desenvolvimento – Existe isso?”

Yarn – O NPM não serve mais?

O Yarn foi liberado, mas porque tanto alvoroço? Vamos descobrir o que é esse cara!

A pouco tempo o Facebook disponibilizou para a comunidade de desenvolvimento o Yarn, um gerenciador de dependências parecido com o npm. Tão parecido que a única diferença na estrutura que ele gera é o yarn.lock,  mas vamos explicar o que tudo isso significa.

Package Manager

Uma das coisas que toda aplicação tem são dependências. E para resolver o nosso problema de um milhão de dependências nem sempre temos um gerenciador de dependências para cuidar disso.  A responsabilidade desses gerenciadores é garantir que você não precisa ficar procurando onde baixar essas dependências e que suas dependências são as mesmas para todos desenvolvedores em teoria. No Java existe o Maven,  Gradle,  que ilustram como isso pode ser. No Javascript/Node existe o npm. Mas acontece  que o npm tem também um repositório onde essas dependências ficam salvas e outros Gerenciadores (conhecidos aqui como Package Manager) vão recuperar os itens necessários para sua aplicação funcionar, além do npm podemos citar o iedpnpmnpm-installnpmd e agora também o Yarn.

“Tá,  mas existem todos esses Angeliski,  pra que outro? “

Continuar lendo “Yarn – O NPM não serve mais?”

Provider, Service, Factory – Qual a diferença?

Esse post nasceu de um pedido de um amigo que me ensinou muita coisa sobre Javascript.

Tudo farinha do mesmo saco

Pra já começar na polemica, eu vou te dizer que é tudo Provider. Se você dúvida, eu te mostro a documentação:

The injector creates two types of objects, services and specialized objects.

Services are objects whose API is defined by the developer writing the service.

Specialized objects conform to a specific Angular framework API. These objects are one of controllers, directives, filters or animations.

The injector needs to know how to create these objects. You tell it by registering a “recipe” for creating your object with the injector. There are five recipe types.

The most verbose, but also the most comprehensive one is a Provider recipe. The remaining four recipe types — Value, Factory, Service and Constant — are just syntactic sugar on top of a provider recipe.

O que isso diz é que basicamente, Value, Factory, Service e Constant são Providers, mas com um atalho sintático para facilitar a nossa vida, ou seja, eles são providers encapsulados de uma maneira que seja mais fácil criar eles. Claro que na pratica isso cria diferenças entre eles, que é o que importa pra gente vamos ver aqui hoje.

Continuar lendo “Provider, Service, Factory – Qual a diferença?”

Clojure – Criando e Usando funções

É hora de entender o básico de funções em Clojure antes de darmos alguns grandes passos.

Se você acompanha o blog tem reparado que eu não publico sobre um assunto em especifico, mas sobre o que me der na tela um assunto bacana e diversificado a cada semana. Isso acontece porque o tema do post surge conforme as coisas vão aparecendo na minha timeline, seja pelo Twitter, pelo InfoQ, o Mattermost no trabalho ou no Linkedin.

Essa semana vamos retornar ao Clojure e aprender um pouco sobre as funcões. Tomara que esse post não seja longo.

Continuar lendo “Clojure – Criando e Usando funções”