Modo noturno com CSS variables

Publicado em 16 jul 2020. Uns 5 minutos de leitura.

Quase todo sistema operacional hoje vem com suporte a definir um nível de "brilho" da interface, que geralmente tem dois valores: claro e escuro (light ou dark). As implementações modernas de CSS incluem suporte a verificar qual a preferência do usuário, se houver, e adaptar sua interface de acordo. Vamos implementar um modo noturno com CSS, usando CSS variables para deixar o código mais escalável e menos repetitivo!

Continuar lendo →


Animando um personagem com CSS e JavaScript

Publicado em 10 jul 2020. Uns 10 minutos de leitura.

CSS é uma parada poderosa. Apesar de, originalmente, servir para suportar o HTML e definir estilos para itens em um documento, a comunidade de desenvolvimento front-end mostrou que dá para fazer muito mais que isso e cria verdadeiras experiências com CSS, substituindo ferramentas de animação e imagens por linhas de código de folha de estilos. Juntando isso com o dinamismo de JavaScript, dá para criar interações bem legais diretamente na web, muitas vezes sem assets extra além do próprio código.

Esse post é um experimento para criar algo que não é novo, mas que é divertido e mostra algumas das capacidades de criar animações interativas com CSS e JS. Minha ideia é tentar fazer uma animação para acompanhar um formulário de login sem usar imagens ou outros recursos além de HTML, CSS e JS. Eu não sou um artista então não espere uma obra de arte. A ideia é, com pouco código, fazer um efeito que fique legal.

Continuar lendo →


Animações em JavaScript a 60 fps

Publicado em 6 jul 2020. Uns 5 minutos de leitura.

Na era do CSS moderno, eu falar em animações feitas com JavaScript pode fazer você achar que estou desenterrando cadáveres. Com o CSS atual, a vida de quem quer fazer animações bonitas e rápidas melhorou bastante. Infelizmente, nem tudo dá para animar com CSS ainda, e algumas coisas precisam ser feitas na mão, via JavaScript.

Continuar lendo →


Componentes com estado em Type­Script, estilo Clojure

Publicado em 4 jul 2020. Uns 5 minutos de leitura.

Uma das ideias da programação funcional é o uso de funções puras para definir a lógica da aplicação que você estiver fazendo. Isso traz várias vantagens, como a possibilidade de trabalhar com estruturas de dados imutáveis, o que diminui ou elimina uma classe de problemas de concorência.

Isso é muito bonito, e eu recomendo essa abordagem, mas em algum momento você (tomara) vai precisar causar efeitos colaterais no universo. Seja ler ou escrever num banco de dados, interagir com um servidor ou cliente HTTP, com o sistema de arquivos, e por aí vai. E, nessa hora, separar estes efeitos colaterais ajuda muito a não misturar, sem querer, com a lógica que deveria ser pura.

Continuar lendo →


Tipos complexos de métricas no Prometheus

Publicado em 30 jun 2020. Uns 7 minutos de leitura.

O Prometheus, além dos tipos primitivos de métricas, possui dois tipos mais complexos para monitorar métricas com mais nuances do que apenas contadores e medidas. Esses tipos são o histograma e o sumário. Eles são parecidos no sentido de que dá para fazer certas análises em cima de ambos os tipos, mas possuem algumas diferenças sutís em que um pode ser melhor que o outro, a depender da situação.

Continuar lendo →



Tipos primitivos de métricas no Prometheus

Publicado em 11 fev 2020. Uns 3 minutos de leitura.

O Prometheus tem dois tipos primitivos e dois tipos complexos de métricas. Os tipos complexos reusam os tipos primitivos, usando múltiplas séries temporais para fazer o que parece ser apenas uma quando consultado com as funções de agregação específicas.

Vamos dar uma olhada nos dois tipos primitivos: contadores e medidas.

Continuar lendo →