Technyske útjefte fan Mail.ru Group 2019

Technyske útjefte fan Mail.ru Group 2019

Oan 'e ein fan maaie ferdigene ús ôfstudearden fan Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Lomonosov Moskou State University) en Technopolis (Peter de Grutte St. Petersburg Polytechnic University) harren diploma projekten. Trije moannen waarden takend foar wurk, en de jonges ynvestearre yn har brainchild de kennis en feardichheden opdien yn twa jier fan stúdzje.

Yn totaal wiene d'r 13 projekten oer definsje, it oplossen fan ferskate problemen yn ferskate yndustry. Bygelyks:

  • wolk opslach mei kryptografyske triem fersifering;
  • platfoarm foar it meitsjen fan ynteraktive fideo's (mei ferskate eintsjes);
  • smart board foar it spyljen fan echte skaken oer it netwurk;
  • arsjitektuer foar yntelliginte opheljen fan medyske artikels;
  • Software foar it learen fan basisskoallebern de basis fan algoritmisaasje.

Lykas projekten fan saaklike ienheden:

  • CRM-systeem foar TamTam messenger;
  • webtsjinst foar it sykjen fan tematyske foto's op 'e kaart foar Odnoklassniki;
  • adres geokodearjen tsjinst foar MAPS.ME.

Hjoed sille wy jo yn mear detail fertelle oer fiif projekten fan ús ôfstudearden.

Intelligent sykjen fan medyske artikels

Technyske útjefte fan Mail.ru Group 2019

D'r binne in protte gebieten yn it wittenskiplik fjild, wêrfan elk ûndersyk wurdt útfierd, in grut oantal artikels wurde publisearre yn in ferskaat oan tydskriften. Dit binne ynformaasjetechnology, natuerkunde, wiskunde, biology, medisinen en in protte oaren.

skriuwers it projekt besletten om te rjochtsjen op it medyske fjild. Hast alle artikels oer medyske ûnderwerpen wurde sammele op it PubMed-portaal. It portaal jout in eigen sykopdracht. Lykwols, syn mooglikheden binne tige beheind. Dêrom hawwe de jonges it syksysteem ferbettere, stipe tafoege foar lange queries en de mooglikheid om queries te ferfine mei it brûken fan ûnderwerpmodellering.

Technyske útjefte fan Mail.ru Group 2019
De SERP befettet in ranglist fan dokuminten mei har ûnderwerpen definieare, en wurden en termen relatearre oan dizze ûnderwerpen wurde markearre mei probabilistyske ûnderwerpmodellering. De brûker kin op de markearre termen klikke om de sykfraach te beheinen.

Technyske útjefte fan Mail.ru Group 2019
Om it sykjen troch de enoarme PubMed-database fluch te meitsjen, skreaunen de auteurs har eigen sykmasjine dy't maklik yn elke ynfrastruktuer kin wurde yntegrearre.

It sykjen wurdt útfierd yn trije stadia:

  1. Kandidatedokuminten wurde selektearre mei in omkearde yndeks.
  2. De kandidaten wurde rangearre mei it BM25F-algoritme, dat rekken hâldt mei ferskate fjilden yn dokuminten by it sykjen. Sa hawwe wurden yn de titel mear gewicht as wurden yn it abstrakte.
  3. In cachingsysteem wurdt ek brûkt om de ferwurking fan faak oanfragen te fersnellen.

Technyske útjefte fan Mail.ru Group 2019

Microservice arsjitektuer:

Technyske útjefte fan Mail.ru Group 2019
Yn prinsipe wurde strukturearre tekstgegevens oerdroegen tusken tsjinsten. Foar hege oerdrachtsnelheden wurdt GRPC brûkt - in ramt foar it ferbinen fan modules yn in mikroservicearsjitektuer. Gegevenserialisaasje wurdt ek brûkt mei it Protobuf-berjochtútwikselformaat.

Hokker komponinten befettet it systeem:

  • Tsjinner foar it ferwurkjen fan ynkommende brûkersoanfragen op Node.js.
  • Load balânsfersiken mei de nginx proxy-tsjinner.
  • De Flask-tsjinner ymplementearret de REST API en ûntfangt fersiken trochstjoerd fan Node.js.
  • Alle rauwe en ferwurke gegevens, lykas query-ynformaasje, wurde opslein yn MongoDB.
  • Alle oanfragen foar relevante resultaten foar tematisaasje fan dokuminten geane nei RabbitMQ.

Foarbyld fan sykresultaten:

Technyske útjefte fan Mail.ru Group 2019

Wat wy dan fan plan binne te dwaan:

  • Oanbefellings by it gearstallen fan resinsjes oer in bepaald ûnderwerp (identifisearje wichtige ûnderwerpen yn in dokumint en sykje troch subsets fan dokuminten).
  • Sykje PDF-bestannen.
  • Semantyske tekstsegmentaasje.
  • Folgje ûnderwerpen en trends oer de tiid.

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

Block Log

Technyske útjefte fan Mail.ru Group 2019

