coding weekly #299

Newsletters - 26/Jun/2024 - por Campus Code
A sua newsletter da Campus Code • Edição 299 - Junho de 2024

Hey! Tudo bem?

Para compreender o conceito de programação assíncrona e obter mais da sua máquina, é importante entender o funcionamento de concorrência e paralelismo. Os conteúdos desta edição vão te mostrar desde explicações mais simples, como a base de cada um, até o uso de background jobs e desafios como race conditions, entre outros.

Você também vê regras customizáveis para Prettier + Eslint em React, como ser mais eficiente na obtenção de amostras aleatórias de grandes tabelas em PostgreSQL, um olhar sobre funções JavaScript com múltiplos parâmetros, um olhar sobre as vantagens do Emacs sobre outros editores e vai ver uma análise sobre cookies e tokens, além do seu uso e armazenamento.

Boa leitura!

CONCORRÊNCIA E PARALELISMO

Ilustração criada por IA de uma corrida com 4 pessoas.

Gerado por IA.

Paralelismo e Concorrência 101

Concorrência é a capacidade do sistema de tratar múltiplas tarefas ao mesmo tempo, já paralelismo é a execução simultânea de tarefas. Com assuntos que abordam desde os tipos de aplicações que podem ser concorrentes, paralelas ou ambas, este artigo apresenta também a diferença entre tarefas que usam mais CPU ou I/O, e como isso impacta na escolha por concorrência ou paralelismo.

Concorrência e Paralelismo em Ruby

Mais que os conceitos de concorrência e paralelismo, o artigo mostra que, em Ruby, concorrência está ligada a threads e paralelismo a processos. O autor demonstra, também, como background jobs usam concorrência para esperar por operações de I/O.

Sistema de Design - Paralelismo, Concorrência e Multithreading

Este artigo aborda conceitos importantes sobre programação concorrente e paralela, utilizando como exemplo um churrasco para tornar os exemplos mais didáticos. Através de implementações em código para simular concorrência e paralelismo, explora desafios como race conditions, deadlocks e starvation.

CAMPUSCODERS INDICAM

Imagem gerada por IA de mulher sentada em frente ao computador. Na tela, são mostradas códigos
Regras customizáveis para Prettier + Eslint em React

O campuscoder Eduardo Gris mostra neste artigo como customizar as regras do Prettier e Eslint para padronizar código em projetos React. Ao explicar a configuração básica de ambas as ferramentas e suas principais regras, mostra a estrutura nos arquivos de configuração, seja para ativar, desativar ou alterar o comportamento de determinadas checagens. Por fim, lista várias regras customizáveis destacando suas funcionalidades, para que o leitor possa analisar quais se adequam melhor ao seu projeto.

Amostras aleatórias de grandes tabelas do PostgreSQL

Você já precisou obter inúmeras amostras aleatórias do PostgreSQL? Sabia que há uma maneira bastante eficiente para fazê-lo? Este artigo mostra as limitações da abordagem ORDER BY random() e introduz técnicas como amostragem de Bernoulli e TABLESAMPLE, além de amostragem em joins e cuidados a serem tomados de acordo com o tipo de relacionamento entre as tabelas.

Composição de funções JS com múltiplos parâmetros

Existem diversas técnicas para compor funções em JavaScript que recebem mais de um parâmetro, superando a limitação de apenas funções unárias poderem ser compostas. Neste artigo, o autor examina estruturas de dados compostas como arrays e objetos para encapsular múltiplos valores de retorno ou parâmetros e explora a aplicação parcial, curry e utilitários como ap() e flatMap() para transformar funções binárias em funções unárias e possibilitar a composição.

Acertos do Emacs e a preferência pelo vintage

Neste artigo, o autor compartilha suas percepções sobre as qualidades do editor de texto Emacs, desenvolvido há 50 anos, e destaca como a abordagem do Emacs, na qual qualquer ação do usuário é executada como um comando, torna possível editar atalhos de teclado e customizar o programa de forma fácil através da escrita de pequenos scripts, sem a necessidade de aprender uma API complexa.

Desmistificando cookies e tokens

Dois conceitos bastante usados na web mas que nem sempre são bem compreendidos: cookies e tokens. Neste artigo, o autor explica o conceito de cada um e apresenta os principais tipos, como funcionam, como são armazenados e onde cada um é utilizado, além de mostrar alguns protocolos como OAuth 2.0 e OpenID Connect que utilizam tokens para autenticação e autorização.

Campuscoders que contribuíram com a curadoria da semana: André Benjamim, André Kanamura, Eduardo Gris e Leandro Proença 💚

Campus Code