Mostrando entradas 1 para 10 de 649
Próximo 10 Entradas mais antigos »
Uso eficiente do mysqli_result::$num_rows

Eu frequentemente vejo esse padrão em aplicativos herdados usando mysqli:

$result = $mysqli->query("
    SELECT *
    FROM table_name
    WHERE conditions = 'whatever'
");
if ($result && $result->num_rows > 0) {
    return;
}

A intenção do desenvolvedor aqui é ver se existem quaisquer linhas no banco de dados que correspondam a uma determinada condição. Ele faz isso emitindo uma consulta. Em seguida, perguntando ao objeto do resultado quantas linhas ele tem. O desenvolvedor não quer realmente nenhum dado do resultado e não se preocupa com a contagem de linha em si; esta é apenas uma verificação para ver se ao menos uma linha existe no banco de dados.

Esta é uma má conservação de recursos. O banco de dados faz o trabalho necessário para selecionar todas as colunas para todas as linhas que correspondem às condições, aloca memória para elas e as retorna. Mas o desenvolvedor descarta tudo …

[Leia mais]
Serviços Windows em Docker

Oi, pessoal!

Já vimos em alguns artigos, por exemplo este, por exemplo, que é possível ter seu ambiente Windows em Docker, ou Docker para Windows. Pois bem, a intenção hoje é nos aprofundarmos mais em como é possível portar um ambiente já existente para dentro de containers no Windows, ou seja, veremos como migrar sua aplicação .Net que atualmente está em uma máquina virtual para um container. Isso de forma bem simples e rápida.

Do início

Antes de tudo, precisamos nos situarmos sobre o uso de algumas ferramentas, e aqui entra a parte fundamental desse processo, que é entender como funciona o Image2Docker. Para quem não conhece, este é um módulo do powershell que possibilita a criação de …

[Leia mais]
Guia de configuração de containers para aplicativos Java complexos

O sonho sagrado de todo desenvolvedor é reduzir o tempo de produção dos projetos através da automatização de processos DevOps e reduzir significativamente o custo de implementação de novas tecnologias. Para ajudar os desenvolvedores Java a conquistarem a onda da tecnologia de containers, reunimos vários tutoriais e estatísticas úteis dentro de um guia:

  • Migração de VM para Containers
  • Distribuição Automatizada de Tráfego para Implantação Blue-Green, Updates Zero Downtime e Failover Protection
  • Java e Limites de Memória em Containers: LXC, Docker e OpenVZ
  • Live Migration de Containers: Por Trás das Cenas
  • Ferramentas Java e Tecnologias Landscape Report 2016
  • Perfil do Desenvolvedor Java Bem Sucedido em 2016
  • Plataforma Java Elastic Cloud

Obtenha a versão completa dos …

[Leia mais]
Monitoração daqueles locais difíceis de alcançar: Linux, Java, Oracle e MySQL

Os ambientes de TI de hoje são cada vez mais heterogêneos, com Linux, Java, Oracle e MySQL considerados quase tão comuns quanto os ambientes tradicionais do Windows. Em muitos casos, essas plataformas foram integradas ao departamento de TI baseado em Windows de uma organização por meio de uma aquisição de uma empresa que se utiliza de uma dessas plataformas. Em outros casos, os aplicativos podem ter feito parte do departamento de TI por anos, mas eram gerenciados por um departamento separado ou um único administrador.

Mesmo assim, seja uma percepção da especialização necessária, frustração com as muitas combinações de versão dessas plataformas ou apenas incertezas e dúvidas gerais, Linux, Java, Oracle e MySQL criam confusão em massa no monitoramento e são considerados rotineiramente “difíceis de acessar” mesmo para um profissional de TI experiente. Esse problema ocorre nas duas vias (quando monitorar o Windows …

[Leia mais]
Atualização no Amazon Aurora: chame funções Lambda a partir de procedimentos armazenados; carregue dados do S3

Muitos serviços da AWS funcionam muito bem por si só, mas são ainda melhores juntos! Este aspecto importante do nosso modelo permite que você selecione um único serviço, aprender sobre ele, obter alguma experiência com ele, e, em seguida, estender o seu espaço para outros serviços relacionados com o tempo. Por outro lado, as oportunidades para fazer com que os serviços trabalhem em conjunto estão sempre presentes e nós temos algumas delas no nosso roteiro orientado para o cliente.

Hoje eu gostaria de falar sobre dois novos recursos para o Amazon Aurora, o nosso banco de dados relacional compatível com MySQL:

Invocação de Funções Lambda – Os procedimentos armazenados que você cria dentro dos seus bancos de dados Amazon Aurora pode agora podem invocar funções …

[Leia mais]
Dominando OAuth 2.0

OAuth 2.0 é o padrão de fato para autenticar usuários com sites de terceiros. Se você quiser acessar os dados de um usuário no Google ou Facebook, por exemplo, OAuth 2.0 é o que você precisa. Mas vamos encarar um fato: OAuth 2.0 não é fácil e, para piorar as coisas, parece que todos têm uma implementação ligeiramente diferente, tornando a interoperabilidade um pesadelo. Felizmente, a PHP League of Extraordinary Packages lançou a biblioteca league/oauth2-client. Visando à simplicidade e facilidade de uso, a league/oauth2-client fornece uma interface comum para acessar muitos provedores OAuth 2.0.

OAuth resolve um problema específico: minimiza a exposição a credenciais. Ele consegue isso através de subvenções de autorização. Você concede a um website acesso às informações de sua conta de outro site. O site do beneficiário, então, usa credenciais temporárias chamadas tokens de acesso para acessar suas Informações …

[Leia mais]
Atualização do Amazon Aurora – Leitura paralela adiantada, indexação rápida, consciência NUMA

O Amazon Aurora é, atualmente, o serviço AWS que cresce mais rápido!

Como um banco de dados relacional projetado para a nuvem (leia Amazon Aurora – New Cost-Effective MySQL-Compatible Database Engine for Amazon RDS para saber mais), o Aurora oferece um excelente desempenho, dimensionamento fácil do armazenamento até 64 TB, durabilidade e alta disponibilidade. Uma vez que o Aurora foi projetado para ser compatível com o MySQL, os nossos clientes têm sido capazes de mover suas aplicações existentes e construir novas com facilidade.

Com a compatibilidade do MySQL “em cima” e a arquitetura voltada para nuvem do Aurora “embaixo”, temos um monte de espaço para inovar. Podemos tornar o Aurora ainda mais eficiente e ainda mantê-lo compatível …

[Leia mais]
Como desenvolver uma solução de member get member em 24 horas

Desenvolver uma solução de member get member em 24 horas é, sem sombra de dúvida, um desafio. Com base nisso, o MercadoPago, empresa de solução de pagamentos online do Mercado Livre, chamou de Challenge Weekend o evento interno que realizou, reunindo desenvolvedores da empresa focados nessa missão: desenvolver uma solução de back-end que se encaixasse perfeitamente no aplicativo de ofertas para a Black Friday (Mercado Pago Ofertas). Esse aplicativo estava em processo de desenvolvimento e, por isso, mais do que nunca a comunicação entre as equipes envolvidas foi fundamental para o funcionamento e sucesso do projeto member get member.

A solução

Para atender à proposta nós, os integrantes da equipe vencedora do desafio, pensamos em um sistema separado em duas partes: uma API que provesse os serviços de geração de código de usuário e monitoramento de uma campanha de marketing (member get member) e um sistema de …

[Leia mais]
Dockerizando MySQL na Uber Engineering

O sistema de armazenamento Schemaless da Uber Engineering alimenta alguns dos maiores serviços da Uber, como o Mezzanine. Schemaless é um datastore escalável e altamente disponível no topo do grupo de clusters do MySQL[1]. Gerenciar esses clusters foi bastante fácil quando tínhamos 16 deles. Atualmente, temos mais de 1.000 clusters contendo mais de 4.000 servidores de banco de dados e isso requer uma classe diferente de ferramentas.

Inicialmente, todos os nossos clusters eram gerenciados pelo Puppet, um monte de scripts ad hoc e operações manuais que não podiam escalar no ritmo da Uber. Quando começamos a procurar por uma melhor maneira de gerenciar o crescente número de clusters do MySQL, tivemos alguns requisitos básicos:

[Leia mais]
Chame funções Lambda a partir de procedimentos armazenados

Muitos serviços da AWS funcionam muito bem por si só, mas são ainda melhores juntos! Este aspecto importante do nosso modelo permite-lhe selecionar um único serviço, aprender sobre ele, obter alguma experiência com ele, e, em seguida, estender o seu espaço para outros serviços relacionados com o tempo. Por outro lado, as oportunidades para fazer com que os serviços trabalhem em conjunto estão sempre presentes e nós temos algumas delas no nosso roteiro orientado para o cliente.

Hoje, eu gostaria de falar sobre dois novos recursos para o Amazon Aurora, o nosso banco de dados relacional compatível com MySQL:

  • Invocação de Funções Lambda – Os procedimentos armazenados que você cria dentro dos seus bancos de dados Amazon Aurora pode agora podem invocar …
[Leia mais]
Mostrando entradas 1 para 10 de 649
Próximo 10 Entradas mais antigos »