Image for post
Image for post

Mesmo com a popularidade do GraphQL, dúvidas sobre o que ele é, e o que resolve são comuns. Neste artigo pretendo explicar a partir de exemplos o que é GraphQL e qual o seu objetivo.

O que não é GraphQL?

Talvez este não seja o tópico que você esperava encontrar, e algumas das coisas aqui pareçam absurdas, mas acredite há pessoas que pensam ou já pensaram isso sobre GraphQL.

GraphQL não tem nenhuma relação com o banco de dados, e não é um ORM. Ele nem precisa de um banco de dados para funcionar. …


Image for post
Image for post

Código limpo (clean code) é um tópico recorrente e importante. Infelizmente não há uma adoção tão grande quanto se imagina ou espera.

Entre as motivações estão a falta de aprofundamento do tópico e suas nuances, bem como uma boa contextualização e a realidade dos projetos ou empresas onde os profissionais de desenvolvimento de software trabalham.
O caos, a cobrança e demanda, muitos líderes ou gerentes não conseguem, ou simplesmente não veem valor nessas práticas, o bom e velho “o importante é funcionar”.

Talvez algumas pessoas fiquem chocadas ou surpresas ao saber que ainda há muitas empresas e profissionais não sigam práticas e conceitos consideradas por muitos básicas. …


Image for post
Image for post

Injeção de Dependências (Dependency Injection) ou simplesmente DI é um tópico relativamente comum, disponível em várias linguagens/frameworks. Sua definição e objetivo são simples: injetar/passar uma dependência (valor/instância) para um objeto/função, a fim de diminuir o acoplamento de código e facilitar testes de unidade.

Mesmo sendo algo comum, muitos confundem DI com Inversão de Controle (Inversion of Control) ou simplesmente IoC. IoC é uma forma de usar DI sem ser explicito, deixando o próprio código/framework responsável por injetar as dependências.

IoC não anda sozinho, ele depende do Container de Injeção de Dependências (Dependency Injection Container) ou simplesmente DI Container. DI Container é responsável por armazenar as receitas/instâncias/valores que precisam ser executadas para se recuperar determinada dependência. …


Image for post
Image for post

Não precisa estar muito tempo envolvido direta ou indiretamente com o mercado de desenvolvimento de software para que o termo Full Stack faça parte do seu vocabulário.

A coisa fica ainda mais séria se você esta buscando uma colocação no mercado. Algumas vagas procuram abertamente profissionais full stack, outras deixam isso implícito com a quantidade de requisitos. Porém, mesmo sendo um termo comum, a definição de full stack não é.

Muitos resumem full Stack como um profissional que “faz back-end e front-end”, porém há muita divergência e coisas implícitas nessa afirmação.

De onde esse termo veio e por que é tão relevante?


Image for post
Image for post

Aqui na Decision6 estamos completando um ano de adoção do GraphQL, para comemorar, vou escrever alguns artigos falando sobre o que nos levou a usar GraphQL, como foi o processo de implementação e como estamos um ano depois de iniciada esta jornada.

O que exatamente GraphQL resolve?

GraphQL é uma Query Language. Em miúdos é uma especificação, com propósito similar a linguagens de query como SQL. GraphQL é agnóstico a linguagem de programação e a bancos de dados.

Dentro do seu contexto (linguagem de programação) vão haver maneiras de implementar o GraphQL, que se resume a definir e mapear seus recursos. Uma vez que este processo (definição e mapeamento) esteja feito, quem for consumir (client) tem em mãos todas as informações necessárias para fazer inúmeras combinações entre os recursos disponíveis. …


Image for post
Image for post

Este artigo tem o propósito de instigar você a pensar um pouco mais sobre críticas e na qualidade do código que você produz.

Antes de começar, preciso contextualizar o título, ele não remete exatamente o conteúdo deste artigo, porém foi a gíria mais próxima que consegui, entendedores entenderam. Aos demais, deixo este vídeo relaxante.

Motivação

Estou com este artigo na gaveta faz alguns meses, na época recebi a seguinte mensagem no meu Telegram.

Vinicius eu fiz uma pergunta no grupo de javascript não pedi uma critica de cada linha de código que eu escrevo e nem a bosta de uma critica do jeito que eu faço minha pergunta até porque não entrei em um grupo de…


Este título é uma piada muito engraçada, preciso concordar. Porém, será mesmo que ele representa a verdade?

Image for post
Image for post

Mercado e demandas

Focando mais em desenvolvimento Web, setor que abraça praticamente todos os outros setores e tem cada vez mais recursos (humanos, financeiros e tecnológicos). A Web é um monstro, há quem classifique o navegador como um sistema operacional, o que é uma realidade no caso do Chrome OS

Há muitos anos o foco era, e de certa forma ainda é, mobile. …


Image for post
Image for post

Automatizar tarefas é uma das coisas que mais fazemos no desenvolvimento de projetos. Há um mantra que diz: “toda tarefa repetitiva será automatizada, sempre, sem exceção”. Essa afirmação é verdadeira, porém toda automação precisa ser feita pensando nos impactos futuros dela.

Neste artigo vou descrever algumas técnicas para carregar de modo automático arquivos de rotas, usarei Restify como http-router, porém estas técnicas são agnósticas o suficiente para serem utilizada em outras ferramentas como Koa, Express e Hapi.

Motivação

Importar e registrar manualmente arquivos de rota é uma tarefa repetitiva e chata. …


Image for post
Image for post

Comecei a explorar o uso de serviços em outro artigo, falei também de como usar serviços com o Vue.js. Neste artigo vou abordar uma técnica extremamente útil para se trabalhar com serviços em middlewares HTTP no Node.js.

Vou usar o Restify como referencia, porém esta técnica é válida para outras bibliotecas de rotas como Express, hapi ou koa. Pois a mecânica de middlewares é agnóstica.

Serviços como dependência

É muito comum importar as dependências que vamos usar em um determinado middleware.

Esta é uma operação extremamente simples, porém seu teste dificilmente é simples. …


Image for post
Image for post

Essa pergunta é feita com bastante frequência nos grupos que participo, seja no Slack, Telegram ou Facebook, é um medo muito comum.

O objetivo desse artigo é explicar como as coisas funcionam e como elas poderiam funcionar caso isso um dia aconteça.

Grandes mantenedores

About

Vinicius Reis

Fiquei sem meus peões, meu cavalo, minha torre, meu bispo… E até a rainha… Mas ainda é muito cedo para um xeque-mate. Roy Mustang — Fullmetal Alchemist

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store