Https em localhost + https no docker + webpack

Precisei trabalhar com uma integração com iframes e login que envolvia o uso de cookies configurados como “SameSite=None; Secure”. Escrevi sobre isso neste outro artigo. Para trabalhar com esta abordagem era necessário um ambiente com https. E podem existir outras razões pelas quais você precise testar algo em ambiente local com https. Este artigo descreve… Continuar lendo Https em localhost + https no docker + webpack

publicado
Categorizado como Software

Testes Automatizados

Devo criar testes automatizados?Sim, testes automatizados são a única forma realmente segura de provarmos que nosso código funciona. É fantástico para manutenção, refatoração e especialmente para a experiência de trabalho do programador. Devo testar 100% do código?É algo que se deve ser perseguido sim, não como utopia, pois é possível sim alcançar 100% de cobertura… Continuar lendo Testes Automatizados

publicado
Categorizado como Software

Infraestrutura de Produção

Já subi aplicações para rodar em produção de diversas maneiras: FTP, servidor próprio (máquina virtual), PaaS e Serverless. Muito do que aprendi aqui foi mérito de outras pessoas que trabalhavam comigo e que implementaram as soluções que eu ajudei a nascer e manter. Segue neste texto alguns aprendizados sobre os benefícios e desvantagens de cada… Continuar lendo Infraestrutura de Produção

publicado
Categorizado como Software

Código in English or Português?

Certa vez elaborei uma argumentação detalhada sobre usarmos código em português em uma empresa que tinha um domínio jurídico bastante específico. Me arrependi! A ideia final era tentar preservar os padrões mais claros em inglês como “findBy“, “Factory“, etc. E no restante do código usar português para melhorar a legibilidade. Funcionou, o código está lá… Continuar lendo Código in English or Português?

publicado
Categorizado como Software

Scrum

Eu realmente gosto muito de Scrum, embora reconheça que é provável que eu nunca mais o utilize na minha vida profissional. Scrum é como a primeira namorada ou primeiro namorado 🥰. Você amou um dia, provavelmente vai lembrar dele para toda a vida, mas muito, muito provavelmente, não será pra sempre 💔. Explico melhor… Scrum,… Continuar lendo Scrum

publicado
Categorizado como Software

PHP

PHP é a linguagem de programação sobre a qual eu consegui construir o sustento financeiro da minha vida. É a linguagem com a qual é construí pelo menos 7 tecnologias que fizeram alguma diferença positiva na vida de alguém. Eu devo muito ao PHP. PHP é a melhor linguagem que existe? não. PHP é a… Continuar lendo PHP

publicado
Categorizado como Software

Princípios universais sobre teste de software

https://www.thoughtworks.com/insights/blog/testing/seven-guiding-principles-testing

A autora, Gayathri Mohan, elenca princípios universais sobre testes na indústria do software. Ela é escritora do livro Full Stack Testing. Não é sobre técnicas e ferramentas, mas sobre uma maneira de pensar. Segue um breve resumo:

  • O usuário final é seu melhor amigo. Geralmente estamos focados em requisitos de negócio e implementações técnicas, alguém precisa sustentar as necessidades do ponto de vista do usuário final;
  • Testes no nível micro e macro. Os testes precisam ocorrer desde o nível pequeno, os testes unitários ou de integração até os macro testes funcionais;
  • Feedback o mais rápido possível. Quanto antes se descobre um erro melhor. Práticas como pirâmide de testes e execução de testes de integração na maquina de desenvolvimento vão ajudar a localizar algo que talvez somente surja em produção;
  • Feedback contínuo. Manter o processo de testagem ocorrendo com frequência é fundamental, e de novo, a pirâmide de testes é citada como forma de lidar com as questões de performance;
  • Quantifique qualidade. Ter métricas de medição tanto do número de bugs como sobre a própria base de código são úteis. Ela cita algumas no texto principal.
  • Comunicação e colaboração. O trabalho de garantia de qualidade exige conhecimento em áreas técnicas e de negócio. A comunicação pode ser feita através de cerimônias em processos tradicionais, mas bem documentada em artefatos multimídia;
  • Prevenção de erro é prioritária à detecção de erro: Falhas em software podem evoluir muito rapidamente para mudanças arquiteturais importantes não vistas antes pela equipe. Isso aumenta muito o custo do projeto.

