5-6 razones para venir a GolangConf

Si ha estado en HighLoad ++, entonces conoce el Go mitap tradicional. Los activistas interesados ​​en Go, ocuparon el salón durante un par de horas, presentaron pequeños informes, discutieron temas urgentes y fueron holívar. Estaban en HighLoad ++ e informes separados en Go.

Ahora, nos parece que es hora de pasar a un nuevo nivel , por lo que el 7 de octubre tendremos GolangConf . Por el nombre, está claro que esta es una conferencia sobre Go, pero esto claramente no es suficiente.



Estamos preparando esta conferencia para:

  • Desarrolladores de Go : aquellos que han estado sentados en Go durante mucho tiempo, que están interesados ​​en discutir nuevos productos, hablar sobre el rendimiento y las agallas, descubrir qué está cambiando en Go, hablar sobre genéricos, por ejemplo.
  • Además, a medida que la comunidad de Go se expande, estamos esperando a los programadores que solo están haciendo la transición a Go o incluso simplemente pensando en ello. Les mostraremos historias de éxito que se hicieron realidad con la transición a Go, o historias de fracaso. Aprendemos lo que no funciona, por qué, cuáles son sus primeros sentimientos, opiniones, impresiones.
  • La tercera categoría de visitantes son los usuarios de herramientas escritas en Go . Estas son las infraestructuras populares de Cloud Native: Kubernetes, Docker, Terraform, Consul y otros productos Hashicorp. En la conferencia Go, los invitados, por un lado, descubrirán qué herramientas tienen problemas asociados con las características del lenguaje y, por otro lado, verán qué desafíos y tareas hay en Go para comenzar, por ejemplo, para contribuir a estos proyectos.

Para determinar qué temas deberían discutirse en la conferencia Go, qué problemas y tareas son importantes para cada una de las categorías de participantes, reunimos al Comité del Programa y a los activistas de la comunidad Go. Organizó una especie de lluvia de ideas. Compartimos los resultados con usted y, dado que nuestro objetivo principal es desarrollar la comunidad, esperamos sus comentarios. Escriba en los comentarios lo que necesita ser revelado de manera más completa, lo cual es completamente poco interesante y qué es exactamente lo que se necesita. Indique, por ejemplo, si vale la pena discutir las características de operar Go bajo Windows, de lo contrario las opiniones se dividieron.

Representaremos a los actores cuando suban al escenario.

Secciones GolangConf


Elena Grahovac ( directora del equipo de automatización de procesos de TechOps en la startup alemana de fintech N26. Co-anfitriona del podcast GolangShow, miembro de GolangConf PC. Ha estado escribiendo Go durante 11 años desde 2015 y tiene 11 años de experiencia profesional en TI ) .

En primer lugar, en la conferencia Go habrá una sección para aquellos que han estado escribiendo en Go durante mucho tiempo , tienen problemas serios o pueden estar limitados por la productividad y quieren profundizar. En esta sección condicional, veremos casos, por ejemplo, cuando se usó una biblioteca popular, pero hubo problemas de rendimiento que logramos superar. Considere enfoques no estándar y soluciones no obvias, pero relevantes.

En segundo lugar, tendremos una sección de "principiantes" . Habrá presentaciones para aquellos que ya pueden hacer algo en otros lenguajes de programación, pero piensen si Go es adecuado para sus tareas o no.

Estamos planeando informes sobre qué tareas se adaptan a Go, cómo hacer la transición desde otros lenguajes de programación o, un tema favorito de todos los programadores, cómo desechar el lenguaje X y reescribir todo en Go.

Sería genial escuchar acerca de la experiencia negativa de la transición, porque esto también sucede, pero, desafortunadamente, esto no se suele decir. Si tiene esa experiencia, escríbanos .

Una secuencia separada será la sección de reuniones, talleres e informes ligeros , como un lugar donde puede hablar sobre un tema delicado o comenzar a discutir lo que surgió repentinamente durante la conferencia. Por ejemplo, recordé que desea compartir su experiencia, inspirada en otros informes; por favor, hay todas las condiciones para esto. Este enfoque rara vez se ve en otras conferencias.

Por supuesto, puede hablar al margen, pero los mitaps brindan la oportunidad de reunir una audiencia más amplia, discutir problemas, presumir de algo o, por el contrario, lamentarse por algo y compartir su dolor.

Además, planeamos abordar temas no muy técnicos, a primera vista. Por ejemplo, en la conferencia GopherCon Europe hubo dos informes sobre la legibilidad del código con un ligero sesgo en la neurociencia. Este conocimiento ayudará a estructurar mejor su aplicación, hacerla amigable para los humanos y más conveniente para sus colegas. Esperamos ver informes sobre nuevos temas en nuestra conferencia, que hasta ahora no han recibido suficiente atención.

