Postagens

Mostrando postagens de dezembro, 2021

Passo a passo: Criando um blockchain em Java!

Imagem
  Implementando uma simples Blockchain em Java Neste tutorial, aprenderemos os conceitos básicos da tecnologia blockchain. Também implementaremos uma aplicação básica em Java que utilize  tais conceitos. Mas o que é blockchain? Bem, ele remonta à sua origem até o  whitepaper publicado por Satoshi Nakamoto sobre o Bitcoin , em 2008. Blockchain é um livro de informações descentralizado.  Consiste em blocos de dados conectados através do uso de criptografia. Pertence a um conjunto de computadores conectados pela rede distribuída. Vamos entender melhor isso quando implementarmos o código. Existem algumas características importantes que devemos entender, então vamos descrever cada uma delas: À prova de adulteração: Em primeiro lugar,  os dados como parte de um bloco são à prova de adulteração . Cada bloco é referenciado por um digestor criptográfico, comumente conhecido como hash, tornando o bloco à prova de adulteração. Descentralizado: toda a  blockchain é com...

Inversão de controle x injeção de dependência x inversão de dependência

Imagem
  Entenda a diferença entre inversão de controle, injeção de dependência e inversão de dependência. Nesse artigo vou explicar a diferença entre três conceitos muito usados no mundo da programação: a inversão de controle, a injeção de dependência e a inversão de dependência. Notou como esses três nomes são parecidos? Pois bem, apesar de parecidos esses nomes significam elementos distintos no mundo do desenvolvimento de sistemas,   muitas pessoas confundem esses conceitos, outras sequer sabem da existência de todos os três e existem aquelas ainda que pensam que esses conceitos são sinônimos. O objetivo desse artigo e explicar de forma clara o que são cada um desses conceitos e como eles se relacionam entre si. Primeiramente entenda: Inversão de controle é um princípio de design. Injeção de dependência é um padrão de projetos. Inversão de dependência é um dos cinco princípios da programação orientada a objetos (SOLID). Vamos nos aprofundar em cada conceito: 1. Inversão ...