Mail.ru Groupi 2019. aasta tehniline väljaanne

Mail.ru Groupi 2019. aasta tehniline väljaanne

Mai lõpus kaitsesid oma diplomitööd meie kõrgkoolide Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Lomonossovi Moskva Riiklik Ülikool) ja Technopolis (Peeter the Great Peterburi Polütehniline Ülikool) lõpetajad. Tööks eraldati kolm kuud ja poisid investeerisid oma vaimusünnitusse kahe õppeaasta jooksul omandatud teadmised ja oskused.

Kokku oli 13 kaitsealast projekti, mis lahendasid erinevaid probleeme erinevates tööstusharudes. Näiteks:

  • krüptofailide krüptimisega pilvesalvestus;
  • platvorm interaktiivsete videote loomiseks (erineva lõpuga);
  • nutilaud päris male mängimiseks üle võrgu;
  • arhitektuur meditsiiniliste artiklite intelligentseks otsimiseks;
  • Tarkvara algkoolilastele algoritmiseerimise põhitõdede õpetamiseks.

Samuti äriüksuste projektid:

  • TamTam messengeri CRM-süsteem;
  • veebiteenus Odnoklassniki temaatiliste fotode otsimiseks kaardilt;
  • aadresside geokodeerimise teenus MAPS.ME jaoks.

Täna räägime teile lähemalt viiest meie lõpetajate projektist.

Arukas meditsiiniliste artiklite otsing

Mail.ru Groupi 2019. aasta tehniline väljaanne

Teadusvaldkonnas on palju valdkondi, millest igaühes tehakse uuringuid, avaldatakse tohutul hulgal artikleid erinevates ajakirjades. Need on infotehnoloogia, füüsika, matemaatika, bioloogia, meditsiin ja paljud teised.

Autorid projekti otsustas keskenduda meditsiinivaldkonnale. Peaaegu kõik meditsiiniteemalised artiklid on kogutud portaali PubMed. Portaal pakub oma otsingut. Selle võimalused on aga väga piiratud. Seetõttu täiustasid poisid otsingusüsteemi, lisasid pikkade päringute toe ja võimaluse teemade modelleerimise abil päringuid täpsustada.

Mail.ru Groupi 2019. aasta tehniline väljaanne
SERP sisaldab järjestatud dokumentide loendit, mille teemad on määratletud, ning nende teemadega seotud sõnad ja terminid tõstetakse esile tõenäosusliku teemade modelleerimise abil. Kasutaja saab otsingupäringu kitsendamiseks klõpsata esiletõstetud terminitel.

Mail.ru Groupi 2019. aasta tehniline väljaanne
Hiiglaslikus PubMedi andmebaasis otsimise kiireks muutmiseks kirjutasid autorid oma otsingumootori, mida saab hõlpsasti integreerida mis tahes infrastruktuuri.

Otsing toimub kolmes etapis:

  1. Kandidaadid valitakse pöördindeksi abil.
  2. Kandidaadid järjestatakse BM25F algoritmi abil, mis arvestab otsingu käigus dokumentides erinevaid välju. Seega on pealkirjas olevatel sõnadel suurem kaal kui abstraktsetel sõnadel.
  3. Vahemälusüsteemi kasutatakse ka sagedaste päringute töötlemise kiirendamiseks.

Mail.ru Groupi 2019. aasta tehniline väljaanne

Mikroteenuste arhitektuur:

Mail.ru Groupi 2019. aasta tehniline väljaanne
Põhimõtteliselt edastatakse struktureeritud tekstiandmeid teenuste vahel. Suure edastuskiiruse jaoks kasutatakse GRPC-d - raamistikku moodulite ühendamiseks mikroteenuse arhitektuuris. Andmete serialiseerimist kasutatakse ka Protobufi sõnumivahetuse vormingus.

Milliseid komponente süsteem sisaldab:

  • Server Node.js-i sissetulevate kasutajapäringute töötlemiseks.
  • Koormuse tasakaalustamise taotlused nginxi puhverserveri abil.
  • Flask-server rakendab REST API-d ja võtab vastu Node.js-ilt edastatud päringuid.
  • Kõik töötlemata ja töödeldud andmed, samuti päringuteave salvestatakse MongoDB-sse.
  • Kõik dokumenditeematiseerimise asjakohaste tulemuste taotlused lähevad RabbitMQ-le.

Otsingutulemuste näide:

Mail.ru Groupi 2019. aasta tehniline väljaanne

Mida me järgmisena teha kavatseme:

  • Soovitused antud teemal arvustuste koostamisel (dokumendis oluliste teemade väljaselgitamine ja dokumentide alamhulkade vahel otsimine).
  • Otsige PDF-faile.
  • Semantiline teksti segmenteerimine.
  • Jälgige aja jooksul teemasid ja trende.

Projekti meeskond: Fedor Petryaykin, Vladislav Dorozhinsky, Maxim Nakhodnov, Maxim Filin

