Configuração e Integração do Mycat com MySQL 8.x
O Mycat consolidou-se como um dos middlewares de banco de dados distribuídos mais robustos no ecossistema open-source. Ele atua como um proxy que permite sharding (particionamento), leitura e escrita separadas e alta disponibilidade. Integrar o Mycat com o MySQL 8.x exige atenção a detalhes específicos de autenticação e configuração de rede.
1. ...
Publicado em 7-25 23:00
Estratégias de Espera no Selenium WebDriver com Python
Em aplicações web modernas, a utilização de tecnologias como AJAX e frameworks JavaScript assíncronos torna o carregamento de elementos dinâmico. Isso significa que nem todos os componentes de uma página estarão disponíveis imediatamente após o carregamento do HTML básico, o que frequentemente causa a exceção ElementNotVisibleException ou NoSuc ...
Publicado em 7-25 21:52
Desenvolvendo uma Plataforma de Gerenciamento HAProxy
Entrodução
=============
Este artigo apresenta um script desenvolvido em Python para gerenciar configurações do HAProxy em sistemas Linux. A ferramenta permite consultar, adicionar e remover nós de backend de forma interativa.
Pré-requisitos
=================
O script foi testado exclusivamente em sistemas operacionais Linux. Para utilizá-l ...
Publicado em 7-25 20:12
Resolvendo Problemas Comuns no Framework PhiFlow
Visão Geral do PhiFlow
O PhiFlow é um framework de código aberto voltado para resolução de equações diferenciais parciais (PDEs) com diferenciação automática, voltado a aplicações de aprendizado de máquina. Escrito em Python, ele se integra nativamente a bibliotecas como NumPy, PyTorch, JAX e TensorFlow, permitindo a construção de pipelines dif ...
Publicado em 7-25 19:04
Instalação de Pacotes com pip em Ambientes Conda e Uso do Arquivo requirements.txt
Comportamento do pip em Ambientes Virtuais Conda
Ao utilizar o gerenciador de pacotes pip dentro de um ambiente virtual criado pelo Conda, a instalação será direcionada para o ambiente ativo, desde que algumas premissas sejam rigorosamente atendidas.
Ativação do Ambiente Virtual
Antes de executar qualquer comando de instalação, é fundamental ga ...
Publicado em 7-25 18:05
Guia Prático sobre Cookies e Sessões em Python
O protocolo HTTP é baseado em sem estado, o que significa que após uma solicitação e resposta entre o navegador e o servidor, a conexão é encerrada, sem reter informações do usuário. Isso leva à necessidade de mceanismos como cookies e sessões para manter o estado, permitindo funcionalidades como login automático e rastreamento de preferências ...
Publicado em 7-25 16:36
Entendendo e Lidando com Pacotes Aglomerados em Comunicações de Socket TCP
Em sistemas de comunicação que utilizam o protocolo TCP/IP, um desafio comum que desenvolvedores enfrentam é o conceito de "pacotes aglomerados" ou "sticky packets". Esse fenômeno ocorre porque o TCP, embora garanta a entrega confiável e ordenada dos dados, não impõe limites de mensagem na camada de aplicação. Isso significa ...
Publicado em 7-25 16:22
Dicas Essenciais de Python para Programação Eficiente
Processando Arquivos: Leitura e Hash MD5 por Linha
Ao trabalhar com arquivos, é comum precisar processar seu conteúdo linha por linha. Um caso de uso comum é calcular um hash criptográfico para cada linha, como MD5, para verificar a integridade ou para indexação. Python oferece ferramentas robustas para ambas as tarefas.
O módulo hashlib do Pyt ...
Publicado em 7-25 13:45
Exclusão de grandes volumes de dados em tabelas MySQL
Contxeto: O cliente relatou lentidão no carregamento da página, que não atualizava por muito tempo. Após investigação, descobriu-se que uma tabela continha cerca de 50 milhões de registros. A solução foi excluir os dados entigos, mantendo apenas os dos últimos seis meses.
Método de exclusão: exclusão em lotes, conforme descrito abaixo.
1. Verif ...
Publicado em 7-25 10:41
Deadlock: Entendendo, Diagnosticando e Prevenindo
O Conceito de Deadlock
Em programação concorrente, locks são frequentemente usados para sincronizar o acesso a recursos compartilhados e evitar condições de corrida. Um deadlock ocorre quando dois ou mais threads ficam bloqueados indefinidamente, cada um esperando que o outro libere um recurso que ele próprio mantém. Isso forma uma dependência ...
Publicado em 7-25 07:08