Tegniese uitgawe van Mail.ru Group 2019

Tegniese uitgawe van Mail.ru Group 2019

Aan die einde van Mei het ons gegradueerdes van Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Lomonosov Moscow State University) en Technopolis (Peter the Great St. Petersburg Polytechnic University) hul diplomaprojekte verdedig. Drie maande is vir werk toegeken, en die ouens het die kennis en vaardighede wat oor twee jaar se studie opgedoen is, in hul breinkind belê.

In totaal was daar 13 projekte oor verdediging wat verskeie probleme in verskillende industrieë opgelos het. Byvoorbeeld:

  • wolkberging met kriptografiese lêerenkripsie;
  • platform vir die skep van interaktiewe video's (met verskillende eindes);
  • slimbord om regte skaak oor die netwerk te speel;
  • argitektuur vir intelligente herwinning van mediese artikels;
  • Sagteware om laerskoolkinders die basiese beginsels van algoritmisering te leer.

Sowel as projekte van sake-eenhede:

  • CRM-stelsel vir TamTam messenger;
  • webdiens om tematiese foto's op die kaart vir Odnoklassniki te soek;
  • adres geokodering diens vir MAPS.ME.

Vandag sal ons jou in meer besonderhede vertel van vyf projekte van ons gegradueerdes.

Intelligente soektog van mediese artikels

Tegniese uitgawe van Mail.ru Group 2019

Daar is baie gebiede in die wetenskaplike veld, in elkeen waarvan navorsing gedoen word, word 'n groot aantal artikels in 'n verskeidenheid tydskrifte gepubliseer. Dit is inligtingstegnologie, fisika, wiskunde, biologie, medisyne en vele ander.

Skrywers die projek besluit om op die mediese veld te fokus. Byna alle artikels oor mediese onderwerpe word op die PubMed-portaal versamel. Die portaal bied sy eie soektog. Sy vermoëns is egter baie beperk. Daarom het die ouens die soekstelsel verbeter, ondersteuning vir lang navrae bygevoeg en die vermoë om navrae te verfyn met behulp van onderwerpmodellering.

Tegniese uitgawe van Mail.ru Group 2019
Die SERP bevat 'n gerangorde lys van dokumente met hul onderwerpe gedefinieer, en woorde en terme wat met hierdie onderwerpe verband hou, word uitgelig met behulp van waarskynlike onderwerpmodellering. Die gebruiker kan op die gemerkte terme klik om die soektog te verklein.

Tegniese uitgawe van Mail.ru Group 2019
Om vinnig deur die groot PubMed-databasis te soek, het die skrywers hul eie soekenjin geskryf wat maklik in enige infrastruktuur geïntegreer kan word.

Die soektog word in drie fases uitgevoer:

  1. Kandidaatdokumente word met behulp van 'n omgekeerde indeks gekies.
  2. Die kandidate word gerangskik deur die BM25F-algoritme te gebruik, wat verskeie velde in dokumente tydens die soektog in ag neem. Woorde in die titel het dus meer gewig as woorde in die abstrakte.
  3. 'n Kasstelsel word ook gebruik om die verwerking van gereelde versoeke te bespoedig.

Tegniese uitgawe van Mail.ru Group 2019

Mikrodiens argitektuur:

Tegniese uitgawe van Mail.ru Group 2019
Basies word gestruktureerde teksdata tussen dienste oorgedra. Vir hoë oordragsnelhede word GRPC gebruik - 'n raamwerk vir die koppeling van modules in 'n mikrodiensargitektuur. Dataserialisering word ook gebruik deur die Protobuf-boodskapuitruilformaat te gebruik.

Watter komponente sluit die stelsel in:

  • Bediener vir die verwerking van inkomende gebruikerversoeke op Node.js.
  • Laai balanseringsversoeke met behulp van die nginx-instaanbediener.
  • Die Flask-bediener implementeer die REST API en ontvang versoeke wat van Node.js aangestuur word.
  • Alle rou en verwerkte data, sowel as navraaginligting, word in MongoDB gestoor.
  • Alle versoeke vir relevante resultate vir dokumenttematisering gaan na RabbitMQ.

Voorbeeld van soekresultate:

Tegniese uitgawe van Mail.ru Group 2019

Wat ons beplan om volgende te doen:

  • Aanbevelings wanneer resensies oor 'n gegewe onderwerp saamgestel word (identifisering van belangrike onderwerpe in 'n dokument en soek deur substelle van dokumente).
  • Soek PDF-lêers.
  • Semantiese tekssegmentering.
  • Volg onderwerpe en neigings oor tyd.

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

Bloklogboek

Tegniese uitgawe van Mail.ru Group 2019

