Code Monkey home page Code Monkey logo

github-blog's Introduction

studyTech

Github Blog 📰🚀


Sobre   |   Tecnologias   |   Requerimentos   |   Começando    


🎯 Sobre

O Projeto Github Blog tem como objetivo consumir a API do GitHub para listar as issues cadastradas, informações do usuário e exibir cada issue em rotas por parâmetro.

O GitHub é uma plataforma que hospeda repositórios de códigos fonte, permitindo que programadores possam colaborar entre si em projetos de software. As issues são um recurso do GitHub que permitem o acompanhamento e gerenciamento de problemas em projetos.

Com o Projeto Github Blog, é possível obter informações detalhadas sobre as issues de um repositório específico, como o título, descrição, data de criação, autor e estado atual. Além disso, também é possível listar as informações do usuário que está acessando a API, como nome, e-mail e foto de perfil.

A lista de issues é exibida em rotas por parâmetro, o que permite uma navegação mais fácil e rápida pelos problemas identificados no projeto. Com essa funcionalidade, é possível realizar a filtragem das issues de acordo com o estado atual (aberta, fechada, em andamento), bem como a ordenação por data de criação ou prioridade.

O Projeto Github Blog é uma ferramenta valiosa para desenvolvedores que utilizam o GitHub como plataforma de colaboração em projetos de software, pois permite uma visão rápida e precisa dos problemas identificados e a possibilidade de acompanhamento em tempo real das atividades relacionadas às issues.

Regras:

  • Listagem de produtos (cafés) disponíveis para compra
  • Adicionar uma quantidade específicas de itens no carrinho
  • Aumentar ou remover a quantidade de itens no carrinho
  • Formulário para o usuário preencher o seu endereço
  • Exibir o total de itens no carrinho no Header
  • Exibir o valor total da soma de itens no carrinho multiplicados pelo valor.

🧪 Tecnologias

As seguintes tecnologias foram utilizadas no projeto:

🏁 Começando

# Clone this project
$ git clone https://github.com/thiagofreitascarneiro/github-blog
# Access
$ cd github-blog
# Install dependencies
$ npm install
# Run the project
$ npm run dev
# The server will initialize in the <http://localhost:5173>

🖼️ Figma

studyTech


studyTech

github-blog's People

Contributors

thiagofreitascarneiro avatar

Watchers

 avatar

github-blog's Issues

Desenvolvedor Front-End

Qual a função de um desenvolvedor front-end?

A área de desenvolvimento web front-end é a ponte que une os mundos do design e da programação. O profissional desenvolvedor front-end é o responsável por colocar em prática, através de códigos, o design de um site ou interface.

Enquanto o web design projeta o visual de um site, o desenvolvimento front-end implementa esse design através de códigos, como HTML, CSS e JavaScript. Ou seja, é o front-end que coloca “para funcionar” toda a parte visual de uma interface, como a página de um site ou de um aplicativo.
O front-end também deve ser capaz de se “comunicar” com a linguagem utilizada no back-end, que é a parte estrutural de sites e plataformas. Dessa forma, o visual de uma interface conseguirá ter suas funções correspondidas, como quando clicamos em um botão de “enviar mensagem” e a mensagem realmente é enviada.

Podemos dizer que tudo o que um usuário vê, interage ou clica é fruto do trabalho de um desenvolvedor front-end, que deve garantir que o site ou interface funcione corretamente e siga um design padrão em todos os dispositivos.

Habilidades necessárias para ser um desenvolvedor web experiente
De início, para colocar em prática o design de sites e interfaces, um profissional de desenvolvimento front-end deve ter habilidades com algumas linguagens de programação primordiais, como HTML, CSS e JavaScript.

HTML e CSS
Estes são dois dos grandes responsáveis por aquilo que você vê na internet e são essenciais para um front-end. Ambos são formados por uma série de expressões em código (caracteres) que podem ser lidas pelo sistema de um computador, tablet ou smartphone para apresentar ao usuário final a interface de um site ou produto digital.

HTML é a sigla de Hyper-Text Markup Language, ou Linguagem de Marcação de Hipertexto em português. Como uma linguagem de marcação padrão, o HMTL cria uma estrutura de blocos onde serão inseridos os conteúdos de uma página. Esta é uma linguagem mais simples e funciona como a base de tudo o que vemos na internet hoje.

Já CSS é a sigla para Cascading Style Sheets, em português Camadas de Estilo em Cascata. Essa é uma linguagem um pouco mais complexa, e podemos dizer que funciona como um complemento ao HTML. É com o CSS que desenvolvemos cores, fontes, layouts e tudo aquilo que é relacionado ao estilo da página.

Juntos, o HTML cria uma base para a construção da página e o CSS inclui os elementos que ditarão o estilo que a interface deverá seguir.

JavaScript (JS)
Esta é a linguagem que, literalmente, dá vida à uma página. É através do JavaScript e suas bibliotecas associadas que o desenvolvedor consegue criar elementos dinâmicos e com atualização em tempo real, como mapas, animações, operações numéricas, infográficos interativos, entre outros.

Por ser processada diretamente no navegador do usuário, essa é uma linguagem leve e capaz de manter o carregamento dessas interações e elementos dinâmicos mais rápido.

O JavaScript se une ao HTML e CSS como linguagens fundamentais para a construção de uma página web que tenha boa performance e que seja dinâmica, sem perder sua responsividade em diferentes dispositivos, ou seja, que se adeque corretamente aos diferentes tipos de tamanhos de tela.

React.js
Criado em 2012 pelo Facebook, o React.js é uma biblioteca de JavaScript de código aberto, que tem se mostrado cada vez mais popular na criação de interfaces. Em outras palavras, ele é formado por conjuntos de componentes que facilitam a conexão entre diferentes partes de uma página. Como se dividíssemos uma página em diversas partes para poder atuar em cada uma delas individualmente, mas mantendo uma boa conexão entre elas.

