Tehnična izdaja skupine Mail.ru Group 2019

Tehnična izdaja skupine Mail.ru Group 2019

Konec maja so naši diplomanti iz Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Moskovska državna univerza Lomonosov) in Technopolis (Peter the Great St. Petersburg Polytechnic University) zagovarjali svoje diplomske naloge. Za delo so bili dodeljeni trije meseci, fantje pa so v svojo idejo vložili znanje in veščine, pridobljene v dveh letih študija.

Skupaj je bilo 13 obrambnih projektov, ki so reševali različne probleme v različnih panogah. Na primer:

  • shranjevanje v oblaku s kriptografskim šifriranjem datotek;
  • platforma za ustvarjanje interaktivnih videov (z različnimi konci);
  • pametna tabla za igranje pravega šaha preko omrežja;
  • Arhitektura za inteligentno iskanje medicinskih izdelkov;
  • Programska oprema za poučevanje osnovnošolskih otrok osnov algoritmizacije.

Kot tudi projekti iz poslovnih enot:

  • CRM sistem za TamTam messenger;
  • spletna storitev za iskanje tematskih fotografij na zemljevidu za Odnoklassniki;
  • storitev geokodiranja naslovov za MAPS.ME.

Danes vam bomo podrobneje povedali o petih projektih naših diplomantov.

Inteligentno iskanje medicinskih člankov

Tehnična izdaja skupine Mail.ru Group 2019

Na znanstvenem področju je veliko področij, na vsakem od njih potekajo raziskave, v različnih revijah je objavljenih ogromno člankov. To so informacijska tehnologija, fizika, matematika, biologija, medicina in številne druge.

Avtorji projekt odločil, da se osredotoči na medicinsko področje. Skoraj vsi članki o medicinskih temah so zbrani na portalu PubMed. Portal omogoča lastno iskanje. Vendar so njegove zmogljivosti zelo omejene. Zato so fantje izboljšali iskalni sistem, dodali podporo za dolge poizvedbe in možnost izboljšanja poizvedb z modeliranjem tem.

Tehnična izdaja skupine Mail.ru Group 2019
SERP vsebuje razvrščeni seznam dokumentov z definiranimi temami, besede in izrazi, povezani s temi temami, pa so poudarjeni z uporabo verjetnostnega modeliranja tem. Uporabnik lahko klikne na označene izraze, da zoži iskalno poizvedbo.

Tehnična izdaja skupine Mail.ru Group 2019
Da bi bilo iskanje po ogromni bazi podatkov PubMed hitro, so avtorji napisali lasten iskalnik, ki ga je mogoče preprosto vključiti v katero koli infrastrukturo.

Iskanje poteka v treh fazah:

  1. Dokumenti kandidati so izbrani z obratnim kazalom.
  2. Kandidate razvrščamo z algoritmom BM25F, ki med iskanjem upošteva različna polja v dokumentih. Tako imajo besede v naslovu večjo težo kot besede v povzetku.
  3. Za pospešitev obdelave pogostih zahtev se uporablja tudi sistem predpomnjenja.

Tehnična izdaja skupine Mail.ru Group 2019

Arhitektura mikrostoritve:

Tehnična izdaja skupine Mail.ru Group 2019
V bistvu se strukturirani besedilni podatki prenašajo med storitvami. Za visoke hitrosti prenosa se uporablja GRPC - ogrodje za povezovanje modulov v mikrostoritveni arhitekturi. Serializacija podatkov se uporablja tudi z uporabo formata za izmenjavo sporočil Protobuf.

Katere komponente vključuje sistem:

  • Strežnik za obdelavo dohodnih uporabniških zahtev na Node.js.
  • Zahteve za uravnoteženje obremenitve z uporabo proxy strežnika nginx.
  • Strežnik Flask implementira REST API in sprejema zahteve, posredovane iz Node.js.
  • Vsi neobdelani in obdelani podatki ter informacije o poizvedbah so shranjeni v MongoDB.
  • Vse zahteve za ustrezne rezultate za tematizacijo dokumentov gredo na RabbitMQ.

Primer rezultatov iskanja:

Tehnična izdaja skupine Mail.ru Group 2019

Kaj nameravamo narediti naslednje:

  • Priporočila pri sestavljanju recenzij na določeno temo (prepoznavanje pomembnih tem v dokumentu in iskanje po podskupinah dokumentov).
  • Iskanje datotek PDF.
  • Semantična segmentacija besedila.
  • Sledite temam in trendom skozi čas.

Projektna skupina: Fedor Petryaykin, Vladislav Dorozhinsky, Maxim Nakhodnov, Maxim Filin

Dnevnik blokov