Vandag, wanneer hulle programmering en rekenaarwetenskap onderrig, het kinders van laerskoolouderdom (graad 5–7) probleme om die materiaal te bemeester. Daarbenewens, as studente opdragte by die huis wil voltooi, moet hulle addisionele sagteware op hul rekenaars installeer. Onderwysers moet 'n groot aantal soortgelyke oplossings vir probleme nagaan, en in die geval van afstandsonderrig moet hulle ook 'n metodologie ontwikkel om opdragte van studente te ontvang.

Die skrywers van die Block Log-projek het tot die gevolgtrekking gekom: wanneer kinders van laerskoolouderdom die basiese beginsels van algoritmisering leer, moet die klem nie op die memorisering van programmeertaalopdragte val nie, maar op die bou van algoritmediagramme. Dit sal studente in staat stel om tyd en moeite te spandeer aan die ontwerp van 'n algoritme, eerder as om omslagtige sintaktiese strukture in te tik.

Platform Bloklogboek laat toe:

  1. Skep en wysig vloeidiagramme.
  2. Begin die geskepde vloeidiagramme en sien die resultaat van hul werk (afvoerdata).
  3. Stoor en laai geskape projekte.
  4. Teken rasterbeelde (genereer 'n beeld gebaseer op 'n algoritme wat deur die kind geskep is).
  5. Ontvang inligting oor die kompleksiteit van die geskepde algoritme (gebaseer op die aantal bewerkings wat in die algoritme uitgevoer word).

'n Rolleverdeling in onderwysers en studente word verwag. Enige gebruiker ontvang studentstatus; om onderwyserstatus te verkry, moet jy die stelseladministrateur kontak. Die onderwyser kan nie net beskrywings en toestande van probleme invoer nie, maar ook outomatiese toetse skep wat outomaties van stapel gestuur sal word wanneer 'n student 'n oplossing vir die probleem in die stelsel indien.

Blaaierbloklog-redigeerder:

Tegniese uitgawe van Mail.ru Group 2019

Nadat die probleem opgelos is, kan die student die oplossing aflaai en die resultate sien:

Tegniese uitgawe van Mail.ru Group 2019

Die platform bestaan ​​uit 'n front-end-toepassing in Vue.js en 'n back-end-toepassing in Ruby on Rails. PostgreSQL word as die databasis gebruik. Om ontplooiing te vereenvoudig, word alle stelselkomponente in Docker-houers verpak en met Docker Compose saamgestel. Die lessenaarweergawe van Block Log is gebaseer op die Electron-raamwerk. Webpack is gebruik om die JavaScript-kode te bou.

Projekspan: Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov.

CRM-stelsel vir TamTam messenger

Tegniese uitgawe van Mail.ru Group 2019

CRM is 'n hulpmiddel vir gerieflike interaksie tussen besighede en TamTam-gebruikers. Die volgende funksies is geïmplementeer:

  • 'n Bot-konstruktor wat jou toelaat om bots te skep sonder programmeringsvaardighede. Binne 'n paar minute kan jy 'n ten volle werkende bot kry wat nie net sekere inligting aan gebruikers kan wys nie, maar ook data kan insamel, insluitend. lêers wat die administrateur later kan bekyk.
  • RSS. Jy kan RSS maklik aan enige kanaal koppel.
  • Vertraagde plasing. Laat jou toe om boodskappe op voorafbepaalde tye te stuur en uit te vee.

Die span het ook deelgeneem aan die toets van die Bot API, en verskeie selfgeskrewe bots geskep, soos 'n bot vir die 2019 Wêreldbeker van Hokkie, 'n bot vir registrasie/magtiging in ons diens, en 'n bot vir CI/CD.

Oplossing infrastruktuur:

  • Die bestuursbediener bevat 'n moniteringstelsel vir elke bediener en elke Docker-houer daarop om 'n probleem vinnig en gerieflik op te spoor en dit op te los, verskeie statistieke en gebruikstatistieke te bekyk. Daar is ook 'n stelsel vir afstandkonfigurasiebestuur van ons toepassing.
  • Die opstelbediener bevat die huidige weergawe van ons toepassing, beskikbaar vir algemene toetsing deur die ontwikkelingspan.
  • Bestuur- en opstelbedieners is slegs via VPN aan ontwikkelaars beskikbaar, en die produksiebediener bevat die vrystellingweergawe van die toepassing. Dit is geïsoleer uit die hande van ontwikkelaars en is slegs beskikbaar vir die eindgebruiker.
  • Die CI/CD-stelsel is geïmplementeer met Github en Travis, kennisgewing met behulp van 'n pasgemaakte bot in TamTam.

Tegniese uitgawe van Mail.ru Group 2019

Die toepassingsargitektuur is 'n modulêre oplossing. Die toepassing, databasis, konfigurasiebestuurder en monitering word in aparte Docker-houers geloods, wat jou toelaat om uit die bekendstellingsomgewing te abstraheer, 'n aparte houer te verander of te herbegin. Die skep van 'n netwerktopologie en die bestuur van houers word gedoen met Docker Compose.

