Hey! Tudo bem?
Desenvolver aplicações baseadas em banco de dados pode parecer uma tarefa bastante complexa e, sim, há muitos desafios. Lidar com grandes volumes de informação vai exigir que se compreenda modelagem eficiente de dados, gerenciamento de escalabilidade, segurança de dados e otimização de acesso, entre outros. O bom é que há muito conteúdo a respeito sendo publicado pela internet, com compartilhamento de experiências e dicas práticas. Nesta edição, selecionamos alguns artigos para aprofundar no assunto.
Você também vê como interagir com portas seriais em Ruby, uma introdução ao desenvolvimento de aplicações Elixir em Kubernetes, uma alternativa mais simplificada e intuitiva para computação serverless, um tutorial para criar uma rede de contêineres do zero e técnicas de ofuscação para aplicativos React.
Boa leitura!
BANCO DE DADOS
Combinando resultados de duas consultas com UNION e UNION ALL em SQL
Nesse artigo, você vai entender as diferenças entre os operadores UNION e UNION ALL em consultas SQL, além de ver as vantagens e desvantagens de cada operador, com exemplos de uso e orientações sobre quando e como aplicá-los de maneira eficiente em consultas SQL.
Falhas de concorrência em sistemas de banco de dados
Esse artigo explora as falhas de concorrência ("race conditions") que podem ocorrer em bancos de dados quando transações simultâneas acessam (leem ou escrevem) os mesmos dados. O autor explica como elas ocorrem e suas consequências em sistemas de software, além de mostrar estratégias para prevenir e mitigar esses defeitos em diferentes sistemas de banco de dados.
Criando um banco de dados NoSQL do zero em 1000 linhas de código
Veja uma demonstração de como criar um banco de dados NoSQL simples usando a linguagem Go, passando pelos conceitos básicos de bancos de dados e como eles podem ser implementados com código mínimo. O autor aborda aspectos importantes, como escalabilidade, consistência e tolerância a falhas, enquanto cria o banco de dados LibraDB, um sistema de chave-valor básico que armazena dados em páginas de 4KB.
CAMPUSCODERS INDICAM
Como interagir com portas seriais em Ruby
Este artigo explora o uso de portas seriais com Ruby, especialmente sua aplicação em projetos de hardware e sistemas embarcados. Ele mostra o processo de comunicação com dispositivos externos através de portas seriais, fornecendo exemplos práticos e orientações sobre como configurar e interagir com esses dispositivos usando a biblioteca `rubyserial`. Você também encontra os conceitos básicos de comunicação serial, como taxa de transmissão, paridade e bits de parada, além de técnicas para lidar com streaming de dados e timeouts.
Introdução ao desenvolvimento de aplicações Elixir em Kubernetes
Veja os conceitos fundamentais por trás da orquestração de contêineres e sua aplicação em projetos Elixir, como a estrutura de uma aplicação, a criação de um contêiner Docker para a aplicação e a configuração do Kubernetes para implantar e gerenciar esses contêineres em um cluster. Tudo a partir de exemplos.
Repensando serverless com FLAME
Conheça uma nova abordagem para a computação serverless, a FLAME (Fleeting Lambda Application for Modular Execution, ou aplicação lambda transitória para execução modular, em português), uma alternativa que oferece uma experiência de desenvolvimento mais simplificada e intuitiva. Ela permite executar funções em cópias temporárias de sua aplicação, oferecendo escalabilidade automática e modularidade aprimoradas.
Crie uma rede de contêineres do zero
Esse tutorial te ajuda a criar uma rede de contêineres do zero usando Docker Bridge Network. O texto explica também os princípios fundamentais por trás da comunicação de rede entre contêineres, conceitos como isolamento de rede, além de roteamento e regras de firewall.
Técnicas de ofuscação para aplicativos React
Entenda a importância da segurança na proteção de código e na prevenção de acesso não autorizado. Esse artigo da campuscoder Petra Grunheidt traz estratégias como ofuscação de nomes de arquivos e códigos, bem como o uso de hashes para rotas, utilizadas para dificultar a engenharia reversa e a descoberta de rotas específicas por parte de usuários não autorizados.
Campuscoders que contribuíram com a curadoria da semana: André Benjamim, Danilo Nascimento, Ederson de Lima, Matheus Almeida e Petra Grunheidt 💚