Mail.ru Groupin tekninen numero 2019

Mail.ru Groupin tekninen numero 2019

Toukokuun lopussa valmistuneet Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Lomonosov Moskovan valtionyliopisto) ja Technopolis (Pietari Suuren Pietarin ammattikorkeakoulu) puolustivat diplomityötään. Työhön varattiin kolme kuukautta, ja kaverit panostivat aivotyöhönsä kahden vuoden opiskelun aikana hankitut tiedot ja taidot.

Puolustushankkeita oli yhteensä 13, jotka ratkaisivat erilaisia ​​ongelmia eri toimialoilla. Esimerkiksi:

  • pilvitallennus salaustiedostojen salauksella;
  • alusta interaktiivisten videoiden luomiseen (eri päätteillä);
  • älykortti oikean shakin pelaamiseen verkossa;
  • arkkitehtuuri lääketieteellisten tuotteiden älykkääseen hakuun;
  • Ohjelmisto, jolla opetetaan alakouluikäisille algoritmisoinnin perusteet.

Sekä projektit liiketoimintayksiköiltä:

  • CRM-järjestelmä TamTam Messengerille;
  • verkkopalvelu temaattisten valokuvien etsimiseen Odnoklassnikin kartalta;
  • osoitteen geokoodauspalvelu MAPS.ME:lle.

Tänään kerromme sinulle tarkemmin viidestä valmistuneemme projektista.

Älykäs lääketieteellisten artikkelien haku

Mail.ru Groupin tekninen numero 2019

Tieteen alalla on monia aloja, joilla kullakin tehdään tutkimusta, valtava määrä artikkeleita julkaistaan ​​erilaisissa aikakauslehdissä. Näitä ovat tietotekniikka, fysiikka, matematiikka, biologia, lääketiede ja monet muut.

Tekijät projekti päätti keskittyä lääketieteen alaan. Lähes kaikki lääketieteellisiä aiheita koskevat artikkelit on koottu PubMed-portaaliin. Portaali tarjoaa oman haun. Sen ominaisuudet ovat kuitenkin hyvin rajalliset. Siksi kaverit paransivat hakujärjestelmää, lisäsivät tukea pitkille kyselyille ja mahdollisuuden tarkentaa kyselyitä aihemallinnuksen avulla.

Mail.ru Groupin tekninen numero 2019
SERP sisältää listan asiakirjoista, joiden aiheet on määritelty, ja näihin aiheisiin liittyvät sanat ja termit on korostettu todennäköisyyspohjaisella aihemallinnusella. Käyttäjä voi napsauttaa korostettuja termejä tarkentaakseen hakukyselyä.

Mail.ru Groupin tekninen numero 2019
Jotta valtavasta PubMed-tietokannasta etsiminen olisi nopeaa, kirjoittajat kirjoittivat oman hakukoneensa, joka voidaan helposti integroida mihin tahansa infrastruktuuriin.

Haku suoritetaan kolmessa vaiheessa:

  1. Ehdokasasiakirjat valitaan käänteisen indeksin avulla.
  2. Ehdokkaat asetetaan paremmuusjärjestykseen BM25F-algoritmilla, joka ottaa haun aikana huomioon dokumenttien eri kentät. Siten otsikon sanoilla on enemmän painoarvoa kuin abstraktin sanoin.
  3. Välimuistijärjestelmää käytetään myös nopeuttamaan toistuvien pyyntöjen käsittelyä.

Mail.ru Groupin tekninen numero 2019

Mikropalveluarkkitehtuuri:

Mail.ru Groupin tekninen numero 2019
Pohjimmiltaan strukturoitua tekstidataa siirretään palveluiden välillä. Suuria siirtonopeuksia varten käytetään GRPC:tä - puitteita moduulien yhdistämiseen mikropalveluarkkitehtuurissa. Tietojen serialisointia käytetään myös Protobuf-sanomanvaihtoformaatilla.

Mitä komponentteja järjestelmä sisältää:

  • Palvelin saapuvien käyttäjien pyyntöjen käsittelemiseen Node.js:ssä.
  • Kuormantasauspyynnöt nginx-välityspalvelimen avulla.
  • Flask-palvelin toteuttaa REST API:n ja vastaanottaa Node.js:ltä edelleen lähetetyt pyynnöt.
  • Kaikki raaka- ja käsitellyt tiedot sekä kyselytiedot tallennetaan MongoDB:hen.
  • Kaikki asiakirjojen tematisointiin liittyvien tulosten pyynnöt menevät RabbitMQ:lle.

Esimerkki hakutuloksista:

Mail.ru Groupin tekninen numero 2019

Mitä aiomme tehdä seuraavaksi:

  • Suosituksia laadittaessa arvosteluja tietystä aiheesta (tärkeiden aiheiden tunnistaminen asiakirjassa ja haku dokumenttien alasarjoista).
  • Etsi PDF-tiedostoja.
  • Semanttinen tekstin segmentointi.
  • Seuraa aiheita ja trendejä ajan mittaan.

Projektiryhmä: Fedor Petryaykin, Vladislav Dorozhinsky, Maxim Nakhodnov, Maxim Filin

