Technický problém skupiny Mail.ru 2019

Technický problém skupiny Mail.ru 2019

Koncom mája obhájili diplomové projekty naši absolventi Technoparku (Bauman MSTU), Technotracku (MIPT), Technosphere (Lomonosova Moskovská štátna univerzita) a Technopolisu (Petrohradská polytechnická univerzita Petra Veľkého). Na prácu boli vyčlenené tri mesiace a chlapci do svojho duchovného dieťaťa investovali vedomosti a zručnosti získané počas dvoch rokov štúdia.

Celkovo išlo o 13 projektov v oblasti obrany, ktoré riešili rôzne problémy v rôznych odvetviach. Napríklad:

  • cloudové úložisko s kryptografickým šifrovaním súborov;
  • platforma na vytváranie interaktívnych videí (s rôznymi koncami);
  • inteligentná doska na hranie skutočného šachu cez sieť;
  • architektúra pre inteligentné vyhľadávanie lekárskych predmetov;
  • Softvér na výučbu základov algoritmizácie pre deti základných škôl.

Rovnako ako projekty z obchodných jednotiek:

  • CRM systém pre TamTam messenger;
  • webová služba na vyhľadávanie tematických fotografií na mape pre Odnoklassniki;
  • služba geokódovania adresy pre MAPS.ME.

Dnes vám bližšie povieme o piatich projektoch našich absolventov.

Inteligentné vyhľadávanie lekárskych článkov

Technický problém skupiny Mail.ru 2019

Vo vedeckej oblasti existuje veľa oblastí, v každej z nich sa uskutočňuje výskum, v rôznych časopisoch sa publikuje obrovské množstvo článkov. Ide o informačné technológie, fyziku, matematiku, biológiu, medicínu a mnohé ďalšie.

Autori projekt sa rozhodol zamerať na oblasť medicíny. Takmer všetky články s medicínskou tematikou sú zhromaždené na portáli PubMed. Portál poskytuje vlastné vyhľadávanie. Jeho možnosti sú však veľmi obmedzené. Chalani preto vylepšili systém vyhľadávania, pridali podporu pre dlhé dopyty a možnosť spresniť dopyty pomocou modelovania tém.

Technický problém skupiny Mail.ru 2019
SERP obsahuje zoradený zoznam dokumentov s definovanými témami a slová a výrazy súvisiace s týmito témami sú zvýraznené pomocou pravdepodobnostného modelovania tém. Používateľ môže kliknúť na zvýraznené výrazy a zúžiť tak vyhľadávací dopyt.

Technický problém skupiny Mail.ru 2019
Aby bolo vyhľadávanie v obrovskej databáze PubMed rýchle, autori napísali svoj vlastný vyhľadávací nástroj, ktorý možno ľahko integrovať do akejkoľvek infraštruktúry.

Vyhľadávanie prebieha v troch fázach:

  1. Kandidátske dokumenty sa vyberajú pomocou reverzného indexu.
  2. Kandidáti sú zoradení pomocou algoritmu BM25F, ktorý pri vyhľadávaní zohľadňuje rôzne polia v dokumentoch. Slová v názve majú teda väčšiu váhu ako slová v abstrakte.
  3. Na urýchlenie spracovania častých požiadaviek sa používa aj systém vyrovnávacej pamäte.

Technický problém skupiny Mail.ru 2019

Architektúra mikroservisu:

Technický problém skupiny Mail.ru 2019
V zásade sa medzi službami prenášajú štruktúrované textové údaje. Pre vysoké prenosové rýchlosti sa používa GRPC - framework pre pripojenie modulov v architektúre mikroslužieb. Používa sa aj serializácia údajov pomocou formátu výmeny správ Protobuf.

Aké komponenty systém obsahuje:

  • Server na spracovanie prichádzajúcich požiadaviek používateľov na Node.js.
  • Požiadavky na vyrovnávanie zaťaženia pomocou proxy servera nginx.
  • Flask server implementuje REST API a prijíma požiadavky preposlané z Node.js.
  • Všetky nespracované a spracované údaje, ako aj informácie o dotazoch, sú uložené v MongoDB.
  • Všetky žiadosti o relevantné výsledky pre tematizáciu dokumentov smerujú do RabbitMQ.

Príklad výsledkov vyhľadávania:

Technický problém skupiny Mail.ru 2019