Blokeeri logi

Mail.ru Groupi 2019. aasta tehniline väljaanne

Tänapäeval on programmeerimise ja informaatika õpetamisel algkooliealistel lastel (5.–7. klass) probleeme materjali valdamisega. Lisaks, kui õpilased soovivad kodus ülesandeid täita, peavad nad arvutisse installima lisatarkvara. Õpetajad peavad kontrollima suurt hulka sarnaseid probleemide lahendusi, kaugõppe puhul tuleb välja töötada ka õpilastelt ülesannete saamise metoodika.

Plokilogi projekti autorid jõudsid järeldusele: algkooliealistele lastele algoritmiseerimise põhitõdede õpetamisel ei tohiks rõhku panna programmeerimiskeele käskude päheõppimisele, vaid algoritmide diagrammide koostamisele. See võimaldab õpilastel kulutada aega ja vaeva algoritmi kujundamisele, selle asemel, et sisestada tülikaid süntaktilisi struktuure.

Platvorm Blokeeri logi võimaldab teil:

  1. Loo ja redigeeri vooskeemi.
  2. Käivitage loodud vooskeemid ja vaadake nende töö tulemust (väljundandmeid).
  3. Salvestage ja laadige loodud projektid.
  4. Joonistage rasterpilte (lapse loodud algoritmi alusel pildi genereerimine).
  5. Saate teavet loodud algoritmi keerukuse kohta (algoritmis tehtud toimingute arvu alusel).

Oodata on rollijaotust õpetajateks ja õpilasteks. Iga kasutaja saab õpilase staatuse; õpetaja staatuse saamiseks peate võtma ühendust süsteemiadministraatoriga. Õpetaja ei saa sisestada ainult probleemide kirjeldusi ja tingimusi, vaid ka luua automatiseeritud teste, mis käivituvad automaatselt, kui õpilane esitab süsteemi probleemile lahenduse.

Brauseri blokeerimislogi redaktor:

Mail.ru Groupi 2019. aasta tehniline väljaanne

Pärast ülesande lahendamist saab õpilane lahenduse alla laadida ja tulemusi näha:

Mail.ru Groupi 2019. aasta tehniline väljaanne

Platvorm koosneb Vue.js-i esiosarakendusest ja Ruby on Railsis asuvast taustarakendusest. Andmebaasina kasutatakse PostgreSQL-i. Juurutamise lihtsustamiseks pakitakse kõik süsteemikomponendid Dockeri konteineritesse ja monteeritakse Docker Compose'i abil. Block Log'i töölauaversioon põhineb Electroni raamistikul. JavaScripti koodi koostamiseks kasutati veebipaketti.

Projekti meeskond: Aleksander Barulev, Maxim Kolotovkin, Kirill Kucherov.

TamTami messengeri CRM-süsteem

Mail.ru Groupi 2019. aasta tehniline väljaanne

CRM on tööriist mugavaks suhtluseks ettevõtete ja TamTami kasutajate vahel. Rakendatud on järgmised funktsioonid:

  • Botikonstruktor, mis võimaldab luua roboteid ilma programmeerimisoskusteta. Mõne minutiga saad täiesti töötava bot’i, mis ei suuda kasutajatele mitte ainult mingit infot näidata, vaid ka andmeid koguda, sh. failid, mida administraator saab hiljem vaadata.
  • RSS. Saate hõlpsasti ühendada RSS-i mis tahes kanaliga.
  • Postitamine hilinenud. Võimaldab eelseadistatud aegadel sõnumeid saata ja kustutada.

Meeskond osales ka Bot API testimises, luues mitu ise kirjutatud robotit, näiteks 2019. aasta jäähoki maailmameistrivõistluste jaoks mõeldud robot, meie teenuses registreerimiseks/volitamiseks mõeldud robot ja CI/CD jaoks mõeldud robot.

Lahenduse infrastruktuur:

  • Haldusserveris on iga serveri ja iga selle peal oleva Dockeri konteineri jaoks seiresüsteem, et kiiresti ja mugavalt tuvastada ja lahendada probleem, vaadata erinevaid mõõdikuid ja kasutusstatistikat. Samuti on olemas meie rakenduse konfiguratsiooni kaughalduse süsteem.
  • Lavastusserver sisaldab meie rakenduse praegust versiooni, mis on arendusmeeskonnale üldiseks testimiseks saadaval.
  • Haldus- ja lavastusserverid on arendajatele saadaval ainult VPN-i kaudu ning tootmisserver sisaldab rakenduse väljalaske versiooni. See on arendajate käest isoleeritud ja saadaval ainult lõppkasutajale.
  • CI/CD süsteem rakendati Githubi ja Travise abil, teavitus TamTami kohandatud roboti abil.

Mail.ru Groupi 2019. aasta tehniline väljaanne