¿Por qué necesitas ir?


Igor Dolzhikov ( ingeniero de SRE en Openprovider, automatiza el desarrollo de microservicios, asegura su confiabilidad y alta disponibilidad, usando Go )

En las conferencias dedicadas a un idioma, la agitación generalmente tiene lugar: por qué este idioma, por qué es más interesante, por qué necesita cambiar a él. Yo mismo he estado en Go durante mucho tiempo y entiendo la relevancia. Pero me parece que es importante revelar conceptos clave, por ejemplo, explicar por qué Google fabrica sus productos en Go.

Aquellos que programan con éxito en PHP o Python necesitan usar ejemplos para mostrar por qué deberían mirar Go. No solo para tareas específicas, sino que da ejemplos de grandes empresas que desarrollan proyectos completos a gran escala en este idioma.

Elena Grakhovac: Cierto, este es uno de nuestros trucos, para mostrar ejemplos: por qué puede ser interesante, para quién puede ser interesante, que la gente pueda ganar.

Queremos ser completamente honestos y decir quién y cuándo no debemos elegir Ir.

Si hablamos de lo bueno que es cambiar de "X" a Ir, y luego algo no funcionará para los participantes de la conferencia y comienzan a regañarnos, no será genial. Por lo tanto, sería genial contar las historias de fracaso y descubrir por qué no fue posible tener éxito.

Todos los ejemplos deben estar relacionados con la pregunta:

  • ¿Tengo que cambiar a Ir;
  • quien lo necesita;
  • ¿Por qué es necesario?
  • como hacerlo

Igor Dolzhikov: Además, me parece que los informes similares a los primeros informes de Rob Pike serían apropiados. Aparentemente, todos son tímidos, pero sería bueno si alguien tomara los informes de nivel de principiante, que muestran brevemente la mayoría de los puntos clave en las arquitecturas Go en el código: cómo generar el primer servidor, cómo trabajar con canales y gorutinas, etc. Por alguna razón, no hay tales informes en ruso.

Marko Kevats ( Líder de equipo en el departamento de plataformas en Badoo. C Go casi desde el principio. El principal iniciador de la implementación de Go en la empresa. Autor y orador, miembro de GolangConf PC. Orador incondicional. No le gusta GC ).

Aquellos que estén pensando en implementar Go estarán interesados ​​en el tema de cómo Go interactúa con otros idiomas. Es decir, conectar Java a C es muy simple. El óxido es muy fácil de conectar a C. Y en C, se escribe una gran cantidad de todo. Con Go, esto siempre es un dolor y, a menudo, las personas simplemente deciden reescribir todo en Go. Es mucho más fácil, más conveniente, todas las utilidades funcionan y no obtendrá ningún error extraño. Discutiremos en la conferencia cuando no sea la mejor idea tirar todo a la basura, sino qué es exactamente lo que debe escribirse en Go. Después de todo, tenemos una conferencia Go.

Rendimiento ir


Oleg Bunin : Y no para principiantes, ¿qué otros temas podrían plantearse en la conferencia? Por ejemplo, en Moscow Python Conf ++, teníamos casi toda una pista de informes relacionados con el campo popular de su aplicación: el aprendizaje automático. ¿Existe tal área para Go?

Vitaly Levchenko ( Evangelista, organizador de las reuniones ITGM, Go y SRE en San Petersburgo, miembro de GolangConf PC. Trabaja con Go desde su lanzamiento. Jefe de desarrollo de NDA ).

El rendimiento puede ser ese tema. Intentemos recopilar algunos informes hardcore sobre el tema de la alta carga. Planifique por qué necesita reemplazar TCP con UDP, pero más en el contexto de Go.

Por ejemplo, hace mucho que quería escuchar un informe en Rusia relacionado con el tema del rendimiento, pero no he visto nada lo suficientemente serio: esta es una historia sobre el ensamblador Go-shny . Este es un tema importante y grande.

Marco Kevac : este informe se puede combinar con seguridad y cifrado. Ahora, en términos generales, si desea programar el cifrado o la seguridad en Go para que funcione rápidamente, debe escribir en ensamblador. Esta es una parte del problema. Inmediatamente aparece otro: que todo esto debe ser probado y respaldado de alguna manera más adelante. Podría ser un tema realmente hardcore.