Tsjintwurdich, by it lesjaan fan programmearring en kompjûterwittenskip, hawwe bern fan basisskoalleleeftyd (groepen 5-7) problemen mei it behearskjen fan it materiaal. Derneist, as studinten thús opdrachten wolle foltôgje, moatte se ekstra software op har kompjûters ynstallearje. Leararen moatte in grut oantal ferlykbere oplossingen foar problemen kontrolearje, en yn it gefal fan learen op ôfstân moatte se ek in metodyk ûntwikkelje foar it ûntfangen fan opdrachten fan studinten.

De auteurs fan it Block Log-projekt kamen ta de konklúzje: by it learen fan bern fan basisskoalleleeftyd de basis fan algoritmisaasje, moat de klam net lizze op it ûnthâlden fan programmeartaalkommando's, mar op it konstruearjen fan algoritmediagrammen. Hjirmei kinne studinten tiid en muoite besteegje oan it ûntwerpen fan in algoritme, ynstee fan yn te typen yn omslachtige syntaktyske struktueren.

Platfoarm Block Log stiet ta:

  1. Meitsje en bewurkje flowcharts.
  2. Run de oanmakke flowcharts en sjoch it resultaat fan harren wurk (útfier gegevens).
  3. Bewarje en lade oanmakke projekten.
  4. Rasterôfbyldings tekenje (in ôfbylding generearje basearre op in algoritme makke troch it bern).
  5. Untfang ynformaasje oer de kompleksiteit fan it oanmakke algoritme (basearre op it oantal operaasjes útfierd yn it algoritme).

In ferdieling fan rollen yn leararen en learlingen wurdt ferwachte. Elke brûker krijt studintestatus; om learaarstatus te krijen, moatte jo kontakt opnimme mei de systeembehearder. De learaar kin net allinich beskriuwingen en betingsten fan problemen ynfiere, mar ek automatyske tests meitsje dy't automatysk sille wurde lansearre as in studint in oplossing foar it probleem yn it systeem yntsjinnet.

Browser Block Log Editor:

Technyske útjefte fan Mail.ru Group 2019

Nei it oplossen fan it probleem kin de studint de oplossing downloade en de resultaten sjen:

Technyske útjefte fan Mail.ru Group 2019

It platfoarm bestiet út in front-end applikaasje yn Vue.js en in back-end applikaasje yn Ruby on Rails. PostgreSQL wurdt brûkt as de databank. Om de ynset te ferienfâldigjen, wurde alle systeemkomponinten ferpakt yn Docker-konteners en gearstald mei Docker Compose. De buroblêdferzje fan Block Log is basearre op it Electron-ramt. Webpack waard brûkt om de JavaScript-koade te bouwen.

Projektteam: Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov.

CRM systeem foar TamTam messenger

Technyske útjefte fan Mail.ru Group 2019

CRM is in ark foar handige ynteraksje tusken bedriuwen en TamTam-brûkers. De folgjende funksjes binne ymplementearre:

  • In bot-konstruktor wêrmei jo bots kinne meitsje sûnder programmearfeardigens. Yn in pear minuten kinne jo in folslein wurkjende bot krije dy't net allinich wat ynformaasje oan brûkers sjen kin, mar ek gegevens sammelje, ynkl. bestannen dy't de behearder letter besjen kin.
  • RSS. Jo kinne RSS maklik ferbine mei elk kanaal.
  • Fertrage pleatsing. Hjirmei kinne jo berjochten ferstjoere en wiskje op ynstelde tiden.

It team die ek mei oan it testen fan de Bot API, it meitsjen fan ferskate selsskreaune bots, lykas in bot foar de 2019 World Cup of Hockey, in bot foar registraasje / autorisaasje yn ús tsjinst, en in bot foar CI / CD.

Oplossing ynfrastruktuer:

  • De behearserver befettet in tafersjochsysteem foar elke server en elke Docker-kontener derop om in probleem fluch en maklik te detektearjen en it op te lossen, ferskate metriken en gebrûkstatistiken te besjen. D'r is ek in systeem foar konfiguraasjebehear op ôfstân fan ús applikaasje.
  • De staging-tsjinner befettet de hjoeddeistige ferzje fan ús applikaasje, beskikber foar algemiene testen troch it ûntwikkelteam.
  • Behear- en staging-tsjinners binne allinich beskikber fia VPN foar ûntwikkelders, en de produksjeserver befettet de releaseferzje fan 'e applikaasje. It is isolearre út 'e hannen fan ûntwikkelders en is allinich beskikber foar de ein brûker.
  • It CI / CD-systeem waard ymplementearre mei Github en Travis, notifikaasje mei in oanpaste bot yn TamTam.

Technyske útjefte fan Mail.ru Group 2019

De applikaasje-arsjitektuer is in modulêre oplossing. De applikaasje, databank, konfiguraasjebehearder en tafersjoch wurde lansearre yn aparte Docker-konteners, wêrtroch jo kinne abstrahere út 'e startomjouwing, feroarje of opnij starte in aparte kontener. It oanmeitsjen fan in netwurktopology en it behearen fan konteners wurdt dien mei Docker Compose.

