Technische Ausgabe der Mail.ru Group 2019

Technische Ausgabe der Mail.ru Group 2019

Ende Mai verteidigten unsere Absolventen von Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Lomonossow-Universität Moskau) und Technopolis (Peter der Große Polytechnische Universität St. Petersburg) ihre Diplomarbeiten. Für die Arbeit waren drei Monate vorgesehen, und die Jungs investierten in ihre Idee das Wissen und die Fähigkeiten, die sie in zwei Jahren Studium erworben hatten.

Insgesamt gab es 13 Verteidigungsprojekte, die verschiedene Probleme in verschiedenen Branchen lösten. Zum Beispiel:

  • Cloud-Speicher mit kryptografischer Dateiverschlüsselung;
  • Plattform zum Erstellen interaktiver Videos (mit unterschiedlichen Enden);
  • Smartboard zum Spielen von echtem Schach über das Netzwerk;
  • Architektur zum intelligenten Abrufen medizinischer Artikel;
  • Software, um Grundschulkindern die Grundlagen der Algorithmisierung beizubringen.

Sowie Projekte aus Geschäftsbereichen:

  • CRM-System für TamTam-Messenger;
  • Webdienst zur Suche nach thematischen Fotos auf der Karte für Odnoklassniki;
  • Adressgeokodierungsdienst für MAPS.ME.

Heute erzählen wir Ihnen ausführlicher von fünf Projekten unserer Absolventen.

Intelligente Suche nach medizinischen Artikeln

Technische Ausgabe der Mail.ru Group 2019

Es gibt viele Bereiche im wissenschaftlichen Bereich, in denen jeweils geforscht wird und eine große Anzahl von Artikeln in verschiedenen Zeitschriften veröffentlicht wird. Dies sind Informationstechnologie, Physik, Mathematik, Biologie, Medizin und viele andere.

Autoren Projekt beschloss, sich auf den medizinischen Bereich zu konzentrieren. Fast alle Artikel zu medizinischen Themen sind auf dem PubMed-Portal gesammelt. Das Portal bietet eine eigene Suche. Allerdings sind seine Möglichkeiten sehr begrenzt. Daher haben die Jungs das Suchsystem verbessert, Unterstützung für lange Abfragen hinzugefügt und die Möglichkeit geschaffen, Abfragen mithilfe der Themenmodellierung zu verfeinern.

Technische Ausgabe der Mail.ru Group 2019
Der SERP enthält eine Rangliste von Dokumenten mit definierten Themen. Wörter und Begriffe, die sich auf diese Themen beziehen, werden mithilfe probabilistischer Themenmodellierung hervorgehoben. Der Benutzer kann auf die hervorgehobenen Begriffe klicken, um die Suchabfrage einzugrenzen.

Technische Ausgabe der Mail.ru Group 2019
Um die Suche in der riesigen PubMed-Datenbank zu beschleunigen, haben die Autoren eine eigene Suchmaschine geschrieben, die sich problemlos in jede Infrastruktur integrieren lässt.

Die Suche erfolgt in drei Schritten:

  1. Kandidatendokumente werden mithilfe eines umgekehrten Index ausgewählt.
  2. Die Einstufung der Kandidaten erfolgt mithilfe des BM25F-Algorithmus, der bei der Suche verschiedene Felder in Dokumenten berücksichtigt. Daher haben Wörter im Titel mehr Gewicht als Wörter in der Zusammenfassung.
  3. Um die Bearbeitung häufiger Anfragen zu beschleunigen, kommt außerdem ein Caching-System zum Einsatz.

Technische Ausgabe der Mail.ru Group 2019

Microservice-Architektur:

Technische Ausgabe der Mail.ru Group 2019
Grundsätzlich werden strukturierte Textdaten zwischen Diensten übertragen. Für hohe Übertragungsgeschwindigkeiten kommt GRPC zum Einsatz – ein Framework zur Verbindung von Modulen in einer Microservice-Architektur. Die Datenserialisierung wird auch mithilfe des Protobuf-Nachrichtenaustauschformats verwendet.