Tehnična izdaja skupine Mail.ru Group 2019

Danes imajo pri poučevanju programiranja in računalništva osnovnošolski otroci (5.–7. razred) težave z osvajanjem snovi. Poleg tega morajo učenci, če želijo naloge opravljati doma, na svoj računalnik namestiti dodatno programsko opremo. Učitelji morajo preveriti veliko število podobnih rešitev problemov, v primeru učenja na daljavo pa morajo razviti tudi metodologijo sprejemanja nalog od učencev.

Avtorji projekta Block Log so prišli do zaključka: pri poučevanju osnovnošolskih otrok osnov algoritmizacije ne sme biti poudarek na pomnjenju ukazov programskega jezika, temveč na sestavljanju diagramov algoritmov. To bo študentom omogočilo, da porabijo čas in trud za oblikovanje algoritma, namesto da bi vnašali okorne sintaktične strukture.

platforma Dnevnik blokov omogoča:

  1. Ustvarite in uredite diagrame poteka.
  2. Zaženite ustvarjene diagrame poteka in si oglejte rezultat njihovega dela (izhodne podatke).
  3. Shranite in naložite ustvarjene projekte.
  4. Risanje rastrskih slik (ustvarjanje slike na podlagi algoritma, ki ga ustvari otrok).
  5. Prejmite informacije o kompleksnosti ustvarjenega algoritma (glede na število opravljenih operacij v algoritmu).

Pričakuje se razdelitev vlog na učitelje in učence. Vsak uporabnik prejme status študenta, za pridobitev statusa učitelja se morate obrniti na skrbnika sistema. Učitelj ne more le vnašati opisov in pogojev nalog, temveč tudi izdelati avtomatizirane teste, ki se samodejno zaženejo, ko učenec v sistem vnese rešitev problema.

Urejevalnik dnevnikov blokov brskalnika:

Tehnična izdaja skupine Mail.ru Group 2019

Po rešitvi naloge lahko študent prenese rešitev in si ogleda rezultate:

Tehnična izdaja skupine Mail.ru Group 2019

Platformo sestavljata sprednja aplikacija v Vue.js in zadnja aplikacija v Ruby on Rails. PostgreSQL se uporablja kot baza podatkov. Za poenostavitev uvajanja so vse komponente sistema zapakirane v vsebnike Docker in sestavljene z uporabo Docker Compose. Namizna različica Block Log temelji na ogrodju Electron. Webpack je bil uporabljen za izdelavo kode JavaScript.

Projektna skupina: Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov.

CRM sistem za TamTam messenger

Tehnična izdaja skupine Mail.ru Group 2019

CRM je orodje za priročno interakcijo med podjetji in uporabniki TamTam. Izvedene so bile naslednje funkcije:

  • Konstruktor botov, ki vam omogoča ustvarjanje botov brez znanja programiranja. V nekaj minutah lahko dobite popolnoma delujoč bot, ki ne more le prikazati nekaterih informacij uporabnikom, temveč tudi zbirati podatke, vklj. datoteke, ki si jih skrbnik lahko ogleda pozneje.
  • RSS. RSS lahko preprosto povežete s katerim koli kanalom.
  • Zakasnjena objava. Omogoča pošiljanje in brisanje sporočil ob vnaprej nastavljenem času.

Ekipa je sodelovala tudi pri testiranju Bot API-ja in ustvarila več samonapisanih botov, kot je bot za svetovno prvenstvo v hokeju 2019, bot za registracijo/avtorizacijo v naši storitvi in ​​bot za CI/CD.

Infrastruktura rešitve:

  • Strežnik za upravljanje vsebuje nadzorni sistem za vsak strežnik in vsak vsebnik Docker na njem za hitro in priročno odkrivanje težave in njeno rešitev, ogled različnih metrik in statistike uporabe. Obstaja tudi sistem za oddaljeno upravljanje konfiguracije naše aplikacije.
  • Uprizoritveni strežnik vsebuje trenutno različico naše aplikacije, ki je na voljo za splošno testiranje s strani razvojne ekipe.
  • Upravljalni in uprizoritveni strežniki so razvijalcem na voljo samo prek VPN-ja, produkcijski strežnik pa vsebuje izdajo različice aplikacije. Izoliran je iz rok razvijalcev in je na voljo le končnemu uporabniku.
  • Sistem CI/CD je bil implementiran z uporabo Githuba in Travisa, obveščanje z uporabo prilagojenega bota v TamTamu.

Tehnična izdaja skupine Mail.ru Group 2019

