Technický problém skupiny Mail.ru 2019

Technický problém skupiny Mail.ru 2019

Koncem května obhájili diplomové projekty naši absolventi Technoparku (Bauman MSTU), Technotracku (MIPT), Technosphere (Moskevská státní univerzita Lomonosova) a Technopolis (Petrohradská polytechnická univerzita Petra Velikého). Na práci byly přiděleny tři měsíce a kluci investovali do svého duchovního dítěte znalosti a dovednosti získané během dvou let studia.

Celkem se jednalo o 13 projektů v oblasti obrany, které řešily různé problémy v různých odvětvích. Například:

  • cloudové úložiště s kryptografickým šifrováním souborů;
  • platforma pro vytváření interaktivních videí (s různými konci);
  • inteligentní deska pro hraní skutečných šachů po síti;
  • architektura pro inteligentní vyhledávání lékařských předmětů;
  • Software pro výuku základů algoritmizace pro děti základních škol.

Stejně jako projekty z obchodních jednotek:

  • CRM systém pro TamTam messenger;
  • webová služba pro vyhledávání tematických fotografií na mapě pro Odnoklassniki;
  • služba geokódování adresy pro MAPS.ME.

Dnes vám podrobněji povíme o pěti projektech našich absolventů.

Inteligentní vyhledávání lékařských článků

Technický problém skupiny Mail.ru 2019

Ve vědecké oblasti je mnoho oblastí, v každé z nich se provádí výzkum, je publikováno obrovské množství článků v nejrůznějších časopisech. Jedná se o informační technologie, fyziku, matematiku, biologii, medicínu a mnoho dalších.

Autoři projekt rozhodl se zaměřit na lékařskou oblast. Téměř všechny články s lékařskou tématikou jsou shromážděny na portálu PubMed. Portál poskytuje vlastní vyhledávání. Jeho možnosti jsou však velmi omezené. Kluci proto vylepšili vyhledávací systém, přidali podporu pro dlouhé dotazy a možnost zpřesnit dotazy pomocí tématického modelování.

Technický problém skupiny Mail.ru 2019
SERP obsahuje seřazený seznam dokumentů s definovanými tématy a slova a termíny související s těmito tématy jsou zvýrazněny pomocí pravděpodobnostního modelování témat. Uživatel může kliknutím na zvýrazněné výrazy zúžit vyhledávací dotaz.

Technický problém skupiny Mail.ru 2019
Aby bylo vyhledávání v obrovské databázi PubMed rychlé, napsali autoři svůj vlastní vyhledávač, který lze snadno integrovat do jakékoli infrastruktury.

Vyhledávání probíhá ve třech fázích:

  1. Kandidátské dokumenty se vybírají pomocí reverzního indexu.
  2. Kandidáti jsou řazeni pomocí algoritmu BM25F, který při vyhledávání bere v úvahu různá pole v dokumentech. Slova v názvu mají tedy větší váhu než slova v abstraktu.
  3. Ke zrychlení zpracování častých požadavků se používá také systém ukládání do mezipaměti.

Technický problém skupiny Mail.ru 2019

Architektura mikroslužeb:

Technický problém skupiny Mail.ru 2019
V zásadě se mezi službami přenášejí strukturovaná textová data. Pro vysoké přenosové rychlosti se používá GRPC - framework pro připojení modulů v architektuře mikroslužeb. Používá se také serializace dat pomocí formátu pro výměnu zpráv Protobuf.

Jaké komponenty systém obsahuje:

  • Server pro zpracování příchozích požadavků uživatelů na Node.js.
  • Požadavky na vyrovnávání zátěže pomocí proxy serveru nginx.
  • Flask server implementuje REST API a přijímá požadavky předávané z Node.js.
  • Všechna nezpracovaná a zpracovaná data, stejně jako informace o dotazech, jsou uložena v MongoDB.
  • Všechny požadavky na relevantní výsledky pro tematizaci dokumentů směřují do RabbitMQ.

Příklad výsledků vyhledávání:

Technický problém skupiny Mail.ru 2019

Co plánujeme dále:

  • Doporučení při sestavování recenzí na dané téma (identifikace důležitých témat v dokumentu a vyhledávání podmnožin dokumentů).
  • Prohledávejte soubory PDF.
  • Sémantická segmentace textu.
  • Sledujte témata a trendy v průběhu času.