Čo plánujeme ďalej:

  • Odporúčania pri zostavovaní recenzií na danú tému (identifikácia dôležitých tém v dokumente a vyhľadávanie podmnožín dokumentov).
  • Vyhľadajte súbory PDF.
  • Sémantická segmentácia textu.
  • Sledujte témy a trendy v priebehu času.

Projektový tím: Fedor Petryaykin, Vladislav Dorozhinsky, Maxim Nakhodnov, Maxim Filin

Blokovať denník

Technický problém skupiny Mail.ru 2019

Dnes pri vyučovaní programovania a informatiky majú deti vo veku základnej školy (5. – 7. ročník) problém zvládnuť látku. Okrem toho, ak chcú študenti plniť úlohy doma, musia si do svojich počítačov nainštalovať ďalší softvér. Učitelia musia kontrolovať veľké množstvo podobných riešení problémov a v prípade diaľkového vzdelávania musia vypracovať aj metodiku prijímania zadaní od študentov.

Autori projektu Block Log dospeli k záveru, že pri výučbe základov algoritmizácie pre deti v základnej škole by sa nemal klásť dôraz na zapamätanie príkazov programovacieho jazyka, ale na zostavenie diagramov algoritmov. To umožní študentom tráviť čas a úsilie pri navrhovaní algoritmu namiesto písania ťažkopádnych syntaktických štruktúr.

Platforma Blokovať denník umožňuje:

  1. Vytvárajte a upravujte vývojové diagramy.
  2. Spustite vytvorené vývojové diagramy a pozrite si výsledok ich práce (výstupné dáta).
  3. Uložte a načítajte vytvorené projekty.
  4. Nakreslite rastrové obrázky (vygenerujte obrázok na základe algoritmu vytvoreného dieťaťom).
  5. Prijímať informácie o zložitosti vytvoreného algoritmu (na základe počtu operácií vykonaných v algoritme).

Očakáva sa rozdelenie rolí na učiteľov a študentov. Každý používateľ získa status študenta, ak chcete získať status učiteľa, musíte kontaktovať správcu systému. Učiteľ môže nielen zadávať popisy a podmienky problémov, ale aj vytvárať automatizované testy, ktoré sa automaticky spustia, keď študent zadá riešenie problému do systému.

Editor protokolu blokov prehliadača:

Technický problém skupiny Mail.ru 2019

Po vyriešení úlohy si študent môže stiahnuť riešenie a vidieť výsledky:

Technický problém skupiny Mail.ru 2019

Platforma pozostáva z front-end aplikácie vo Vue.js a back-end aplikácie v Ruby on Rails. Ako databáza sa používa PostgreSQL. Pre zjednodušenie nasadenia sú všetky systémové komponenty zabalené v kontajneroch Docker a zostavené pomocou Docker Compose. Desktopová verzia Block Log je založená na frameworku Electron. Webpack bol použitý na vytvorenie kódu JavaScript.

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

CRM systém pre TamTam messenger

Technický problém skupiny Mail.ru 2019

CRM je nástroj na pohodlnú interakciu medzi podnikmi a používateľmi TamTam. Boli implementované nasledujúce funkcie:

  • Konštruktor botov, ktorý vám umožňuje vytvárať roboty bez programovacích zručností. Za pár minút môžete získať plne funkčného bota, ktorý dokáže používateľom nielen ukázať niektoré informácie, ale aj zbierať dáta, vr. súbory, ktoré môže správca zobraziť neskôr.
  • RSS. RSS môžete jednoducho pripojiť k akémukoľvek kanálu.
  • Oneskorené uverejnenie. Umožňuje odosielať a mazať správy v prednastavených časoch.

Tím sa tiež podieľal na testovaní Bot API a vytvoril niekoľko robotov, ktoré si sami napísali, ako napríklad bot pre Majstrovstvá sveta v hokeji 2019, bot na registráciu/autorizáciu v našej službe a bot pre CI/CD.

Infraštruktúra riešenia:

  • Server správy obsahuje monitorovací systém pre každý server a každý kontajner Docker na ňom, aby bolo možné rýchlo a pohodlne zistiť problém a vyriešiť ho, zobraziť rôzne metriky a štatistiky používania. K dispozícii je aj systém pre vzdialenú správu konfigurácie našej aplikácie.
  • Pracovný server obsahuje aktuálnu verziu našej aplikácie, ktorá je k dispozícii na všeobecné testovanie vývojovým tímom.
  • Servery na správu a prípravné práce sú vývojárom k dispozícii iba prostredníctvom siete VPN a produkčný server obsahuje verziu aplikácie. Je izolovaný od rúk vývojárov a je dostupný iba pre koncového používateľa.
  • Systém CI/CD bol implementovaný pomocou Github a Travis, notifikácia pomocou vlastného bota v TamTam.