Welche Komponenten umfasst das System:

  • Server zur Verarbeitung eingehender Benutzeranfragen auf Node.js.
  • Lastausgleichsanfragen über den Nginx-Proxyserver.
  • Der Flask-Server implementiert die REST-API und empfängt von Node.js weitergeleitete Anforderungen.
  • Alle Roh- und verarbeiteten Daten sowie Abfrageinformationen werden in MongoDB gespeichert.
  • Alle Anfragen nach relevanten Ergebnissen zur Thematisierung von Dokumenten gehen an RabbitMQ.

Beispiel für Suchergebnisse:

Technische Ausgabe der Mail.ru Group 2019

Was wir als nächstes planen:

  • Empfehlungen beim Verfassen von Rezensionen zu einem bestimmten Thema (Identifizierung wichtiger Themen in einem Dokument und Durchsuchen von Teilmengen von Dokumenten).
  • Durchsuchen Sie PDF-Dateien.
  • Semantische Textsegmentierung.
  • Verfolgen Sie Themen und Trends im Laufe der Zeit.

Projektteam: Fedor Petryaykin, Vladislav Dorozhinsky, Maxim Nakhodnov, Maxim Filin

Blockprotokoll

Technische Ausgabe der Mail.ru Group 2019

Heutzutage haben Kinder im Grundschulalter (Klasse 5–7) im Programmier- und Informatikunterricht Probleme, den Stoff zu beherrschen. Darüber hinaus müssen Studierende, wenn sie Hausaufgaben zu Hause erledigen möchten, zusätzliche Software auf ihren Computern installieren. Lehrer müssen eine Vielzahl ähnlicher Problemlösungen prüfen und im Falle des Fernunterrichts auch eine Methodik für die Entgegennahme von Aufgaben von Schülern entwickeln.

Die Autoren des Block Log-Projekts kamen zu dem Schluss: Bei der Vermittlung der Grundlagen der Algorithmisierung an Kinder im Grundschulalter sollte der Schwerpunkt nicht auf dem Auswendiglernen von Programmiersprachenbefehlen, sondern auf der Erstellung von Algorithmusdiagrammen liegen. Dies ermöglicht es den Schülern, Zeit und Mühe in die Entwicklung eines Algorithmus zu investieren, anstatt umständliche syntaktische Strukturen einzugeben.

Plattform Blockprotokoll ermöglicht Ihnen:

  1. Flussdiagramme erstellen und bearbeiten.
  2. Führen Sie die erstellten Flussdiagramme aus und sehen Sie sich das Ergebnis ihrer Arbeit (Ausgabedaten) an.
  3. Speichern und laden Sie erstellte Projekte.
  4. Zeichnen Sie Rasterbilder (erzeugen Sie ein Bild basierend auf einem vom Kind erstellten Algorithmus).
  5. Erhalten Sie Informationen über die Komplexität des erstellten Algorithmus (basierend auf der Anzahl der im Algorithmus durchgeführten Operationen).

Erwartet wird eine Rollenteilung zwischen Lehrenden und Studierenden. Jeder Benutzer erhält den Studentenstatus. Um den Lehrerstatus zu erhalten, müssen Sie sich an den Systemadministrator wenden. Der Lehrer kann nicht nur Beschreibungen und Bedingungen von Problemen eingeben, sondern auch automatisierte Tests erstellen, die automatisch gestartet werden, wenn ein Schüler eine Lösung für das Problem in das System einreicht.

Browser-Blockprotokoll-Editor:

Technische Ausgabe der Mail.ru Group 2019

Nach der Lösung des Problems kann der Schüler die Lösung herunterladen und die Ergebnisse sehen:

Technische Ausgabe der Mail.ru Group 2019

