Çështja teknike e Mail.ru Group 2019

Çështja teknike e Mail.ru Group 2019

Në fund të majit, të diplomuarit tanë nga Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Universiteti Shtetëror i Moskës Lomonosov) dhe Technopolis (Universiteti Politeknik i Shën Petersburgut Pjetri i Madh) mbrojtën projektet e tyre të diplomës. Tre muaj u ndanë për punë dhe djemtë investuan në idenë e tyre njohuritë dhe aftësitë e fituara gjatë dy viteve të studimit.

Në total, ishin 13 projekte për mbrojtjen, duke zgjidhur probleme të ndryshme në industri të ndryshme. Për shembull:

  • ruajtja në cloud me enkriptim të skedarëve kriptografikë;
  • platformë për krijimin e videove interaktive (me përfundime të ndryshme);
  • tabela inteligjente për të luajtur shah të vërtetë përmes rrjetit;
  • arkitekturë për gjetjen inteligjente të artikujve mjekësorë;
  • Softuer për mësimin e fëmijëve të shkollave fillore bazat e algoritmit.

Si dhe projekte nga njësitë e biznesit:

  • Sistemi CRM për mesazherin TamTam;
  • shërbim në internet për kërkimin e fotove tematike në hartë për Odnoklassniki;
  • Shërbimi i gjeokodimit të adresave për MAPS.ME.

Sot do t'ju tregojmë më në detaje rreth pesë projekteve të të diplomuarve tanë.

Kërkim inteligjent i artikujve mjekësorë

Çështja teknike e Mail.ru Group 2019

Ka shumë fusha në fushën shkencore, në secilën prej të cilave kryhen kërkime, një numër i madh artikujsh botohen në një sërë revistash. Këto janë teknologjia e informacionit, fizika, matematika, biologjia, mjekësia dhe shumë të tjera.

Autorët projekti vendosi të fokusohej në fushën e mjekësisë. Pothuajse të gjithë artikujt mbi temat mjekësore janë mbledhur në portalin PubMed. Portali ofron kërkimin e vet. Sidoqoftë, aftësitë e tij janë shumë të kufizuara. Prandaj, djemtë përmirësuan sistemin e kërkimit, shtuan mbështetje për pyetje të gjata dhe aftësinë për të rafinuar pyetjet duke përdorur modelimin e temave.

Çështja teknike e Mail.ru Group 2019
SERP përmban një listë të renditur dokumentesh me temat e tyre të përcaktuara, dhe fjalët dhe termat që lidhen me këto tema theksohen duke përdorur modelimin probabilistik të temave. Përdoruesi mund të klikojë në termat e theksuar për të ngushtuar pyetjen e kërkimit.

Çështja teknike e Mail.ru Group 2019
Për ta bërë të shpejtë kërkimin përmes bazës së të dhënave të madhe PubMed, autorët shkruan motorin e tyre të kërkimit që mund të integrohet lehtësisht në çdo infrastrukturë.

Kërkimi kryhet në tre faza:

  1. Dokumentet e kandidatit zgjidhen duke përdorur një indeks të kundërt.
  2. Kandidatët renditen duke përdorur algoritmin BM25F, i cili merr parasysh fusha të ndryshme në dokumente gjatë kërkimit. Kështu, fjalët në titull kanë më shumë peshë se fjalët në abstrakt.
  3. Një sistem caching përdoret gjithashtu për të përshpejtuar përpunimin e kërkesave të shpeshta.

Çështja teknike e Mail.ru Group 2019

Arkitektura e mikroshërbimit:

Çështja teknike e Mail.ru Group 2019
Në thelb, të dhënat e strukturuara të tekstit transferohen ndërmjet shërbimeve. Për shpejtësi të larta transferimi, përdoret GRPC - një kornizë për lidhjen e moduleve në një arkitekturë mikroservice. Serializimi i të dhënave përdoret gjithashtu duke përdorur formatin e shkëmbimit të mesazheve Protobuf.

