¡Corre, Gopher, corre! - de qué hablaremos en GolangConf

Prometimos 5-6 razones para cambiar a Go, ¡y sucedió! En la conferencia GolangConf, que está totalmente dedicada a Go, el 7 de octubre habrá 5 informes marcados como "Switching to Go" para aquellos que simplemente están yendo o comenzando a usar este idioma en sus proyectos.

Pero esto es solo el comienzo. Desde el primer momento, logramos armar un programa muy fuerte y diverso que satisface las necesidades de tres categorías de participantes: desarrolladores profesionales de Go; aquellos que simplemente se están cambiando a Go; ingenieros de infraestructura y usuarios de herramientas escritas en Go.



El programa de la conferencia incluye 21 informes , una sesión de informes blitz y mitaps. En cualquier momento, los invitados a la conferencia podrán elegir entre 3-4 temas diferentes y encontrar algo interesante para ellos. Incluso creo que la elección y la incapacidad de desgarrar los flujos serán más relevantes (es bueno que todo esté en el video más adelante). Al mismo tiempo, los temas relevantes para una variedad de especialistas serán discutidos en diferentes salas.

Dedicaremos mucha atención a las mejores prácticas para trabajar con Go y cualquier código en general. Discutiremos problemas de rendimiento y varias cosas difíciles con Gophers experimentados. Para los ingenieros de infraestructura, también habrá algunos informes interesantes. El bloqueo en las formas no estándar de usar Go no dejará a nadie indiferente en absoluto. Además, habrá hasta dos informes sobre el desarrollo de la interfaz en Go, ambos de oradores extranjeros.

Podemos decir que la interfaz es una dirección experimental. La producción de front-end no suele escribirse en Go, más a menudo WebAssembly se prueba en pequeños proyectos personales. Los oradores que invitamos podrán más que esbozar cómo comenzar a usar WebAssembly. Estos son informes detallados, basados ​​en la experiencia personal, que mostrarán que la vida se puede hacer en WebAssembly y cómo usarlo en sus proyectos.

GolangConf Speakers


El comité del programa abordó la selección de temas y oradores muy estrictamente. La mayoría de nuestros oradores son conocidos en la comunidad Go, pero al mismo tiempo, hay caras nuevas. Cuando de vez en cuando en las conferencias hablan las mismas personas, es un poco aburrido. Quiero ver una nueva apariencia, nuevos desafíos, nuevos oradores. Logramos atraer sangre fresca, y también tienen informes muy interesantes basados ​​en la experiencia práctica. Por ejemplo, espero con interés el informe de Ksenia Yakil.

La selección de hablantes extranjeros fue casi más difícil, porque hubo muchas aplicaciones de ellos. Pero sabemos que puede ser difícil para nuestra audiencia escuchar muchos informes en inglés. 8-9 informes por día ya son una gran cantidad de información nueva, y cuando necesita hacer un esfuerzo adicional debido al lenguaje para comprenderlo, se vuelve muy difícil. Por lo tanto, solo tenemos tres informes en inglés, pero son los más importantes.

De hecho, la comunidad global de Go es muy amigable y está lista para compartir experiencias. Obtuvimos una respuesta realmente buena cuando abrimos Call for Papers en PaperCall.io y anunciamos una conferencia en la comunidad internacional Go en Slack y Twitter. Es cierto que no logramos atraer a las superestrellas de la comunidad mundial, su calendario de eventos está programado para el próximo año. Pero luego tenemos planes de largo alcance para el próximo GolangConf.

Este año tendremos 21 informes de clase. Aquí hablaré sobre varios de ellos, y para obtener la información completa y el horario, visite el sitio web de la conferencia.

Análisis de similitud del código Go aplicado


Iskander Sharipov (VKontakte) en el pasado trabajó en un compilador de Go y ajustes de terceros para él: analizadores estáticos y utilidades para la refactorización. Ahora planea portar muchas de las herramientas creadas para Ir al ecosistema PHP. Probablemente pueda preguntar sobre esta experiencia colosal de Iskander al margen, y su informe será principalmente de interés para aquellos que piensen en los problemas del procesamiento del código Go:

  • Cómo encontrar funciones y métodos duplicados en su base de código.
  • Evitar reinventar la funcionalidad de la biblioteca estándar Go.
  • Cómo simplificar el análisis de Go-code a nivel sintáctico.