Sobre CSS

Anotações e recursos sobre CSS. CSS é complexo, para estar profundo na matéria é importante entender os principais conceitos, as principais especificações oficiais, como está o suporte pelos navegadores de internet e ajuda ter uma perspectiva de futuro. Devo usar CSS 1, 2, 3 ou 4? Resposta curta: Use CSS 2.1 e módulos específicos estáveis… Continuar lendo Sobre CSS

publicado
Categorizado como Software

analisando a sugestão oficial para adicionar a linguagem de uma página web, e especialmente em dúvida sobre usar “pt-BR” ou “pt_BR”, descobri que o certo na verdade, hoje, é usar apenas “pt”.

A linguagem de uma página não é seu país, é sua língua. Quando analisamos na lista de variações possíveis de língua definidas aqui, fica claro que o “pt-BR” se refere à língua utlizada no Brasil ANTES do acordo ortográfico da língua portuguesa.

Repare no final em “used in Brazil until 2009”.

Com o novo acordo ortográfico, a língua escrita será quase sempre a língua portuguesa conforme acordo oficial:

Repare em “into effect until 2009”

Existem mais informações sobre como escolher a linguagem, mas no caso do Brasil me parece que é simplesmente “pt” mesmo porque não existem variações ortográficas oficiais estabelecidas, como um dialeto do Ceará ou de Florianópolis por exemplo. Diferente do que ocorre em países com dialetos realmente não inteligíveis entre si como a China ou Índia.

Uso de Web Fonts

Este artigo reúne algumas anotações sobre o uso de @font-face em sites para permitir o uso de fontes independentemente do usuário tê-las carregadas no sistema. Compreensão Geral A base das explicações sobre o uso de @font-face, e sempre um ótimo lugar para começar é a W3Schools. No link abaixo é explicado o básico sobre a… Continuar lendo Uso de Web Fonts

publicado
Categorizado como Software

Dados de Nascimentos e Mortes no Brasil

Aviso: Tutorial para programadores Atuo muito com dados pela Datapedia. Hoje descobri como acessar dados detalhados de nascimentos e mortes no Brasil. É um pouco confuso o acesso via Datasus, mas segue o passo a passo: Site para acesso aos arquivos Acesse o site do Datasus: http://datasus.saude.gov.br/ e na seção “Serviços ao Cidadão”, acesso o… Continuar lendo Dados de Nascimentos e Mortes no Brasil

publicado
Categorizado como Software

Heurísticas sobre software ágil (tradução)

Allen Holub publicou uma série de heurísticas sobre sua visão atualizada sobre o Manifesto Ágil. De forma geral, ele reforça e endossa o manifesto, ajustando a linguagem para um formato mais atual e adicionando alguns elementos próprios. Eu resolvi traduzir aqui as heurísticas porque elas reverberam com minha prática. E traduzir é uma forma de… Continuar lendo Heurísticas sobre software ágil (tradução)

publicado
Categorizado como Software

Sobre Domain Driven Design

Domain Driven Design prioriza o negócio, me estimula a criar um código com maior cobertura de testes e melhor divisão de responsabilidades. Este artigo apresenta anotações e conclusões da minha caminhada com DDD até aqui e estará em constante aperfeiçoamento: Executar DDD exige habilidade com testes unitários; Equilibrar performance e DDD É difícil; Disciplina para… Continuar lendo Sobre Domain Driven Design

publicado
Categorizado como Software

Sobre React, Preact, Flux e Hooks

​Programação reativa dominou o cenário front-end, mas não é sobre um motor de templates html mais eficiente, é sobre pensar o fluxo das aplicações de forma muito diferente, compreendendo melhor o tráfego de dados entre as interfaces. Neste artigo apresento minha revisão dos fundamentos que originaram o React e o Redux, com um olhar conceitual,… Continuar lendo Sobre React, Preact, Flux e Hooks

publicado
Categorizado como Software

