Problème technique du groupe Mail.ru 2019

Problème technique du groupe Mail.ru 2019

Fin mai, nos diplômés du Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Université d'État Lomonossov de Moscou) et Technopolis (Université polytechnique Pierre le Grand de Saint-Pétersbourg) ont défendu leurs projets de diplôme. Trois mois ont été alloués au travail et les gars ont investi dans leur idée les connaissances et les compétences acquises au cours de deux années d'études.

Au total, 13 projets ont été réalisés dans le domaine de la défense, résolvant divers problèmes dans différentes industries. Par exemple:

  • stockage cloud avec cryptage de fichiers cryptographiques ;
  • plateforme de création de vidéos interactives (avec des fins différentes) ;
  • tableau intelligent pour jouer aux échecs réels sur le réseau ;
  • architecture pour la récupération intelligente d'articles médicaux ;
  • Logiciel pour enseigner aux enfants du primaire les bases de l'algorithmique.

Ainsi que les projets des business units :

  • Système CRM pour TamTam Messenger ;
  • service Web pour rechercher des photos thématiques sur la carte d'Odnoklassniki ;
  • service de géocodage d'adresses pour MAPS.ME.

Aujourd'hui, nous allons vous parler plus en détail de cinq projets de nos diplômés.

Recherche intelligente d'articles médicaux

Problème technique du groupe Mail.ru 2019

Il existe de nombreux domaines dans le domaine scientifique, dans chacun desquels des recherches sont menées, un grand nombre d'articles sont publiés dans diverses revues. Il s'agit des technologies de l'information, de la physique, des mathématiques, de la biologie, de la médecine et bien d'autres.

Auteurs projet a décidé de se concentrer sur le domaine médical. Presque tous les articles sur des sujets médicaux sont rassemblés sur le portail PubMed. Le portail propose sa propre recherche. Ses capacités sont cependant très limitées. Par conséquent, les gars ont amélioré le système de recherche, ajouté la prise en charge des requêtes longues et la possibilité d'affiner les requêtes à l'aide de la modélisation thématique.

Problème technique du groupe Mail.ru 2019
Le SERP contient une liste classée de documents avec leurs sujets définis, et les mots et termes liés à ces sujets sont mis en évidence à l'aide d'une modélisation probabiliste de sujets. L'utilisateur peut cliquer sur les termes en surbrillance pour affiner la requête de recherche.

Problème technique du groupe Mail.ru 2019
Pour accélérer la recherche dans l'immense base de données PubMed, les auteurs ont écrit leur propre moteur de recherche qui peut être facilement intégré à n'importe quelle infrastructure.

La recherche s'effectue en trois étapes :

  1. Les documents des candidats sont sélectionnés à l'aide d'un index inversé.
  2. Les candidats sont classés à l'aide de l'algorithme BM25F, qui prend en compte différents champs des documents lors de la recherche. Ainsi, les mots du titre ont plus de poids que les mots du résumé.
  3. Un système de mise en cache est également utilisé pour accélérer le traitement des demandes fréquentes.

Problème technique du groupe Mail.ru 2019

Architecture des microservices :

Problème technique du groupe Mail.ru 2019
Fondamentalement, les données textuelles structurées sont transférées entre les services. Pour des vitesses de transfert élevées, GRPC est utilisé - un cadre pour connecter des modules dans une architecture de microservices. La sérialisation des données est également utilisée à l'aide du format d'échange de messages Protobuf.

Quels composants le système comprend-il :

  • Serveur de traitement des requêtes utilisateur entrantes sur Node.js.
  • Requêtes d'équilibrage de charge à l'aide du serveur proxy nginx.
  • Le serveur Flask implémente l'API REST et reçoit les requêtes transmises depuis Node.js.
  • Toutes les données brutes et traitées, ainsi que les informations de requête, sont stockées dans MongoDB.
  • Toutes les demandes de résultats pertinents pour la thématisation de documents vont à RabbitMQ.

Exemple de résultats de recherche :

Problème technique du groupe Mail.ru 2019

Ce que nous prévoyons de faire ensuite :

  • Recommandations lors de la compilation d'avis sur un sujet donné (identification des sujets importants dans un document et recherche dans des sous-ensembles de documents).
  • Recherchez des fichiers PDF.
  • Segmentation sémantique du texte.
  • Suivez les sujets et les tendances au fil du temps.

Équipe du projet : Fedor Petryaykin, Vladislav Dorozhinsky, Maxim Nakhodnov, Maxim Filin

Bloquer le journal

Problème technique du groupe Mail.ru 2019

