Tehničko izdanje Mail.ru grupe 2019

Tehničko izdanje Mail.ru grupe 2019

Krajem maja naši diplomci Tehnoparka (MSTU Bauman), Tehnotraka (MIPT), Tehnosfere (Moskovski državni univerzitet Lomonosov) i Tehnopolisa (Politehnički univerzitet Petra Velikog) odbranili su svoje diplomske projekte. Za rad su bila izdvojena tri mjeseca, a momci su u svoju zamisao uložili znanja i vještine stečene tokom dvije godine studija.

Ukupno je bilo 13 projekata iz oblasti odbrane, koji su rešavali različite probleme u različitim industrijama. Na primjer:

  • pohrana u oblaku s kriptografskim šifriranjem datoteka;
  • platforma za kreiranje 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 djece osnovnih škola osnovama algoritmizacije.

Kao i projekti poslovnih jedinica:

  • CRM sistem za TamTam messenger;
  • web servis 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 diplomaca.

Inteligentna pretraga medicinskih artikala

Tehničko izdanje Mail.ru grupe 2019

Postoji mnogo oblasti u naučnom polju, u svakoj od kojih se provode istraživanja, objavljuje se ogroman broj članaka u raznim časopisima. To su informacione tehnologije, fizika, matematika, biologija, medicina i mnoge druge.

Autori projekat odlučio da se fokusira na medicinsku oblast. Gotovo svi članci o medicinskim temama prikupljeni su na portalu PubMed. Portal pruža vlastitu pretragu. Međutim, njegove mogućnosti su vrlo ograničene. Stoga su momci poboljšali sistem pretraživanja, dodali podršku za dugačke upite i mogućnost preciziranja upita pomoću modeliranja tema.

Tehničko izdanje Mail.ru grupe 2019
SERP sadrži rangiranu listu dokumenata sa definisanim temama, a riječi i pojmovi koji se odnose na te teme su istaknuti korištenjem vjerojatnostnog modeliranja tema. Korisnik može kliknuti na označene pojmove kako bi suzio upit za pretraživanje.

Tehničko izdanje Mail.ru grupe 2019
Kako bi pretraživanje kroz ogromnu bazu podataka PubMed bilo brzo, autori su napisali vlastiti pretraživač koji se lako može integrirati u bilo koju infrastrukturu.

Pretraga se vrši u tri faze:

  1. Dokumenti kandidati se biraju pomoću obrnutog indeksa.
  2. Kandidati se rangiraju korišćenjem algoritma BM25F, koji uzima u obzir različita polja u dokumentima tokom pretrage. Dakle, riječi u naslovu imaju veću težinu od riječi u sažetku.
  3. Sistem keširanja se takođe koristi za ubrzavanje obrade čestih zahteva.

Tehničko izdanje Mail.ru grupe 2019

Mikroservisna arhitektura:

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

Koje komponente sistem uključuje:

  • Server za obradu dolaznih korisničkih zahtjeva na Node.js.
  • Zahtjevi za balansiranje opterećenja pomoću nginx proxy servera.
  • Flask server 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 pretrage:

Tehničko izdanje Mail.ru grupe 2019

Šta planiramo dalje:

  • Preporuke prilikom sastavljanja recenzija na datu temu (prepoznavanje važnih tema u dokumentu i pretraživanje podskupova dokumenata).
  • Pretražite PDF datoteke.
  • Semantička segmentacija teksta.
  • Pratite teme i trendove tokom vremena.

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

Block Log

Tehničko izdanje Mail.ru grupe 2019

Danas, u nastavi programiranja i informatike, djeca osnovnoškolskog uzrasta (5–7 razreda) imaju problema sa savladavanjem gradiva. Osim toga, ako učenici žele da rade zadatke kod kuće, moraju instalirati dodatni softver na svojim računarima. Nastavnici moraju provjeriti veliki broj sličnih rješenja problema, a u slučaju učenja na daljinu moraju razviti i metodologiju za primanje zadataka od učenika.

Autori projekta Block Log došli su do zaključka: prilikom podučavanja djece osnovnoškolskog uzrasta osnovama algoritamizacije, naglasak ne treba biti na pamćenju komandi programskog jezika, već na konstruiranju algoritamskih dijagrama. Ovo će omogućiti studentima da potroše vrijeme i trud na dizajniranje algoritma, umjesto da kucaju glomazne sintaktičke strukture.

Platforma Block Log omogućava:

  1. Kreirajte i uredite dijagrame toka.
  2. Pokrenite kreirane dijagrame toka i pogledajte rezultat njihovog rada (izlazne podatke).
  3. Sačuvajte i učitajte kreirane projekte.
  4. Crtajte rasterske slike (generisanje slike na osnovu algoritma koji je kreiralo dete).
  5. Primanje informacija o složenosti kreiranog algoritma (na osnovu broja operacija izvedenih u algoritmu).

Očekuje se podjela uloga na nastavnike i učenike. Svaki korisnik dobija status učenika; da biste dobili status nastavnika, morate kontaktirati administratora sistema. Nastavnik može ne samo da unese opise i uslove problema, već i da kreira automatizovane testove koji će se automatski pokrenuti kada učenik unese rešenje problema u sistem.

Uređivač dnevnika blokova preglednika:

Tehničko izdanje Mail.ru grupe 2019

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

Tehničko izdanje Mail.ru grupe 2019