Technický problém skupiny Mail.ru 2019

Architektúra aplikácie je modulárne riešenie. Aplikácia, databáza, konfiguračný manažér a monitoring sa spúšťajú v samostatných kontajneroch Docker, čo umožňuje abstrahovať od spúšťacieho prostredia, zmeniť alebo reštartovať samostatný kontajner. Vytvorenie topológie siete a správa kontajnerov sa vykonáva pomocou 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 na sledovanie interaktívnych videí, kde si môžete vytvoriť vlastné video a ukázať ho svojim priateľom. Prečo potrebujeme interaktívne videá, ak existujú bežné?

Nelineárny dej videa a možnosť výberu samotného pokračovania umožňujú zapojenie diváka a tvorcovia obsahu budú môcť ukázať unikátne príbehy, ktorých dej ovplyvnia používatelia. Tvorcovia obsahu budú tiež vďaka štúdiu štatistík konverzie videa schopní pochopiť, čo publikum najviac zaujíma, a zatraktívniť materiály.

Pri vývoji projektu sa chalani inšpirovali interaktívnym filmom Bandersnatch od Netflixu, ktorý získal množstvo videní a dobrých recenzií. Keď už bolo napísané MVP, objavili sa správy, že Youtube plánuje spustiť platformu pre interaktívne seriály, čo opäť potvrdzuje obľúbenosť tohto smeru.

MVP zahŕňa: interaktívny prehrávač, video konštruktér, vyhľadávanie podľa obsahu a značiek, zbierky videí, komentáre, zobrazenia, hodnotenia, profily kanálov a používateľov.

Technický problém skupiny Mail.ru 2019

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

Technický problém skupiny Mail.ru 2019

Ako sa plánuje rozvíjať projekt:

  • zber štatistík a infografiky o prechodoch na video;
  • upozornenia a osobné správy pre používateľov stránok;
  • verzie pre Android a iOS.

Potom plánujeme pridať:

  • vytváranie videopríbehov z telefónu;
  • úprava stiahnutých fragmentov videa (napríklad orezávanie);
  • vytvorenie a spustenie interaktívnej reklamy v prehrávači.

Projektový tím: Maxim Morev (fullstack developer, pracoval na architektúre 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čia venujú veľkú pozornosť duševnému rozvoju svojich detí a deti majú záujem o intelektuálne hry. Šach si preto opäť získava na popularite. A hoci je šach vo všeobecnosti dosť populárny, nájsť si pravidelného súpera na partie je problematické. Preto veľa ľudí využíva online šachové služby, napriek tomu, že mnohí hráči uprednostňujú hru „naživo“ so skutočnými figúrkami. Pri šachu sa však človek veľmi psychicky namáha a unaví a túto únavu dopĺňa aj negatívny vplyv sedenia za počítačom či smartfónom. V dôsledku toho sa mozog preťaží už po dvoch hrách.

Všetky tieto faktory priviedli autorov k myšlienke projektu On-Line-On-Board, ktorý pozostáva z troch častí: fyzickej šachovnice, desktopovej aplikácie a webovej služby. Doska je bežné šachové pole, ktoré rozpoznáva polohu figúrok a pomocou svetelnej indikácie ukazuje súperove ťahy. Doska je pripojená cez USB k PC a komunikuje s desktopovou aplikáciou. V tréningovom režime (a pre deti) sú vaše možné pohyby zvýraznené.

Aplikácia preberá základné funkcie správy dosky, čo vám umožňuje výrazne znížiť jej náklady a priniesť implementáciu väčšiny funkcií na softvérovú úroveň. Aplikácia komunikuje s webovou službou, ktorej hlavnou hodnotou je dynamická aktualizácia.

Hlavný scenár používania produktu: jedna osoba hrá na službe, druhá na fyzickej doske pripojenej k službe. To znamená, že služba preberá komunikačnú funkciu.

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

Viac o našich vzdelávacích projektoch si môžete prečítať na tento odkaz. A navštevujte kanál častejšie Technostream, pravidelne sa tam objavujú nové vzdelávacie videá o programovaní, vývoji a iných disciplínach.

Zdroj: hab.com

Pridať komentár