Estes componentes possibilitam o reaproveitamento de códigos, o que facilita a padronização de sites e interfaces. Por isso, dizemos que o React.js é uma tecnologia bastante flexível para solucionar problemas, além de permitir a criação de interfaces reutilizáveis.

Frameworks JavaScript
Frameworks são conjuntos de códigos prontos, que comandam diversas funções, disponíveis para serem utilizados na criação de sites. Portanto, Frameworks JavaScript são conjuntos de códigos JS prontos que podem ser utilizados para a criação de uma interface.
As frameworks JavaScript permitem ao desenvolvedor criar páginas de forma muito mais rápida, pois já possuem conjuntos de códigos prontos para serem aplicados, eliminando a necessidade de desenvolver todos os códigos do zero. Mas atenção: é necessário ter um bom conhecimento em JavaScript antes de utilizar suas frameworks, dessa forma você poderá acompanhar o seu desempenho e realizar qualquer manutenção quando necessário.

Desenvolvedor Back-End

O que faz um back-end?
Desenvolvedor back-end é o profissional responsável pelo lado do servidor no desenvolvimento web. Sua tarefa é planejar, programar, testar e manter a estrutura de códigos que faz a interface de um site com o servidor e o banco de dados.

Essa profissional deve identificar requisitos de sistema, aplicar linguagens de script e bancos de dados, garantir a comunicação com o servidor, entre outras tarefas. No desenvolvimento de um site, suas atividades se complementam com o trabalho do desenvolvedor front-end, que é responsável pela interface do site com o usuário.

Qual o desafio na atuação de um back-end?
O back-end deve atuar em parceria com o desenvolvedor front-end e o administrador de banco de dados no desenvolvimento web. Essa integração é necessária para que as requisições dos usuários sejam atendidas corretamente nas interações com o site.

No dia a dia, o desenvolvedor back-end se envolve diretamente na programação dos códigos que levam instruções ao servidor. Mas esse profissional também trabalha com planejamento, testes e manutenção da estrutura de back-end.

