No artigo anterior entendemos as motivações e os primeiros passos para automatizar e gerenciar os repositórios do Github com código. Agora o que nos espera são algumas tarefas um pouco mais avançadas, bem como uma importante menção ao gerenciamento de estado. As novas funcionalidades que eu pretendo adicionar ao nosso projeto são:

  1. Adicionar um mecanismo de criação de repositórios
  2. Garantir os acessos aos repositórios em diferentes níveis de acordo com os grupos.

Na minha organização existem as seguintes regras:

  • Todas as engenheiras pertencem a um Time da organização, e tem acesso de leitura e escrita de Pull Requests
  • Todas as…


fonte: https://bit.ly/3wFysEC

No mundo do desenvolvimento de software, estamos na era em que tudo é definido, escrito e controlado em código. Everything as Code agora é um conceito!

Existem muitos benefícios em manter em código tarefas que seriam feitas manualmente, dentre eles: manter histórico de mudanças, decentralizar tarefas, diminuir erros humanos, documentar e talvez o mais importante de todos: automatizar.

Neste artigo, vou mostrar como você pode fazer o gerenciamento dos repositórios do Github usando Terraform. Mas antes, vou explicar as motivações por trás dessa abordagem.

1. Garantir um padrão de regras entre repositórios no time/na organização.

Eu vejo que é bem comum existirem alguns padrões que atravessam vários repositórios, como por exemplo…


Oi Rodrigo!

Nossa, mandou bem na dica do boleto do Mercado Pago, vou usar muito! Queria que rolasse pra > 500 reais também, aí pagaria até aluguel nesse esquema haha


Depois de 4 anos de uso, esta é a minha experiência com o Nubank Rewards

Introdução

O Nubank é conhecido pelos seus produtos super descomplicados. Com o Rewards não é diferente. Ao contratar o serviço, é muito simples saber quantos pontos você irá acumular. Cada R$1, 1 ponto. Em cartões de crédito tradicionais era muito comum (ou ainda é?) que os pontos acumulados fossem atrelados ao dólar gasto, mesmo você fazendo compras em reais.

Além de ficar super difícil de prever quantos pontos seriam acumulados, porque teríamos que saber qual é a taxa de câmbio que aquele banco está usando e o valor do dólar varia todo dia, hoje com o dólar a mais de 5…


Versão em português aqui.

It is very easy to use a build tool without understanding 10% of what that large amount of code is doing. That is because generally the build settings of an application don’t change much, so if you start working on an existing project, chances are great that you won’t need to make big changes on that block of code.

So, I decided to write this article that demystifies some uses that we make in Gradle and that we don’t even understand very well where it comes from.

For the purposes of this article, I will use…


Versão em português aqui.

From time to time I like to remember the concepts behind the tasks I do as a software developer. In addition, challenges usually motivate and entertain me a lot.
In general, we don’t deal with algorithm complexity very often, but when we need it, the demand doesn’t come formatted and, sometimes, it can cost a deploy to production until we realize that there was a better solution to that problem.
That is why it is good to keep a fresh head for this type of algorithmic challenges, so that it is easy to identify issues and solve them…


Versão em português aqui.

This discussion arises from time to time in my daily life. Different people, different points of view, that make us go through different paths to always answer the same question.

The answer does not usually change: it depends.

In the case of less complex cases, where we are applying the concepts of REST to a CRUD, there will rarely be times when we need an endpoint that contains a verb.
When we have applications with more complex behaviors, then this type of questioning arises.

Definitions

Verb: Class of words that, from a semantic point of view, contains…


Versão em português aqui.

It has been a while since ADRs became popular. Architecture Decision Records are used to align technical decisions and also keep the next people updated on the motivation of past decision making. This practice is used in a code base, team or even area level.

Speaking specifically of the code base, developers should know that it is very difficult to keep documentation up to date. In fact, this phenomenon of difficulty in updating documentation should be studied, because it is a recurring problem worldwide 😛. …


English version here.

Ícone do Kotlin e Ícone do gradle com um coração no meio
Ícone do Kotlin e Ícone do gradle com um coração no meio

É muito fácil usar uma ferramenta de build sem entender 10% do que aquele monte de código está fazendo. Isso porque geralmente as configurações de build de uma aplicação não mudam muito, então se você começa a trabalhar num projeto já existente, grandes são as chances de você não precisar mudar muito aquele bloco de código.

Por isso resolvi escrever este artigo que desmistifica alguns usos que fazemos no Gradle e nem entendemos muito bem da onde vem.

Para fins deste artigo, irei utilizar um script Gradle de uma API em Kotlin. …


fonte: https://codepen.io/jh3y/pen/NLzEJX

Não é justo com clientes da sua API retornar um erro 500 toda vez que o propósito do código não foi cumprido. Segue definição do MDN Web Docs:

Quando o servidor retorna um código de erro (HTTP) 500 indica que encontrou uma condição inesperada e que o impediu de atender à solicitação.
[…] Às vezes, os arquivos log de servidores podem responder com um status code 500 acompanhado de mais detalhes sobre o request para evitar que no futuro erros desse tipo possam voltar a acontecer.

Ou seja, se o servidor respondeu com status 500, você deveria escrever um código…

Bruna Pereira

Software Developer. I write code that humans can understand.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store