Cilët komponentë përfshin sistemi:

  • Server për përpunimin e kërkesave të përdoruesve në hyrje në Node.js.
  • Ngarkoni kërkesat për balancimin duke përdorur serverin proxy nginx.
  • Serveri Flask zbaton API-në REST dhe merr kërkesa të përcjella nga Node.js.
  • Të gjitha të dhënat e papërpunuara dhe të përpunuara, si dhe informacioni i pyetjeve, ruhen në MongoDB.
  • Të gjitha kërkesat për rezultatet përkatëse për tematizimin e dokumenteve shkojnë te RabbitMQ.

Shembull i rezultateve të kërkimit:

Çështja teknike e Mail.ru Group 2019

Çfarë planifikojmë të bëjmë më pas:

  • Rekomandime gjatë përpilimit të rishikimeve për një temë të caktuar (identifikimi i temave të rëndësishme në një dokument dhe kërkimi nëpër nëngrupe dokumentesh).
  • Kërkoni skedarë PDF.
  • Segmentimi semantik i tekstit.
  • Ndiqni temat dhe tendencat me kalimin e kohës.

Ekipi i projektit: Fedor Petryaykin, Vladislav Dorozhinsky, Maxim Nakhodnov, Maxim Filin

Regjistri i bllokut

Çështja teknike e Mail.ru Group 2019

Sot, kur mësojnë programim dhe shkenca kompjuterike, fëmijët e moshës së shkollës fillore (klasat 5-7) kanë probleme në zotërimin e materialit. Përveç kësaj, nëse studentët duan të kryejnë detyrat në shtëpi, ata duhet të instalojnë softuer shtesë në kompjuterët e tyre. Mësuesit duhet të kontrollojnë një numër të madh zgjidhjesh të ngjashme për problemet, dhe në rastin e mësimit në distancë, ata gjithashtu duhet të zhvillojnë një metodologji për marrjen e detyrave nga studentët.

Autorët e projektit Block Log arritën në përfundimin: kur u mësoni fëmijëve të moshës së shkollës fillore bazat e algoritmit, theksi nuk duhet të jetë në memorizimin e komandave të gjuhës programuese, por në ndërtimin e diagrameve algoritme. Kjo do t'i lejojë studentët të shpenzojnë kohë dhe përpjekje në hartimin e një algoritmi, në vend që të shtypin struktura të rënda sintaksore.

Platformë Regjistri i bllokut ju lejon të:

  1. Krijoni dhe modifikoni grafikët e rrjedhës.
  2. Drejtoni diagramet e krijuara të rrjedhës dhe shikoni rezultatin e punës së tyre (të dhënat e daljes).
  3. Ruani dhe ngarkoni projektet e krijuara.
  4. Vizatoni imazhe raster (duke gjeneruar një imazh bazuar në një algoritëm të krijuar nga fëmija).
  5. Merrni informacion në lidhje me kompleksitetin e algoritmit të krijuar (bazuar në numrin e operacioneve të kryera në algoritëm).

Pritet një ndarje e roleve në mësues dhe studentë. Çdo përdorues merr statusin e studentit; për të marrë statusin e mësuesit, duhet të kontaktoni administratorin e sistemit. Mësuesi jo vetëm që mund të fusë përshkrimet dhe kushtet e problemeve, por edhe të krijojë teste të automatizuara që do të hapen automatikisht kur një student të paraqesë një zgjidhje për problemin në sistem.

Redaktori i regjistrit të bllokut të shfletuesit:

Çështja teknike e Mail.ru Group 2019

Pas zgjidhjes së problemit, studenti mund të shkarkojë zgjidhjen dhe të shohë rezultatet:

Çështja teknike e Mail.ru Group 2019

Platforma përbëhet nga një aplikacion i përparmë në Vue.js dhe një aplikacion i fundit në Ruby on Rails. PostgreSQL përdoret si bazë e të dhënave. Për të thjeshtuar vendosjen, të gjithë komponentët e sistemit paketohen në kontejnerë Docker dhe montohen duke përdorur Docker Compose. Versioni desktop i Block Log bazohet në kornizën Electron. Webpack u përdor për të ndërtuar kodin JavaScript.