Estä loki

Mail.ru Groupin tekninen numero 2019

Nykyään ohjelmointia ja tietojenkäsittelyä opetettaessa alakouluikäisillä (5-7-luokilla) on ongelmia materiaalin hallitsemisessa. Lisäksi jos opiskelijat haluavat suorittaa tehtäviä kotona, heidän on asennettava lisäohjelmistoja tietokoneilleen. Opettajien on tarkistettava suuri määrä vastaavia ratkaisuja ongelmiin, ja etäopiskelussa on myös kehitettävä metodologia opiskelijoiden tehtävien vastaanottamiseksi.

Block Log -projektin kirjoittajat tulivat siihen tulokseen, että alakouluikäisille lapsille opetettaessa algoritmisoinnin perusteita ei tule painottaa ohjelmointikielen komentojen ulkoa ottamista, vaan algoritmikaavioiden rakentamista. Näin opiskelijat voivat käyttää aikaa ja vaivaa algoritmin suunnitteluun sen sijaan, että he kirjoittaisivat hankalia syntaktisia rakenteita.

Foorumi Estä loki sallii:

  1. Luo ja muokkaa vuokaavioita.
  2. Suorita luodut vuokaaviot ja katso heidän työnsä tulos (lähtötiedot).
  3. Tallenna ja lataa luodut projektit.
  4. Piirrä rasterikuvia (kuvan luominen lapsen luoman algoritmin perusteella).
  5. Saat tietoja luodun algoritmin monimutkaisuudesta (algoritmissa suoritettujen toimintojen lukumäärän perusteella).

Rooleja odotetaan jakautuvan opettajiin ja opiskelijoihin. Jokainen käyttäjä saa opiskelijastatuksen; saadaksesi opettajan aseman, sinun on otettava yhteyttä järjestelmänvalvojaan. Opettaja ei voi vain syöttää ongelmien kuvauksia ja ehtoja, vaan myös luoda automaattisia testejä, jotka käynnistyvät automaattisesti, kun opiskelija lähettää ratkaisun ongelmaan järjestelmään.

Selaimen estolokieditori:

Mail.ru Groupin tekninen numero 2019

Ratkaisun jälkeen opiskelija voi ladata ratkaisun ja nähdä tulokset:

Mail.ru Groupin tekninen numero 2019

Alusta koostuu Vue.js:n etupään sovelluksesta ja Ruby on Railsin taustasovelluksesta. Tietokantana käytetään PostgreSQL:ää. Käyttöönoton yksinkertaistamiseksi kaikki järjestelmäkomponentit pakataan Docker-säiliöihin ja kootaan Docker Composella. Block Login työpöytäversio perustuu Electron-kehykseen. Webpackia käytettiin JavaScript-koodin rakentamiseen.

Projektiryhmä: Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov.

CRM-järjestelmä TamTam Messengerille

Mail.ru Groupin tekninen numero 2019

CRM on työkalu kätevään vuorovaikutukseen yritysten ja TamTam-käyttäjien välillä. Seuraavat toiminnot on otettu käyttöön:

  • Bottikonstruktori, jonka avulla voit luoda botteja ilman ohjelmointitaitoja. Muutamassa minuutissa saat täysin toimivan botin, joka ei vain näytä tietoja käyttäjille, vaan myös kerää tietoja, mm. tiedostot, joita järjestelmänvalvoja voi tarkastella myöhemmin.
  • RSS. Voit helposti yhdistää RSS:n mihin tahansa kanavaan.
  • Viivästynyt postitus. Voit lähettää ja poistaa viestejä ennalta asetettuina aikoina.

Tiimi osallistui myös Bot API:n testaamiseen ja loi useita itse kirjoitettuja botteja, kuten botin vuoden 2019 jääkiekon MM-kisoja varten, botin rekisteröintiä/valtuutusta varten palvelussamme ja botin CI/CD:tä varten.

Ratkaisun infrastruktuuri:

  • Hallintapalvelin sisältää valvontajärjestelmän jokaiselle palvelimelle ja jokaiselle sen Docker-säilölle, jotta ongelma voidaan havaita nopeasti ja kätevästi ja ratkaista, tarkastella erilaisia ​​mittareita ja käyttötilastoja. Sovelluksessamme on myös järjestelmä konfigurointien etähallintaan.
  • Välityspalvelin sisältää sovelluksemme nykyisen version, joka on kehitystiimin yleistestattavissa.
  • Hallinta- ja välityspalvelimet ovat kehittäjien saatavilla vain VPN:n kautta, ja tuotantopalvelin sisältää sovelluksen julkaisuversion. Se on eristetty kehittäjien käsistä ja on vain loppukäyttäjän saatavilla.
  • CI/CD-järjestelmä toteutettiin Githubilla ja Travisilla, ilmoitus käyttämällä mukautettua bottia TamTamissa.

Mail.ru Groupin tekninen numero 2019