Rakenduse arhitektuur on modulaarne lahendus. Rakendus, andmebaas, konfiguratsioonihaldur ja monitooring käivitatakse eraldi Dockeri konteinerites, mis võimaldab abstraheerida käivituskeskkonnast, muuta või taaskäivitada eraldi konteinerit. Võrgu topoloogia loomine ja konteinerite haldamine toimub Docker Compose'i abil.

Mail.ru Groupi 2019. aasta tehniline väljaanne

Projekti meeskond: Aleksei Antufjev, Egor Gorbatov, Aleksei Kotelevski.

ForkMe

Mail.ru Groupi 2019. aasta tehniline väljaanne

ForkMe projekt on interaktiivsete videote vaatamise platvorm, kus saate luua oma video ja näidata seda oma sõpradele. Miks me vajame interaktiivseid videoid, kui neid on tavalisi?

Video mittelineaarne süžee ja võimalus ise jätkamist valida võimaldavad vaatajat kaasata ning sisuloojad saavad näidata kordumatuid lugusid, mille süžeed saavad kasutajad mõjutada. Samuti saavad sisuloojad videote konversioonistatistikat uurides aru, mis vaatajaskonda enim huvitab, ja muudavad materjalid atraktiivsemaks.

Projekti arendades said poisid inspiratsiooni Netflixi interaktiivsest filmist Bandersnatch, mis sai palju vaatamisi ja häid hinnanguid. Kui MVP juba valmis sai, ilmus uudis, et Youtube plaanib käivitada interaktiivsete sarjade platvormi, mis kinnitab taaskord selle suuna populaarsust.

MVP sisaldab: interaktiivset pleierit, videokonstruktorit, otsingut sisu ja siltide järgi, videokogusid, kommentaare, vaatamisi, hinnanguid, kanali- ja kasutajaprofiile.

Mail.ru Groupi 2019. aasta tehniline väljaanne

Projektis kasutatud tehnoloogiapakk:

Mail.ru Groupi 2019. aasta tehniline väljaanne

Kuidas on kavas projekti edasi arendada:

  • statistika ja infograafika kogumine videole ülemineku kohta;
  • teated ja isiklikud sõnumid saidi kasutajatele;
  • versioonid Androidile ja iOS-ile.

Pärast seda plaanime lisada:

  • videolugude loomine telefonist;
  • allalaaditud videofragmentide redigeerimine (näiteks kärpimine);
  • interaktiivse reklaami loomine ja käivitamine mängijas.

Projekti meeskond: Maxim Morev (täisarhitektuur, töötas projekti arhitektuuri kallal) ja Roman Maslov (täieliku komplekti arendaja, töötas projekti disaini kallal).

On-Line-On-Board

Mail.ru Groupi 2019. aasta tehniline väljaanne

Mail.ru Groupi 2019. aasta tehniline väljaanne

Tänapäeval pööravad vanemad suurt tähelepanu oma laste vaimsele arengule ning lapsed on huvitatud intellektuaalsetest mängudest. Seetõttu kogub male taas populaarsust. Ja kuigi male üldiselt on üsna populaarne, on mängude jaoks tavalise vastase leidmine problemaatiline. Seetõttu kasutavad paljud inimesed veebipõhiseid maleteenuseid, hoolimata asjaolust, et paljud mängijad eelistavad mängida "otses" pärisnuppudega. Malet mängides teeb inimene aga kõvasti vaimset pingutust ja väsib ning sellele väsimusele lisandub arvuti või nutitelefoni taga istumise negatiivne mõju. Selle tulemusena on aju juba kahe mängu järel ülekoormatud.

Kõik need tegurid ajendasid autoreid ideeni luua On-Line-On-Board projekt, mis koosneb kolmest osast: füüsiline malelaud, töölauarakendus ja veebiteenus. Laud on tavaline maleväljak, mis tunneb ära nuppude asukoha ja annab valgusindikaatori abil märku vastase käike. Plaat on USB kaudu ühendatud arvutiga ja suhtleb töölauarakendusega. Treeningrežiimis (ja lastele) on teie võimalikud käigud esile tõstetud.

Rakendus võtab üle plaadi haldamise põhifunktsioonid, mis võimaldab oluliselt vähendada selle maksumust ja viia enamiku funktsioonide juurutamine tarkvara tasemele. Rakendus suhtleb veebiteenusega, mille põhiväärtus on dünaamiline värskendamine.

Toote kasutamise põhistsenaarium: üks inimene mängib teenuses, teine ​​teenusega ühendatud füüsilisel laual. See tähendab, et teenus täidab suhtlusfunktsiooni.

Projekti meeskond: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Lisateavet meie haridusprojektide kohta saate lugeda aadressilt see link. Ja külastage kanalit sagedamini Technostream, ilmuvad seal regulaarselt uusi õppevideoid programmeerimise, arenduse ja muude erialade kohta.

Allikas: www.habr.com

Lisa kommentaar