preparar o ambiente de desenvolvimento
A primeira coisa primeiro, criar o ambiente de desenvolvimento. Ainda me lembro quando comecei a minha jornada de desenvolvimento, o período mais doloroso foi criado o ambiente de desenvolvimento, especial como este tipo de projeto (mais de 3 sistemas), precisamos baixar diferentes serviços (jar, binário, etc.) a fim de torná-lo aberto executando localmente, no entanto, obrigado pela tecnologia de contêineres, usando simples coque-compose.arquivo yml, podemos iniciar todas as aplicações/componentes chave que precisávamos.

Veja, como simples é?
desenvolvimento / codificação
vamos começar a parte divertida, Go é a minha recente linguagem de desenvolvimento de estreia, mas por que eu escolhi ir para o desenvolvimento de Pipeline de dados, por causa de sua simplicidade, performances e tipo seguro. Aqui eu não vou explicar o benefício de Go, Se você está interessado em, por favor verifique Golang.org.
como de costume, se verificar o meu post anterior
como construir uma MachineBox.io API com 100% de cobertura de teste de unidade usando Go
você saberá, eu vou usar a mesma estrutura de Aplicação.

1. Criar a conexão, criando o Env Struct

2. Usando interfaces
você pode estar familiarizado com a utilização de interfaces de trabalho através da passagem ou a partir da documentação oficial. No entanto, a beleza de usar interfaces em Go, é que você pode definir um conjunto de métodos que um tipo (muitas vezes struct
) deve definir para ser considerado uma implementação dessa interface.

Quando qualquer tipo implementa todos os métodos da interface, o Ir compilador automaticamente, sabe que não é permitido para ser utilizado como tipo.
3. Registo
registo é duro!
se já trabalhou como função relativa de suporte à produção de aplicações. Você vai apreciar o desenvolvedor que registra as informações sobre como a aplicação funciona, quando e como esta aplicação falhou, qual arquivo, qual função. (Um Plus+)

eu uso o Super Zap libs. E eu também embalar em um auxiliar que pode ser usado em diferentes projetos de nível diferente. Para mim, prefiro devolver Erro de alavanca inferior à implementação principal.

4. Teste de unidade
escrever testes de unidade pode garantir que nosso código está funcionando como esperado, é muito menos “caro” do que se um bug ou regressão faz todo o caminho para uma liberação.
se ainda se lembrar da implementação da interface #1, e o outro benefício sobre a implementação da interface é ajudá-lo a escrever facilmente o código testável.

teste de Unidade de cobertura é um interessado assunto, eu uso para louco o suficiente para rastrear a cobertura de 100%, no entanto, que eu saiba as minhas aulas, o mais importante sobre o teste de unidade é:
Quão confiante você está sobre o seu código e certifique-se de que a CI/CD automação pegar o máximo possível o nível de codificação erros de regressão.

Resultado Final

Fase de Suporte
Este gasoduto é apenas construído durante o fim de semana, digamos, 10 horas total de projeto, desenvolvimento/programação. Por causa da cobertura de teste de unidade, logging, e teste de integração local. Estou bastante confiante de que a sua produção está pronta, no entanto…
fase de melhoria
A única coisa que falta aqui, é a implementação de segurança, nível de ambiente e nível de código. esta é a parte mais importante se você quiser enviar para a produção.
este artigo centra-se principalmente no Design e construção. O próximo post vai se concentrar mais no apoio e melhoria. 🙂
Parte 2: