Entendendo Linux – Como instalar programas

Ultimamente tenho visto muitas pessoas desenvolvedoras que estão iniciando na área e se viram forçadas a usar Linux como ambiente de desenvolvimento e pela minha experiência a transição para quem vem no Windows não é tão fácil. Nos cursos e no trabalho com o foco em desenvolvimento ficam algumas lacunas sobre os princípios desse sistema operacional.

Por isso vou iniciar essa série de posts com alguns fundamentos desses sistemas, com uma linguagem simplificada e sem me aprofundar nos termos técnicos. Após uma breve pesquisa o primeiro artigo é sobre instalação de programas.

Continuar lendo Entendendo Linux – Como instalar programas

Integrando uma aplicação PHP com Apple Wallet

Os aplicativos de carteira digital ou wallet podem armazenar cartões de membro, ingressos, passagens, cupons, etc. que possam ser vinculados a algum tipo de código de barras ou código 2D (como o QrCode). Entre suas vantagens destaco a economia de papel, a tranquilidade de não precisar lembrar de pegar o ingresso antes de sair e a praticidade de ter todos esses dados acessíveis sem carregar nada a mais na carteira física. Além do Apple Wallet existem apps de terceiros para Android.

No início desse mês recebi uma demanda de integração com Apple Wallet em um sistema de check-in que gera QrCode para uso presencial no estabelecimento, muito semelhante ao processo de check-in antecipado de passagens aéreas.

Nunca havia feito a integração com nenhum serviço da Apple encarei essa tarefa como um desafio. Nesse artigo foco mais no processo de resolução do problema do que nos aspectos técnicos.

Continuar lendo Integrando uma aplicação PHP com Apple Wallet

Observando mudanças de arquivos com PHP

Essa semana estou criando um gerador de site estático consumindo a API do WordPress e após uma dúzia de vezes que precisei abrir o terminal para recompilar o site fui atrás de uma opção mais eficiente.

Quem já trabalhou com WebPack, Sass, Vue.js, etc. já deve ter experimentado a opção watch para automatizar o processo de recompilar assim que os arquivos são modificados. É isso que eu quero no meu projeto!

Continuar lendo Observando mudanças de arquivos com PHP

Breve atualização sobre conversão para WebP

Depois da última otimização do meu site/portfólio fiquei meio viciado em otimizar as imagens mas usar uma página web para converter não estava sendo muito produtivo. Primeiro procurei uma API para integrar a conversão pro site do @nerdiva_psi mas só encontrei opções pagas. Parti para as CLI (interface de linha de comando) e me surpreendi com o resultado. Continuar lendo Breve atualização sobre conversão para WebP

Buscando pontuação 100% no PageSpeed Insight

resultado PageSpeed Insights

Já faz algum tempo que criei uma página de portfólio no GitHub pages: https://pedrosancao.github.io/. Não usei nenhuma biblioteca CSS ou JS então desde o início ela sempre teve bom desempenho no PageSpeed. Mas meu foco sempre foi desktop e otimizações para celular foram negligenciadas.

A algumas semanas fui conferir a pontuação e para minha surpresa me deparei com um placar amarelo e a pontuação na faixa dos 80%. Mas agora o PageSpeed mostra a avaliação para celular primeiro, a avaliação de desktop continuava verde, em 95%.

Continuar lendo Buscando pontuação 100% no PageSpeed Insight

Requisições assíncronas consecutivas com Promise

Realizar requisições AJAX consecutivas é uma necessidade com a qual tenho me deparado de tempos em tempos e as soluções que criei tem melhorado e hoje estou satisfeito com o resultado.

O desafio é fazer uma requisição terminar antes da próxima ser enviada, para impedir que sejam enviadas várias requisições simultâneas que vão sobrecarregar o servidor ou causar um bloqueio temporário para a API que está sendo consumida.

Continuar lendo Requisições assíncronas consecutivas com Promise

Solução definitiva de remoção de acentos

Remoção de acentos é um assunto recorrente. No StackOverflow em português tem 83 perguntas sobre o assunto, que vão muito além de perguntas duplicadas. Na minha carreira já me deparei várias vezes com essa necessidade e imagino que seja assim com você também.

Apresento então a solução final para remoção de acentos, que pode funcionar em qualquer linguagem de programação: utilizar a Forma de Normalização Unicode “NFD” (Unicode Normalization Form Canonical Decomposition) seguida por substituição com expressão regular por propriedades unicode ou intervalo de caracteres. Continuar lendo Solução definitiva de remoção de acentos