Sovellusarkkitehtuuri on modulaarinen ratkaisu. Sovellus, tietokanta, konfiguraatiohallinta ja valvonta käynnistetään erillisissä Docker-säiliöissä, jolloin voit irrottaa käynnistysympäristöstä, muuttaa tai käynnistää uudelleen erillisen kontin. Verkkotopologian luominen ja säilöjen hallinta tehdään Docker Composella.

Mail.ru Groupin tekninen numero 2019

Projektiryhmä: Aleksei Antufjev, Egor Gorbatov, Aleksei Kotelevsky.

ForkMe

Mail.ru Groupin tekninen numero 2019

ForkMe-projekti on interaktiivisten videoiden katselualusta, jossa voit luoda oman videosi ja näyttää sen ystävillesi. Miksi tarvitsemme interaktiivisia videoita, jos niitä on tavallisia?

Videon epälineaarinen juoni ja mahdollisuus valita itse jatko mahdollistavat katsojan osallistumisen, ja sisällöntuottajat voivat näyttää ainutlaatuisia tarinoita, joiden juoniin käyttäjät vaikuttavat. Myös sisällöntuottajat voivat videokonversiotilastoja tutkimalla ymmärtää, mikä kiinnostaa yleisöä eniten, ja tehdä materiaalista houkuttelevampaa.

Projektia kehitettäessä kaverit saivat inspiraationsa Netflixin interaktiivisesta Bandersnatch-elokuvasta, joka sai paljon katselukertoja ja hyviä arvosteluja. Kun MVP oli jo kirjoitettu, ilmestyi uutinen, että Youtube aikoo käynnistää alustan interaktiivisille sarjoille, mikä vahvistaa jälleen kerran tämän suunnan suosiota.

MVP sisältää: interaktiivisen soittimen, videon rakentajan, haun sisällön ja tunnisteiden perusteella, videokokoelmat, kommentit, katselukerrat, luokitukset, kanava- ja käyttäjäprofiilit.

Mail.ru Groupin tekninen numero 2019

Projektissa käytetty teknologiapino:

Mail.ru Groupin tekninen numero 2019

Miten hanketta on tarkoitus kehittää:

  • tilastojen ja infografioiden kokoelma videoon siirtymisestä;
  • ilmoitukset ja henkilökohtaiset viestit sivuston käyttäjille;
  • Android- ja iOS-versiot.

Tämän jälkeen aiomme lisätä:

  • videotarinoiden luominen puhelimestasi;
  • ladattujen videofragmenttien muokkaaminen (esimerkiksi leikkaus);
  • interaktiivisen mainonnan luominen ja käynnistäminen soittimessa.

Projektiryhmä: Maxim Morev (fullstack-kehittäjä, työskenteli projektin arkkitehtuurissa) ja Roman Maslov (fullstack-kehittäjä, työskenteli projektin suunnittelussa).

On-Line-On-Board

Mail.ru Groupin tekninen numero 2019

Mail.ru Groupin tekninen numero 2019

Nykyään vanhemmat kiinnittävät paljon huomiota lastensa henkiseen kehitykseen, ja lapset ovat kiinnostuneita älyllisistä peleistä. Siksi shakki on jälleen saamassa suosiota. Ja vaikka shakki on yleisesti ottaen melko suosittua, säännöllisen vastustajan löytäminen peleihin on ongelmallista. Siksi monet ihmiset käyttävät online-shakkipalveluita huolimatta siitä, että monet pelaajat haluavat pelata "livenä" oikeilla nappuloilla. Shakkia pelatessaan ihminen kuitenkin ponnistelee paljon henkisesti ja väsyy, ja tätä väsymystä täydentää tietokoneen tai älypuhelimen ääressä istumisen negatiivinen vaikutus. Tämän seurauksena aivot ylikuormituvat jo kahden pelin jälkeen.

Kaikki nämä tekijät työnsivät kirjoittajat ajatukseen On-Line-On-Board-projektista, joka koostuu kolmesta osasta: fyysinen shakkilauta, työpöytäsovellus ja verkkopalvelu. Lauta on tavallinen shakkikenttä, joka tunnistaa nappuloiden sijainnin ja ilmaisee valon avulla vastustajan liikkeet. Levy on kytketty USB:n kautta PC:hen ja kommunikoi työpöytäsovelluksen kanssa. Harjoitustilassa (ja lapsille) mahdolliset liikkeesi näkyvät korostettuina.

Sovellus ottaa haltuunsa kortin hallinnan perustoiminnot, mikä mahdollistaa sen kustannusten alenemisen ja useimpien toimintojen toteuttamisen ohjelmistotasolle. Sovellus kommunikoi verkkopalvelun kanssa, jonka pääarvo on dynaaminen päivitys.

Pääskenaario tuotteen käyttöön: yksi henkilö pelaa palvelussa, toinen palveluun yhdistetyllä fyysisellä laudalla. Eli palvelu saa kommunikatiivisen toiminnon.

Projektiryhmä: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Voit lukea lisää koulutusprojekteistamme osoitteessa linkki. Ja vieraile kanavalla useammin Technostream, siellä ilmestyy säännöllisesti uusia opetusvideoita ohjelmoinnista, kehityksestä ja muista tieteenaloista.

Lähde: will.com

Lisää kommentti