Platforma se sastoji od front-end aplikacije u Vue.js i back-end aplikacije u Ruby on Rails. PostgreSQL se koristi kao baza podataka. Da bi se pojednostavila implementacija, sve komponente sistema su pakirane u Docker kontejnere i sastavljene pomoću Docker Compose. Desktop verzija Block Log-a je bazirana na Electron framework-u. Webpack je korišten za izgradnju JavaScript koda.

Projektni tim: Aleksandar Barulev, Maksim Kolotovkin, Kiril Kučerov.

CRM sistem za TamTam messenger

Tehničko izdanje Mail.ru grupe 2019

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

  • Konstruktor botova koji vam omogućava da kreirate botove bez vještina programiranja. Za nekoliko minuta možete dobiti potpuno funkcionalnog bota koji ne samo da može prikazati neke informacije korisnicima, već i prikupljati podatke, uklj. datoteke koje administrator može vidjeti kasnije.
  • RSS. Možete jednostavno povezati RSS na bilo koji kanal.
  • Odgođeno objavljivanje. Omogućava vam slanje i brisanje poruka u unaprijed postavljeno vrijeme.

Tim je takođe učestvovao u testiranju Bot API-ja, kreirajući nekoliko botova koji su sami napisali, kao što su bot za Svetsko prvenstvo u hokeju 2019, bot za registraciju/autorizaciju u našem servisu i bot za CI/CD.

Infrastruktura rješenja:

  • Server za upravljanje sadrži nadzorni sistem za svaki server i svaki Docker kontejner na njemu kako bi se brzo i povoljno otkrio problem i riješio ga, pregledao različite metrike i statistike korištenja. Tu je i sistem za daljinsko upravljanje konfiguracijom naše aplikacije.
  • Staging server sadrži trenutnu verziju naše aplikacije, dostupnu za generalno testiranje od strane razvojnog tima.
  • Serveri za upravljanje i postavljanje dostupni su samo preko VPN-a programerima, a proizvodni server sadrži verziju aplikacije za izdavanje. Izoliran je od ruku programera i dostupan je samo krajnjem korisniku.
  • CI/CD sistem je implementiran pomoću Github-a i Travis-a, a obavještavanje korištenjem prilagođenog bota u TamTamu.

Tehničko izdanje Mail.ru grupe 2019

Arhitektura aplikacije je modularno rješenje. Aplikacija, baza podataka, upravitelj konfiguracije i nadzor se pokreću u zasebnim Docker kontejnerima, što vam omogućava da se apstrahujete iz okruženja pokretanja, promijenite ili ponovo pokrenete poseban kontejner. Kreiranje mrežne topologije i upravljanje kontejnerima se vrši pomoću Docker Compose.

Tehničko izdanje Mail.ru grupe 2019

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

ForkMe

Tehničko izdanje Mail.ru grupe 2019

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

Nelinearni zaplet videa i mogućnost samog odabira nastavka omogućavaju gledaocu da bude uključen, a kreatori sadržaja moći će prikazati jedinstvene priče na čiju će radnju utjecati korisnici. Također, kreatori sadržaja, proučavajući statistiku konverzije videa, moći će shvatiti šta najviše zanima publiku i učiniti materijale atraktivnijim.

Prilikom razvoja projekta, momci su bili inspirisani interaktivnim filmom Bandersnatch sa Netflixa, koji je dobio mnogo pregleda i dobrih kritika. Kada je MVP već napisan, pojavila se vijest da Youtube planira lansirati platformu za interaktivne serije, što još jednom potvrđuje popularnost ovog smjera.

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

Tehničko izdanje Mail.ru grupe 2019

Tehnološki niz korišten u projektu:

Tehničko izdanje Mail.ru grupe 2019

Kako je planiran razvoj projekta:

  • prikupljanje statističkih podataka i infografika o prijelazima na video;
  • obavijesti i osobne poruke za korisnike stranice;
  • verzije za Android i iOS.

Nakon ovoga planiramo dodati:

  • kreiranje video priča sa vašeg telefona;
  • uređivanje preuzetih video fragmenata (na primjer obrezivanje);
  • kreiranje 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 izdanje Mail.ru grupe 2019

Tehničko izdanje Mail.ru grupe 2019

Danas roditelji veliku pažnju poklanjaju mentalnom razvoju svoje djece, a djecu zanimaju intelektualne igre. Stoga šah ponovo dobija na popularnosti. I iako je šah općenito prilično popularan, pronalaženje redovnog protivnika za igre je problematično. Stoga mnogi ljudi koriste online šahovske usluge, uprkos činjenici da mnogi igrači više vole da igraju "uživo" sa pravim figurama. Međutim, kada igra šah, osoba ulaže mnogo mentalnog napora i umori se, a ovaj umor se upotpunjuje negativnim uticajem sjedenja za kompjuterom ili pametnim telefonom. Kao rezultat toga, mozak postaje preopterećen nakon samo dvije utakmice.

Svi ovi faktori 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. Tabla je obično šahovsko polje, koje prepoznaje položaj figura i uz pomoć svjetlosne indikacije ukazuje na poteze protivnika. Ploča je povezana preko USB-a na PC i komunicira sa desktop aplikacijom. U režimu treninga (i za djecu), vaši mogući potezi su istaknuti.

Aplikacija preuzima osnovne funkcije upravljanja pločom, što vam omogućava da uvelike smanjite njenu cijenu i dovedete implementaciju većine funkcija na softverski nivo. Aplikacija komunicira sa web servisom čija je glavna vrijednost dinamičko ažuriranje.

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

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

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

izvor: www.habr.com

Dodajte komentar