Por qué él: 5 preguntas para maestros en Ozon Go

imagen

Go es uno de los principales idiomas en los que se escriben los servicios de Ozon. La semana pasada, abrimos la primera inscripción en la escuela Go-development, donde en dos meses puedes aprender gratis uno de los idiomas más populares hoy en el nivel de especialista medio. Por qué ir, para qué tareas se adapta mejor y qué esperar de estudiar en la escuela, dicen los desarrolladores del laboratorio Ozon IT, también son maestros de la escuela.


  1. Go?
  2. / ?
  3. / Go?
  4. ?
  5. ?
  6. : Go?

, « , »


imagen1. ¿Cuánto tiempo llevas escribiendo en Go?
He estado escribiendo exactamente 5 años en Go, antes de este pedido he estado escribiendo PHP durante 8 años, mientras todavía estaba atacando JS, Python en el orden de un año. En la escuela durante 2 años, escribió activamente sobre Pascal, incluso logró hacer un tetris gráfico completo en el 11 ° grado.

2. ¿Cómo es este lenguaje interesante / diferente de otros para usted?
No diría que el lenguaje es algo especial, pero en comparación con PHP, hay bastantes diferencias. En primer lugar, fue interesante para mí trabajar con subprocesos múltiples y todo lo relacionado con ellos. En segundo lugar, fue aquí donde revelé completamente las posibilidades de una arquitectura flexible basada en interfaces y pequeños módulos / ladrillos. Y, por último, soporte para muchas bibliotecas, un enfoque de microservicio y la capacidad de escribir tan rápido como en idiomas de tipo débil.

3. ¿Cuál es el proyecto más grande / más interesante que escribiste en Go?
En Go, comencé a escribir en Lazada (el comercio electrónico del sur de Asia que más tarde compró Alibaba) y toda la experiencia que obtuve allí se aplicó en Ozon. Como resultado, resultó crear el corazón del sitio web de Ozon, vinculando a todos los equipos del proyecto Composer. Este nombre le llegó, porque él, como compositor, controla el trabajo conjunto de muchos widgets de varios equipos, minimizando el trabajo de los equipos verticales. A través del sistema de administración de este producto, puede crear cualquier página del sitio, pero este no es un sistema de administración de contenido (CMS), sino un motor de plantillas. En cierto sentido, las plantillas con widgets se pueden tomar como metaprogramación, porque tienes if, tryCatch, paginación, etc. a tu disposición. Todo el tráfico del sitio Ozon pasa a través de nosotros.

4. ¿Para qué tareas es el idioma más adecuado?
El lenguaje se puede usar para una variedad de propósitos, la mayoría de las veces se usa para crear microservicios, pequeñas bibliotecas, donde necesita realizar trabajos en paralelo, hay muchas llamadas de red.

5. ¿De qué estás hablando en el curso?
En el curso, planeo hablar sobre lo que les espera a los futuros empleados de Ozon. Por qué, bajo mi liderazgo, nació el proyecto Composer, cómo era antes que él, cómo se resuelven tareas similares con otros enfoques, por ejemplo, el conocido MVC. Sin embargo, en una escala de ozono, otras soluciones ya no son tan efectivas. Aquí encontrará los detalles del proyecto y muchos trucos que resuelven las tareas difíciles de grandes proyectos.

En la práctica, crearemos un servicio de back-end con varios widgets, implementaremos estos widgets en la página e incluso los mostraremos en el sitio. También agregaremos interactividad a estos widgets utilizando carga asíncrona, acción y paginación.

6. ¿Por qué vale la pena aprender Go?
Si desea unirse a una de las comunidades más activas en el mundo del desarrollo, tener demanda en el mercado, hacer cosas interesantes y sentirse orgulloso del trabajo realizado, entonces está en camino con Ozon and Go.

Masha Pospelova, grupo de desarrollo “Clasificación en fábricas de abastecimiento y centros de clasificación”


imagen 1. ¿Cuánto tiempo llevas escribiendo en Go?
Desde que llegué a Ozone - 5 meses, antes de eso escribí en C / C ++, Perl, un pequeño Python.

2. ¿Cómo es este lenguaje interesante / diferente de otros para usted?
Estoy muy impresionado con el enfoque basado en la simplicidad y la falta de ambigüedad en el desarrollo. Los autores controlan estrictamente todas las extensiones del lenguaje, tratando de evitar la redundancia. Por un lado, el estándar impone muchas restricciones, imponiendo un enfoque concreto para el desarrollo, por otro lado, tal ambigüedad resuelve muchos problemas