Aujourd'hui, lorsqu'ils enseignent la programmation et l'informatique, les enfants en âge d'aller à l'école primaire (de la 5e à la 7e année) ont des difficultés à maîtriser la matière. De plus, si les étudiants souhaitent effectuer leurs devoirs à la maison, ils doivent installer des logiciels supplémentaires sur leur ordinateur. Les enseignants doivent vérifier un grand nombre de solutions similaires à des problèmes et, dans le cas de l'apprentissage à distance, ils doivent également développer une méthodologie pour recevoir les devoirs des étudiants.

Les auteurs du projet Block Log sont arrivés à la conclusion : lorsqu'on enseigne aux enfants d'âge primaire les bases de l'algorithmique, l'accent ne doit pas être mis sur la mémorisation des commandes du langage de programmation, mais sur la construction de diagrammes algorithmiques. Cela permettra aux étudiants de consacrer du temps et des efforts à la conception d’un algorithme, plutôt que de taper des structures syntaxiques lourdes.

plate-forme Bloquer le journal vous permet de:

  1. Créez et modifiez des organigrammes.
  2. Exécutez les organigrammes créés et voyez le résultat de leur travail (données de sortie).
  3. Enregistrez et chargez les projets créés.
  4. Dessiner des images raster (générer une image basée sur un algorithme créé par l'enfant).
  5. Recevez des informations sur la complexité de l'algorithme créé (en fonction du nombre d'opérations effectuées dans l'algorithme).

Une répartition des rôles entre enseignants et étudiants est attendue. Tout utilisateur reçoit le statut d'étudiant ; pour obtenir le statut d'enseignant, vous devez contacter l'administrateur système. L'enseignant peut non seulement saisir des descriptions et des conditions de problèmes, mais également créer des tests automatisés qui seront automatiquement lancés lorsqu'un étudiant soumettra une solution au problème dans le système.

Éditeur de journal de blocage du navigateur :

Problème technique du groupe Mail.ru 2019

Après avoir résolu le problème, l'étudiant peut télécharger la solution et voir les résultats :

Problème technique du groupe Mail.ru 2019

La plateforme se compose d'une application front-end en Vue.js et d'une application back-end en Ruby on Rails. PostgreSQL est utilisé comme base de données. Pour simplifier le déploiement, tous les composants du système sont regroupés dans des conteneurs Docker et assemblés à l'aide de Docker Compose. La version de bureau de Block Log est basée sur le framework Electron. Webpack a été utilisé pour créer le code JavaScript.

Équipe de projet : Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov.

Système CRM pour TamTam Messenger

Problème technique du groupe Mail.ru 2019

CRM est un outil permettant une interaction pratique entre les entreprises et les utilisateurs de TamTam. Les fonctions suivantes ont été implémentées :

  • Un constructeur de bots qui vous permet de créer des bots sans compétences en programmation. En quelques minutes, vous pouvez obtenir un robot entièrement fonctionnel qui peut non seulement afficher certaines informations aux utilisateurs, mais également collecter des données, incl. fichiers que l’administrateur peut consulter ultérieurement.
  • RSS. Vous pouvez facilement connecter RSS à n’importe quelle chaîne.
  • Publication retardée. Vous permet d'envoyer et de supprimer des messages à des heures prédéfinies.

L'équipe a également participé aux tests de l'API Bot, en créant plusieurs robots auto-écrits, tels qu'un robot pour la Coupe du monde de hockey 2019, un robot pour l'enregistrement/autorisation dans notre service et un robot pour CI/CD.

Infrastructure des solutions :

  • Le serveur de gestion contient un système de surveillance pour chaque serveur et chaque conteneur Docker afin de détecter rapidement et facilement un problème et de le résoudre, d'afficher diverses métriques et statistiques d'utilisation. Il existe également un système de gestion de configuration à distance de notre application.
  • Le serveur intermédiaire contient la version actuelle de notre application, disponible pour des tests généraux par l'équipe de développement.
  • Les serveurs de gestion et de transfert sont disponibles uniquement via VPN pour les développeurs, et le serveur de production contient la version finale de l'application. Il est isolé des mains des développeurs et n’est disponible que pour l’utilisateur final.
  • Le système CI/CD a été implémenté à l'aide de Github et Travis, notification à l'aide d'un bot personnalisé dans TamTam.

Problème technique du groupe Mail.ru 2019

L'architecture applicative est une solution modulaire. L'application, la base de données, le gestionnaire de configuration et la surveillance sont lancés dans des conteneurs Docker distincts, ce qui vous permet de faire abstraction de l'environnement de lancement, de modifier ou de redémarrer un conteneur distinct. La création d'une topologie de réseau et la gestion des conteneurs se font à l'aide de Docker Compose.

Problème technique du groupe Mail.ru 2019

Équipe de projet : Alexey Antufiev, Egor Gorbatov, Alexey Kotelevsky.

FourchetteMoi

Problème technique du groupe Mail.ru 2019

Le projet ForkMe est une plateforme de visionnage de vidéos interactives, où vous pouvez créer votre propre vidéo et la montrer à vos amis. Pourquoi avons-nous besoin de vidéos interactives s’il y en a des régulières ?

L'intrigue non linéaire de la vidéo et la possibilité de choisir lui-même la suite permettent au spectateur d'être impliqué, et les créateurs de contenu pourront montrer des histoires uniques, dont l'intrigue sera influencée par les utilisateurs. De plus, les créateurs de contenu, en étudiant les statistiques de conversion vidéo, seront en mesure de comprendre ce qui intéresse le plus le public et de rendre le matériel plus attrayant.

Lors du développement du projet, les gars se sont inspirés du film interactif Bandersnatch de Netflix, qui a reçu de nombreuses vues et de bonnes critiques. Alors que le MVP était déjà rédigé, des nouvelles sont apparues selon lesquelles Youtube envisageait de lancer une plateforme de séries interactives, ce qui confirme une fois de plus la popularité de cette direction.

MVP comprend : un lecteur interactif, un constructeur vidéo, une recherche par contenu et balises, des collections de vidéos, des commentaires, des vues, des notes, des profils de chaîne et d'utilisateur.

Problème technique du groupe Mail.ru 2019

Pile technologique utilisée dans le projet :

Problème technique du groupe Mail.ru 2019

Comment est-il prévu de développer le projet :

  • collecte de statistiques et d'infographies sur les transitions vers la vidéo ;
  • notifications et messages personnels pour les utilisateurs du site ;
  • versions pour Android et iOS.

Après cela, nous prévoyons d'ajouter :

  • créer des histoires vidéo depuis votre téléphone ;
  • éditer des fragments vidéo téléchargés (par exemple découpage) ;
  • création et lancement de publicité interactive dans le player.

Équipe projet : Maxim Morev (développeur fullstack, a travaillé sur l'architecture du projet) et Roman Maslov (développeur fullstack, a travaillé sur la conception du projet).

En ligne à bord

Problème technique du groupe Mail.ru 2019

Problème technique du groupe Mail.ru 2019

Aujourd'hui, les parents accordent une grande attention au développement mental de leurs enfants et les enfants s'intéressent aux jeux intellectuels. Par conséquent, les échecs gagnent à nouveau en popularité. Et bien que les échecs en général soient très populaires, trouver un adversaire régulier pour les parties est problématique. Par conséquent, de nombreuses personnes utilisent les services d’échecs en ligne, malgré le fait que de nombreux joueurs préfèrent jouer « en direct » avec de vraies pièces. Cependant, en jouant aux échecs, une personne fait beaucoup d'efforts mentaux et se fatigue, et cette fatigue est complétée par l'impact négatif d'être assis devant un ordinateur ou un smartphone. En conséquence, le cerveau est surchargé après seulement deux matchs.

Tous ces facteurs ont poussé les auteurs à l'idée du projet On-Line-On-Board, qui se compose de trois parties : un échiquier physique, une application de bureau et un service Web. L’échiquier est un champ d’échecs régulier, qui reconnaît la position des pièces et, à l’aide d’une indication lumineuse, indique les mouvements de l’adversaire. La carte est connectée via USB à un PC et communique avec l'application de bureau. En mode entraînement (et pour les enfants), vos mouvements possibles sont mis en avant.

L'application reprend les fonctions de base de gestion de la carte, ce qui permet de réduire considérablement son coût et d'amener la mise en œuvre de la plupart des fonctions au niveau logiciel. L'application communique avec un service web dont la principale valeur est la mise à jour dynamique.

Le scénario principal d'utilisation du produit : une personne joue sur le service, la seconde sur un plateau physique connecté au service. Autrement dit, le service assume une fonction de communication.

Équipe du projet : Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Vous pouvez en savoir plus sur nos projets éducatifs sur ce lien. Et visitez la chaîne plus souvent Technoflux, de nouvelles vidéos pédagogiques sur la programmation, le développement et d'autres disciplines y apparaissent régulièrement.

Source: habr.com

Ajouter un commentaire