Ekipi i projektit: Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov.

Sistemi CRM për të dërguarin TamTam

Çështja teknike e Mail.ru Group 2019

CRM është një mjet për ndërveprim të përshtatshëm midis bizneseve dhe përdoruesve të TamTam. Funksionet e mëposhtme janë zbatuar:

  • Një konstruktor bot që ju lejon të krijoni bot pa aftësi programimi. Brenda pak minutash mund të merrni një bot plotësisht funksional që jo vetëm që mund t'u tregojë disa informacione përdoruesve, por edhe të mbledhë të dhëna, përfshirë. skedarë që administratori mund t'i shikojë më vonë.
  • RSS. Mund të lidhni lehtësisht RSS me çdo kanal.
  • Postimi i vonuar. Ju lejon të dërgoni dhe fshini mesazhe në kohë të paracaktuara.

Ekipi gjithashtu mori pjesë në testimin e API-së së Bot-it, duke krijuar disa robotë të vetë-shkruar, të tillë si një bot për Kupën e Botës të Hokejit 2019, një bot për regjistrim/autorizim në shërbimin tonë dhe një bot për CI/CD.

Infrastruktura e zgjidhjes:

  • Serveri i menaxhimit përmban një sistem monitorimi për çdo server dhe çdo kontejner Docker në të në mënyrë që të zbulojë shpejt dhe me lehtësi një problem dhe ta zgjidhë atë, të shikojë metrika të ndryshme dhe statistika të përdorimit. Ekziston gjithashtu një sistem për menaxhimin e konfigurimit në distancë të aplikacionit tonë.
  • Serveri i skenës përmban versionin aktual të aplikacionit tonë, i disponueshëm për testim të përgjithshëm nga ekipi i zhvillimit.
  • Serverët e menaxhimit dhe vendosjes janë të disponueshëm vetëm përmes VPN për zhvilluesit, dhe serveri i prodhimit përmban versionin e lëshimit të aplikacionit. Ai është i izoluar nga duart e zhvilluesve dhe është i disponueshëm vetëm për përdoruesin përfundimtar.
  • Sistemi CI/CD u implementua duke përdorur Github dhe Travis, njoftim duke përdorur një bot të personalizuar në TamTam.

Çështja teknike e Mail.ru Group 2019

Arkitektura e aplikacionit është një zgjidhje modulare. Aplikacioni, baza e të dhënave, menaxheri i konfigurimit dhe monitorimi lëshohen në kontejnerë të veçantë Docker, gjë që ju lejon të abstragoni nga mjedisi i nisjes, të ndryshoni ose rinisni një kontejner të veçantë. Krijimi i një topologjie rrjeti dhe menaxhimi i kontejnerëve bëhet duke përdorur Docker Compose.

Çështja teknike e Mail.ru Group 2019

Ekipi i projektit: Alexey Antufiev, Egor Gorbatov, Alexey Kotelevsky.

ForkMe

Çështja teknike e Mail.ru Group 2019

Projekti ForkMe është një platformë për shikimin e videove interaktive, ku mund të krijoni videon tuaj dhe t'ua tregoni miqve tuaj. Pse na duhen video interaktive nëse ka të rregullta?

Komploti jolinear i videos dhe aftësia për të zgjedhur vetë vazhdimin e lejojnë shikuesin të përfshihet, dhe krijuesit e përmbajtjes do të jenë në gjendje të tregojnë histori unike, komploti i të cilave do të ndikohet nga përdoruesit. Gjithashtu, krijuesit e përmbajtjes, duke studiuar statistikat e konvertimit të videove, do të jenë në gjendje të kuptojnë se çfarë i intereson më shumë audiencës dhe t'i bëjnë materialet më tërheqëse.

