Dicas de livros sobre complexidade
Eu sempre tive a impressão de que um dos maiores males do desenvolvimento de software moderno é a complexidade. Não me refiro a complexidade dos problemas que são resolvidos atualmente, pois esses são realmente maiores do que décadas atrás. Machine learning, carros autônomos, microsserviços, etc, esses cenários possuem uma complexidade inerente e pouco podemos fazer para mitigar isso. Eu me refiro a complexidade que incutimos aos nossos códigos. Já vi aplicações que eram pouco mais do que CRUDs com várias camadas e frameworks que só tornavam o desenvolvimento e manutenção tarefas hercúleas....
Introdução a Cuelang
Aposto que nesse momento uma frase paira na sua cabeça: “Mais uma linguagem de programação”? Calma, calma, vem comigo que vai fazer sentido :) Diferente de outras linguagens como Go ou Rust, que são de “propósito geral”, a CUE possui alguns propósitos bem específicos. O seu nome na verdade é uma sigla que significa “Configure Unify Execute” e segundo a documentação oficial: Embora a linguagem não seja uma linguagem de programação de uso geral, ela possui muitas aplicações, como validação e modelagem de dados, configuração, consulta, geração de código e até script....
CUPID x SOLID
Se você desenvolve software profissionalmente é bem provável que já ouviu falar sobre os princípios SOLID pois eles se tornaram praticamente um padrão no mercado. Se não está famialirizado com o termo recomendo a leitura deste post. Agora que estamos todos na mesma página, vamos continuar… Como diria o grande Nelson Rodrigues: Toda unanimidade é burra Pensando nisso, quero trazer outro acrônimo interessante, o CUPID. Cada uma das letras significa uma propriedade que um determinado software deveria ter....
Criando uma API usando Go e sqlc
Ao escrever uma aplicação Go que trata dados em um banco de dados (neste post vou me concentrar em bancos de dados relacionais) temos algumas opções: escrever as consultas SQL usando alguma lib que implemente as interfaces da stdlib usar alguma lib que facilite a geração de SQL como a Squirrel apesar de não ser tão difundido como em outras linguagens, existem alguns ORMs que podem ser usados como os listados aqui usar uma ferramenta para gerar código a partir de consultas SQL É nesta última categoria que se encaixa a ferramenta que vou apresentar neste post, o sqlc....
A volta da newsletter sobre Go
Quem acompanha meu site ou as redes sociais onde eu publico textos sabe que eu mantive por bastante tempo uma newsletter sobre Go, a A Semana Go. Em 2020 eu decidi parar de publicar a newsletter por motivos que expliquei neste post. Mas depois de algumas mudanças na minha carreira, que comecei a definir na época deste post e culminou na minha ida para o PicPay como Principal Software Engineer, eu decidi voltar a publicar a newsletter....
Acelere seu ambiente de desenvolvimento local com o Tilt
Passamos horas e horas desenvolvendo aplicações nas nossas máquinas, cada vez com mais requisitos e complexidade. Qualquer aplicação moderna facilmente conta com vários containers, microsserviços, deploys em diferentes ambientes, diversas stacks, etc. Então qualquer ferramenta que possa tornar nosso fluxo mais ágil é de grande utilidade. Neste post quero apresentar uma ferramenta muito poderosa, que pode fazê-lo economizar bastante tempo no seu processo de desenvolvimento. Trata-se do Tilt, que recentemente foi adquirida pela Docker....
Nova versão do e-book Dicas de carreira para devs
Atualizei o meu e-book Dicas de carreira para devs com 4 novos capítulos. Outra novidade é que agora o Leanpub, plataforma que eu usava para publicar os livros, cobra uma assinatura mesmo para o download de e-books gratuitos. Como meu objetivo é que esse e-book tenha o maior alcance possível estou disponibilizando o download aqui mesmo, pelos links abaixo: Versão PDF Versão EPUB Obrigado a todos que me avisaram desta mudança do Leanpub....
Aplicativos Indispensaveis em 2022
Desde 2014 venho fazendo, de tempos em tempos, uma lista dos aplicativos que mais uso, com o objetivo de ajudar a divulgar alguns produtos interessantes. Uso o Setapp desde 2017 e é um dos melhores investimentos que faço todos os meses. Ter acesso a mais de 230 aplicativos por um valor razoavel (U$ 9.99 por mês) é muito útil. Recentemente precisei editar um PDF, abri o SetApp, baixei o Nitro PDF Pro, editei o arquivo e apaguei o aplicativo....
Documente primeiro
É um consenso na comunidade de desenvolvimento de software que documentação é algo muito importante. Mas ao mesmo tempo não é uma das tarefas mais glamurosas, especialmente se comparado com a escrita de códigos. Então é natural que uma ideia nos venha à mente: e se eu gerar a documentação a partir do código fonte?? Eu já usei essa abordagem em alguns projetos, inclusive escrevi um post sobre isso alguns anos atrás....
Tratamento de erros de aplicações CLI em Golang
Quando estou desenvolvendo alguma aplicação CLI em Go eu sempre gosto de considerar o arquivo main.go como “a porta de entrada e saída da minha aplicação” Porque a porta de entrada? É no arquivo main.go, que vai ser compilado para gerar o executável da aplicação, onde é feita toda a “amarração” dos demais pacotes. É nele onde iniciamos as dependências, fazemos as configurações e a invocação dos pacotes que desempenham a lógica de negócio....