Die Plattform besteht aus einer Front-End-Anwendung in Vue.js und einer Back-End-Anwendung in Ruby on Rails. Als Datenbank kommt PostgreSQL zum Einsatz. Um die Bereitstellung zu vereinfachen, werden alle Systemkomponenten in Docker-Containern verpackt und mithilfe von Docker Compose zusammengestellt. Die Desktop-Version von Block Log basiert auf dem Electron-Framework. Zur Erstellung des JavaScript-Codes wurde Webpack verwendet.

Projektteam: Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov.

CRM-System für TamTam Messenger

Technische Ausgabe der Mail.ru Group 2019

CRM ist ein Tool für die bequeme Interaktion zwischen Unternehmen und TamTam-Benutzern. Folgende Funktionen wurden implementiert:

  • Ein Bot-Konstruktor, mit dem Sie Bots ohne Programmierkenntnisse erstellen können. In wenigen Minuten können Sie einen voll funktionsfähigen Bot erhalten, der den Benutzern nicht nur einige Informationen anzeigen, sondern auch Daten sammeln kann, inkl. Dateien, die der Administrator später anzeigen kann.
  • RSS. Sie können RSS problemlos mit jedem Kanal verbinden.
  • Verspätete Veröffentlichung. Ermöglicht das Senden und Löschen von Nachrichten zu voreingestellten Zeiten.

Das Team beteiligte sich auch am Testen der Bot-API und erstellte mehrere selbst geschriebene Bots, beispielsweise einen Bot für die Eishockey-Weltmeisterschaft 2019, einen Bot für die Registrierung/Autorisierung in unserem Dienst und einen Bot für CI/CD.

Lösungsinfrastruktur:

  • Der Verwaltungsserver enthält ein Überwachungssystem für jeden Server und jeden darauf befindlichen Docker-Container, um ein Problem schnell und bequem zu erkennen und zu lösen sowie verschiedene Metriken und Nutzungsstatistiken anzuzeigen. Es gibt auch ein System zur Fernkonfigurationsverwaltung unserer Anwendung.
  • Der Staging-Server enthält die aktuelle Version unserer Anwendung, die dem Entwicklungsteam für allgemeine Tests zur Verfügung steht.
  • Verwaltungs- und Staging-Server stehen Entwicklern nur über VPN zur Verfügung, und der Produktionsserver enthält die Release-Version der Anwendung. Es ist von den Händen der Entwickler isoliert und steht nur dem Endbenutzer zur Verfügung.
  • Das CI/CD-System wurde mit Github und Travis implementiert, die Benachrichtigung mit einem benutzerdefinierten Bot in TamTam.

Technische Ausgabe der Mail.ru Group 2019

Die Anwendungsarchitektur ist eine modulare Lösung. Anwendung, Datenbank, Konfigurationsmanager und Überwachung werden in separaten Docker-Containern gestartet, sodass Sie von der Startumgebung abstrahieren, einen separaten Container ändern oder neu starten können. Das Erstellen einer Netzwerktopologie und das Verwalten von Containern erfolgt mit Docker Compose.

Technische Ausgabe der Mail.ru Group 2019

Projektteam: Alexey Antufiev, Egor Gorbatov, Alexey Kotelevsky.

ForkMe

Technische Ausgabe der Mail.ru Group 2019

Das ForkMe-Projekt ist eine Plattform zum Ansehen interaktiver Videos, auf der Sie Ihr eigenes Video erstellen und es Ihren Freunden zeigen können. Warum brauchen wir interaktive Videos, wenn es reguläre gibt?

Die nichtlineare Handlung des Videos und die Möglichkeit, die Fortsetzung selbst zu wählen, ermöglichen die Beteiligung des Zuschauers und die Ersteller von Inhalten können einzigartige Geschichten zeigen, deren Handlung von den Nutzern beeinflusst wird. Außerdem können Inhaltsersteller durch das Studium der Videokonvertierungsstatistiken verstehen, was das Publikum am meisten interessiert, und Materialien attraktiver gestalten.