Vitaly Levchenko: Esto sigue siendo valioso, porque los desarrolladores optimizan, optimizan el lugar clave y luego descansan en el Go habitual, levantan las patas y dicen "entonces todo". Pero, de hecho, más ensamblador.

Ir a todas partes


Oleg Bunin: ¿Qué otros temas quieres plantear en la conferencia?

Elena Grahovac: Ahora están tratando de aplicar Ir literalmente a todas partes. Por ejemplo, los entusiastas de los dispositivos integrados también están tratando de escribir en Go, incluso hay marcos especiales. Go también se utiliza para el aprendizaje automático, en un momento hubo una tendencia TensorFlow en Go. Nos encantaría considerar un informe sobre tal experiencia. Pero aquí, como en general para todos los informes de la conferencia, es importante que esta sea precisamente una experiencia personal.

Lo que está escrito en la documentación se puede leer allí, y lo más valioso es cuando el informe se basa en ejemplos, lo que encontró, cómo superar lo que obtuvo.

Marco Kevac : De hecho, Ir como idioma se usa en cualquier lugar. Si se entera de algún proyecto nuevo ahora, el 90% está escrito en Go. Realmente me gustaría escuchar un informe de revisión sobre esta tendencia, cómo Go from a young popular language se ha vuelto omnipresente, sobre un posible futuro, etc.

Igor Dolzhikov: Propongo tocar el tema de la contenedorización. Quizás nadie se dio cuenta, pero hubo una revolución: la transferencia de aplicaciones a los contenedores . Y, de hecho, caminaba de arriba abajo con el lenguaje Go.

Vitaly Levchenko: Así es, los temas de formato son interesantes: parchea Kubernetes, recoge tu nube en Go, nuestra malla de servicios. Varias compañías en Rusia están haciendo esto con seguridad.

Elena Grahovac: Y entonces acabamos de llegar a nuestra tercera categoría de participantes: ingenieros de infraestructura que interactúan con los servicios en la nube y se ven obligados a comprender al menos un poco de Go.

Marco Kevats: ¿Qué opinas sobre la programación móvil en Go?

Elena Grahovac: Google tenía un proyecto así, pero se cerró. Por lo tanto, me parece que la programación móvil en Go está muerta. Por favor, si sabes que esto no es así, refutarme.

Vitaly Levchenko: No conozco ningún caso exitoso en Rusia, nadie ha hecho más de una biblioteca por mí mismo, pero estaremos encantados de recibir dicha solicitud.

Marco Kevats : Me parece que Go sigue siendo popular para desarrollar aplicaciones de consola y compite en esto con Rust, incluso debido al hecho de que está ensamblado en un binario, que es fácil de poner en el servidor y usar en todas partes.

Elena Grahovac: Esto se debe nuevamente a quién usa estos binarios: ingenieros, infraestructuras y DBA. Por ejemplo, en nuestra empresa, DBA decidió escribir en Go, para que pudiera generar binarios que hicieran lo que quisieran.

Igor Dolzhikov: Hemos estado escribiendo plantillas de servicio en Go durante mucho tiempo, estamos escribiendo plantillas de servicio en Go, escribiendo en Go.

Vitaly Levchenko: Hay un gran tema separado aquí que no se divulga bien y que sería bueno separar en una sección separada: observabilidad , es decir, registro, métricas, seguimiento abierto y cómo funcionan con todo esto.

Ir en grandes empresas


Oleg Bunin: ¿Y cuáles son los principales problemas y desafíos que enfrentan las grandes empresas cuando usan Go?

Elena Grahovac: Mucho con qué. Comenzando con cómo estructurar su aplicación Go si: hay un montón de microservicios y necesita un mono-repositorio, o un montón de microservicios y repositorios separados. Cómo administrar dependencias, cómo incrustar seguridad: hay muchas tareas, pero son relevantes con cualquier lenguaje de programación. El mismo problema de observabilidad es un problema, más bien, son las aplicaciones nativas de la nube. Pero podemos considerarlo en el contexto de Go.

Pero los temas relacionados con la arquitectura serán específicos, porque Go todavía no es OOP. Y cómo, por ejemplo, en Java, una aplicación está estructurada y cómo se asigna una clase, es muy diferente de los enfoques aplicables a Go.

Alexey Palazhchenko ( Gopher principal en Percona, gopher senior, colaborador en Prometheus ).

Puede hablar sobre cualquiera de estos temas en el contexto de Go. Digamos que monorepo o multi-rep en el contexto Go es muy diferente, porque la importación de ruta utiliza la URL completa. Incluso en tales cosas hay diferencias significativas, por lo que me parece que puedes hablar de todo esto.

