Tehničko pitanje Mail.ru Group 2019

Tehničko pitanje Mail.ru Group 2019

Krajem svibnja naši diplomanti iz Tehnoparka (Bauman MSTU), Tehnotraka (MIPT), Tehnosfere (Moskovsko državno sveučilište Lomonosov) i Tehnopolisa (Politehničko sveučilište Petra Velikog u Sankt Peterburgu) obranili su svoje diplomske projekte. Za rad su dodijeljena tri mjeseca, a dečki su u svoju zamisao uložili znanje i vještine stečene tijekom dvije godine studija.

Ukupno je bilo 13 projekata obrane koji su rješavali različite probleme u različitim industrijama. Na primjer:

  • pohrana u oblaku s kriptografskom enkripcijom datoteka;
  • platforma za stvaranje interaktivnih videa (s različitim završecima);
  • pametna ploča za igranje pravog šaha preko mreže;
  • arhitektura za inteligentno pronalaženje medicinskih artikala;
  • Softver za podučavanje osnovnoškolske djece osnovama algoritmizacije.

Kao i projekti iz poslovnih jedinica:

  • CRM sustav za TamTam messenger;
  • web usluga za pretraživanje tematskih fotografija na karti za Odnoklassniki;
  • usluga geokodiranja adresa za MAPS.ME.

Danas ćemo vam detaljnije reći o pet projekata naših maturanata.

Inteligentna pretraga medicinskih članaka

Tehničko pitanje Mail.ru Group 2019

U znanstvenom polju postoje mnoga područja, u svakom od njih se provode istraživanja, objavljuje se veliki broj članaka u raznim časopisima. To su informatika, fizika, matematika, biologija, medicina i mnoge druge.

Autori projekt odlučio se usredotočiti na područje medicine. Na portalu PubMed prikupljeni su gotovo svi članci medicinske tematike. Portal nudi vlastitu pretragu. Međutim, njegove su mogućnosti vrlo ograničene. Stoga su dečki poboljšali sustav pretraživanja, dodali podršku za duge upite i mogućnost preciziranja upita pomoću modeliranja tema.

Tehničko pitanje Mail.ru Group 2019
SERP sadrži rangirani popis dokumenata s definiranim temama, a riječi i pojmovi koji se odnose na te teme istaknuti su korištenjem vjerojatnosnog modeliranja tema. Korisnik može kliknuti na istaknute pojmove kako bi suzio upit za pretraživanje.

Tehničko pitanje Mail.ru Group 2019
Kako bi pretraživanje ogromne PubMed baze podataka bilo brzo, autori su napisali vlastitu tražilicu koja se lako može integrirati u bilo koju infrastrukturu.

Pretraga se provodi u tri faze:

  1. Dokumenti kandidati odabiru se obrnutim indeksom.
  2. Kandidati se rangiraju pomoću algoritma BM25F, koji tijekom pretraživanja uzima u obzir različita polja u dokumentima. Dakle, riječi u naslovu imaju veću težinu od riječi u sažetku.
  3. Sustav predmemoriranja također se koristi za ubrzavanje obrade čestih zahtjeva.

Tehničko pitanje Mail.ru Group 2019

Arhitektura mikroservisa:

Tehničko pitanje Mail.ru Group 2019
U osnovi, strukturirani tekstualni podaci prenose se između usluga. Za velike brzine prijenosa koristi se GRPC - okvir za povezivanje modula u mikroservisnoj arhitekturi. Serijalizacija podataka također se koristi korištenjem Protobuf formata za razmjenu poruka.

Koje komponente uključuje sustav:

  • Poslužitelj za obradu dolaznih korisničkih zahtjeva na Node.js.
  • Zahtjevi za uravnoteženje opterećenja pomoću nginx proxy poslužitelja.
  • Flask poslužitelj implementira REST API i prima zahtjeve proslijeđene od Node.js.
  • Svi neobrađeni i obrađeni podaci, kao i informacije o upitima, pohranjuju se u MongoDB.
  • Svi zahtjevi za relevantne rezultate za tematizaciju dokumenata idu na RabbitMQ.

Primjer rezultata pretraživanja:

Tehničko pitanje Mail.ru Group 2019

Što planiramo učiniti sljedeće:

  • Preporuke pri sastavljanju osvrta na zadanu temu (prepoznavanje važnih tema u dokumentu i pretraživanje podskupova dokumenata).
  • Pretraživanje PDF datoteka.
  • Semantička segmentacija teksta.
  • Pratite teme i trendove tijekom vremena.

