Fabio Akita
Fabio Akita
  • 143
  • 21 466 685
Configurando Docker Compose, Postgres, com Testes de Carga - Parte Final da Rinha de Backend
Não podia terminar o ano com pendências, então eis a parte final da Saga da Rinha de Backend. Neste video vou aproveitar os temas da rinha pra demonstrar em mais detalhes como configurar um Docker Compose de verdade, como funciona testes de carga com Gatling, como usar esses dados pra configurar coisas como o Postgres melhor. Também vamos ver como avaliar exatamente quanto pesa rodar SQL num Postgres, como determinar coisas com tamanho de pool de conexões e muito mais!
Hoje é dia de aprender ferramentas que todo programador deveria mesmo saber no dia a dia de projetos de verdade.
## Capítulos
00:00:00 - Intro
00:01:03 - CAP 01 - Minhas Pendências da Rinha - Como Começar?
00:03:28 - CAP 02 - Entendendo Docker Compose - PHP do Lauro
00:07:38 - CAP 03 - Aprendendo a Lidar com Poucos Recursos - Configurando NGINX
00:15:33 - CAP 04 - Gargalos de Docker - Network Mode: Host
00:21:41 - CAP 05 - Prefira Docker em Linux - Problemas em Mac e Windows?
00:26:51 - CAP 06 - Algumas Dicas de Docker Compose - Node do Lucas Weis
00:30:21 - CAP 07 - Básico de Testes de Carga - Gatling
00:44:26 - CAP 08 - Comparando com Network Mode HOST - Faz diferença??
00:52:53 - CAP 09 - Entendendo PostgreSQL - Banco era Gargalo??
01:01:12 - CAP 10 - Full Text Search no PostgreSQL - Faz diferença??
01:07:35 - CAP 11 - Estratégia de SQL com EXPLAIN ANALYZE - SQL por baixo dos panos
01:16:11 - CAP 12 - Quantas Conexões Configuro no Banco? - Medindo com pgAdmin
01:23:34 - CAP 13 - Discutindo sobre Linguagens - Kotlin e Crystal
01:31:05 - CAP 15 - Como Linguagens afetam Recursos do Banco? - Só a saber, sobre threads vs fibers
01:35:00 - Bloopers
## Links
* [Repositório Oficial da Rinha](github.com/zanfranceschi/rinha-de-backend-2023-q3)
* [GitHub Versão Node.js do Lucas Poole](github.com/lukas8219/rinha-be-2023-q3)
* [GitHub Versão PHP do Lauro Appelt](github.com/lauroappelt/rinha-de-backend-2023)
* [GitHub - akitaonrails/rinhabackend-rails-api](github.com/akitaonrails/rinhabackend-rails-api)
* [Docker Network Mode Host](docs.docker.com/network/drivers/host/)
* [Gatling](gatling.io/docs/gatling/tutorials/installation/)
* [Vegeta](github.com/tsenart/vegeta)
* [HAProxy - The Reliable, High Perf. TCP/HTTP Load Balancer](www.haproxy.org/)
* [Envoy proxy - home](www.envoyproxy.io/)
* [Reverse proxy quick-start - Caddy Documentation (caddyserver.com)](caddyserver.com/docs/quick-starts/reverse-proxy)
* [GitHub - jesseduffield/lazydocker: The lazier way to manage everything docker](github.com/jesseduffield/lazydocker)
* [How to Insert Bulk Data in PostgreSQL - CommandPrompt Inc.](www.commandprompt.com/education/how-to-insert-bulk-data-in-postgresql/)
* [pgAdmin - PostgreSQL Tools](www.pgadmin.org/)
* [Spring Initializer](start.spring.io/)
* [Kotlin Programming Language (kotlinlang.org)](kotlinlang.org/)
* [The Crystal Programming Language (crystal-lang.org)](crystal-lang.org/)
* [Lucky - Web framework for Crystal (luckyframework.org)](luckyframework.org/)
* [O que é a pilha ELK? | Explicação sobre a pilha Elasticsearch, Logstash, Kibana | AWS (amazon.com)](aws.amazon.com/pt/what-is/elk-stack/)
* [O que é Elasticsearch - Explicação sobre o mecanismo Elasticsearch - AWS (amazon.com)](aws.amazon.com/pt/what-is/elasticsearch/)
* [Redis and Memcached-Compatible Cache - Amazon ElastiCache - Amazon Web Services](aws.amazon.com/elasticache/)
* [Apache Kafka totalmente gerenciado | Amazon MSK | Amazon Web Services](aws.amazon.com/pt/msk/)
* [Working with read replicas for Amazon RDS for PostgreSQL - Amazon Relational Database Service](docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PostgreSQL.Replication.ReadReplicas.html)
* [Improve database performance with connection pooling - Stack Overflow](stackoverflow.blog/2020/10/14/improve-database-performance-with-connection-pooling/)
* [How Postgres Makes Transactions Atomic (brandur.org)](brandur.org/postgres-atomicity)
* Podcast: podcasters.spotify.com/pod/show/akitando/episodes/Akitando-149---Configurando-Docker-Compose--Postgres--com-Testes-de-Carga---Parte-Final-da-Rinha-de-Backend-e2daih7
* Transcript: www.akitaonrails.com/2023/12/16/akitando-149-configurando-docker-compose-postgres-com-testes-de-carga-parte-final-da-rinha-de-backend
Переглядів: 86 511

