Edición técnica de Mail.ru Group 2019

Edición técnica de Mail.ru Group 2019

A finales de mayo, nuestros graduados de Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Universidad Estatal Lomonosov de Moscú) y Technopolis (Universidad Politécnica Pedro el Grande de San Petersburgo) defendieron sus proyectos de diploma. Se dedicaron tres meses a trabajar y los muchachos invirtieron en su creación los conocimientos y habilidades adquiridos durante dos años de estudio.

En total, se desarrollaron 13 proyectos de defensa, que resolvieron diversos problemas en diferentes industrias. Por ejemplo:

  • almacenamiento en la nube con cifrado de archivos criptográficos;
  • plataforma para la creación de vídeos interactivos (con diferentes finales);
  • tablero inteligente para jugar ajedrez real a través de la red;
  • arquitectura para recuperación inteligente de artículos médicos;
  • Software para enseñar a niños de primaria los conceptos básicos de algoritmización.

Así como proyectos de unidades de negocio:

  • Sistema CRM para mensajería TamTam;
  • servicio web para buscar fotografías temáticas en el mapa de Odnoklassniki;
  • Servicio de geocodificación de direcciones para MAPS.ME.

Hoy te contamos con más detalle cinco proyectos de nuestros egresados.

Búsqueda inteligente de artículos médicos

Edición técnica de Mail.ru Group 2019

Hay muchas áreas en el campo científico, en cada una de las cuales se realizan investigaciones y se publica una gran cantidad de artículos en una variedad de revistas. Se trata de tecnologías de la información, física, matemáticas, biología, medicina y muchas otras.

Autores proyecto decidió centrarse en el campo médico. Casi todos los artículos sobre temas médicos se recopilan en el portal PubMed. El portal proporciona su propia búsqueda. Sin embargo, sus capacidades son muy limitadas. Por lo tanto, los chicos mejoraron el sistema de búsqueda, agregaron soporte para consultas largas y la capacidad de refinar consultas mediante el modelado de temas.

Edición técnica de Mail.ru Group 2019
El SERP contiene una lista clasificada de documentos con sus temas definidos, y las palabras y términos relacionados con estos temas se resaltan mediante modelado de temas probabilísticos. El usuario puede hacer clic en los términos resaltados para limitar la consulta de búsqueda.

Edición técnica de Mail.ru Group 2019
Para agilizar la búsqueda en la enorme base de datos PubMed, los autores escribieron su propio motor de búsqueda que se puede integrar fácilmente en cualquier infraestructura.

La búsqueda se realiza en tres etapas:

  1. Los documentos candidatos se seleccionan mediante un índice inverso.
  2. Los candidatos se clasifican según el algoritmo BM25F, que durante la búsqueda tiene en cuenta varios campos de los documentos. Por tanto, las palabras del título tienen más peso que las del resumen.
  3. También se utiliza un sistema de almacenamiento en caché para acelerar el procesamiento de solicitudes frecuentes.

Edición técnica de Mail.ru Group 2019

Arquitectura de microservicio:

Edición técnica de Mail.ru Group 2019
Básicamente, los datos de texto estructurado se transfieren entre servicios. Para altas velocidades de transferencia, se utiliza GRPC, un marco para conectar módulos en una arquitectura de microservicio. La serialización de datos también se utiliza utilizando el formato de intercambio de mensajes Protobuf.

¿Qué componentes incluye el sistema?

  • Servidor para procesar solicitudes entrantes de usuarios en Node.js.
  • Solicitudes de equilibrio de carga utilizando el servidor proxy nginx.
  • El servidor Flask implementa la API REST y recibe solicitudes reenviadas desde Node.js.
  • Todos los datos sin procesar y procesados, así como la información de las consultas, se almacenan en MongoDB.
  • Todas las solicitudes de resultados relevantes para la tematización de documentos van a RabbitMQ.

Ejemplo de resultados de búsqueda:

Edición técnica de Mail.ru Group 2019

Lo que planeamos hacer a continuación:

  • Recomendaciones al compilar reseñas sobre un tema determinado (identificar temas importantes en un documento y buscar en subconjuntos de documentos).
  • Buscar archivos PDF.
  • Segmentación semántica de texto.
  • Realice un seguimiento de temas y tendencias a lo largo del tiempo.

Equipo del proyecto: Fedor Petryaykin, Vladislav Dorozhinsky, Maxim Nakhodnov, Maxim Filin