Bei der Entwicklung des Projekts ließen sich die Jungs vom interaktiven Film Bandersnatch von Netflix inspirieren, der viele Aufrufe und gute Kritiken erhielt. Als der MVP bereits geschrieben war, tauchte die Nachricht auf, dass YouTube den Start einer Plattform für interaktive Serien plante, was die Beliebtheit dieser Richtung einmal mehr bestätigt.

MVP umfasst: interaktiven Player, Videokonstruktor, Suche nach Inhalten und Tags, Videosammlungen, Kommentare, Ansichten, Bewertungen, Kanal- und Benutzerprofile.

Technische Ausgabe der Mail.ru Group 2019

Im Projekt verwendeter Technologie-Stack:

Technische Ausgabe der Mail.ru Group 2019

Wie ist die Entwicklung des Projekts geplant:

  • Sammlung von Statistiken und Infografiken über Übergänge zu Video;
  • Benachrichtigungen und persönliche Nachrichten für Website-Benutzer;
  • Versionen für Android und iOS.

Danach planen wir hinzuzufügen:

  • Erstellen von Videogeschichten von Ihrem Telefon aus;
  • Bearbeiten heruntergeladener Videofragmente (z. B. Zuschneiden);
  • Erstellung und Einführung interaktiver Werbung im Player.

Projektteam: Maxim Morev (Fullstack-Entwickler, arbeitete an der Projektarchitektur) und Roman Maslov (Fullstack-Entwickler, arbeitete am Projektdesign).

Online-an-Bord

Technische Ausgabe der Mail.ru Group 2019

Technische Ausgabe der Mail.ru Group 2019

Heutzutage legen Eltern großen Wert auf die geistige Entwicklung ihrer Kinder und Kinder interessieren sich für Denkspiele. Daher erfreut sich Schach wieder wachsender Beliebtheit. Und obwohl Schach im Allgemeinen sehr beliebt ist, ist es problematisch, einen regelmäßigen Gegner für Spiele zu finden. Daher nutzen viele Menschen Online-Schachdienste, obwohl viele Spieler es vorziehen, „live“ mit echten Figuren zu spielen. Beim Schachspielen unternimmt man jedoch große geistige Anstrengungen und wird müde. Zu dieser Müdigkeit kommen noch die negativen Auswirkungen des Sitzens am Computer oder Smartphone hinzu. Dadurch kommt es bereits nach zwei Spielen zu einer Überlastung des Gehirns.

All diese Faktoren brachten die Autoren auf die Idee des On-Line-On-Board-Projekts, das aus drei Teilen besteht: einem physischen Schachbrett, einer Desktop-Anwendung und einem Webdienst. Das Brett ist ein normales Schachfeld, das die Position der Figuren erkennt und mit Hilfe einer Lichtanzeige die Züge des Gegners anzeigt. Das Board wird über USB an einen PC angeschlossen und kommuniziert mit der Desktop-Anwendung. Im Trainingsmodus (und für Kinder) werden Ihre möglichen Bewegungen hervorgehoben.

Die Anwendung übernimmt die Grundfunktionen der Platinenverwaltung, wodurch Sie die Kosten erheblich senken und die Implementierung der meisten Funktionen auf Softwareebene bringen können. Die Anwendung kommuniziert mit einem Webdienst, dessen Hauptwert die dynamische Aktualisierung ist.

Das Hauptszenario für die Nutzung des Produkts: Eine Person spielt auf dem Dienst, die zweite auf einem physischen Board, das mit dem Dienst verbunden ist. Das heißt, der Dienst übernimmt eine kommunikative Funktion.

Projektteam: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Mehr über unsere Bildungsprojekte erfahren Sie unter Link. Und besuchen Sie den Kanal öfter TechnostreamDort erscheinen regelmäßig neue Lehrvideos über Programmierung, Entwicklung und andere Disziplinen.

Source: habr.com

Kommentar hinzufügen