Projektový tým: Fedor Petryaykin, Vladislav Dorožinskij, Maxim Nakhodnov, Maxim Filin

Blokovat protokol

Technický problém skupiny Mail.ru 2019

Dnes při výuce programování a informatiky mají děti ve věku základní školy (5.–7. ročník) problémy se zvládnutím látky. Navíc, pokud chtějí studenti plnit úkoly doma, musí si do počítačů nainstalovat další software. Učitelé musí prověřovat velké množství podobných řešení problémů a v případě distančního vzdělávání také vypracovat metodiku pro příjem zadání od studentů.

Autoři projektu Block Log došli k závěru, že při výuce základů algoritmizace dětí základního školního věku by se neměl klást důraz na zapamatování příkazů programovacího jazyka, ale na konstrukci algoritmických diagramů. To umožní studentům trávit čas a úsilí při navrhování algoritmu, spíše než psát do těžkopádných syntaktických struktur.

Platforma Blokovat protokol umožňuje:

  1. Vytvářejte a upravujte vývojové diagramy.
  2. Spusťte vytvořené vývojové diagramy a podívejte se na výsledek jejich práce (výstupní data).
  3. Uložte a načtěte vytvořené projekty.
  4. Kreslit rastrové obrázky (vytváření obrázku na základě algoritmu vytvořeného dítětem).
  5. Získejte informace o složitosti vytvořeného algoritmu (na základě počtu operací provedených v algoritmu).

Předpokládá se rozdělení rolí na učitele a studenty. Každý uživatel získá status studenta; pro získání statusu učitele musíte kontaktovat správce systému. Učitel může nejen zadávat popisy a podmínky problémů, ale také vytvářet automatizované testy, které se automaticky spouštějí, když student zadá řešení problému do systému.

Editor protokolu bloků prohlížeče:

Technický problém skupiny Mail.ru 2019

Po vyřešení problému si student může stáhnout řešení a vidět výsledky:

Technický problém skupiny Mail.ru 2019

Platforma se skládá z front-endové aplikace ve Vue.js a back-endové aplikace v Ruby on Rails. Jako databáze se používá PostgreSQL. Pro zjednodušení nasazení jsou všechny součásti systému zabaleny v kontejnerech Docker a sestaveny pomocí Docker Compose. Desktopová verze Block Log je založena na frameworku Electron. Webpack byl použit k vytvoření kódu JavaScript.

Projektový tým: Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov.

CRM systém pro TamTam messenger

Technický problém skupiny Mail.ru 2019

CRM je nástroj pro pohodlnou interakci mezi podniky a uživateli TamTam. Byly implementovány následující funkce:

  • Konstruktor botů, který vám umožňuje vytvářet roboty bez znalosti programování. Během pár minut můžete získat plně funkčního bota, který dokáže uživatelům nejen ukázat některé informace, ale také sbírat data vč. soubory, které může administrátor zobrazit později.
  • RSS. RSS můžete snadno připojit k libovolnému kanálu.
  • Zpožděné odeslání. Umožňuje odesílat a mazat zprávy v předem nastavených časech.

Tým se také podílel na testování Bot API a vytvořil několik samostatně napsaných botů, jako je bot pro Světový pohár v hokeji 2019, bot pro registraci/autorizaci v naší službě a bot pro CI/CD.

Infrastruktura řešení:

  • Management server obsahuje monitorovací systém pro každý server a každý kontejner Docker na něm, aby bylo možné rychle a pohodlně detekovat problém a vyřešit jej, zobrazit různé metriky a statistiky využití. K dispozici je také systém pro vzdálenou správu konfigurace naší aplikace.
  • Pracovní server obsahuje aktuální verzi naší aplikace, která je k dispozici pro obecné testování vývojovým týmem.
  • Servery pro správu a pracovní server jsou vývojářům dostupné pouze prostřednictvím VPN a produkční server obsahuje verzi aplikace. Je izolován od rukou vývojářů a je k dispozici pouze koncovému uživateli.
  • CI/CD systém byl implementován pomocí Github a Travis, notifikace pomocí vlastního bota v TamTam.

Technický problém skupiny Mail.ru 2019