Registro de bloque

Edición técnica de Mail.ru Group 2019

Hoy en día, cuando se enseña programación e informática, los niños en edad de escuela primaria (grados 5 a 7) tienen problemas para dominar el material. Además, si los estudiantes quieren completar las tareas en casa, deben instalar software adicional en sus computadoras. Los profesores tienen que comprobar una gran cantidad de soluciones similares a problemas y, en el caso del aprendizaje remoto, también tienen que desarrollar una metodología para recibir las tareas de los estudiantes.

Los autores del proyecto Block Log llegaron a la conclusión: al enseñar a niños en edad escolar primaria los conceptos básicos de algoritmización, el énfasis no debe estar en memorizar comandos del lenguaje de programación, sino en construir diagramas de algoritmos. Esto permitirá a los estudiantes dedicar tiempo y esfuerzo a diseñar un algoritmo, en lugar de escribir estructuras sintácticas engorrosas.

plataforma Registro de bloque le permite:

  1. Crear y editar diagramas de flujo.
  2. Ejecute los diagramas de flujo creados y vea el resultado de su trabajo (datos de salida).
  3. Guarde y cargue proyectos creados.
  4. Dibujar imágenes rasterizadas (generando una imagen basada en un algoritmo creado por el niño).
  5. Recibir información sobre la complejidad del algoritmo creado (según la cantidad de operaciones realizadas en el algoritmo).

Se espera una división de roles entre profesores y estudiantes. Cualquier usuario recibe el estatus de estudiante, para obtener el estatus de maestro debe comunicarse con el administrador del sistema. El profesor no sólo puede introducir descripciones y condiciones de los problemas, sino también crear pruebas automatizadas que se iniciarán automáticamente cuando un estudiante envíe una solución al problema en el sistema.

Editor de registro de bloqueo del navegador:

Edición técnica de Mail.ru Group 2019

Después de resolver el problema, el alumno puede descargar la solución y ver los resultados:

Edición técnica de Mail.ru Group 2019

La plataforma consta de una aplicación front-end en Vue.js y una aplicación back-end en Ruby on Rails. PostgreSQL se utiliza como base de datos. Para simplificar la implementación, todos los componentes del sistema se empaquetan en contenedores Docker y se ensamblan mediante Docker Compose. La versión de escritorio de Block Log se basa en el marco Electron. Webpack se utilizó para construir el código JavaScript.

Equipo del proyecto: Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov.

Sistema CRM para mensajería TamTam

Edición técnica de Mail.ru Group 2019

CRM es una herramienta para una interacción conveniente entre empresas y usuarios de TamTam. Se han implementado las siguientes funciones:

  • Un constructor de bots que te permite crear bots sin conocimientos de programación. En unos minutos, puede obtener un bot completamente funcional que no solo puede mostrar cierta información a los usuarios, sino también recopilar datos, incl. archivos que el administrador puede ver más tarde.
  • RSS. Puede conectar fácilmente RSS a cualquier canal.
  • Publicación retrasada. Le permite enviar y eliminar mensajes en horarios preestablecidos.

El equipo también participó en las pruebas de la API de Bot, creando varios bots escritos por ellos mismos, como un bot para la Copa Mundial de Hockey 2019, un bot para registro/autorización en nuestro servicio y un bot para CI/CD.

Infraestructura de la solución:

  • El servidor de administración contiene un sistema de monitoreo para cada servidor y cada contenedor Docker en él para detectar de manera rápida y conveniente un problema y resolverlo, ver varias métricas y estadísticas de uso. También existe un sistema para la gestión remota de la configuración de nuestra aplicación.
  • El servidor de prueba contiene la versión actual de nuestra aplicación, disponible para pruebas generales por parte del equipo de desarrollo.
  • Los servidores de administración y preparación están disponibles solo a través de VPN para los desarrolladores, y el servidor de producción contiene la versión de lanzamiento de la aplicación. Está aislado de las manos de los desarrolladores y sólo está disponible para el usuario final.
  • El sistema CI/CD se implementó usando Github y Travis, la notificación usando un bot personalizado en TamTam.

Edición técnica de Mail.ru Group 2019

La arquitectura de la aplicación es una solución modular. La aplicación, la base de datos, el administrador de configuración y el monitoreo se inician en contenedores Docker separados, lo que le permite abstraerse del entorno de inicio, cambiar o reiniciar un contenedor separado. La creación de una topología de red y la gestión de contenedores se realizan mediante Docker Compose.

