Entendendo o funcionamento das transações do protocolo Bitcoin

As criptomoedas estão em evidência no mundo inteiro e podemos dizer que é o futuro do capitalismo. Uma das moedas que ficaram com mais evidência foi o Bitcoin um sistema monetário distribuído. Bitcoin não é um software mas um protocolo e a denominação de uma moeda ( ou ativo ) virtual.

Os pilares de funcionamento do protocolo Bitcoin
Os seus três pilares básicos são: algoritmos criptográficos como assinaturas digitais e hash, estrutura de dados composta por blocos encadeados ( blockchain ) e o mecanismo e validação das transações. Uma das confusões que é criado a respeito do Bitcoin é que não há estrutura de moeda como muitos imaginam, com a representação de uma moeda digital ou seus arquivos ficam armazenados no computador pessoal equivalentes a cédula monetária.

O protocolo funciona na verdade como um sistema de contabilidade no qual os usuários possuem uma ou mais contas ( endereço ) e por meio delas podem receber ou transferir valores. Os identificadores e senhas desses endereços são chaves públicas e privadas de um algoritmo criptográfico assimétrico.

Transferências de valores
As transferências no protocolo Bitcoin são compostas por um conjunto de entradas e saídas, no qual as entradas são identificadores de transações passadas onde valores foram recebidos e que agora serão consumidos nessa transação. O saldo de um endereço é composto pelo somatório dos Bitcoins recebidos subtraído dos Bitcoins transferidos em toda história.

Exemplo de diagrama de funcionamento do protocolo Bitcoin

Esta série de publicações sobre Bitcoin continuará na próxima semana,

Até lá

 

 

Mini Curso de TypeScript

Aqui nós faremos um mini curso de TypeScript abordando as principais funcionalidades:

  • Trabalhando com variáveis
  • Funções em TypeScript
  • Utilizando as template strings
  • Criando as arrow functions

– Trabalhando com variáveis
O TypeScript segue os padrões do ES2015 para utilização de variáveis. Você pode ter variáveis do tipo number, boolean, string ou any que fará referência com base no tipo de dado informado. Como a ideia do TS é validar o código em tempo de execução é interessante tipar suas variáveis, ex:

// Declaração de variaveis
let episode: number = 4
console.log(“Current episode: ” + episode)
– Funções em TypeScript
Nas funções nós podemos tipar os parametros de entrada e também a saída da função. Ex:

let isEnoughToBeatMF = function (parsecs: number ): boolean {
returnparsecs < 12

}

No exemplo acima estamos tipando a entrada como number, e retornaremos um verdadeiro ou falso

–  Utilizando template strings

// Usando uma template string como variavel
let distance = 11
console.log(`Is ${distance} parsecs enought to beat Millenium Falcon ? ${isEnoughToBeatMF(distance) ? ‘YES’ : ‘NO’ } `)
– Criando arrow functions

Nas arrow functions do lado esquerdo ficam as declarações dos parametros e do lado direito ficam as implementações.

a) declarações                      b) implementações
+—————————-   +—————————————

let call = (name: string) => console.log(`Do you copy, ${name} `)
call(‘R2’)

Conhecendo os principais CMS’s na stack Mean

A ideia deste post é apresentar uma pesquisa que eu fiz a respeito das principais soluções em CMS na stack Mean ( MongoDB, Express, Angular e NodeJS ).
Este projeto veio para que uma necessidade de aprimoramento de conhecimento na stack e também criar algo extremamente simples e completo para fazer deploy de aplicações nesta stack.

Mean.IO
http://mean.io/

KeystoneJS
http://keystonejs.com/

Orafox
http://www.orafox.com/

Strapi
https://strapi.io/

BizsiteGenie ( beta  )
https://github.com/dreamerkumar/bizsitegenie

MeanJS
http://meanjs.org/

MeanBase
https://github.com/codingfriend1/meanbase

Nodebeats
https://github.com/nodebeats/nodebeats

* Caso tenham outras opções na Stack utilizem os comentários para contribuir com esta publicação.

Grande abs

Afinal o que é princípio Maya ?

O designer do logotipo da Coca-Cola, crio o termo Maya que significa “Most Advanced, Yet Acceptable” ou em português “O mais avançado porém aceitavél”. Isto significa que as empresas devem investir em novos produtos porém usar as atualizações de design com moderação pois os usuários gostam de inovações porém não gostam de perder tanto tempo com algo que ele já está acostumado.

Trocando em miúdos, os usuário estão antenados nas novas funcionalidades porém preferem ser impactados com mudanças drásticas com cautela.

Vamos pergar como exemplo o cíclo evolutivo do iPhone. Ao longo dos anos ele ganhou novos recursos, novos tamanhos de tela e configurações mais avançadas mas os designers da Apple mantiveram sempre o conceito Maya ativo no cíclo evolutivo do produto.