Mitap: Quarentena, Vá embora

Olá a todos! 30 de maio será o segundo mitap on-line no Go. Os organizadores são os caras das comunidades Go Yola e Golang Kazan . Vamos descobrir como organizar o teste de microsserviços, qual a melhor maneira de implementar o DI on Go, por que o Gopher é azul e como sobreviver com o código go-swagger gerado automaticamente. 

Você encontrará quatro relatórios concentrados dos desenvolvedores do MTS, iSpring, Percona e Toggl, o questionário Go e muita comunicação ao vivo. Sob o corte, há resumos de relatórios, um link para a transmissão de vídeo e entrevistas com palestrantes. Não mude!


Ao vivo 30 de maio 


Começamos no canal iSpring Tech no YouTube em 30 de maio às 16:00. Hoje é sábado. Cada relatório é um contato direto com os palestrantes: faça perguntas por voz, escreva para conversar. Após cada discurso, abrimos uma sala de reuniões na qual você pode discutir o tópico em detalhes. Discussões e perguntas quentes são bem-vindas. 

No final do mitap - um questionário no qual você pode testar sua força no conhecimento do Go :)

Conecte-se ao mitap → O

programa completo do mitap →

4 palestras quentes do Go



Serviços de (micro) testes - Alexey Palazhchenko, Percona


- Prós e contras de testar microsserviços;
- o que fazer com autenticação e autorização;
- como não deixar cair os testes prod.

Por que você escolheu esse tema?


As pessoas escolheram :) Realizamos uma votação aberta entre os desenvolvedores sobre uma escolha de tópicos. Estiveram presentes 85 pessoas. Mais votados em testes.

Do que você mais sente falta no Go?


Enum'ov e verificação completa de todos os valores ou tipos em switch / case. Linters resolvem esse problema apenas parcialmente. Genérico em um segundo lugar - alterne o tipo para todos os tipos básicos que escrevo com mais frequência do que gostaria.

O que você diria a Rob Pike quando se conheceu?


Por quê? Eu o entrevistei :)


Injection de dependência e seus amigos (em Go) - Anton Kucherov, Toggl


- o que são DIP, IoC e DI;
- que problemas são resolvidos com a ajuda desses conceitos;
- Várias opções para implementar o DI no Go.

Por que você escolheu este tópico?


Porque, durante muito tempo, fiquei preocupado com a pergunta: "Por que nosso código acaba se transformando em uma bagunça e como resistir a isso"?

Conte-nos sobre o seu maior batente em Go


Uma vez refatorei um projeto herdado. Ele usou ativamente a simultaneidade. Não havia documentação ou especificação. No decorrer do trabalho, coloquei a variável Token no campo da estrutura HttpClient. Pareceu-me que este é um token de acesso ao microsserviço comum. Acabou - era um token associado ao usuário. 
Quando a mudança atingiu a produção, alguns usuários receberam dados de outros. Precisava urgentemente fazer parte do sistema para manutenção e limpar rapidamente o banco de dados dos dados vazados. É bom que os dados não sejam pessoais - era impossível associá-los a pessoas específicas.

O que você diria a Rob Pike quando se conheceu?


Olá prazer em conhecê-lo.


Arquitetura limpa na automação ”- Sergey Shambir, iSpring


- automação como um processo;
- como aplicar os princípios da arquitetura pura para ela;
- Experiência iSpring na criação de utilitários de automação on Go.

Diga algo que não está incluído no relatório, mas ilustra perfeitamente o tópico.


O código para muitas ferramentas populares do DevOps está escrito em Go. Nem sempre brilha com pureza. Por exemplo, no código do docker e do kubernetes existem muitas chamadas de pânico. Embora o uso sem objetivo do pânico seja considerado uma má prática no Go. 
Estou certo de que, com uma arquitetura limpa, os projetos de código aberto no Go atrairiam mais colaboradores. É muito mais fácil melhorar um projeto que não se transforma em confusão por dezenas de variáveis ​​globais, pacotes intimamente relacionados e funções monstruosas, violando o princípio de Responsabilidade Única.

Conte-nos sobre o seu maior batente em Go


Certa vez, com colegas, escrevemos um back-end para um editor de artigos. Foi no estágio de teste e fixação, quando o testador percebeu - pela manhã, os dados de todos os artigos desaparecem. Aconteceu que outro serviço envia uma lista de artigos para exclusão pelo cron todas as noites. Se não havia nada para excluir, ele enviou uma lista vazia. E em nosso serviço, uma lista vazia significava "excluir todos os artigos". 

Desde então, aconselho a todos, em qualquer método de API, que alterem / excluam dados, sempre exijam um sinalizador indicando que todas as entradas são afetadas. Ou introduza um método separado que remova / modifique tudo.

O que você diria a Rob Pike quando se conheceu? 


Eu perguntaria por que o esquilo é azul.


Go-Swagger na produtividade: altos e baixos ”- Ilya Kaznacheev, MTS


- como o go-swagger simplifica o desenvolvimento da equipe;
- Como acelerar o trabalho no código padrão;
- por que o código gerado obriga você a dançar ao seu ritmo e como lidar com ele.

Por que você escolheu este tópico?


Em várias empresas, sou confrontado com o uso de arrogância. E sempre isso envolve truques e hacks. Quero compartilhá-los com a comunidade para que as pessoas não precisem reconstruir uma bicicleta já construída.

Diga algo que não está incluído no relatório, mas ilustra perfeitamente o tópico.


Uma vez participei de um hackathon com uma equipe. Na primeira etapa, criamos um aplicativo com um back-end no Go e um front-end no iOS. Como resultado, quase dois terços de todo o tempo foram ocupados pelo processo de troca de informações sobre alterações na API e implementação da API no back-end. 
No segundo estágio, também criamos um aplicativo no Go e iOS. Dessa vez, usei o swagger para descrever a API e o go-swagger para gerar a infraestrutura do servidor para essa API. Economizou 6 horas. Graças a isso, eu tinha terminado a parte do servidor antes e consegui dormir normalmente à noite.

Sua versão, por que o Gopher Blue?


Doente na infância :)

Vejo você em 30 de maio ao vivo. E para não perder o começo, assine o iSpring Tech do canal do YouTube, junte-se a Go Yola e Golang Kazan . Aqui publicamos relatórios quentes de mitaps.

PS E, no entanto, por que o Gopher é azul? Escreva sua versão nos comentários.

All Articles