Edición técnica de Mail.ru Group 2019

Equipo del proyecto: Alexey Antufiev, Egor Gorbatov, Alexey Kotelevsky.

Horquillame

Edición técnica de Mail.ru Group 2019

El proyecto ForkMe es una plataforma para ver videos interactivos, donde puedes crear tu propio video y mostrárselo a tus amigos. ¿Por qué necesitamos vídeos interactivos si los hay habituales?

La trama no lineal del vídeo y la posibilidad de elegir la continuación por sí mismos permiten que el espectador se involucre, y los creadores de contenidos podrán mostrar historias únicas, cuya trama estará influenciada por los usuarios. Además, los creadores de contenido, al estudiar las estadísticas de conversión de videos, podrán comprender qué es lo que más interesa a la audiencia y hacer que los materiales sean más atractivos.

Al desarrollar el proyecto, los chicos se inspiraron en la película interactiva Bandersnatch de Netflix, que recibió muchas visitas y buenas críticas. Cuando ya estaba escrito el MVP, apareció la noticia de que Youtube planeaba lanzar una plataforma para series interactivas, lo que confirma una vez más la popularidad de esta dirección.

MVP incluye: reproductor interactivo, constructor de videos, búsqueda por contenido y etiquetas, colecciones de videos, comentarios, visualizaciones, calificaciones, canales y perfiles de usuario.

Edición técnica de Mail.ru Group 2019

Pila de tecnología utilizada en el proyecto:

Edición técnica de Mail.ru Group 2019

Cómo se prevé desarrollar el proyecto:

  • recopilación de estadísticas e infografías sobre transiciones a vídeo;
  • notificaciones y mensajes personales para usuarios del sitio;
  • Versiones para Android e iOS.

Después de esto planeamos agregar:

  • crear historias en video desde su teléfono;
  • editar fragmentos de vídeo descargados (por ejemplo recortar);
  • creación y lanzamiento de publicidad interactiva en el reproductor.

Equipo del proyecto: Maxim Morev (desarrollador fullstack, trabajó en la arquitectura del proyecto) y Roman Maslov (desarrollador fullstack, trabajó en el diseño del proyecto).

En línea a bordo

Edición técnica de Mail.ru Group 2019

Edición técnica de Mail.ru Group 2019

Hoy en día, los padres prestan gran atención al desarrollo mental de sus hijos y los niños se interesan por los juegos intelectuales. Por tanto, el ajedrez está volviendo a ganar popularidad. Y aunque el ajedrez en general es bastante popular, encontrar un oponente habitual para las partidas es problemático. Por eso, mucha gente utiliza los servicios de ajedrez online, a pesar de que muchos jugadores prefieren jugar “en vivo” con piezas reales. Sin embargo, cuando se juega al ajedrez, una persona hace un gran esfuerzo mental y se cansa, y esta fatiga se complementa con el impacto negativo de sentarse frente a una computadora o un teléfono inteligente. Como resultado, el cerebro se sobrecarga después de sólo dos juegos.

Todos estos factores llevaron a los autores a la idea del proyecto On-Line-On-Board, que consta de tres partes: un tablero de ajedrez físico, una aplicación de escritorio y un servicio web. El tablero es un campo de ajedrez normal, que reconoce la posición de las piezas y, con la ayuda de una indicación luminosa, indica los movimientos del oponente. La placa se conecta vía USB a una PC y se comunica con la aplicación de escritorio. En el modo de entrenamiento (y para niños), se resaltan tus posibles movimientos.

La aplicación asume las funciones básicas de gestión de la placa, lo que le permite reducir en gran medida su costo y llevar la implementación de la mayoría de las funciones al nivel de software. La aplicación se comunica con un servicio web cuyo principal valor es la actualización dinámica.

El escenario principal de uso del producto: una persona juega en el servicio, la segunda en un tablero físico conectado al servicio. Es decir, el servicio adquiere una función comunicativa.

Equipo del proyecto: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Puedes leer más sobre nuestros proyectos educativos en este enlace. Y visita el canal más seguido. Tecnocorriente, aparecen periódicamente nuevos vídeos educativos sobre programación, desarrollo y otras disciplinas.

Fuente: habr.com

Añadir un comentario