Sobre API RD Station

Anotações sobre integração OAuth com API RDStation Marketing para simples envio de leads para o RD através de um software externo. Este artigo foi escrito em 17 de abril de 2020. As coisas podem ter mudado. Aqui está a documentação oficial. Tive dificuldades de compreender diversos elementos. Minha maior dificuldade foi compreender o fluxo de… Continuar lendo Sobre API RD Station

publicado
Categorizado como Software

Aprendizados Amazon MySQL Aurora

Este texto organiza alguns aprendizados no uso do serviço da Amazon Aurora MySQL que utilizo em produção em um projeto importante já há alguns anos. Por que escolher o Aurora MySQL? O projeto é uma plataforma com uma base de dados muito grande. Era importante que o custo de armazenamento fosse baixo e sem limite… Continuar lendo Aprendizados Amazon MySQL Aurora

publicado
Categorizado como Software

Aprendizados PHP com Heroku

Este texto contém alguns dos aprendizados que obtive ao usar o Heroku como plataforma de infraestrutura de um importante projeto em produção. São anotações soltas de pontos específicos sobre o uso da plataforma, possivelmente úteis para quem está avaliando essa opção e precisa de mais informações. Limite de 30 segundos https://devcenter.heroku.com/articles/http-routing#timeoutsTodas as requisições possuem um… Continuar lendo Aprendizados PHP com Heroku

publicado
Categorizado como Software

Estimativas em Times Ágeis

Apresentação de slides sobre o uso de estimativas em times ágeis, com destaque para os conceitos de esforço e lead time.

publicado
Categorizado como Software

Padrão de Procedure para pré-calculo no Banco de Dados

Realizar cálculos na base de dados e enviá-los para outras tabelas é uma tarefa comum aqui na Meritt. Fazemos isso para que nossos sistema sejam rápidos no acesso aos dados. O problema desta abordagem é que frequentemente são necessários dados calculados para diversas combinações de filtros. Veja o Portal Ideb por exemplo, cada município tem… Continuar lendo Padrão de Procedure para pré-calculo no Banco de Dados

publicado
Categorizado como Software

Colisão Pixel Perfect com Java

Para quem quiser estudar melhor a colisão PixelPerfect em Java, criei um exemplo que pode ser trabalhado e baixado aqui https://github.com/kaleucaminha/Colis-o-Pixel-Perfect-Java-e-javaPlay O exemplo utiliza como base o framework javaPlay. O javaPlay é enxuto, nacional e acompanha este livro. As classes de colisão PixelPerfect e o pacote javaExtras foram construídos por mim para o curso técnico em… Continuar lendo Colisão Pixel Perfect com Java

publicado
Categorizado como Software

Usabilidade: Web e fogões

Olá pessoal, este artigo reúne algumas observações sobre usabilidade que realizei hoje durante a troca da mangueira de gás do meu fogão. Apesar de ser uma brincadeira com a experiência do fogão, os conceitos que observei estão presentes nas modernas teorias de aprendizado e livros sobre usabilidade. Primeiro Conceito: Permita que os erros aconteçam Não… Continuar lendo Usabilidade: Web e fogões

publicado
Categorizado como Software

Princípios de Usabilidade na Web

Esta apresentação é uma abordagem simplificada com diversos exemplos do livro “Não me faça pensar” de Steve Krug. Ela pode ser utilizada para mostrar que usuários não leem websites, eles dão uma olhada, como passar por um painel a 140km por hora. A apresentação encerra ressaltando a importância da realização de testes de usuário simples… Continuar lendo Princípios de Usabilidade na Web

publicado
Categorizado como Software

Referências para Criação de Layouts (de 2011)

As referências abaixo são indicadas aos profissionais que desejam aprender a desenvolver layouts para a internet conforme os padrões da W3C. Iniciando Para iniciar precisamos aprender 2 coisas, HTML e CSS. Estas duas tecnologias são lidas pelos navegadores de internet, de modo, que você não precisa de nada especial para utilizá-las além de um editor… Continuar lendo Referências para Criação de Layouts (de 2011)

publicado
Categorizado como Software