Gjatë zhvillimit të projektit, djemtë u frymëzuan nga filmi interaktiv Bandersnatch nga Netflix, i cili mori shumë shikime dhe vlerësime të mira. Kur MVP ishte shkruar tashmë, u shfaq lajmi se Youtube po planifikonte të lansonte një platformë për seriale interaktive, gjë që konfirmon edhe një herë popullaritetin e këtij drejtimi.

MVP përfshin: luajtësin interaktiv, konstruktorin e videove, kërkimin sipas përmbajtjes dhe etiketave, koleksionet e videove, komentet, shikimet, vlerësimet, kanalet dhe profilet e përdoruesve.

Çështja teknike e Mail.ru Group 2019

Stafi i teknologjisë së përdorur në projekt:

Çështja teknike e Mail.ru Group 2019

Si është planifikuar të zhvillohet projekti:

  • mbledhja e statistikave dhe infografike rreth kalimit në video;
  • njoftime dhe mesazhe personale për përdoruesit e faqes;
  • versionet për Android dhe iOS.

Pas kësaj ne planifikojmë të shtojmë:

  • krijimi i historive video nga telefoni juaj;
  • redaktimi i fragmenteve të videove të shkarkuara (për shembull shkurtimi);
  • krijimi dhe nisja e reklamave interaktive në luajtës.

Ekipi i projektit: Maxim Morev (zhvilluesi fullstack, ka punuar në arkitekturën e projektit) dhe Roman Maslov (zhvilluesi i fullstack, ka punuar në hartimin e projektit).

On-Line-On-Board

Çështja teknike e Mail.ru Group 2019

Çështja teknike e Mail.ru Group 2019

Sot prindërit i kushtojnë vëmendje të madhe zhvillimit mendor të fëmijëve të tyre dhe fëmijët janë të interesuar për lojërat intelektuale. Prandaj, shahu po fiton përsëri popullaritet. Dhe megjithëse shahu në përgjithësi është mjaft popullor, gjetja e një kundërshtari të rregullt për lojëra është problematike. Prandaj, shumë njerëz përdorin shërbimet e shahut në internet, pavarësisht nga fakti se shumë lojtarë preferojnë të luajnë "live" me copa reale. Megjithatë, kur luan shah, një person bën shumë përpjekje mendore dhe lodhet, dhe këtë lodhje e plotëson ndikimi negativ i qëndrimit ulur para kompjuterit ose smartphone. Si rezultat, truri mbingarkohet pas vetëm dy lojërave.

Të gjithë këta faktorë i shtynë autorët në idenë e projektit On-Line-On-Board, i cili përbëhet nga tre pjesë: një tabelë shahu fizike, një aplikacion desktopi dhe një shërbim në internet. Tabela është një fushë e rregullt shahu, e cila njeh pozicionin e pjesëve dhe, me ndihmën e një treguesi të lehtë, tregon lëvizjet e kundërshtarit. Pllaka lidhet nëpërmjet USB-së me një PC dhe komunikon me aplikacionin desktop. Në modalitetin e stërvitjes (dhe për fëmijët), theksohen lëvizjet tuaja të mundshme.

Aplikacioni merr përsipër funksionet bazë të menaxhimit të bordit, gjë që ju lejon të ulni ndjeshëm koston e tij dhe të sillni zbatimin e shumicës së funksioneve në nivelin e softuerit. Aplikacioni komunikon me një shërbim në internet, vlera kryesore e të cilit është përditësimi dinamik.

Skenari kryesor për përdorimin e produktit: një person luan në shërbim, i dyti në një tabelë fizike të lidhur me shërbimin. Domethënë, shërbimi merr një funksion komunikues.

Ekipi i projektit: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Mund të lexoni më shumë rreth projekteve tona arsimore në kjo lidhje. Dhe vizitoni kanalin më shpesh Technostream, video të reja edukative rreth programimit, zhvillimit dhe disiplinave të tjera shfaqen rregullisht atje.

Burimi: www.habr.com

Shto një koment