Tegniese uitgawe van Mail.ru Group 2019

Projekspan: Alexey Antufiev, Egor Gorbatov, Alexey Kotelevsky.

ForkMe

Tegniese uitgawe van Mail.ru Group 2019

Die ForkMe-projek is 'n platform om na interaktiewe video's te kyk, waar jy jou eie video kan skep en dit aan jou vriende kan wys. Hoekom het ons interaktiewe video's nodig as daar gereelde video's is?

Die nie-lineêre plot van die video en die vermoë om self die voortsetting te kies, laat die kyker toe om betrokke te wees, en inhoudskeppers sal unieke stories kan wys waarvan die plot deur gebruikers beïnvloed sal word. Ook sal inhoudskeppers, deur video-omskakelingsstatistieke te bestudeer, in staat wees om te verstaan ​​wat die gehoor die meeste interesseer en materiaal aantrekliker maak.

Met die ontwikkeling van die projek is die ouens geïnspireer deur die interaktiewe film Bandersnatch van Netflix, wat baie kyke en goeie resensies gekry het. Toe die MVP reeds geskryf is, het nuus verskyn dat Youtube beplan om 'n platform vir interaktiewe reekse bekend te stel, wat weereens die gewildheid van hierdie rigting bevestig.

MVP sluit in: interaktiewe speler, video-konstruktor, soek volgens inhoud en merkers, video-versamelings, opmerkings, kyke, graderings, kanaal- en gebruikersprofiele.

Tegniese uitgawe van Mail.ru Group 2019

Tegnologiestapel wat in die projek gebruik word:

Tegniese uitgawe van Mail.ru Group 2019

Hoe word beplan om die projek te ontwikkel:

  • versameling van statistieke en infografika oor oorgange na video;
  • kennisgewings en persoonlike boodskappe vir werfgebruikers;
  • weergawes vir Android en iOS.

Hierna beplan ons om by te voeg:

  • die skep van videostories vanaf jou foon;
  • redigeer afgelaaide videofragmente (byvoorbeeld snoei);
  • skepping en bekendstelling van interaktiewe advertensies in die speler.

Projekspan: Maxim Morev (volstapelontwikkelaar, het aan die projekargitektuur gewerk) en Roman Maslov (volstapelontwikkelaar, het aan die projekontwerp gewerk).

Aan-lyn-aan-boord

Tegniese uitgawe van Mail.ru Group 2019

Tegniese uitgawe van Mail.ru Group 2019

Vandag gee ouers groot aandag aan die geestelike ontwikkeling van hul kinders, en kinders stel belang in intellektuele speletjies. Daarom word skaak weer gewild. En hoewel skaak in die algemeen baie gewild is, is dit problematies om 'n gereelde teenstander vir speletjies te vind. Daarom gebruik baie mense aanlyn skaakdienste, ten spyte van die feit dat baie spelers verkies om "lewendig" met regte stukke te speel. Wanneer 'n persoon egter skaak speel, doen hy baie geestelike inspanning en word hy moeg, en hierdie moegheid word aangevul deur die negatiewe impak van om by 'n rekenaar of slimfoon te sit. As gevolg hiervan word die brein oorlaai na net twee wedstryde.

Al hierdie faktore het die skrywers gedryf tot die idee van die On-Line-On-Board-projek, wat uit drie dele bestaan: 'n fisiese skaakbord, 'n lessenaartoepassing en 'n webdiens. Die bord is 'n gereelde skaakveld, wat die posisie van die stukke herken en, met behulp van 'n ligte aanduiding, die opponent se bewegings aandui. Die bord is via USB aan 'n rekenaar gekoppel en kommunikeer met die rekenaartoepassing. In die oefenmodus (en vir kinders) word jou moontlike bewegings uitgelig.

Die toepassing neem die basiese funksies van bestuur van die raad oor, wat u toelaat om die koste daarvan aansienlik te verminder en die implementering van die meeste funksies na die sagtewarevlak te bring. Die toepassing kommunikeer met 'n webdiens waarvan die hoofwaarde dinamiese opdatering is.

Die hoofscenario vir die gebruik van die produk: een persoon speel op die diens, die tweede op 'n fisiese bord wat aan die diens gekoppel is. Dit wil sê, die diens neem 'n kommunikatiewe funksie aan.

Projekspan: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Jy kan meer lees oor ons opvoedkundige projekte by hierdie skakel. En besoek die kanaal meer gereeld Tegnostroom, nuwe opvoedkundige video's oor programmering, ontwikkeling en ander dissiplines verskyn gereeld daar.

Bron: will.com

Voeg 'n opmerking