3. ¿Cuál es el proyecto más grande / más interesante que escribió en Go?
Probablemente el proyecto más interesante en el que trabajé fue el servicio de accesibilidad de productos, atendiendo alrededor de 10,000 solicitudes por segundo, que muestra qué productos y de qué fábricas de cumplimiento están disponibles para ordenar a un usuario específico en su aldea. Este no es un caso muy frecuente cuando puede aplicar todo el conocimiento de las sutilezas de la implementación del lenguaje, haciendo la optimización, además, bajo tal carga puede observar muchos efectos interesantes, ya que Go proporciona mucha información interesante sobre el estado del tiempo de ejecución.

4. ¿Para qué tareas es el idioma más adecuado?
Yo diría que para servicios simples y pequeños. En mi opinión, Go es bastante tacaño en los medios para organizar el código de grandes proyectos con una gran cantidad de entidades y funcionalidades.

5. ¿De qué estás hablando en el curso?
Hablaré sobre el marco interno, que le permite crear un servicio de red desde cero con todo lo necesario para un trabajo completo, integrado en la infraestructura de Ozon.

6. ¿Por qué vale la pena aprender Go?
Me parece que los creadores de Go pusieron mucho esfuerzo en hacer posible comenzar a trabajar con este lenguaje lo más rápido posible. Es bastante comprensible y directo, con una biblioteca estándar rica, tiene todas las herramientas necesarias para escribir pruebas unitarias y puntos de referencia, depurar, perfilar, determinar el estado de la carrera y muchas otras comodidades agradables. Y, por supuesto, es un placer escribir código utilizando herramientas de sincronización muy potentes y, lo que es más importante, intuitivas: gorutinas y canales.

Vladimir Serdyukov, grupo de desarrollo de cuentas personales


imagen1. ¿Cuánto tiempo llevas escribiendo en Go?
Ya 1.5 años

2. ¿Cómo es este lenguaje interesante / diferente de otros para usted?
El lenguaje es simple, se compila rápidamente, funciona en todas las plataformas populares, además, Go tiene un linter y fmt incorporados.

3. ¿Cuál es el proyecto más grande / más interesante que escribiste en Go?
El proyecto más grande es un mapa de puntos de entrega de pedidos, de los cuales Ozon tiene más de 6 mil. Muchas solicitudes asincrónicas y estrictos requisitos de rendimiento.

4. ¿Para qué tareas es el idioma más adecuado?
Go es muy adecuado para tareas no relacionadas con la IU personalizada (back-end)

5. ¿De qué estás hablando en el curso?
En el curso, hablaré sobre qué IDE se pueden usar para el desarrollo y cómo se ve la estructura del proyecto en Go.

6. ¿Por qué vale la pena aprender Go?
Vale la pena explorar Go porque es excelente para construir sistemas con mucha carga.

Dmitry Kulagin, grupo de desarrollo de servicios financieros


imagen1. ¿Cuánto tiempo llevas escribiendo en Go?
1 año. Antes de eso, codifiqué en PHP durante aproximadamente 5 años, escribí algunos scripts en Python

2. ¿Cómo es este lenguaje interesante / diferente de otros para usted?
Es de tipo estático, compilado, muy similar a C, y tiene una gran comunidad genial.

3. ¿Cuál es el proyecto más grande / más interesante que escribiste en Go?
Puntos Ozon clásicos.

4. ¿Para qué tareas es el idioma más adecuado?
Paralelamente la descarga de la base de datos, cree un programa de consola que haga clic en algo rápidamente y, por supuesto, microservicios; demonios

5. ¿De qué estás hablando en el curso?
Acerca de cómo cambiar de su idioma a Ir en Ozon.

6. ¿Por qué vale la pena aprender Go?

  • Es tan simple como 5 centavos;
  • come [RAM] más rápido y menos que PHP;
  • tiene toda la infraestructura para sintonizar y paralelizar;
  • le encantará escribir pruebas unitarias, y tal vez debutará la función directamente en la prueba como yo;
  • Es difícil escribir código de espagueti en él. Go tiene muchos mecanismos (por ejemplo, linter) que vencerán las manos de los fideos. El primero es el compilador.
  • necesita escribir menos corchetes, pero puede olvidarse del punto y coma;
  • Pensará más en la lógica empresarial que en dónde colocar este fragmento de código.

Si estás listo para aprender Ve con uno de los equipos de Golang más grandes de Rusia, lee más sobre la escuela Ozon Go y deja una solicitud aquí . Y para aquellos que ya dominaron Go (o C # .Net) perfectamente, tenemos un programa de referencia con la capacidad de ganar 100,000 rublos para una recomendación exitosa. En general, nos vemos en Ozon, en línea hasta ahora, por supuesto)

All Articles