coding weekly #278

Newsletters - 31/Jan/2024 - por Campus Code
A sua newsletter da Campus Code • Edição 278 - Janeiro de 2024

Hey! Tudo bem?

Arquitetura de software diz respeito a uma série de definições sobre como um sistema deve ser organizado e sua estrutura geral. É um assunto de extrema importância e que impacta diretamente no sucesso de um projeto. Por isso, selecionamos alguns artigos para te ajudar a compreender aspectos que a influenciam e como fazer melhores escolhas de arquitetura.

Você também vê que cibersegurança não é uma disciplina isolada do desenvolvimento de software, porque não se deve simplesmente sair implementando bancos de dados, como é o sistema da Uber que rastreia a localização e disponibilidade dos motoristas em tempo real, um relatório sobre o atual estado da segurança na nuvem e as duras lições aprendidas durante o desenvolvimento do Vue 3.

Boa leitura!

ARQUITETURA DE SOFTWARE

Não é sobre microsserviços ou monolitos

Um dos embates mais populares em desenvolvimento de software atualmente é entre microsserviços e monolitos. Muitas vezes, a atenção se volta para aspectos que podem ser pouco relevantes quando estamos falando da escolha da arquitetura de uma aplicação. Aqui, o autor propõe que você deveria considerar o contexto específico e a carga cognitiva antes de avaliar qual arquitetura escolher para seu software.

Enfileiramento de mensagens ou streaming de eventos?

Enfileiramento de mensagens (message queues) e fluxos de eventos (event streams) são conceitos-chave quando se trata de arquitetura voltada para eventos. Esse artigo vai te ajudar a fazer a escolha certa para o contexto da sua aplicação considerando características distintas de cada abordagem, como a ordem de processamento, garantias de entrega e escalabilidade.

Antipatterns em arquitetura de software

Em desenvolvimento de software, além de aprendermos os padrões mais comuns para a arquitetura de uma aplicação, é importante compreendermos como não devemos fazer uma implementação. Ou seja, devemos conhecer bem os antipatterns para saber como evitá-los e superar as armadilhas do design.

CAMPUSCODERS INDICAM

Imagem em alusão a armazenamento de dados, com vários quadradinhos azul neon piscando numa tela e, no meio, alguns se tornam vermelhos, formando uma caveira.
Cibersegurança não é algo especial

Em algumas ocasiões, podemos ter a impressão de que a área de cibersegurança é um segmento separado dos demais em desenvolvimento de software, como se fosse especial, mais complexo. No entanto, essa forma de perceber a cibersegurança pode ser prejudicial de muitas maneiras e você descobre o porquê neste artigo.

Parem de implementar bancos de dados

No desenvolvimento de aplicações web há ocasiões em que a experiência de usabilidade pode ser melhorada com pequenos incrementos de funcionalidades que requerem armazenamento de dados. Com o tempo, esses pequenos incrementos podem levar à criação de toda uma estrutura de dados que se assemelha a bancos de dados, o que eleva a complexidade da aplicação. Apesar disso, existem soluções prontas e que oferecem vantagens, como os padrões de estruturas de dados otimizados para o front-end abordados nesse artigo.

Como Uber encontra motoristas próximos

A Uber é uma das empresas que se beneficia imensamente do software que entrega o serviço oferecido. Conheça melhor como esta aplicação encontra motoristas próximos no momento da solicitação de corridas e quais os desafios e complexidades envolvidos na criação desse sistema.

O atual estado da segurança na nuvem

Hoje, há uma enorme quantidade de serviços que são oferecidos pela nuvem e novas funcionalidades surgem com frequência. Consequentemente, configurar todos esses recursos de forma segura é um grande desafio. Esse relatório da Datadog traz análises das atitudes com relação à segurança na nuvem de milhares de organizações que utilizam AWS, Azure ou Google Cloud.

Duras lições aprendidas com Vue 3

Se você é profissional da área de desenvolvimento web (ou qualquer área em desenvolvimento de software), deve ter percebido como a criação de um produto evolui ao encontrar erros e superar os problemas. Isso não é diferente para as pessoas que criam as ferramentas que utilizamos na rotina de trabalho em programação. Esse artigo conta algumas lições aprendidas pelo criador do Vue.js ao desenvolver a versão 3 do framework.

Campuscoders que contribuíram com a curadoria da semana: André Benjamim e Renan Paffaro 💚

Campus Code