Ir camino


Oleg Bunin: Dime, ¿los patrones arquitectónicos que se utilizan para diseñar aplicaciones que se ejecutarán en Go son similares a algunos estándares o es una historia completamente diferente?

Vitaly Levchenko: Hay un concepto Go-way que de alguna manera se desliza en la comunidad. Go es bastante único en términos de enfoques.

Elena Grahovac: La cuestión de qué es holístico el Go-way, sería interesante discutirlo.

Si hablamos de patrones, los patrones tradicionales de OOP para Go son irrelevantes en general. Pero al mismo tiempo, Go tiene algo propio. Por ejemplo, prácticas de manejo de errores, enfoques de estructuración, trabajo con contexto, procesamiento de consultas, etc. Las aplicaciones web Go tienen sus propios detalles.

Oleg Bunin: Entiendo correctamente que el programador Go promedio necesita saber y entender más sobre cómo funciona una computadora que un programador PHP normal. ¿Un programador Go tiene más acceso al procesador y los subprocesos, más control sobre la ejecución del código?

Elena Grahovac: No estaría de acuerdo, para ser honesto.

Vitaly Levchenko: Go, más bien, tiene acceso directo. En términos generales, puede llamar a sys call una llamada directa. Puede escribir algo en un disco con las opciones necesarias en dos pasos. Es conveniente, bien documentado y utilizado.

Marco Kevats: Estoy de acuerdo, me parece que Go-Schnick debería entender más para programar normalmente. Pero no un orden de magnitud.

Vitaly Levchenko: Esto se debe a la cuestión de la productividad. Tan pronto como el desarrollador Go tiene una cuestión de productividad, comienza a trabajar con hardware. Después de eso, queda claro de inmediato que necesita comprender el hardware y Linux .

De PHP para ir


Igor Dolzhikov: Una vez dije que Go es un nuevo PHP, por lo que casi me tiraron tomates. Ahora bien, este es el lenguaje que se toma precisamente para arrojar algo rápidamente.

Vitaly Levchenko: Una pregunta no trivial es la incorporación de desarrolladores que forman parte de Go. Algunas personas piensan que una persona sin experiencia no es un go-shnik. Y hay una posición en la que puede tomar personas sin experiencia en Go, lanzar inmediatamente un proyecto en Go, y todo estará bien. Tal experiencia sería muy útil.

Igor Dolzhikov: Un buen tema para el informe: no lleve su experiencia y todos los enfoques que funcionan para un idioma (PHP, en particular) en Go. Este es un error común.

Vitaly Levchenko: Agregue a esto la pregunta: "¿Cómo gestionar los programadores que cambian de PHP a Go?" y obtener un excelente informe ¿Quién lo hará, escribe ?

Y desde que comenzaron a hablar sobre gestión, propongo discutir Go desde este punto de vista. En primer lugar, sus contras.

Por lo general, el ingeniero considera los lenguajes de programación: características arquitectónicas, sintaxis, etc. En cualquier conferencia de idiomas, una parte sustancial de los temas es si elegir o no un instrumento en un caso particular. Al mismo tiempo, los idiomas se comparan de acuerdo con las características técnicas, pero hay problemas específicos del equipo y de la administración, y es más difícil lidiar con ellos. Un informe sobre ellos será útil para quienes decidan si usar Go.

Go se está volviendo cada vez más popular, por lo que estamos esperando en nuestra conferencia especialistas interesados ​​en Go, pero que aún no estén muy familiarizados con él.

Ir en contra de todos


Marco Kevac: Realmente me gustaría escuchar un informe llamado algo así como "¿Cómo vivimos sin genéricos?" y en el que se ordenaría por puntos que es posible evitar esto y aquello. Todos están hablando de estos genéricos, y tal vez simplifican la vida, pero de hecho puedes prescindir de ellos. Es interesante mostrar en el lado práctico cómo lograr esto.

Vitaly Levchenko: Además de los genéricos, causa holivares, entre aquellos que no son de Go, manejo de errores. El manejo de errores en Go es muy diferente de todos los demás idiomas, hay patrones que no todos conocen y usan. Con la llegada de Go 1.13, este problema se resolverá parcialmente, pero en cualquier caso, el manejo de errores es un tema importante.

Alexey Palazhchenko: Además de los genéricos y los errores, hay un tercer caballo del Apocalipsis: estos son módulos .

Elena Grahovac: ¿Qué es más controvertido en el contexto de los módulos: funcionan, cómo no funcionan o qué atrae a Internet de las adicciones?

