Tive a impressão, lendo alguns tutoriais em português, que o material estava um tanto desatualizado. Isso me fez perder algum tempo tentando entender o que eu estava fazendo de errado até entender que: eu não estava fazendo nada errado. O passo a passo estava correto, mas a forma de chamar as APIs do Elastic Search é que haviam mudados. Faço esse post para não me deixar esquecer de como funciona e também para facilitar a vida de quem quer subir um container local para desenvolvimento ou para brincar antes de jogar para produção.
Continue lendoDocker Cron
Uma demanda bem diferente, um container cujo único proposito em vida é ter o cron rodando. Na verdade, um pouco mais que isso, mas não vem ao caso. O ponto é como fazer um container chamador de cron?
Para os apressados a solução é rodar o cron em foreground. Dessa forma ele segura o container e ele não morre de cara.
ENTRYPOINT ["cron", "-f"]
Swap File – Por quê?
Tenha.
Quando você pega uma VM você paga pela RAM e pelo espaço em disco e a cloud te aluga RAM e espaço em disco. No entanto, se a VM vier automaticamente com um swap ativo a cloud vai precisar dispor de mais disco swap + o acordado. Se uma VM tem 512mb de RAM e 20Gb de disco, teria que dispor de pelo menos 256mb de swap, imagina essa escala para uma cloud com milhões de VMs. Por isso as VMs de diversas clouds vem sem SWAP File e deixa para você a responsabilidade de ativar! <3
Continue lendoWordPress – Perdendo Qualidade de Imagem e Deixando as Opacas
Se você é apressado: instale o modulo “imagick” do PHP
No Ubuntu/Debian: apt install imagick-php7.2
PECL : pecl install imagick
O WordPress tem uma classe abstrata chamada WP_Image_Editor. Há duas outras classes que a estendem chamadas WP_Image_Editor_GD e WP_Image_Editor_Imagick. Para que nós não tenhamos que criar uma função para escolher entre as classes há uma no core do WP chamada wp_get_image_editor(), que automáticamente escolhe uma das duas classes disponíveis.
Continue lendoGoogle Analytics – GA event tracking não funcionando
Olá!
Se você veio aqui por quê você acabou de colocar as novas tags do Google Analytics e achou que a antiga função do “ga()” para enviar eventos iria funciona e não funcionou você veio ao lugar certo! Continue lendo
Magento 2 – alterar a quantidade mínima de caracteres da senha
Introdução
Em um post anterior montei um passo a passo de como alterar a complexidade da regra de validação da senha dos usuários no Magento 2. Para complementar aquele, estou postando esse em que eu faço um passo a passo de como alterar a quantidade mínima de caracteres da senha. Continue lendo
Magento 2 – alterar a complexidade da regra de validação da senha
Introdução
Agora com o Magento 2 ficou muito fácil alterar a complexidade da regra de validação da senha cadastrada pelo usuário. Por padrão o Magento 2 usa três tipos de caracteres entre (letras caixa baixa, letras caixa alta, números e caracteres especiais). Continue lendo
Removendo os emojis do header do WordPress
Volta e meia montando um tema nos deparamos com algumas tags que o WordPress põe como padrão como o emojis e o embed (sim é possível remover isso também).
Essas tags deixam visualmente um tema básico ou baseado nos temas do WordPress elegante e visualmente iinteressante. Mas são desnecessários quando você está montando um tema já com o html pronto! Então segue abaixo um conjunto de comando de remove_actions para tirar esses carinhas do header do seu tema.
Acompanhamento de Progresso no cURL com PHP
Utilizo com certa frequencia o cURL em meus projetos e adoro ele por conta de todas as possibilidades que ele nos dá, principalmente com o envio de cabeçalhos. Mas uma novidade para mim foi descobrir que era possível o acompanhamento de progresso no cURL com PHP.
Achei isso simplesmente fantástico! Estava com um problema em que uma aplicação não conseguia fazer o download de arquivos muito grandes, mas como saber onde era o problema? Procurando na internet toda encontrei callback do cURL para PHP que nos avisa a toda vez que um pedaço do arquivo é baixado ou subido. Continue lendo
PHP Curl Timeout e ConnectTimeout
Encontrei um problema no usando o php curl timeout . Problema relativamente leve no meu código. Utilizando o cURL para fazer o download de arquivos em um dos meus projetos me deparei com o cancelamento do download. Debugando inicialmente pensei que o arquivo que estava baixando estivesse corrompido, mas não estava, conferi todas as fontes e elas estavam perfeitas.
Segundo achei que fosse o tempo de execução do PHP, mas reparei que estava usando ele em CLI, logo não teria esse problema.
Terceiro alguma merendagem minha na configuração do cURL, esse dentre os dois primeiros tinha altas chances de ser a correta, ou a incorreta. Depende da interpretação. Esse era mesmo o problema, mas como ter certeza disso? Debugando!
Observando o código que eu tinha que está abaixo, é possível ver que ele é um código simples que qualquer tutorial de php cURL na internet te ensina a montar. Continue lendo
NGINX 413 Request Entity Too Large Error
Me deparei com uma “merendagem” na configuração do NGINX (nginx 413 request entity too large). Tentava enviar um arquivo encodado na base64 para um servidor recém inaugurado quando encontrei dificuldades para enviar alguns arquivos. De inicio imaginei que pudesse ser um problema na origem, do servidor que estava enviando, debugando descobri que o CURL estava dando timeout por conta do enorme tamanho do arquivo e da pequena banda larga, resolvido neste post.
Depois de resolver esse problema, o arquivo continuava a não subir, até que analisando o log de retorno vi a linda mensagem: 413 Request Entity Too Large Error and Solution Continue lendo
Problemas com a quantidade de itens no carrinho
Trabalhando junto com um cliente fizemos a atualização da versão do seu Magento da 1.7 para a 1.9. Fora um ou outro pequeno contratempo podemos dizer que a atualização correu de forma limpa. No entanto, eis que nos deparamos com um problema, que até então eu nunca tinha visto, a quantidade de itens no carrinho de nenhum produto era atualizado!
Toda a atualização correu bem e apesar de todos os testes que fizemos essa passou em branco. Acontece que desde a versão 1.8 do Magento ele trás um mecanismo de proteção contra CSRF em alguns formulários. Logo se você tem o Magento e o seu tema utiliza uma página de carrinho própria ( cart.phtml ) e você está enfrentando o mesmo problema com a quantidade de itens que não são atualizadas no carrinho você pode seguir os seguintes passos: Continue lendo