Mitap: Cuarentena, vete

¡Hola a todos! El 30 de mayo será el segundo mitap en línea en Go. Los organizadores son los chicos de las comunidades Go Yola y Golang Kazan . Veamos cómo organizar las pruebas de microservicios, qué forma de implementar DI on Go es mejor, por qué el gopher es azul y cómo sobrevivir con el código auto-generado. 

Encontrará cuatro informes concentrados de los desarrolladores de MTS, iSpring, Percona y Toggl, el cuestionario Go y mucha comunicación en vivo. Debajo del corte hay resúmenes de informes, un enlace a la transmisión de video y entrevistas con oradores. ¡No cambies!


En vivo el 30 de mayo 


Comenzamos en el canal de YouTube iSpring Tech el 30 de mayo a las 16:00. Este es el sabado. Cada informe es un contacto directo con los oradores: haga preguntas por voz, escriba para chatear. Después de cada discurso, abrimos una sala de reuniones en la que puede discutir el tema en detalle. Las discusiones calientes y las preguntas calientes son bienvenidas. 

Al final del mitap: un cuestionario en el que puede probar su fortaleza en el conocimiento de Go :)

Conéctese al mitap → El

programa completo de mitap →

4 informes calientes sobre Go



Servicios de prueba (micro) - Alexey Palazhchenko, Percona


- Pros y contras de probar microservicios;
- qué hacer con la autenticación y autorización;
- Cómo no dejar caer las pruebas de productos.

¿Por qué elegiste este tema?


La gente lo eligió :) Celebramos una votación abierta entre los desarrolladores sobre una variedad de temas. Asistieron 85 personas. La mayoría votó por las pruebas.

¿Qué es lo que más extrañas en Go?


Enum'ov y verificación completa de todos los valores o tipos en switch / case. Linters resuelven este problema solo parcialmente. Genérico en un segundo lugar cercano: modificador de tipo para todos los tipos básicos que escribo con más frecuencia de lo que quisiera.

¿Qué le dirías a Rob Pike cuando te conocieras?


¿Por qué? Lo entrevisté :)


Inyección de dependencia y sus amigos (en Go) - Anton Kucherov, Toggl


- ¿Qué son DIP, IoC y DI?
- qué problemas se resuelven con la ayuda de estos conceptos;
- Una serie de opciones para implementar DI en Go.

¿Por qué elegiste este tema?


Porque durante mucho tiempo me ha preocupado la pregunta: "¿Por qué nuestro código finalmente se convierte en un desastre y cómo resistirlo"?

Cuéntanos sobre tu jamb más grande en Go


Una vez que refactoré un proyecto heredado. Él utilizó activamente la concurrencia. No hubo documentación o especificación. En el proceso, puse la variable Token en el campo de estructura HttpClient. Me pareció que este es un token de acceso de microservicio común. Resultó que era un token asociado con el usuario. 
Cuando el cambio golpeó la producción, algunos usuarios recibieron datos de otros. Tuvo que participar urgentemente en el sistema para el mantenimiento y limpiar rápidamente la base de datos de los datos filtrados. Es bueno que los datos no sean personales; fue imposible asociarlos con personas específicas.

¿Qué le dirías a Rob Pike cuando te conocieras?


Hola mucho gusto.


Arquitectura limpia en automatización ”- Sergey Shambir, iSpring


- automatización como proceso;
- cómo aplicar los principios de la arquitectura pura para ella;
- Experiencia iSpring en la escritura de utilidades de automatización en Go.

Diga algo que no esté incluido en el informe, pero que ilustra perfectamente el tema.


El código para muchas herramientas populares de DevOps está escrito en Go. No siempre brilla con pureza. Por ejemplo, en el código de Docker y Kubernetes hay muchas llamadas de pánico. Aunque el uso sin rumbo del pánico se considera una mala práctica en Go. 
Estoy seguro de que con una arquitectura limpia, los proyectos de código abierto en Go atraerían a más colaboradores. Es mucho más fácil mejorar un proyecto que no se convierte en un desastre por docenas de variables globales, paquetes estrechamente relacionados y funciones monstruosas en violación del principio de responsabilidad única.

Cuéntanos sobre tu jamb más grande en Go


Una vez, con colegas, escribimos un backend para un editor de artículos. Fue en la etapa de Pruebas y Reparación, cuando el probador se dio cuenta: por la mañana desaparecen los datos de todos los artículos. Resultó que otro servicio envía una lista de artículos para su eliminación por cron todas las noches. Si no había nada que eliminar, envió una lista vacía. Y en nuestro servicio, una lista vacía significaba "eliminar todos los artículos". 

Desde entonces, aconsejo a todos los métodos de la API que cambien / eliminen datos para que siempre requieran un indicador que indique que todas las entradas están afectadas. O introduzca un método separado que elimine / modifique todo.

¿Qué le dirías a Rob Pike cuando te conocieras? 


Preguntaría por qué el gopher es azul.


Go-Swagger en productividad: altibajos ”- Ilya Kaznacheev, MTS


- cómo go-swagger simplifica el desarrollo del equipo;
- Cómo acelerar el trabajo en el código repetitivo;
- por qué el código generado te obliga a bailar a tu ritmo y cómo lidiar con él.

¿Por qué elegiste este tema?


En varias compañías me enfrento con el uso de go-swagger. Y siempre esto implica trucos y hacks. Quiero compartirlos con la comunidad para que las personas no tengan que reconstruir una bicicleta ya construida.

Diga algo que no esté incluido en el informe, pero que ilustra perfectamente el tema.


Una vez participé en un hackathon con un equipo. En la primera etapa, creamos una aplicación con un back-end en Go y una interfaz en iOS. Como resultado, casi dos tercios de todo el tiempo estuvo ocupado por el proceso de intercambio de información sobre cambios en la API e implementación de la API en el back-end. 
En la segunda etapa, también hicimos una aplicación en Go e iOS. Esta vez usé swagger para describir la API y go-swagger para generar la infraestructura del servidor para esta API. Se ahorró 6 horas. Gracias a esto, había terminado la parte del servidor antes y pude dormir normalmente por la noche.

Su versión, ¿por qué el gopher es azul?


Enfermo en la infancia :)

Nos vemos el 30 de mayo en vivo. Y para no perderse el comienzo, suscríbase al canal de YouTube iSpring Tech, únase a Go Yola y Golang Kazan . Aquí publicamos informes calientes de mitaps.

PD: Y sin embargo, ¿por qué es azul el gopher? Escribe tu versión en los comentarios.

All Articles