La clave para responder estas preguntas es la normalización de los programas Go, y es sobre esto que se discutirá en el informe. Pero no en palabras, sino en la práctica: considere una biblioteca para normalizar el código Go y varias de sus aplicaciones prácticas.

Póngase en marcha con WebAssembly


El colaborador de Go Johan Brandhorst vendrá a Moscú para presentarnos a WebAssembly y mostrar cómo comenzar con WebAssembly y Go. WebAssembly ha sido compatible con los navegadores durante casi dos años y se ha incluido en Go como un experimento desde la versión 1.11. Tal vez incluso pueda reemplazar JavaScript en el navegador y convertirse en ese mismo lenguaje, el código en el que puede funcionar en cualquier lugar.

Después de esta charla, los novatos aprenderán cómo usar Go with WebAssembly, qué pueden hacer estas tecnologías ahora y qué será posible en el futuro.

Scaling Go WebSocket Connections


Hay algunas excelentes bibliotecas de WebSocket en el ecosistema Go. Parecería: tome y haga su proyecto, tomando como base una solución preparada. Sin embargo, varios problemas urgentes deberán resolverse independientemente, por ejemplo:

  • cómo escalar las conexiones de usuario;
  • qué hacer con aquellos usuarios que no pueden conectarse a través de WebSocket;
  • cómo gestionar la vida útil de una conexión permanente;
  • qué hacer con la pérdida de mensajes con desconexiones a corto plazo del usuario.

Y finalmente, tendrá que escribir su propio protocolo sobre WebSocket y los clientes que lo implementan en todas las plataformas de clientes modernas. ¿Estás listo para esto?

Estos problemas ya están siendo abordados por la biblioteca de código abierto Centrifuge, que agrega muchas características útiles además de Gorilla WebSocket para crear aplicaciones en tiempo real. El autor de este proyecto, Alexander Emelin, hablará en GolangConf. Alexander enseñará técnicas y prácticas que le permitirán trabajar de manera efectiva con una gran cantidad de conexiones, y le dirá cómo funcionan estos enfoques en la producción del Avito de Messenger.

Cometer errores de competencia


Sabemos (que aún no sabe, él ya sabrá este informe) que Go proporciona herramientas poderosas y flexibles para escribir programas competitivos, pero no dicta reglas estrictas para su uso. Los artículos y los informes a menudo dan recomendaciones contradictorias sobre cómo transferir el trabajo a goroutines, cómo completarlos, cómo manejar los errores ...

Un gopher con experiencia, organizador de reuniones y conferencias, talleres y podcasts líderes Alexey Palazhchenko (Percona) ayudará a comprender estos temas. Alexey dará un ejemplo real de la API, que mejorará gradualmente en el curso del informe y en el que exploraremos posibles problemas y problemas.

¡Ve a hacer juegos!


Probablemente, muchos de nosotros estábamos interesados ​​en la programación, porque soñábamos con escribir juegos. Entonces, Alexey Akulovich está involucrado en el backend de proyectos complejos de VKontakte, pero no dejó el deseo de participar en GameDev, sino que lo combina con éxito con el desarrollo en Go. Cualquiera que quiera relajarse mientras escribe un juguete sin entrar en Unity / Unreal y otras alegrías encontrará útil este informe.

Alexey nos mostrará los marcos 2D y 3D de escritorio / web, las posibilidades de desarrollo artesanal y las opciones para ampliar la funcionalidad sin recompilar el binario principal. Hablaremos sobre la situación en 2019, para que se adjunten versiones y tendencias modernas.

Ir para frontend


Y si siempre ha soñado con escribir código de interfaz exclusivamente en GO, consulte el informe de Aarushi Kansal (Tier) . Tradicionalmente, la visualización y la implementación de ideas creativas, junto con el arte, son prerrogativa de los desarrolladores de JavaScript, pero Aarushi le dirá cómo crear aplicaciones y gráficos que funcionen en un navegador en Go. Después de este informe, creerá que puede revelar completamente su potencial en el desarrollo front-end sin renunciar a su idioma favorito.

Cómo escribir un sistema operativo en Go


Andrei Smirnov es el autor de muchos proyectos de código abierto y una clase magistral titulada "Desarrollo de sistemas confiables altamente cargados". Su charla en GolangConf es principalmente para aquellos que usan Kubernetes. Andrei hablará sobre el proceso de desarrollo del sistema operativo Talos y lo que se ha logrado mediante el uso de Go. Por ejemplo, el ensamblaje del sistema operativo y el ciclo de retroalimentación a través de CI no toma más de 5 minutos.