Alexey Palazhchenko: Me parece, todos juntos. Este tema será aún más relevante para GolangConf en octubre, porque Go 1.13 se lanzará en agosto y las personas comenzarán a cambiarlo justo a tiempo. Antes de eso, todos estos eran entusiastas en general.

Elena Grahovac: ¿Qué crees que dirán en la American GopherCon? Anunciar Go 2.0?

Marco Kevac: Creo que no veremos ningún descubrimiento.

Alexey Palazhchenko: Supongo que hablarán principalmente sobre ajustes y módulos, es decir, gopls, goproxy, registro y auditoría.

Alexey Palazhchenko: Hablando de holivars, iría a un informe sobre el tema: "Ir - apesta" o "Ir - peor que X" de una persona famosa que escribe bien en X, por ejemplo.

Elena Grahovac: Puedes llamar a cualquier persona de nuestra compañía, él te dirá por qué Kotlin es mejor que Go. Y luego haré un informe: "¿Cómo puede un goffer sobrevivir en una empresa que solo quiere asociarse con Kotlin"?

Alexey Palazhchenko: Sería un buen combo. Es interesante asistir a una conferencia sobre el lenguaje X, donde, entre otras cosas, dirán que X apesta. Para hacer tal informe, necesitas tener nervios de acero y un muy buen argumento. Como regla general, estas personas se preparan mucho, obtienen interesantes, buenos informes y discusiones interesantes al margen.

Ir, seguridad y Windows


Vitaliy Levchenko: Por cierto, aún no han dicho una palabra sobre Seguridad.

Elena Grahovac: Sí, nos complacería recibir un informe sobre Go y seguridad de un especialista en seguridad incondicional. Responde si eres tú. Aunque, me parece, este tema no se ha cubierto en casi todas partes, no solo en Go.

Y como ya recordamos la seguridad, propongo un tema, algo sobre Windows. Traté de recordar qué tipo de errores que conozco específicamente en Go están relacionados con la seguridad, y por alguna razón se trata de Windows.

Marco Kevats: ¿Qué es Windows?

Elena Grahovac: Realmente pregunto, ¿qué estás bromeando?

Alexey Palazhchenko: Raramente, pero no una, ni dos ni tres veces, me preguntaron algo sobre Windows. Alguien simplemente no se configura localmente. Alguien pregunta cómo hacer una placa de Excel desde Ir o cómo trabajar con Inicio. Por lo tanto, un informe de revisión sobre cómo usar Go en Windows en general puede no ser muy popular, pero definitivamente unirá a estas personas, lo que es valioso en sí mismo.

Marco Kevac: estoy de acuerdo. Hace poco asistí a un taller para "novatos" Go, donde los programadores trataron de instalar trivialmente Go y hacer algo al respecto. Surgieron una gran cantidad de problemas precisamente por Windows y las características de trabajar en él con Go.

Alexey Palazhchenko: Windows no está en nuestra burbuja, pero en general sí. A juzgar por las encuestas, Windows es la plataforma más popular.

Vaya carrera de desarrollador


Elena Grahovac: ¿Qué más queremos discutir en nuestra conferencia? Por ejemplo, me interesaría el tema del desarrollo profesional de los desarrolladores de Go.

Vitaly Levchenko: ¿Cómo difiere del crecimiento profesional de cualquier otro desarrollador?

Elena Grahovac: Esa es la pregunta: ¿hay alguna diferencia? Por ejemplo, veo que a veces los desarrolladores de Go vienen a Go para cambiar a SRE más tarde. Ahora, en Berlín, esta es una tendencia, vienen jóvenes que dicen: "Realmente quiero ser SRE, pero entiendo que no puedo de inmediato, así que por ahora trabajaré como desarrollador junior de Go, y luego de alguna manera me mudaré a SRE".

Vitaly Levchenko: Entonces hay interés, y en la conferencia necesitas cubrir SRE.

Elena Grahovac: SRE son aquellos que usan Go mucho para automatizar sus tareas, todo lo que debe automatizarse después del primer uso. Por lo tanto, este es un tema urgente para la conferencia Go.

Vitaliy Levchenko: SRE también crece más rápido de Go-Schnicks debido a la variedad de conocimientos necesarios.

: DevOpsConf SRE Go 5 .


: Go. : « Prometheus, Go , ». CocroroachDB Go, . , , , , , . .

:Serverless . serverless- Go: AWS, Google, Microsoft Azure. , -, .

: , Go , . . , , , . , , JSON-RPC, Go-.

, — . telegram- . GolangConf .

Source: https://habr.com/ru/post/458768/


All Articles