Відео

O que IAs podem fazer? | Exemplos de Ferramentas
Переглядів 91 тис.6 місяців тому
Sim, este episódio foi inteiramente gerado por ferramentas de IA, em particular HeyGen e ElevenLabs. Fiz bem curto pra não ficar cansativo demais. Mesmo sendo impressionante, no atual estágio não é possível fazer videos do tamanho que costumo fazer no canal. Primeiro, o HeyGen não consegue fazer videos maiores do que 1 minuto sem que a qualidade decaia muito. Eu tentei fazer videos de mais de 2...
Criptografia na Prática - Certificados, BitTorrent, Git, Bitcoin
Переглядів 68 тис.7 місяців тому
Como que se geram chaves secretas pra encriptação? Pra que servem pares de chaves? Como certificados funcionam? Qual a diferença de impressão digital e assinatura digital? Como tudo isso funciona junto e chega em coisas como BitTorrent, Git ou Bitcoin? Já tinha feito 2 videos falando do básico de criptografia, hoje é dia de ver como essas coisas funcionam na prática e são usados em aplicações d...
Protegendo e Recuperando Dados Perdidos - Git, Backup, BTRFS
Переглядів 56 тис.8 місяців тому
Fazia tempo que queria fazer um último episódio à playlist de armazenamento trazendo um pouco mais de BTRFS. Aproveito pra adicionar mais sobre Git, Docker tudo voltado ao tema de como não perder dados nunca mais e até como recuperar dados numa emergência. Tudo que você nem sabia que queria saber sobre armazenamento e gerenciamento de dados no seu HD. Errata Eu falei em separar o /boot numa par...
16 Linguagens em 16 Dias: Minha Saga da Rinha de Backend
Переглядів 163 тис.9 місяців тому
A Rinha de Backend que aconteceu em Agosto de 2023 foi muito divertida. Eu só fiquei sabendo quando acabou, mas não quer dizer que não pude me divertir. Hoje quero resumir tudo que eu fiz nos 16 dias seguintes do evento, detalhes sobre os projetos dos participantes, a controvérsia do Ranking de Linguagens, quais os truques por trás dos vencedores, e como você também poderia ser um vencedor! Fin...
Modelagem de Software é Difícil? | "Ver" vs "Enxergar"
Переглядів 142 тис.10 місяців тому
Um dos assuntos que mais assusta iniciante é esse negócio de "modelagem de software" ou "design de software" ou "arquitetura de software". Vários nomes que parecem ser a mesma coisa e ao mesmo tempo não serem coisa nenhuma. Hoje quero "filosofar" um pouco pra dar uma perspectiva diferente de como se deve encarar esses assuntos e talvez uma estratégia de como realmente entender como isso funcion...
Discutindo sobre Banco de Dados - Dos primórdios a Big Data
Переглядів 166 тис.11 місяців тому
Não se pode ser um bom programador sem entender de verdade como bancos de dados funcionam. E não se pode entender banco de dados sem entender algoritmos e estruturas de dados. E hoje vou mostrar como dos primeiros bancos de dados dos anos 80 chegamos aos SQL e NoSQL atuais. Este video complementa meu video anterior "Fiz um Servidor de SQL?" e outros videos que vou referenciando ao longo deste. ...
Entendendo Como ChatGPT Funciona - Rodando sua Própria IA
Переглядів 385 тис.Рік тому
Não, AGI não está próximo de acontecer. Quais são os limites da atual tecnologia de transformadores generativos pré-treinados, vulgo GPT? O que são os tais "modelos" que eles usam? O que são os tais "parâmetros". Porque as IAs parecem humanas nas respostas? IAs vão substituir programadores?? Como é possível conseguir rodar um clone de ChatGPT na sua própria máquina, totalmente offline? Vamos re...
Conversando sobre TDAH, Autismo, Ansiedade e Depressão | Tirando a Camisa de Força
Переглядів 244 тис.Рік тому
Assunto delicado mas importante. Muitos não sabem que podem ter transtornos neurológicos como TDAH, Autismo, que podem ser a razão de crises de ansiedade, depressão. E isso pode estar afetando seu aprendizado, sua carreira e seus relacionamentos. Vamos entender o que de fato são esses transtornos, como eles se manifestam, como funcionam e o que você poderia fazer. Erratas Em 13:27 a legenda diz...
Desbloqueando o "Algoritmo" do Twitter - Introdução a Grafos
Переглядів 118 тис.Рік тому
O Twitter liberou parte do código que chamou de "The Algorithm", que forma o sistema que popula a aba de recomendações "Para Você". Vamos entender qual é o contexto de ciência da computação e história necessários pra começar a entender esse código todo. E uma pequena introdução à ciência por trás de recomendações e grafos em geral. Finalmente, vou poder mostrar na prática a diferença de "código...
Entendendo Funcionamento de Containers
Переглядів 100 тис.Рік тому
Finalmente vou pagar promessa. Este é o video sobre containers e Docker que venho falando faz vários videos atrás, que ia fazer. Mas eu precisava explicar a instalação, como Linux boota, como funciona virtualização, pra finalmente chegar em containers. Então este episódio vai amarrar tudo que vocês aprenderam nos videos de Linux, de armazenamento, etc e finalmente vão entender containers do jei...
Meu Começo de Carreira Durante a Bolha - 1997 a 2002, Bug do Milênio, Crash
Переглядів 67 тис.Рік тому
Já tinha feito videos sobre antes de 1997 e sobre depois de 2002, ficou faltando contar justamente sobre como foi meu começo de carreira, a transição da faculdade pros primeiros empregos, de agência a pontocom, de CD-ROMs pra Web, tudo que eu passei no final dos anos 90 até a virada do século, incluindo o Bug do Milênio. Muitos agora começando carreira ou vendo o atual Crash da Bolha Tech estão...
Games em Máquina Virtual com GPU Passthrough | Entendendo QEMU, KVM, Libvirt
Переглядів 81 тис.Рік тому
Este episódio levou literalmente MESES pra eu conseguir fazer. Entre atualizar o hardware da minha máquina, testar todo tipo de combinação de configuração, até conseguir rodar jogos da Steam, num Windows virtualizado, a quase mesma velocidade que nativo. Hoje vamos entender o que é QEMU, KVM, Libvirt, como passar uma GPU da NVIDIA diretamente pra dentro de uma VM, e como garantir a máxima perfo...
Python? Java? Rust? Qual a Diferença? | Discutindo Linguagens
Переглядів 213 тис.Рік тому
Python? Java? Rust? Qual a Diferença? | Discutindo Linguagens
ChatGPT Consegue te Substituir? | Entendendo Jobs Assíncronos
Переглядів 229 тис.Рік тому
ChatGPT Consegue te Substituir? | Entendendo Jobs Assíncronos
Top 3 Distros Linux | Qual Recomendo?
Переглядів 197 тис.Рік тому
Top 3 Distros Linux | Qual Recomendo?
Tornando sua App Web Mais Rápida! | 4 Técnicas de Otimização
Переглядів 131 тис.Рік тому
Tornando sua App Web Mais Rápida! | 4 Técnicas de Otimização
Rant: A Bolha de Startups Estourou?
Переглядів 177 тис.Рік тому
Rant: A Bolha de Startups Estourou?
Sua Segurança é uma DROGA | Gerenciadores de Senhas, 2FA, Encriptação
Переглядів 255 тис.Рік тому
Sua Segurança é uma DROGA | Gerenciadores de Senhas, 2FA, Encriptação
Rant: Projetos, TESTES e Estimativa??? | Rated-R
Переглядів 90 тис.Рік тому
Rant: Projetos, TESTES e Estimativa??? | Rated-R
Apanhando do Gentoo | Melhor Linux???
Переглядів 64 тис.Рік тому
Apanhando do Gentoo | Melhor Linux???
Entendendo Pacotes com Slackware | Deb, Apt, Tarbals
Переглядів 40 тис.Рік тому
Entendendo Pacotes com Slackware | Deb, Apt, Tarbals
Como Funciona o Boot de um Linux? | O que tem num LiveCD?
Переглядів 105 тис.Рік тому
Como Funciona o Boot de um Linux? | O que tem num LiveCD?
Criando uma Rede Segura | Introdução a Redes Parte 6 - VPN e NAS
Переглядів 64 тис.Рік тому
Criando uma Rede Segura | Introdução a Redes Parte 6 - VPN e NAS
Burlando Proxies e Firewalls | Introdução a Redes Parte 5 - SSH
Переглядів 65 тис.Рік тому
Burlando Proxies e Firewalls | Introdução a Redes Parte 5 - SSH
Como Funciona Sockets, Cliente, Servidor e a Web? | Introdução a Redes Parte 4
Переглядів 81 тис.Рік тому
Como Funciona Sockets, Cliente, Servidor e a Web? | Introdução a Redes Parte 4
Como sua Internet Funciona | Introdução a Redes Parte 3
Переглядів 82 тис.Рік тому
Como sua Internet Funciona | Introdução a Redes Parte 3
Detecção e Correção de Erros | Introdução a Redes Parte 2
Переглядів 75 тис.Рік тому
Detecção e Correção de Erros | Introdução a Redes Parte 2
Introdução a Redes: Como Dados viram Ondas? | Parte 1
Переглядів 204 тис.Рік тому
Introdução a Redes: Como Dados viram Ondas? | Parte 1