Technyske útjefte fan Mail.ru Group 2019

Projektteam: Alexey Antufiev, Egor Gorbatov, Alexey Kotelevsky.

ForkMe

Technyske útjefte fan Mail.ru Group 2019

It ForkMe-projekt is in platfoarm foar it besjen fan ynteraktive fideo's, wêr't jo jo eigen fideo kinne oanmeitsje en it oan jo freonen sjen litte. Wêrom hawwe wy ynteraktive fideo's nedich as d'r gewoane binne?

It net-lineêre plot fan 'e fideo en de mooglikheid om sels de fuortsetting te kiezen kinne de sjogger belutsen wurde, en ynhâldmakkers sille unike ferhalen sjen litte, wêrfan it plot sil wurde beynfloede troch brûkers. Ek sille ynhâldmakkers, troch it bestudearjen fan statistiken foar fideokonverzje, kinne begripe wat it publyk it meast ynteresseart en materialen oantrekliker meitsje.

By it ûntwikkeljen fan it projekt waarden de jonges ynspirearre troch de ynteraktive film Bandersnatch fan Netflix, dy't in protte werjeften en goede resinsjes krige. Doe't de MVP al skreaun wie, ferskynde nijs dat Youtube fan plan wie om in platfoarm te lansearjen foar ynteraktive searjes, dy't de populariteit fan dizze rjochting nochris befêstiget.

MVP omfettet: ynteraktive spiler, fideokonstruktor, sykje op ynhâld en tags, fideokolleksjes, opmerkings, werjeften, wurdearrings, kanaal- en brûkersprofilen.

Technyske útjefte fan Mail.ru Group 2019

Technology stack brûkt yn it projekt:

Technyske útjefte fan Mail.ru Group 2019

Hoe is it plan om it projekt te ûntwikkeljen:

  • kolleksje fan statistiken en infografiken oer oergongen nei fideo;
  • notifikaasjes en persoanlike berjochten foar side-brûkers;
  • ferzjes foar Android en iOS.

Hjirnei planje wy ta te foegjen:

  • meitsje fideoferhalen fan jo tillefoan;
  • bewurkjen fan ynladen fideofragminten (bygelyks trimmen);
  • oanmeitsjen en lansearring fan ynteraktive reklame yn de spiler.

Projektteam: Maxim Morev (fullstack-ûntwikkelder, wurke oan 'e projektarsjitektuer) en Roman Maslov (fullstack-ûntwikkelder, wurke oan it projektûntwerp).

On-line-oan-board

Technyske útjefte fan Mail.ru Group 2019

Technyske útjefte fan Mail.ru Group 2019

Tsjintwurdich betelje âlden grutte oandacht foar de mentale ûntwikkeling fan har bern, en bern binne ynteressearre yn yntellektuele spultsjes. Dêrom wint skaken wer oan populariteit. En hoewol skaken yn 't algemien frij populêr is, is it problematysk om in gewoane tsjinstanner te finen foar spultsjes. Dêrom brûke in protte minsken online skaaktsjinsten, nettsjinsteande it feit dat in protte spilers leaver "live" spylje mei echte stikken. Lykwols, by it spieljen fan skaken, in persoan set in protte mentale ynspanning en wurdt wurch, en dizze wurgens wurdt komplementearre troch de negative ynfloed fan sitten op in kompjûter of smartphone. As gefolch, it brein wurdt oerladen nei mar twa wedstriden.

Al dizze faktoaren triuwe de auteurs nei it idee fan it On-Line-On-Board-projekt, dat bestiet út trije dielen: in fysike skaakboerd, in buroblêdapplikaasje en in webtsjinst. It boerd is in gewoan skaakfjild, dat de posysje fan de stikken herkent en mei help fan in ljochte oantsjutting de bewegingen fan de tsjinstanner oanjout. It bestjoer is ferbûn fia USB nei in PC en kommunisearret mei de buroblêd applikaasje. Yn 'e trainingsmodus (en foar bern) wurde jo mooglike bewegingen markearre.

De applikaasje nimt de basisfunksjes oer fan it bestjoeren fan it bestjoer, wêrtroch jo de kosten sterk kinne ferminderje en de ymplemintaasje fan de measte funksjes op it softwarenivo bringe. De applikaasje kommunisearret mei in webtsjinst waans haadwearde dynamyske fernijing is.

It wichtichste senario foar it brûken fan it produkt: ien persoan spilet op 'e tsjinst, de twadde op in fysyk boerd ferbûn mei de tsjinst. Dat is, de tsjinst krijt in kommunikative funksje.

Projektteam: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Jo kinne mear lêze oer ús edukative projekten op dizze keppeling. En besykje it kanaal faker Technostream, nije edukative fideo's oer programmearring, ûntwikkeling en oare dissiplines ferskine dêr geregeld.

Boarne: www.habr.com

Add a comment