Projektni tim: Fedor Petryaykin, Vladislav Dorozhinsky, Maxim Nakhodnov, Maxim Filin

Dnevnik blokova

Tehničko pitanje Mail.ru Group 2019

Danas u nastavi programiranja i informatike djeca osnovnoškolske dobi (5. – 7. razred) imaju problema sa svladavanjem gradiva. Osim toga, ako učenici žele rješavati zadatke kod kuće, moraju instalirati dodatni softver na svoja računala. Nastavnici moraju provjeriti veliki broj sličnih rješenja problema, au slučaju učenja na daljinu moraju razviti i metodologiju primanja zadataka od učenika.

Autori projekta Block Log došli su do zaključka: kada djecu osnovnoškolske dobi podučavate osnovama algoritmizacije, naglasak ne treba biti na pamćenju naredbi programskog jezika, već na konstruiranju algoritamskih dijagrama. Ovo će omogućiti učenicima da troše vrijeme i trud na dizajniranje algoritma, umjesto da upisuju glomazne sintaktičke strukture.

platforma Dnevnik blokova omogućava vam:

  1. Stvaranje i uređivanje dijagrama toka.
  2. Pokrenite izrađene dijagrame toka i pogledajte rezultat njihovog rada (izlazne podatke).
  3. Spremite i učitajte izrađene projekte.
  4. Crtajte rasterske slike (generiranje slike na temelju algoritma koji je izradilo dijete).
  5. Dobiti informacije o složenosti izrađenog algoritma (na temelju broja operacija izvedenih u algoritmu).

Predviđena je podjela uloga na nastavnike i učenike. Svaki korisnik dobiva status studenta; da biste dobili status učitelja, morate kontaktirati administratora sustava. Nastavnik ne samo da može unijeti opise i uvjete zadataka, već i kreirati automatizirane testove koji će se automatski pokrenuti kada učenik unese rješenje zadatka u sustav.

Uređivač dnevnika blokova preglednika:

Tehničko pitanje Mail.ru Group 2019

Nakon rješavanja zadatka, učenik može preuzeti rješenje i vidjeti rezultate:

Tehničko pitanje Mail.ru Group 2019

Platforma se sastoji od front-end aplikacije u Vue.js i back-end aplikacije u Ruby on Rails. Kao baza podataka koristi se PostgreSQL. Kako bi se pojednostavila implementacija, sve komponente sustava pakirane su u Docker spremnike i sastavljene pomoću Docker Compose. Desktop verzija Block Log-a temelji se na okviru Electron. Webpack je korišten za izradu JavaScript koda.

Projektni tim: Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov.

CRM sustav za TamTam messenger

Tehničko pitanje Mail.ru Group 2019

CRM je alat za praktičnu interakciju između tvrtki i korisnika TamTama. Implementirane su sljedeće funkcije:

  • Konstruktor botova koji vam omogućuje stvaranje botova bez vještina programiranja. U nekoliko minuta možete dobiti potpuno radni bot koji ne samo da može pokazati neke informacije korisnicima, već i prikupljati podatke, uklj. datoteke koje administrator može vidjeti kasnije.
  • RSS. RSS možete jednostavno povezati s bilo kojim kanalom.
  • Odgođeno objavljivanje. Omogućuje vam slanje i brisanje poruka u unaprijed određeno vrijeme.

Tim je također sudjelovao u testiranju Bot API-ja, stvarajući nekoliko samostalno napisanih botova, kao što je bot za Svjetsko prvenstvo u hokeju 2019., bot za registraciju/autorizaciju u našoj usluzi i bot za CI/CD.

Infrastruktura rješenja:

  • Poslužitelj za upravljanje sadrži sustav nadzora za svaki poslužitelj i svaki Docker spremnik na njemu kako bi se brzo i praktično otkrio problem i riješio ga, pregledali različita metrika i statistika korištenja. Tu je i sustav za daljinsko upravljanje konfiguracijom naše aplikacije.
  • Pripremni poslužitelj sadrži trenutnu verziju naše aplikacije, dostupnu za opće testiranje od strane razvojnog tima.
  • Upravljački i pripremni poslužitelji dostupni su samo putem VPN-a programerima, a produkcijski poslužitelj sadrži verziju aplikacije za izdanje. Izoliran je od ruku programera i dostupan je samo krajnjem korisniku.
  • CI/CD sustav implementiran je pomoću Githuba i Travisa, a obavještavanje pomoću prilagođenog bota u TamTamu.

Tehničko pitanje Mail.ru Group 2019