Arhitektura aplikacije je modularna rešitev. Aplikacija, zbirka podatkov, upravljalnik konfiguracije in nadzor se zaženejo v ločenih vsebnikih Docker, kar vam omogoča, da se izvlečete iz zagonskega okolja, spremenite ali znova zaženete ločen vsebnik. Ustvarjanje omrežne topologije in upravljanje vsebnikov poteka s pomočjo Docker Compose.

Tehnična izdaja skupine Mail.ru Group 2019

Projektna skupina: Aleksej Antufjev, Egor Gorbatov, Aleksej Kotelevski.

ForkMe

Tehnična izdaja skupine Mail.ru Group 2019

Projekt ForkMe je platforma za ogled interaktivnih videov, kjer lahko ustvarite svoj video in ga pokažete svojim prijateljem. Zakaj potrebujemo interaktivne videe, če obstajajo običajni?

Nelinearni zaplet videa in možnost izbire nadaljevanja sami omogočata vključevanje gledalca, ustvarjalci vsebine pa bodo lahko prikazovali edinstvene zgodbe, na katerih zaplet bodo vplivali uporabniki. Poleg tega bodo ustvarjalci vsebin s preučevanjem statističnih podatkov o pretvorbah videa lahko razumeli, kaj najbolj zanima občinstvo, in naredili materiale privlačnejše.

Pri razvoju projekta so se fantje zgledovali po interaktivnem filmu Bandersnatch iz Netflixa, ki je prejel veliko ogledov in dobrih kritik. Ko je bil MVP že napisan, se je pojavila novica, da Youtube načrtuje lansiranje platforme za interaktivne serije, kar še enkrat potrjuje priljubljenost te smeri.

MVP vključuje: interaktivni predvajalnik, video konstruktor, iskanje po vsebini in oznakah, video zbirke, komentarje, oglede, ocene, kanale in uporabniške profile.

Tehnična izdaja skupine Mail.ru Group 2019

Tehnološki sklad, uporabljen v projektu:

Tehnična izdaja skupine Mail.ru Group 2019

Kako se načrtuje razvoj projekta:

  • zbiranje statistik in infografik o prehodih na video;
  • obvestila in osebna sporočila za uporabnike strani;
  • različici za Android in iOS.

Po tem nameravamo dodati:

  • ustvarjanje video zgodb iz vašega telefona;
  • urejanje prenesenih video fragmentov (na primer obrezovanje);
  • ustvarjanje in zagon interaktivnega oglaševanja v predvajalniku.

Projektna ekipa: Maxim Morev (fullstack razvijalec, delal na arhitekturi projekta) in Roman Maslov (fullstack razvijalec, delal na zasnovi projekta).

On-Line-On-Board

Tehnična izdaja skupine Mail.ru Group 2019

Tehnična izdaja skupine Mail.ru Group 2019

Danes starši veliko pozornosti posvečajo duševnemu razvoju svojih otrok, otroke pa zanimajo intelektualne igre. Zato šah ponovno pridobiva na priljubljenosti. In čeprav je šah na splošno precej priljubljen, je iskanje rednega nasprotnika za igre problematično. Zato veliko ljudi uporablja spletne šahovske storitve, kljub dejstvu, da mnogi igralci raje igrajo »v živo« s pravimi figurami. Človek pa se pri igranju šaha psihično zelo obremeni in utrudi, to utrujenost pa dopolni še negativen vpliv sedenja za računalnikom ali pametnim telefonom. Zaradi tega so možgani preobremenjeni že po dveh igrah.

Vsi ti dejavniki so avtorje spodbudili k ideji projekta On-Line-On-Board, ki je sestavljen iz treh delov: fizične šahovnice, namizne aplikacije in spletne storitve. Tabla je navadno šahovsko polje, ki prepoznava položaj figur in s pomočjo svetlobne indikacije nakazuje poteze nasprotnika. Plošča je preko USB-ja povezana z osebnim računalnikom in komunicira z namizno aplikacijo. V načinu vadbe (in za otroke) so vaše možne poteze označene.

Aplikacija prevzame osnovne funkcije upravljanja plošče, kar vam omogoča močno znižanje stroškov in prenos večine funkcij na programsko raven. Aplikacija komunicira s spletno storitvijo, katere glavna vrednost je dinamično posodabljanje.

Glavni scenarij za uporabo izdelka: ena oseba igra na storitvi, druga na fizični plošči, povezani s storitvijo. To pomeni, da storitev prevzame komunikacijsko funkcijo.

Projektna skupina: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Več o naših izobraževalnih projektih si lahko preberete na ta povezava. In pogosteje obiščite kanal Technostream, tam se redno pojavljajo novi izobraževalni videi o programiranju, razvoju in drugih disciplinah.

Vir: www.habr.com

Dodaj komentar