2 Fundamentos de system design que você deve saber - Blob Storage e Conexões peer-to-peer e e O que esperar do github copilot X
Vou te ensinar dois fundamentos super importantes se tratando de fundamentos de system design e também te contar um pouco da palestra que assistir do CEO o Github Thomas Dohmke sobre Copilot-X
BLOB STORAGE
Sabe quando você precisa de uma flexivel para armazenar seus dados, escalável e econômica não estruturados em uma nuvem?
Pois bem todas essas necessidades é algo que o blob storage ve m pra resolver.
A palavra “Blob” é uma abreviação de Binary Large Object, que se refere a qualquer tipo de dado que não seja estruturado de maneira tradicional, como texto ou números em um banco de dados.
O armazenamento de blob é um tipo de armazenamento em nuvem que é projeto especificamente para armazenar dados nao estruturados (como XML, ou dados muito grandes, vídeos, documentos, imagens).
Pense nisso como um grande container onde você pode armazenar qualquer tipo de objeto digital.
Você pode acessar esses objetos de qualquer lugar do mundo usando uma URL exclusiva gerada pelo serviço de armazenamento provido.
Blob Storage é perfeito para hospedar imagens para sites, armazenar arquivos de log e muito mais de forma mais econômica.
Nesse exemplo que aparece na tela, um servidor que hospeda logs que são armazenados no serviço de armazenamento do mesmo. Um analisador de log recupera os arquivos de log do armazenamentos de blob e analisa os dados.
Os resultados são exibidos em um painel de infos para análise posterior e tomada de decisão caso necessário.
CONEXÕES PEER-TO-PEER
As conexões P2P são uma forma de referencia a forma dos computadores ou dispositivos se conectarem diretamente entre si pela internet, sem ter a necessidade de um servidor centralizado.
Em uma rede P2P cada dispositivo é cliente e servidor, o que significa que pode receber e transmitir dados.
Um exemplo bem bacana de conexões P2P é o compartilhamento de arquivos.
Digamos que você queira compartilhar um grande arquivo com alguém. Em um modelo client-server tradicional, você iria carregar o arquivo para um servidor central e essa outra pessoa faria o download desse servidor. Mas em uma rede P2P você simplesmente enviaria o arquivo diretamente para o aparelho dessa pessoa, sem a necessidade de que um servidor venha intermediar a transferência.
As conexões P2P podem oferecer várias vantagens, como ganho de velocidade, maior privacidade e mais resiliência diante de interrupções ou ataques de rede. No entando elas també podem ser mais dificeis de configurar e gerenciar do que as redes client-server.
Pra finalizar você deixar aqui esse diagrama que fiz que exemplifica bem a diferença entre um uma conexão client-server e uma peer-to-peer
A esqueda esta uma rede client-server tradicional, onde o arquivo é carregado em um servidor central, e em seguida baixado pelo destinatario.
À direita esta uma rede P2P, onde o arquivo é transferido diretamente entre 2 dispositovs sem a necessidade de um servidor.
Como você pode ver em uma rede P2P, cada dispositivo pode atuar tanto como cliente como servidor, permitindo a comunicação direta entre os dispositivos.
O que esperar do Github Copilot X?
Estive um dia do mês de Maio numa palestra do Thomas sobre o Github Copilot X, foi simplesmente surreal o tanto de novidade e quanto o copilot melhorou….
Mas antes vamos falar primeiro o GitHub Copilot X é uma ferramenta de inteligência artificial (IA) criada pela GitHub, que é uma plataforma muito popular para hospedar projetos de código-fonte aberto. O Copilot foi desenvolvido em parceria com a OpenAI e é alimentado por um dos modelos de IA mais avançados do mundo, chamado GPT (Generative Pre-trained Transformer).
A principal função do Copilot é ajudar os devs a terem um “pair programming” produdixo por IA para ajudar a codar de forma mais efetiva, sugerindo trechos de código que podem ser úteis para o projeto em que estão trabalhando. O programa utiliza a tecnologia de "linguagem natural", o que significa que ele pode entender a linguagem natural que os devs usam para descrever o que querem fazer e, em seguida, gerar o código correspondente.
O github Copilot é uma extensão o Github que você pode utilizar no seu VSCode ou editor que prefira, e, em seguida, digita um pedaço de código ou uma descrição do que deseja fazer. O Copilot então analisa seu código e sua descrição e sugere trechos de código que podem ser úteis para você. Você pode aceitar ou rejeitar essas sugestões e, com o tempo, o Copilot aprende mais sobre o seu estilo de codificação e pode oferecer sugestões ainda mais precisas e úteis.
Mas e o Copilot-X?
O mesmo ainda não foi lançado, mas está na versão beta e no meetup que fui na qual o Thomas estava ele apresentou como que está evoluído a ponto de se você perguntar assuntos que não sejam referentes ao código o mesmo já envia mensagem dizendo que apenas responde questões sobre o cóigo em questão!
Mais informações tem no artigo que o próprio Thomas escreveu anuncionano o Github Copilot X.
https://github.blog/2023-03-22-github-copilot-x-the-ai-powered-developer-experience/
Eu fiz umas demos muito legais utilizando copilot e estou entrando no grupo beta tester, se quiser saber mais sobre isso comenta aqui na newsletter que posso trazer pra você na prática minhas percepções!
Ei, sou Ana Neri e se você gostou desse conteúdo não esqueça de compartilhar e curtir para ajudar na produção de conteúdo gratuito e também para eu saber se o conteúdo que estou produzindo está agregando a você.
E também me acompanhe nas outras redes como @ananeridev
Muito boa sua news, Ana! Já vamos acompanhar por aqui! 👊👊
Sucesso!