Architektura aplikace je modulární řešení. Aplikace, databáze, konfigurační manažer a monitorování se spouštějí v samostatných kontejnerech Docker, což umožňuje abstrahovat od spouštěcího prostředí, změnit nebo restartovat samostatný kontejner. Vytvoření topologie sítě a správa kontejnerů se provádí pomocí Docker Compose.

Technický problém skupiny Mail.ru 2019

Projektový tým: Alexey Antufiev, Egor Gorbatov, Alexey Kotelevsky.

ForkMe

Technický problém skupiny Mail.ru 2019

Projekt ForkMe je platforma pro sledování interaktivních videí, kde si můžete vytvořit vlastní video a ukázat ho svým přátelům. Proč potřebujeme interaktivní videa, když existují běžná?

Nelineární děj videa a možnost si samy zvolit pokračování umožňují zapojení diváka a tvůrci obsahu budou moci ukazovat unikátní příběhy, jejichž děj ovlivní uživatelé. Tvůrci obsahu budou také díky studiu statistik konverze videa schopni porozumět tomu, co publikum nejvíce zajímá, a učinit materiály atraktivnějšími.

Při vývoji projektu se kluci inspirovali interaktivním filmem Bandersnatch od Netflixu, který získal spoustu zhlédnutí a dobrých recenzí. Když už bylo napsáno MVP, objevily se zprávy, že Youtube plánuje spuštění platformy pro interaktivní seriály, což opět potvrzuje popularitu tohoto směru.

MVP zahrnuje: interaktivní přehrávač, video konstruktor, vyhledávání podle obsahu a značek, sbírky videí, komentáře, zhlédnutí, hodnocení, profily kanálů a uživatelů.

Technický problém skupiny Mail.ru 2019

Technologický zásobník použitý v projektu:

Technický problém skupiny Mail.ru 2019

Jak se plánuje rozvoj projektu:

  • shromažďování statistik a infografik o přechodech na video;
  • upozornění a osobní zprávy pro uživatele stránek;
  • verze pro Android a iOS.

Poté plánujeme přidat:

  • vytváření videopříběhů z telefonu;
  • úpravy stažených fragmentů videa (například ořezávání);
  • vytvoření a spuštění interaktivní reklamy v přehrávači.

Projektový tým: Maxim Morev (fullstack developer, pracoval na architektuře projektu) a Roman Maslov (fullstack developer, pracoval na návrhu projektu).

On-Line-On-Board

Technický problém skupiny Mail.ru 2019

Technický problém skupiny Mail.ru 2019

Dnes rodiče věnují velkou pozornost duševnímu rozvoji svých dětí a děti mají zájem o intelektuální hry. Proto šachy opět získávají na oblibě. A i když jsou šachy obecně docela populární, najít si pravidelného soupeře pro partie je problematické. Mnoho lidí proto využívá online šachové služby, přestože mnoho hráčů dává přednost hře „naživo“ se skutečnými figurkami. Při hraní šachů se však člověk hodně psychicky namáhá a unaví a tuto únavu doplňuje negativní dopad sezení u počítače nebo smartphonu. V důsledku toho se mozek přetíží již po dvou hrách.

Všechny tyto faktory přiměly autory k myšlence projektu On-Line-On-Board, který se skládá ze tří částí: fyzické šachovnice, desktopové aplikace a webové služby. Deska je běžné šachové pole, které rozpoznává pozici figurek a pomocí světelné indikace ukazuje soupeřovy tahy. Deska je připojena přes USB k PC a komunikuje s desktopovou aplikací. V tréninkovém režimu (a pro děti) jsou vaše možné pohyby zvýrazněny.

Aplikace přebírá základní funkce správy desky, což umožňuje výrazně snížit její náklady a dovést implementaci většiny funkcí na softwarovou úroveň. Aplikace komunikuje s webovou službou, jejíž hlavní hodnotou je dynamická aktualizace.

Hlavní scénář používání produktu: jedna osoba hraje na službě, druhá na fyzické desce připojené ke službě. To znamená, že služba přebírá komunikativní funkci.

Projektový tým: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Více o našich vzdělávacích projektech si můžete přečíst na odkaz. A navštěvujte kanál častěji Technostream, pravidelně se tam objevují nová výuková videa o programování, vývoji a dalších oborech.

Zdroj: www.habr.com

Přidat komentář