КОМЕНТАРІ

  • @pedrolucasdiass
    @pedrolucasdiass 20 годин тому

    55:53 - Locaweb 01:05:25 - Code Miner 42

  • @Marciodonascimento-h3v
    @Marciodonascimento-h3v 20 годин тому

    Pelomenos temos que gostar daquilo que estamos fazendo…amar já seria uma definição par não fazer mais nada na vida além daquilo

  • @isaacnewton4462
    @isaacnewton4462 21 годину тому

    "Cresce e aja como profissional" 👏👏Tô num loop infinito nos vídeos do Akita

  • @emanuelsilva9273
    @emanuelsilva9273 22 години тому

    Só uma observação: muitos professores de universidades não possuem habilidade NENHUMA de ensino. E digo mais: atualmente os novos professores estão utilizando universidades como instrumento de interesse e poder. A maioria são alunos de professores que estão se aposentando ou são alunos até de cônjuges de professores que estão se aposentando. Esses novos professores que estão entrando em universidade possuem em média 35 anos, com pouca experiência e muito marketing de carreira no currículo ( o que aparenta alguma experiência - doutorado e mestrado mas não possuem caráter algum) . Esse tipo de gente por exemplo faz contato com grandes empresas para poder estabelecer conexão com pessoas em altos cargos para assim poder influenciar em indicações de oportunidades de emprego. Nestes universidade em questão eles indicam os preferidos. Esse preferidos são alunos que recebem critérios de avaliação mais fáceis em relação a outros alunos - Estamos vivendo tempos sombrios nesta época. É mais bonitinho se vestir bem, engomar uma casca de algum conhecimento, do que propriamente saber. Estou vivendo isso em uma universidade e isso é para agregar conhecimento a você, Fábio, visto que você é muito inteligente e tem realmente conhecimento sobre o mundo real.

  • @escultormariopitanguy
    @escultormariopitanguy 23 години тому

    Que aula.

  • @joicemonteiro7789
    @joicemonteiro7789 День тому

    Parabéns pelo vídeo. Esse é para entender de verdade as coisas. Sempre quis isso, mas muitas vezes tive que ir atropelando o aprendizado para entregar certas tarefas. Muito bom mesmo entender como toda essa tecnologia funciona por trás.

  • @yukiogabriel265
    @yukiogabriel265 День тому

    onde compro esse teclado ortolinear?