Veremos cómo los conceptos simples y comprensibles de programación competitiva en Go le permiten organizar el lanzamiento de las fases de inicialización del sistema operativo en paralelo y al mismo tiempo en la secuencia correcta. Discutiremos cuándo verificar el sistema que puede obtener con pruebas unitarias simples y cómo son las pruebas de integración para el sistema operativo. Andrei dice que Go se encontró en una posición de monopolio en este nicho. Descubriremos por qué y por qué es conveniente para nosotros.

Ir pruebas de integración


Por cierto, sobre las pruebas de integración. A pesar de los informes de sus beneficios e incluso de una gran cantidad de memes, todavía no reciben la atención adecuada. ¿O es solo en Gophers, y solo tenemos pruebas unitarias inherentes a los genes? Sea como fuere, Badoo se propuso escribir pruebas de integración en Go, y lo hicieron muy bien. Ksenia Yakil te dirá cómo. Cómo implementar el marco Go para las pruebas de integración, qué dificultades se interpondrán en el camino y qué resultados se pueden lograr. Verá que escribir pruebas de integración en Go es real y no tan doloroso.

Cómo y por qué escribir código legible


No importa en qué idioma escriba, sucede que el código antiguo es más fácil de reescribir que refactorizar. Lo más triste es cuando es su propio código, escrito con amor "solo" hace unos años.

Grigory Petrov (Evrone) ama la neurofisiología y llegar al fondo de las razones. Su charla en GolangConf es una guía práctica para lidiar con la complejidad del código: de dónde viene, por qué no se puede eliminar y cómo tratarlo. Gregory hablará sobre la descomposición, la instalación de "balizas" de varias maneras, técnicas para escribir identificadores útiles, crear trampas usando tipos. Antes de "escribir funciones más cortas, y los nombres de los identificadores son más comprensibles" no bajaremos :)

Y en la parte final del informe, discutiremos el enfoque "gradual" para escribir código legible, que no se limita a los lenguajes familiares de "escritura dinámica".

¿Por qué es tan raro Golang?


Y aquí, en la noche, cuando ya discutiremos muchos temas de desarrollo en Go, finalmente convenceremos a los que dudan de cambiar a Go, Philip Kulin planteará este tema: "Por qué Golang es tan extraño" y promete poner todo en los estantes y contar cómo estuvo todo. de hecho, y dónde desaparecieron los genéricos.

Mitapy y zona experta


Es posible que haya notado que no hay un solo miembro del comité del programa entre los oradores, aunque se trata de activistas de la comunidad a quienes usted sabe con certeza si estuvo en reuniones y conferencias. Hicimos algo más: seleccionamos temas, ayudamos a los oradores, preparamos actividades adicionales.

Los miembros del comité del programa durante la conferencia se pueden encontrar e interrogar en un área especial de expertos. A menudo, los recién llegados a Go tienen preguntas que, por alguna razón, no pueden resolverse, por lo que por alguna razón desconocida se atascan, e incluso StackOverflow no ayuda. Tendremos un stand separado en la conferencia donde puede hacer tales preguntas a los miembros del comité del programa y activistas de la comunidad Go. ¡Ven con tus preguntas y juntos trataremos de resolverlas!

GolangConf es parte de la familia de conferencias Ontiko, lo que significa que se asignará una sala separada para mitaps , pequeñas reuniones de un grupo de personas de ideas afines. Esta puede ser una clase magistral o taller, pero lo principal en cualquier caso será la comunicación entre especialistas, la discusión de los dolores y la búsqueda conjunta de una solución. Cada participante puede tratar de organizar su mitap o actuar como miembro del comité del programa y votar las propuestas de otros participantes.

Y, por supuesto, la creación de redes como parte integral de cualquier conferencia en nuestro caso será especialmente útil, ya que en la conferencia todos los participantes estarán interesados ​​de alguna manera en un tema: Golang. Por la noche, después del programa principal, por supuesto, tendremos una fiesta posterior y la oportunidad de socializar en un ambiente más informal.

GolangConf exactamente en una semana el 7 de octubre en Infospace, esperamos ver la comunidad Go. Únete ahora!

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


All Articles