Arhitektura aplikacije je modularno rješenje. Aplikacija, baza podataka, upravitelj konfiguracije i nadzor pokreću se u zasebnim Docker spremnicima, što vam omogućuje apstrahiranje od okruženja pokretanja, promjenu ili ponovno pokretanje zasebnog spremnika. Stvaranje mrežne topologije i upravljanje spremnicima vrši se pomoću Docker Composea.

Tehničko pitanje Mail.ru Group 2019

Projektni tim: Alexey Antufiev, Egor Gorbatov, Alexey Kotelevsky.

ForkMe

Tehničko pitanje Mail.ru Group 2019

Projekt ForkMe je platforma za gledanje interaktivnih videa, gdje možete kreirati vlastiti video i pokazati ga svojim prijateljima. Zašto su nam potrebni interaktivni videozapisi ako postoje obični?

Nelinearna radnja videa i mogućnost odabira samog nastavka omogućuju uključivanje gledatelja, a kreatori sadržaja moći će prikazati jedinstvene priče na čiju radnju će utjecati korisnici. Također, kreatori sadržaja, proučavajući statistiku video pretvorbe, moći će shvatiti što publiku najviše zanima i učiniti materijale privlačnijim.

Pri razvoju projekta dečki su bili inspirirani interaktivnim filmom Bandersnatch s Netflixa koji je dobio puno pregleda i dobrih kritika. Kada je MVP već napisan, pojavila se vijest da Youtube planira pokrenuti platformu za interaktivne serije, što još jednom potvrđuje popularnost ovog pravca.

MVP uključuje: interaktivni player, video konstruktor, pretraživanje po sadržaju i oznakama, video zbirke, komentare, preglede, ocjene, kanale i korisničke profile.

Tehničko pitanje Mail.ru Group 2019

Tehnološki skup korišten u projektu:

Tehničko pitanje Mail.ru Group 2019

Kako se planira razvijati projekt:

  • zbirka statistika i infografika o prijelazima na video;
  • obavijesti i osobne poruke za korisnike stranice;
  • verzije za Android i iOS.

Nakon ovoga planiramo dodati:

  • stvaranje video priča s vašeg telefona;
  • uređivanje preuzetih video fragmenata (na primjer obrezivanje);
  • stvaranje i pokretanje interaktivnog oglašavanja u playeru.

Projektni tim: Maxim Morev (fullstack programer, radio na arhitekturi projekta) i Roman Maslov (fullstack programer, radio na dizajnu projekta).

On-Line-On-Board

Tehničko pitanje Mail.ru Group 2019

Tehničko pitanje Mail.ru Group 2019

Danas roditelji veliku pozornost posvećuju mentalnom razvoju svoje djece, a djeca su zainteresirana za intelektualne igre. Stoga šah ponovno dobiva na popularnosti. I iako je šah općenito prilično popularan, pronaći redovitog protivnika za igre je problematično. Stoga mnogi ljudi koriste internetske šahovske usluge, unatoč činjenici da mnogi igrači radije igraju "uživo" s pravim figurama. No, igrajući šah, čovjek se jako psihički optereti i umori, a taj se umor nadopunjuje negativnim utjecajem sjedenja za računalom ili pametnim telefonom. Kao rezultat toga, mozak postaje preopterećen nakon samo dvije utakmice.

Svi ovi čimbenici potaknuli su autore na ideju projekta On-Line-On-Board koji se sastoji od tri dijela: fizičke šahovske ploče, desktop aplikacije i web servisa. Ploča je obično šahovsko polje, koje prepoznaje položaj figura i uz pomoć svjetlosne indikacije pokazuje poteze protivnika. Ploča je spojena preko USB-a na PC i komunicira s desktop aplikacijom. U modu treninga (i za djecu), vaši mogući potezi su istaknuti.

Aplikacija preuzima osnovne funkcije upravljanja pločom, što vam omogućuje znatno smanjenje troškova i implementaciju većine funkcija na softversku razinu. Aplikacija komunicira s web servisom čija je glavna vrijednost dinamičko ažuriranje.

Glavni scenarij za korištenje proizvoda: jedna osoba igra na usluzi, druga na fizičkoj ploči povezanoj s uslugom. Odnosno, usluga preuzima komunikacijsku funkciju.

Projektni tim: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Više o našim obrazovnim projektima možete pročitati na ovaj link. I posjećujte kanal češće Technostream, tamo se redovito pojavljuju novi edukativni videi o programiranju, razvoju i drugim disciplinama.

Izvor: www.habr.com

Dodajte komentar