Principais atividades e tópicos para estudos
O que faz um desenvolvedor back-end no dia a dia?
desenvolve APIs, utilizadas pela aplicação para acessar e manipular os dados armazenados em um banco de dados;
implementa no código a lógica de negócio de um produto ou serviço que a aplicação precisa ter para funcionar corretamente;
configura e mantem servidores e ambientes de desenvolvimento que suportam as aplicações, garantindo segurança e escalabilidade, por exemplo, de uma plataforma;
testa e depura o código para garantir que a aplicação esteja funcionando corretamente;
colabora com outros membros da equipe de desenvolvimento, como desenvolvedores front-end e designers;
O que é necessário estudar para ser desenvolvedor back-end?
Linguagens de back-end (PHP, Java, C#, Ruby, Rusty e Go);
Bancos de dados
SQL - Postgree, MySQL, Oracle, MariaDB, etc;
NoSQL - MongoDB, CouchDB, Redis, DynamoDB, Cassandra, etc;
Servidores (Proxy, FTP, DNS);
Protocolos de comunicação HTTP, HTTPS;
Caching entre servidor e cliente;
Padrões de projeto e modelos arquiteturais;
Em que tipos de projetos e empresas um desenvolvedor back-end trabalha?
O desenvolvedor back-end participa de projetos de sites e páginas da web, geralmente em parceria com o front-end.

É requisitado em diversos tipos e segmentos de empresas, já que invariavelmente elas precisam de soluções para a web. Mas é mais comum existir essa posição em empresas voltadas para TI, como agências digitais e startups, ou negócios de grande porte com uma área de tecnologia mais desenvolvida.

Como começar na área?
Para quem deseja começar estudar para trabalhar como back-end, é necessário saber por onde começar. O setor de tecnologia cresceu muito no Brasil nos últimos anos e há inúmeras oportunidades no setor. Com o aquecimento do mercado, surgiram diversas opções de cursos (online ou presenciais, pagos ou gratuitos), como o da Trybe, que são reconhecidos pelo mercado.

O curso de desenvolvimento web da Trybe, por exemplo, é uma formação completa em programação, que ensina os alunos a programar do zero e habilita os profissionais a se colocarem no mercado em posições bastante valorizadas.

Boas práticas para devs em início de carreira

As principais lições e dicas compiladas para quem está começando na programação ou migrando para a área.

*Texto por Camila Coelho

Hoje devs são peças fundamentais de todo negócio, estão nas startups e nas pequenas e médias empresas que buscam soluções tecnológicas para seus produtos e serviços.

Em uma busca rápida, é possível encontrar centenas de notícias e pesquisas que apontam a falta de mão de obra qualificada na área. A conclusão das matérias é a mesma: sobram vagas no Brasil e chovem oportunidades internacionais.

Quem se destaca pode nadar de braçada nesse oceano de possibilidades. Nesse artigo estão reunidos todos os ensinamentos para você iniciar sua carreira em programação com o pé direito.

Defina sua jornada
Antes de tudo, você precisa saber para onde está indo. Iniciantes na programação costumam se perder em meio a tanta informação. Você precisa ter objetivos bem definidos para traçar a melhor rota de evolução na carreira.

Texto escrito por Joseph Oliveira - https://github.com/josepholiveira

Certifique-se de ter uma base sólida nos fundamentos da programação. Só depois de conhecer o básico, você saberá para onde seguir. Esse curso gratuito ensina programação desde o marco zero, para quem nunca teve contato com tecnologia e ajuda a consolidar conhecimentos padrões.

Escolha uma linguagem
Conhecer uma única tecnologia profundamente vai te ajudar mais que saber várias superficialmente. Isso não significa que você nunca poderá aprender outras no futuro, apenas que vai direcionar seu foco para um objetivo de aprendizagem.

Dominando uma linguagem você se aproxima de empresas que costumam buscar por pessoas que cumpram papéis específicos em um time de tecnologia.
Acompanhando a evolução das ferramentas que usa, você não deixa que suas aplicações fiquem ultrapassadas e continua relevante para o mercado.

Organize seus estudos
Tenha em mente que a tecnologia está em constante evolução, devs precisam continuar estudando mesmo depois de ingressar no mercado. Ter o hábito de se dedicar aos estudos irá fazer toda a diferença no seu crescimento de carreira.

Crie um cronograma de estudos
Defina um plano de estudos que faça parte da sua rotina da melhor forma possível. Dicas para construir seu cronograma de estudos:

Entenda sua rotina. Faça um planejamento realista. Liste suas tarefas, refeições, obrigações e reserve um tempo de foco profundo para se dedicar ao código.
Organize seu cronograma conforme pequenos objetivos. Separe seu tempo para absorver conteúdos, praticar, testar e revisar o que aprendeu nos últimos dias.
Use ferramentas de organização. Plataformas como o Notion são ótimas opções para planificar sua agenda e para documentar seus materiais de estudo, links úteis e ideias de projetos.
Aplique a técnica Pomodoro. Esse método te ajuda a aproveitar tempos de estudo sem nenhuma interrupção, intercalando com momentos de descanso. Cronometre 25 minutos de estudos, quando o tempo terminar, faça uma pausa de 5 minutos e retome os estudos por mais 25 minutos.
Tenha constância nos estudos
Ter frequência nos estudos é mais relevante para o seu aprendizado que focar por grandes períodos de tempo.

Estudar todos os dias o ajudará a fixar conhecimentos ao manter-se em contato recorrente com o que precisa aprender. É preferível que você estude por um período de tempo menor por dias recorrentes, que por muitas horas em um único dia da semana.

Pratique e Pratique
Não tem jeito, programação é uma disciplina prática. Apenas codando que você vai conseguir desenvolver suas habilidades técnicas. A teoria virá a partir da prática, não ao contrário. Praticar também vai te ajudar a desenvolver o pensamento crítico necessário para resolver problemas e priorizar tarefas.

Conte com a comunidade
Se envolver em comunidades será um divisor de águas para sua carreira. Ajudar outras pessoas desenvolvedoras vai fazer com que você fixe melhor seu aprendizado. A comunidade vai te dar suporte frente a problemas desafiadores para você.

Evoluir em comunidade também é uma ótima oportunidade para você se preparar para trabalhar em um ambiente de Pair Programming.

Pair Programming é uma técnica de desenvolvimento ágil em que devs trabalham em pares, em uma única estação de trabalho. Em algum momento da sua carreira você vai ter contato com o trabalho em par, use a comunidade para sair na frente e se preparar para ele.

Dica: abra em nova aba ou favorite esse guia prático de como contribuir para o ecossistema de tecnologia. Ele tem dicas super úteis para você que está começando a programar.

Networking é tudo!
Em toda e qualquer carreira, fazer Networking é uma das principais estratégias de visibilidade para profissionais. Em desenvolvimento não seria diferente.

Ao passo que ganha relevância na comunidade, melhores oportunidades chegarão até você. Ou talvez, você possa encontrar aquela pessoa que vai criar sociedade com você para empreender conforme seus objetivos, e se conectar com profissionais que você conhece as competências.

Desenvolva suas soft skills
Soft Skills são as habilidades comportamentais, aquelas que vão além dos seus conhecimentos técnicos. Não negligencie suas habilidades de comunicação, atitude, pensamento crítico, criatividade e outras que não podem ser substituídas pelo domínio da programação.

Parece complicado para quem se acostumou a lidar apenas com a sua própria tela, a boa notícia é que você verá o desenvolvimento dessas habilidades fluir sempre que você estiver presente em comunidade, compartilhando conhecimento.

Impulsione sua carreira
Pense na sua carreira profissional como uma marca. Sua marca precisa ser sólida, ter credibilidade e ser divulgada. Para se destacar no início da sua carreira ou em qualquer outra etapa dela, avance por alguns atalhos como Eventos de Tecnologia, Hackathons e Projetos Pessoais.

Eventos de tecnologia - Basta acompanhar as comunidades para ficar por dentro dos principais eventos de tecnologia. Desde workshops, para você aprender praticando, a empreendedorismo e conversas, para você acompanhar o avanço da tecnologia. O Networking é outro ponto positivo de fazer parte dos eventos sempre que possível.

Hackathons - Esses são eventos que podem ser definidos como uma disputa prática para profissionais de tecnologia. Os Hackathons te ajudam a ganhar experiência no desenvolvimento de soluções em grupo, indo da ideação ao produto final.

Projetos pessoais - Os projetos pessoais são uma forma de você desenvolver suas habilidades técnicas, criatividade e pensamento crítico. Tudo que você construir se torna bagagem para seu currículo e casos reais para o seu portfólio.

Importante, adicione tudo que você fizer ao Github e escreva um bom README.

Todos seus projetos contam como experiência para seu portfólio, independentemente da complexidade. Como toda sua evolução, a construção do seu portfólio também começa com um primeiro passo e vai avançando de nível.

Mesmo que você acredite que não tem por onde começar, comece. Com o tempo seu conhecimento e projetos vão ganhando forma.

Saiba o que é uma API, quais são seus tipos e as vantagens que ela oferece para o seu negócio!

API: o que é e para que serve?
Em uma pesquisa rápida pelo Google, você vai encontrar que API é um acrônimo para Application Programming Interface, Interface de Programação de Aplicativos.

Ou seja, ela é um conjunto de padrões de programação que possibilita a produção de aplicativos e sua utilização de maneira não tão evidente para os usuários.

Afinal, o usuário que está utilizando o aplicativo ou Website, não precisa saber que sua plataforma faz uso de APIs.

Tudo que seu negócio precisa oferecer para ele é uma experiência fluida e agradável.

Assim, você aumenta as chances de fidelização de clientes e seus lucros.

A partir da criação de APIs você pode criar softwares, aplicativos, programas e plataformas dos mais variados tipos.

No dia de hoje, você utilizou essa tecnologia diversas vezes, sem mesmo notar, ao mexer em seu celular ou computador.

Como falamos anteriormente, o próprio Google Maps utiliza APIs para que empresas de Delivery e Logística possam acompanhar e monitorar inúmeros processos, por exemplo.

Também podemos citar a integração existente entre o Spotify e Instagram para compartilhar músicas no stories como outro exemplo de API presente em nossas rotinas.

Tipos de APIs
Em suma, existem 4 tipos de APIs quando as analisamos de acordo com seus casos de uso.

Sendo elas:

  1. API de dados
    Esse tipo de API fornece um acesso CRUD (Create, Read, Update, Delete) a bancos de dados ou provedores de Software como Serviço, SaaS.

Dessa maneira, ela permite a comunicação entre uma determinada aplicação e um sistema de gestão de base de dados.

inovação baseada em dados
2. API de sistemas operacionais
Uma API de sistemas operacionais determina como cada aplicação utiliza os recursos e serviços disponíveis em um sistema operacional.

Dessa forma, cada Operative System tem um grupo de APIs. Como, por exemplo, a API do Linux que possui kernel internal API.

  1. APIs remotas
    Determina os padrões de interação que as aplicações têm em diferentes aparelhos.

Em outras palavras, um software conecta um determinado recurso localizado fora do aparelho solicitante.

Assim, como as duas aplicações se conectam através de uma rede, as APIs fazem uso de protocolos para efetivar essa ligação.

  1. APIs Web
    Considerada a classe mais comum entre as APIs, as APIs Web fornecem informações que os dispositivos podem ler e transportar entre sistemas baseados na Web ou na arquitetura cliente-servidor.

dados no computador
Tudo sobre API RESTful
A API RESTful diz respeito a uma interface responsável por suprir dados em um formato padrão que tem como base requisições HTTP.

Quantas vezes, ao baixar um novo aplicativo em seu celular que solicitava informações pessoais suas, você preferiu se cadastrar usando seu login do Facebook, por exemplo?

Isso só é permitido graças a API da rede social que fornece seus dados a aplicações externas, facilitando seu cadastro e acesso.

Assim, as APIs RESTful, geralmente, ficam “paradas” até que ocorra uma requisição.

Por isso, não há necessidade delas ficarem processando seus dados continuamente.

Um fato interessante sobre as APIs RESTful é que elas aumentam sua performance em situações em que há concorrência.

Isso significa dizer que, quando muitas pessoas estão pedindo a mesma coisa e ao mesmo tempo, elas são ainda melhores.

Para isso, elas utilizam alguns verbos que definem qual é a finalidade da requisição que está sendo enviada.

São eles:

GET: A API busca os dados solicitados em algum banco e retorna, na maior parte das vezes, em formato JSON (formato de notação de objeto JavaScript);
POST: Utilizada para criar um recurso (objeto que está sendo tratado) em uma determinada API;
PUT: Usada para atualizar o recurso indicado com alguma informação solicitada;
PATCH: Feita para atualizar somente uma parte de um recurso.
DELETE: Utilizada para excluir um determinado dado.
Dessa maneira, cada operação é acessada por meio de Endpoints – URLs onde são feitas as requisições.

Cada uma dessas requisições é composta por um método HTTP e um cabeçalho requisição (que pode ter informações de dados de origem, autenticação da API, entre outros).

Banco de dados: saiba o que é, os tipos e a importância para o site da sua empresa

Se você tem um site (em WordPress ou outra plataforma) ou já pensou em construir um, certamente, já ouviu falar sobre banco de dados. Os banco de dados podem ser utilizados em diversos contextos, desde o controle de informações do RH, até o armazenamento e gestão da informação de sites e blogs.

É preciso que você entenda quais são as suas necessidades para encontrar o sistema de gestão de banco de dados ideal para o seu negócio.

Além disso, você pode construir seu próprio banco de dados. É preciso ter cuidado com alguns detalhes mas, se tudo for feito com atenção e seguindo alguns passos básicos, será funcional e atenderá às demandas.

Decidimos criar esse conteúdo como um verdadeiro guia para auxiliar empresas a entenderem o que é banco de dados, quais são os tipos, qual a importância desse investimento e como criar o seu.

Quer aprender mais sobre o assunto? Abordaremos os seguintes tópicos neste post. Veja:

O que é banco de dados?
Qual é a importância de um banco de dados?
Quais são as vantagens de um banco de dados?
Quais são os principais tipos de banco de dados?
Como criar banco de dados?
Como fazer a gestão do banco de dados?
Qual é o custo médio de um banco de dados?
O que preciso saber para estudar sobre banco de dados?

Faça o download deste post inserindo seu e-mail abaixo

Informe seu e-mail aqui

Não se preocupe, não fazemos spam.
O que é banco de dados?
O banco de dados é a organização e armazenagem de informações sobre um domínio específico. De forma mais simples, é o agrupamento de dados que tratam do mesmo assunto, e que precisam ser armazenados para segurança ou conferência futura.

É comum que empresas tenham diversas informações que precisam ser organizadas e disponibilizadas dentro do negócio para que sejam consultadas posteriormente pela equipe e pela gerência.

Por isso, é interessante ter um sistema de gerenciamento de banco de dados, SGBD, para conseguir manipular as informações e tornar a rotina da empresa muito mais simples.

Hoje, existem diversos tipos de SGBDs, e cada um é adequado para uma necessidade dos clientes. São os mais comuns: Oracle, DB2, MySQL, SQL Server, PostgreSQL e outros.

Se a sua empresa tem um site em WordPress ou em alguma outra plataforma, o banco de dados é fundamental para manter o bom funcionamento e a praticidade no dia a dia do negócio.

Qual é a importância de um banco de dados?
Se você está se perguntando porque o WordPress precisa de um banco de dados, a resposta é simples: para permitir armazenar todas as informações contidas no seu site e blog em WordPress de forma eficiente, permitindo que o usuário tenha a melhor experiência possível e consiga realmente navegar e encontrar todas as informações que precisa durante a sua busca.

Esses dados corretamente organizados irão ajudar a melhorar não só a experiência desses visitantes, como também a rotina da sua área de TI. Afinal, seus profissionais conseguirão acessar, armazenar e restaurar os dados sempre que necessário com o uso de uma boa ferramenta de gestão de banco de dados.

O banco de dados pode ser considerada uma das partes mais importantes do WordPress, pois ele será responsável por manter o seu site e blog rodando sem problemas, com backups diários que previnem a perda de informações.

Chegou o Gutenberg 14.2 no WordPress! Saiba tudo sobre o editor
O que é SQLite, por que ele é usado, e o que o diferencia do MySQL?
Conheça os 4 tipos de análise de dados e como fazê-los
Quais são as vantagens de um banco de dados?
O investimento em um bom banco de dados pode trazer diversos benefícios para a empresa, impactando positivamente não só na produtividade da equipe, mas também no alinhamento entre os times e nos resultados alcançados mensalmente.

Melhora do relacionamento e produtividade na empresa
Quando falamos sobre a melhora no relacionamento na empresa, estamos falando sobre a forma com que os mais diversos setores se comunicam.

Um banco de dados eficiente permitirá que várias áreas distintas se comuniquem e mantenham claras suas expectativas, metas e objetivos através da gestão de dados.

Os setores conseguirão trabalhar, entendendo exatamente quais são as informações reais sobre a empresa e o que precisa ser alcançado.

Essa transparência pode ser uma forma de alinhar as expectativas dos diversos times, além de melhorar a produtividade dessas equipes, evitando conflitos e aumentando o potencial de bons resultados.

Redução dos riscos de operação
Com a transparência das informações, é possível reduzir os riscos de operação dentro da empresa. Isso acontece porque todas as equipes estarão alinhadas com as necessidades e demandas do negócio, e poderão ter suas ações coordenadas e comandadas como uma única grande equipe.

Os setores irão ter mais assertividade em suas tarefas, que permitirá que outros times também se destaquem e melhorem sua performance diariamente.

Aumento da segurança
Além disso, temos o aumento da segurança dentro da empresa. Com um sistema de gestão de informações, será possível ter mais tranquilidade com o armazenamento desses dados, permitindo que o acesso seja restrito e que apenas pessoas específicas consigam visualizar os documentos.

Melhora na tomada de decisão
A empresa que possui um bom banco de dados também tem a tranquilidade e a transparência necessárias para a tomada de decisões feita de forma muito mais eficiente.

Muitas empresas ainda decidem questões importantes através de achismos. Com o banco de dados, você terá informações valiosas para se basear e avaliar o cenário como um todo, de forma clara e transparente.

Logo também poderá identificar os principais gargalos e melhorias que precisam ser realizadas dentro da sua empresa.

Quais são os principais tipos de banco de dados?
Existem várias opções de bancos de dados disponíveis no mercado. Mas, antes de trabalharmos cada uma delas, é preciso entender a diferença entre os bancos de dados relacionais e os não relacionais.

Os bancos de dados relacionais são criados no paradigma da orientação a conjuntos. Dessa forma, os dados que ali estão disponíveis serão armazenados em tabelas. Cada tabela terá atributos e linhas ou registros responsáveis por organizar essas informações.

São comumente utilizados para dados tabulares, que possuem sua inserção muito mais simples e permite, também, a recuperação de forma mais prática no dia a dia. A linguagem utilizada nesse formato é de SQL, Structured Query Language. Portanto, se você quer utilizar um banco de dados relacionais, é preciso se atentar a esse detalhe.

Eles são ideais para CRMs, ERPs ou até mesmo gerenciamento financeiro das empresas.

Já os bancos de dados não relacionais são responsáveis por atender a demandas que os bancos relacionais não conseguem suprir. Um exemplo de demandas são aqueles dados mistos, onde se misturam tabelas, imagens e mapas, por exemplo, que não poderão ser tabulados em colunas e linhas de tabela.

Suas soluções são baseadas em armazenamento na nuvem. A linguagem utilizada nesse formato é NoSQL, Not Only SQL.

Se você está pensando em programar um blog em WordPress ou construir um site para a sua empresa, é preciso conhecer os principais tipos de banco de dados.

Oracle
O Oracle Database é o sistema de gestão de banco de dados mais utilizado no mundo. Trabalha com a linguagem SQL, e garante a segurança e diversos recursos para seus clientes e usuários.

Uma das vantagens desse modelo é a facilidade para ser instalado nas mais diversas plataformas, sendo compatível com BIM AIX, IBM VMS, Windows, Linux, Unix e HP/UX.

No entanto, é interessante investir em um bom hardware para que o desempenho não seja prejudicado.

Outra vantagem do Oracle é a sua documentação. Ela é extremamente detalhada e, por isso, os desenvolvedores terão muito mais conhecimento dos recursos disponíveis na plataforma.

Além disso, o Oracle oferece recursos de segurança e performance que garantem a qualidade do trabalho e a tranquilidade dos usuários, se tornando a melhor alternativa para grandes empresas ou negócios que possuem requisitos mais complexos.

SQL Server
O SQL Server, criado pela Microsoft, é muito conhecido e utilizado no mercado. A linguagem usada nessa ferramenta é o T-SQL, e oferece recursos avançados e diferenciados para facilitar a atualização de dados e o armazenamento das informações de forma segura e confiável.

O SQL Server atua com sistemas integrados de criptografia, permitindo que a visualização ou alteração das informações sejam feitas apenas pelas pessoas responsáveis, o que garante ainda mais segurança e tranquilidade para os usuários e empresários.

É uma alternativa comumente utilizada em lojas online, instituições governamentais, bancos e indústrias dos mais diversos portes.

MySQL
O MySQL é um banco de dados relacional que pertence à Oracle. Uma das características mais marcantes desse modelo é o fato de se tratar de um Open Source. Utiliza a linguagem SQL e funciona com as licenças de software comercial e livre.

O MySQL se destaca pelo seu fácil uso e uma estrutura de segurança e confiabilidade que permitiu que empresas e aplicativos baseados na internet utilizassem seus recursos. Dentre os principais usuários estão o Google, Facebook, Youtube, Twitter e NASA.

Uma outra vantagem é a fácil integração com o PHP dos pacotes de hospedagem que são comumente oferecidos.

PostgreSQL
O PostgreSQL também é um gerenciador de banco de dados relacional Open Source, comumente utilizado para sistemas online, como Skype, Apple e o Metrô de São Paulo.

É considerada uma das alternativas mais avançadas do mercado, com recursos diferenciados e complexos, que permite que os usuários consigam ter maior facilidade de acessos e integridade transacional. Essa alternativa exige uma solução em hardware potente para não prejudicar o desenvolvimento.

O PostgreSQL possui uma capacidade de suportar um grande fluxo de dados, garantindo a segurança e estabilidade, além de um alto desempenho por um valor ainda mais acessível.

NoSQL
O NoSQL é um sistema de banco de dados não relacional, conforme explicado anteriormente. Hoje, esse termo é comumente utilizado por pessoas que produzem conteúdos por dispositivos, redes sociais e outros tipos de funcionalidades web, que exigem a gestão de dados em diferentes formatos.

O uso de bancos de dados NoSQL permitirá que você tenha maior escalabilidade e maior economia no dia a dia, pois, ao contrário de alguns que já apresentamos ao longo deste artigo, não exige um hardware muito potente.

O NoSQL também possui sua manutenção muito mais simples e prática, o que pode permitir que a equipe seja reduzida e os gastos revisados, se tornando uma alternativa muito interessante para grandes empresas.

MongoDB
O MongoDB é um dos maiores destaques do mercado. Esse banco de dados é Open Source e é um dos mais utilizados por diversas empresas. Seu sistema gira em Windows, Linux e OSX, com linguagem de programação C++.

Seu uso é orientado para documentos em JSON, permitindo que tabelas e colunas sejam criadas previamente. A performance do sistema é excelente, devido à sua linguagem de programação, o que promete melhor desempenho e tranquilidade no dia a dia.

O MongoDB foi criado para garantir uma certa dinâmica. Por isso, foi pensado em Big Data, sendo capaz de suportar seu escalonamento tanto vertical quanto horizontal. Além disso, usa replica sets, que permitem que ele seja capaz de lidar com um grande volume de informações.

Redis
O Redis se tornou um banco de dados popular no mercado, e também funciona como Open Source. Através desse sistema, as informações são armazenadas no formato de chave-valor.

É uma alternativa que se destaca pela velocidade, funcionalidade e facilidade de uso, sendo comumente utilizado em aplicações online e móveis, como tecnologia de anúncios e jogos, por exemplo.

Esse sistema possui um conjunto de estruturas mais versátil, responsável pela facilidade na criação de aplicações, e na agilidade para escrita e leitura de dados.

Se tudo isso parecer muito complexo, não se preocupe. Existem empresas que auxiliam os clientes na escolha do banco de dados e construção do site e blog. Uma delas é a Stage, um serviço da Rock Content.

Como criar banco de dados?
Para criar o seu sistema de banco de dados, é precisa ter um projeto que contemple a organização das informações e avalie a utilização das técnicas que irão permitir a performance do sistema.

Além disso, também é fundamental considerar um sistema que seja possível realizar manutenções com tranquilidade, sempre que necessário.

Em suma, um projeto para o sistema de banco de dados é dividido em duas fases, que dizem respeito a um sistema de bancos de dados ainda não implementado:

criação da modelagem conceitual;
criação do projeto lógico.
No caso da necessidade de otimizar e melhorar um sistema de banco de dados que já existe, está muito antigo, não possui documentação ou precise ser atualizado, será necessário seguir uma técnica chamada de Engenharia Reversa.

O que é a tecnologia blockchain?

O que é a tecnologia blockchain?
A tecnologia blockchain é um mecanismo de banco de dados avançado que permite o compartilhamento transparente de informações na rede de uma empresa. Um banco de dados blockchain armazena dados em blocos interligados em uma cadeia. Os dados são cronologicamente consistentes porque não é possível excluir nem modificar a cadeia sem o consenso da rede. Como resultado, você pode usar a tecnologia blockchain para criar um ledger inalterável ou imutável para monitorar pedidos, pagamentos, contas e outras transações. O sistema tem mecanismos integrados que impedem entradas de transações não autorizadas e criam consistência na visualização compartilhada dessas transações.

Por que a tecnologia blockchain é importante?
As tecnologias de bancos de dados tradicionais lançam vários desafios para o registro de transações financeiras. Por exemplo, considere a venda de um imóvel. Depois que o pagamento é feito, a propriedade é transferida para o comprador. Tanto o comprador quanto o vendedor podem registrar as transações monetárias, mas não se pode confiar totalmente em nenhum deles. O vendedor pode alegar que não recebeu o dinheiro, mesmo que tenha recebido, e o comprador pode, da mesma forma, alegar ter feito o pagamento, mesmo que não tenha feito.

Para evitar problemas legais, uma terceira parte confiável precisa supervisionar e validar as transações. A presença dessa autoridade central não só complica a transação, como também cria um ponto único de vulnerabilidade. Se o banco de dados central for comprometido, as duas partes serão afetadas.

A blockchain reduz esses problemas criando um sistema descentralizado, à prova de violações, para registrar transações. No contexto das transações de imóveis, a blockchain cria um ledger, ou seja, um registro, para o comprador e outro para o vendedor. Todas as transações devem ser aprovadas pelas duas partes e são automaticamente atualizadas nos dois ledgers em tempo real. Se qualquer dado histórico das transações for corrompido, isso afetará todo o ledger. Essas características da tecnologia blockchain levaram à sua adoção em vários setores, incluindo na criação de moedas digitais, como a Bitcoin.

Como diferentes setores usam a blockchain?
A blockchain é uma tecnologia relativamente recente que está sendo adotada de forma inovadora por vários setores. Nas subseções abaixo, descrevemos alguns casos de uso em diferentes setores:

Energia
Empresas de energia usam a tecnologia blockchain para criar plataformas de comercialização de energia entre pares e facilitar o acesso a energias renováveis. Por exemplo, considere estes usos:

As empresas de energia que usam a blockchain criaram plataformas de comercialização para a venda de eletricidade entre indivíduos. Os proprietários de imóveis com placas solares usam essa plataforma para vender seu excesso de energia solar aos vizinhos. O processo é bastante automatizado: há medidores inteligentes que criam as transações e as registram com a blockchain.
Com iniciativas de financiamento coletivo, os usuários podem ter e patrocinar placas solares em comunidades com pouco acesso à energia. Depois da construção dessas placas, os patrocinadores também podem receber um aluguel referente a essas comunidades.
Financeiro
Os sistemas financeiros tradicionais, como os bancos ou a bolsa de valores, usam os serviços de blockchain para gerenciar pagamentos, contas e o mercado comercial online. Por exemplo, a Singapore Exchange Limited, uma empresa financeira de investimentos que oferece serviços de comercialização financeira na Ásia, usa a tecnologia blockchain para criar uma conta de pagamentos entre bancos mais eficiente. Com a adoção da blockchain, a empresa resolveu vários desafios, incluindo o processamento de lotes e a reconciliação manual de milhares de transações financeiras.

Mídia e entretenimento
Empresas de mídia e entretenimento usam os sistemas de blockchain para gerenciar dados de direitos autorais. A verificação de direitos autorais é essencial para a compensação justa dos artistas. São necessárias várias transações para registrar a venda ou transferência do conteúdo de direitos autorais. A Sony Music Entertainment Japan usa os serviços de blockchain para tornar mais eficiente o gerenciamento de direitos digitais. O uso da estratégia de blockchain tem melhorado a produtividade e reduzido os custos do processamento de direitos autorais para a empresa.

Varejo
Empresas de varejo usam a blockchain para monitorar a movimentação de mercadorias entre fornecedores e compradores. Por exemplo, a Amazon solicitou uma patente para um sistema de tecnologia de ledgers distribuídos que usa a tecnologia blockchain para verificar se todas as mercadorias vendidas na plataforma são autênticas. Os vendedores da Amazon podem mapear as cadeias de suprimento, permitindo que os participantes (como fabricantes, empresas de entrega, distribuidores, usuários finais e usuários secundários) adicionem eventos ao ledger depois que se registrarem com uma autoridade de certificação.

Quais são os recursos da tecnologia blockchain?
A tecnologia blockchain conta principalmente com os seguintes recursos:

Descentralização
A descentralização na blockchain refere-se à transferência do controle e de decisões de uma entidade centralizada (indivíduo, organização ou grupo) para uma rede distribuída. As redes blockchain descentralizadas usam a transparência para reduzir a necessidade de confiança entre os participantes. Essas redes também impedem que os participantes exerçam autoridade ou controle entre si de formas que comprometam a funcionalidade da rede.

Imutabilidade
Imutabilidade significa algo que não pode ser mudado ou alterado. Nenhum participante poderá violar uma transação depois que alguém registrá-la no ledger compartilhado. Se o registro de uma transação apresentar erro, você deverá adicionar uma nova transação para revertê-lo, e ambas as transações estarão visíveis na rede.

Consenso
Um sistema de blockchain estabelece regras sobre o consentimento dos participantes para o registro das transações. Você só poderá registrar novas transações quando a maioria dos participantes da rede der seu consentimento.

Quais são os principais componentes da tecnologia blockchain?
A arquitetura blockchain tem os seguintes componentes principais:

Um ledger distribuído

Um ledger distribuído é o banco de dados compartilhado na rede blockchain que armazena as transações, como um arquivo compartilhado que todos os membros da equipe podem editar. Na maioria dos editores de textos compartilhados, qualquer pessoa que tenha direitos de edição pode excluir totalmente o arquivo. No entanto, as tecnologias de ledger distribuído impõem regras rígidas sobre quem pode editar esses registros e de que maneiras. Você não poderá excluir entradas depois que elas forem registradas.

Contratos inteligentes
As empresas usam contratos inteligentes para autogerenciar seus contratos comerciais, sem a necessidade de assistência de uma terceira parte. São programas armazenados no sistema de blockchain e executados automaticamente quando algumas condições predeterminadas são cumpridas. Eles executam verificações simuladas para que as transações possam ser concluídas com segurança. Por exemplo, uma empresa de logística pode ter um contrato inteligente que faça o pagamento de maneira automática depois que as mercadorias chegarem ao porto.

Criptografia de chave pública
A criptografia de chave pública é um recurso de segurança para identificar de forma exclusiva os participantes em uma rede blockchain. Esse mecanismo gera dois conjuntos de chaves para os membros da rede. Uma chave é a chave pública, comum a todos os participantes da rede. A outra é uma chave privada, que é exclusiva de cada membro. As chaves públicas e privadas trabalham juntas para desbloquear os dados no ledger.

Por exemplo, John e Jill são dois membros da rede. John registra uma transação criptografada com a chave privada dele. Jill pode descriptografar essa transação com a chave pública dela. Dessa forma, Jill terá certeza de que John fez a transação. A chave pública de Jill não funcionaria se a chave privada de John tivesse sido violada.

Como a blockchain funciona?
Os mecanismos de blockchain são complexos, então vamos fornecer uma visão geral bastante breve nas próximas etapas. O software da blockchain pode automatizar a maioria destas etapas:

Etapa 1 – Registrar a transação
Uma transação de blockchain mostra a movimentação de ativos físicos ou digitais de uma parte para outra na rede blockchain. Ela é registrada como um bloco de dados que inclui detalhes como estes:

Quem foram os envolvidos na transação?
O que aconteceu durante a transação?
Quando a transação ocorreu?
Onde a transação ocorreu?
Por que a transação ocorreu?
Qual é o volume do ativo que foi trocado?
Quantas pré-condições foram cumpridas durante a transação?
Etapa 2 – Obter consenso
A maioria dos participantes da rede blockchain distribuída precisa concordar que a transação registrada é válida. Dependendo do tipo de rede, as regras do acordo podem variar, mas elas normalmente são estabelecidas no início da rede.

Etapa 3 – Vincular os blocos
Quando os participantes chegam a um consenso, as transações na blockchain são gravadas em blocos, equivalentes às páginas de um livro contábil. Junto com as transações, também é anexado um hash criptográfico ao novo bloco. O hash atua como uma cadeia que interliga todos os blocos. Se o conteúdo dos blocos for modificado de forma intencional ou inadvertida, o valor do hash será alterado, permitindo a detecção da violação dos dados.

Assim, os blocos e as cadeias são interligados de forma segura, e você não pode editá-los. Cada bloco adicional fortalece a verificação do bloco anterior e, portanto, toda a blockchain. Esse processo é semelhante ao empilhamento de blocos para construir uma torre. Você só pode empilhar blocos no topo e, se remover um bloco do meio da torre, tudo cairá.

Etapa 4 – Compartilhar o ledger
O sistema distribui a cópia mais recente do ledger central para todos os participantes.

Quais são os tipos de redes blockchain?
Existem quatro tipos principais de redes descentralizadas ou distribuídas na blockchain:

Redes blockchain públicas
As redes blockchain públicas não precisam de permissão e deixam que todos participem dela. Todos os membros da blockchain têm direitos iguais para ler, editar e validar a blockchain. As pessoas usam blockchains públicas para fazer o câmbio e a mineração de criptomoedas como Bitcoin, Ethereum e Litecoin.

Redes blockchain privadas
Uma única organização controla as blockchains privadas, também chamadas de blockchains gerenciadas. A autoridade determina quem pode ser membro e quais direitos esses membros terão na rede. As blockchains privadas são apenas parcialmente descentralizadas, pois elas têm restrições de acesso. Ripple, uma rede de câmbio de moedas digitais para empresas, é um exemplo de uma blockchain privada.

Redes blockchain híbridas
As redes blockchain híbridas combinam elementos das redes públicas e privadas. As empresas podem configurar um sistema privado, baseado em permissão, juntamente com um sistema público. Dessa forma, elas controlam o acesso a dados específicos armazenados na blockchain, enquanto mantêm o resto dos dados públicos. Elas usam contratos inteligentes para permitir que membros do público verifiquem se as transações privadas foram concluídas. Por exemplo, blockchains híbridas podem conceder acesso público a moedas digitais, enquanto as moedas de propriedade do banco são mantidas privadas.

Redes blockchain consórcio
Um grupo de organizadores controlam as redes blockchain consórcio. Organizações previamente selecionadas compartilham a responsabilidade de manter a blockchain e determinar os direitos de acesso aos dados. Os setores nos quais as organizações têm objetivos comuns e que são beneficiados pela responsabilidade compartilhada normalmente preferem as redes blockchain consórcio. Por exemplo, a Global Shipping Business Network Consortium é um consórcio de blockchains sem fins lucrativos, que pretende digitalizar a indústria de transportadoras e aumentar a colaboração entre os operadores da indústria naval.

Quais são os protocolos da blockchain?
O termo protocolo da blockchain refere-se a diferentes tipos de plataformas de blockchain, que estão disponíveis para o desenvolvimento de aplicações. Cada protocolo da blockchain se adapta aos princípios básicos da blockchain, de acordo com aplicações ou setores específicos. Alguns exemplos de protocolos da blockchain são fornecidos nas subseções abaixo:

Hyperledger Fabric
O Hyperledger Fabric é um projeto de código aberto com um conjunto de ferramentas e bibliotecas. As empresas podem usá-lo para criar aplicações de blockchain privada de forma rápida e eficiente. Esse protocolo é um framework para fins gerais que oferece gerenciamento de identidades exclusivo e acesso a recursos de controle. Esses recursos o tornam adequados para várias aplicações, como rastreamento e monitoramento de cadeias de suprimento, finanças comerciais, programas de fidelidade e lealdade e liquidação de ativos financeiros.

Ethereum
O Ethereum é uma plataforma de blockchain descentralizada de código aberto que pode ser usada para criar aplicações de blockchain pública. A Ethereum Enterprise foi criada para casos de uso comerciais.

Corda
A Corda é um projeto de blockchain de código aberto criado para empresas. Com a Corda, você pode criar redes blockchain interoperacionais que fazem transações com privacidade rigorosa. As empresas podem usar a tecnologia de contratos inteligentes da Corda para fazer transações diretas com valor. Instituições financeiras são os principais usuários da Corda.

Quorum
A Quorum é um protocolo de blockchain de código aberto, derivado da Ethereum. Ela foi criada especialmente para uso em uma rede blockchain privada, na qual somente um único membro tem propriedade de todos os nós, ou em uma rede blockchain consórcio, na qual cada membro da rede tem a propriedade de uma parte dela.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.