Nodejs: Executando Promises em Série.

Olá a todos, me deparei com uma situação muito comum no meu dia a dia , mas que não tem uma solução simplificada com as Promises. Fiz uma consulta no banco de dados utilizando o Sequelize e o mesmo retorna os resultados atravez de uma Promise. De forma que precisei efetuar um determinado processamento em cima de cada item da lista resultante. Sendo essa lista pequena não é um problema apenas disparar várias funções concorrentes, porem no meu caso a tabela tinha mais de 500 mil registros, e gostaria de executá-los de forma sequencial.

Continue lendo “Nodejs: Executando Promises em Série.”

GraphQL + ApolloCLiente: Obtendo lista de campos da consulta.

Olá a todos, estou migrando o backend de uma aplicação para GraphQL e me deparei com a seguinte situação, o acesso a dados é feito pelo Sequelize, e gostaria de manter a premissa de consultar do banco apenas o que foi solicitado na requizição do GraphQL, melhorando assim o desempenho da aplicação , de forma a não fazer associações desnecessárias entre classes.

Continue lendo “GraphQL + ApolloCLiente: Obtendo lista de campos da consulta.”

Dados Hierarquicos no MySQL

Tradução do artigo: http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

Introdução

A maioria dos usuários uma hora ou outra terão de lidar com dados hierarquicos em um banco de dados através de SQL, e sem dúvida irão descobrir que bancos de dados relacionais não foram desenvolvidos pagar gerenciar esse tipo de dados.

Para o propósito deste artigo, dados hierarquicos são uma colução de dados onde cada item tem um pai e zero ou mais filhos ( com exceção do item raíz, que não tem pai ). Dados hierárquicos podem ser encontrados em uma variedade de aplicações de bancos de dados, incluindo foruns, listas de email, gráficos de empresas, gerenciamento de categorias de conteúdo, categorias de produtos, etc. Para esse artigo iremos analisar uma categoria de produtos hierárquica para uma loja de eletrônicos ficticia.

Continue lendo “Dados Hierarquicos no MySQL”

Webpack-dev-server: Rotas Aninhadas

Olá a todos, estou desenvolvendo um projeto em react/redux, utilizando o react-router-dom e o webpack para fazer o bundle. No meu ambiente de desenvolvimento estou utilizando o webpack-dev-server para testar meu código. Para minhas rotas, estou utilizando o BrowserRouter do react-router-dom, e para que ele funcione com o webpack-dev-server precisei adiciona a opção: historyApiFallback: true no meu webpack.config.js dentro da chave devServer, assim o webpack-dev-server vai redirecionar todas as urls que não encontrar para o index.html, necessário para que o BrowserRouter funcione adequadamente com o urls tipo http://localhost/sobre.

Dando continuidade ao meu projeto, me deparei com o seguinte erro:

Unexpected token <

Ao tentar rotear urls aninhadas tipo: http://localhost/usuario/123, o navegador me retornava o erro citado a cima sem nenhum detalhe. Após  algum tempo lendo a documentação sem encontrar nada a respeito e vários posts na internet, finalmente consegui achar um meio dele funcionar, no meu index.html o link para meu bundle javascript  estava assim:

<script src='app.js'></script>
<link rel='stylesheet' href='app.css'>

ao adicionar  a barra na frente resolveu o problema.

<script src='/app.js'></script>
<link rel='stylesheet' href='/app.css'>

Dessa forma passou a funcionar corretamente.