Teknika numero de Mail.ru Group 2019

Teknika numero de Mail.ru Group 2019

Fine de majo niaj diplomiĝintoj de Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Lomonosov Moscow State University) kaj Technopolis (Peter the Great St. Petersburg Polytechnic University) defendis siajn diplomprojektojn. Tri monatoj estis asignitaj por laboro, kaj la uloj investis en sia ideo la sciojn kaj kapablojn akiritajn dum dujara studado.

Entute estis 13 projektoj pri defendo, solvante diversajn problemojn en malsamaj industrioj. Ekzemple:

  • nuba stokado kun ĉifrado de ĉifraj dosieroj;
  • platformo por krei interagajn filmetojn (kun malsamaj finaĵoj);
  • inteligenta tabulo por ludi realan ŝakon tra la reto;
  • arkitekturo por inteligenta rehavigo de medicinaj artikoloj;
  • Programaro por instrui al bazlernejaj infanoj la bazojn de algoritmigo.

Same kiel projektoj de komercaj unuoj:

  • CRM-sistemo por TamTam mesaĝisto;
  • retservo por serĉi temajn fotojn sur la mapo por Odnoklassniki;
  • servo de geokodado de adresoj por MAPS.ME.

Hodiaŭ ni rakontos al vi pli detale pri kvin projektoj de niaj diplomiĝintoj.

Inteligenta serĉo de medicinaj artikoloj

Teknika numero de Mail.ru Group 2019

Estas multaj areoj en la scienca kampo, en ĉiu el kiuj esplorado estas farita, grandega nombro da artikoloj estas publikigitaj en diversaj ĵurnaloj. Ĉi tiuj estas informa teknologio, fiziko, matematiko, biologio, medicino kaj multaj aliaj.

aŭtoroj la projekto decidis koncentriĝi sur la medicina kampo. Preskaŭ ĉiuj artikoloj pri medicinaj temoj estas kolektitaj en la portalo PubMed. La portalo disponigas sian propran serĉon. Tamen ĝiaj kapabloj estas tre limigitaj. Tial la uloj plibonigis la serĉsistemon, aldonis subtenon por longaj demandoj kaj la kapablon rafini demandojn per temmodelado.

Teknika numero de Mail.ru Group 2019
La SERP enhavas rangigitan liston de dokumentoj kun iliaj temoj difinitaj, kaj vortoj kaj esprimoj ligitaj al tiuj temoj estas elstarigitaj uzante probabilistikan temmodeladon. La uzanto povas klaki sur la emfazitaj terminoj por malvastigi la serĉdemandon.

Teknika numero de Mail.ru Group 2019
Por rapidigi serĉadon tra la grandega datumbazo PubMed, la aŭtoroj skribis sian propran serĉilon, kiu povas esti facile integrebla en ajna infrastrukturo.

La serĉo estas farita en tri etapoj:

  1. Kandidataj dokumentoj estas elektitaj per inversa indekso.
  2. La kandidatoj estas vicigitaj per la BM25F-algoritmo, kiu konsideras diversajn kampojn en dokumentoj dum la serĉo. Tiel, vortoj en la titolo havas pli da pezo ol vortoj en la abstraktaĵo.
  3. Kaŝsistemo ankaŭ estas uzata por akceli la traktadon de oftaj petoj.

Teknika numero de Mail.ru Group 2019

Mikroserva arkitekturo:

Teknika numero de Mail.ru Group 2019
Esence, strukturitaj tekstaj datumoj estas transdonitaj inter servoj. Por altaj transigaj rapidoj, GRPC estas uzata - kadro por konekti modulojn en mikroserva arkitekturo. Datenseriigo ankaŭ estas uzita uzante la Protobuf-mesaĝo-interŝanĝformaton.

Kiajn komponantojn la sistemo inkluzivas:

  • Servilo por prilabori envenantajn uzantpetojn ĉe Node.js.
  • Ŝargu ekvilibrajn petojn uzante la prokurservilon nginx.
  • La Flask-servilo efektivigas la REST API kaj ricevas petojn plusenditajn de Node.js.
  • Ĉiuj krudaj kaj prilaboritaj datumoj, same kiel konsultaj informoj, estas konservitaj en MongoDB.
  • Ĉiuj petoj por koncernaj rezultoj por dokumenttematikigo iras al RabbitMQ.

Ekzemplo de serĉrezultoj:

Teknika numero de Mail.ru Group 2019

Kion ni planas fari poste:

  • Rekomendoj dum kompilado de recenzoj pri difinita temo (identigado de gravaj temoj en dokumento kaj serĉado tra subaroj de dokumentoj).
  • Serĉu PDF-dosierojn.
  • Semantika teksto-segmentado.
  • Spuri temojn kaj tendencojn laŭlonge de la tempo.

Projektteamo: Fedor Petrjaykin, Vladislav Dorozhinsky, Maksim Naĥodnov, Maksim Filin

Bloka Protokolo

Teknika numero de Mail.ru Group 2019

Hodiaŭ, dum instruado de programado kaj komputiko, infanoj en bazlerneja aĝo (klasoj 5-7) havas problemojn regi la materialon. Krome, se studentoj volas plenumi taskojn hejme, ili devas instali aldonan programaron en siaj komputiloj. Instruistoj devas kontroli grandan nombron da similaj solvoj al problemoj, kaj en la kazo de fora lernado, ili ankaŭ devas evoluigi metodaron por ricevi taskojn de studentoj.

La aŭtoroj de la projekto Block Log venis al la konkludo: kiam oni instruas al infanoj en bazlerneja aĝo la bazojn de algoritmo, la emfazo ne devus esti sur parkerigado de programlingvaj komandoj, sed sur konstruado de algoritmodiagramoj. Ĉi tio permesos al studentoj elspezi tempon kaj penon por desegnado de algoritmo, anstataŭ tajpi en maloportunaj sintaksaj strukturoj.

Platformo Bloka Protokolo permesas:

  1. Krei kaj redakti fludiagramojn.
  2. Rulu la kreitajn fludiagramojn kaj vidu la rezulton de ilia laboro (eligaj datumoj).
  3. Konservu kaj ŝarĝu kreitajn projektojn.
  4. Desegnu rastrumajn bildojn (generante bildon bazitan sur algoritmo kreita de la infano).
  5. Ricevu informojn pri la komplekseco de la kreita algoritmo (surbaze de la nombro da operacioj faritaj en la algoritmo).

Oni atendas dividon de roloj en instruistoj kaj studentoj. Ĉiu uzanto ricevas studentan statuson; por akiri instruiston, vi devas kontakti la sistemadministranton. La instruisto povas ne nur enigi priskribojn kaj kondiĉojn de problemoj, sed ankaŭ krei aŭtomatigitajn testojn kiuj estos aŭtomate lanĉitaj kiam studento sendas solvon al la problemo en la sistemon.

Retumila Bloka Registroredaktilo:

Teknika numero de Mail.ru Group 2019

Post solvado de la problemo, la studento povas elŝuti la solvon kaj vidi la rezultojn:

Teknika numero de Mail.ru Group 2019

La platformo konsistas el antaŭa aplikaĵo en Vue.js kaj malantaŭa aplikaĵo en Ruby on Rails. PostgreSQL estas uzata kiel datumbazo. Por simpligi deplojon, ĉiuj sistemkomponentoj estas enpakitaj en Docker-ujoj kaj kunvenitaj per Docker Compose. La labortabla versio de Block Log baziĝas sur la kadro Electron. Webpack estis uzita por konstrui la JavaScript-kodon.

Projektteamo: Aleksandr Barulev, Maksim Kolotovkin, Kirill Kucherov.

CRM-sistemo por TamTam mesaĝisto

Teknika numero de Mail.ru Group 2019

CRM estas ilo por oportuna interago inter entreprenoj kaj uzantoj de TamTam. La sekvaj funkcioj estis efektivigitaj:

  • Botkonstrukciisto, kiu ebligas al vi krei robotojn sen programaj kapabloj. En kelkaj minutoj vi povas akiri plene funkciantan bot, kiu povas ne nur montri iujn informojn al uzantoj, sed ankaŭ kolekti datumojn, inkl. dosierojn kiujn la administranto povas vidi poste.
  • RSS. Vi povas facile konekti RSS al iu ajn kanalo.
  • Malfrua afiŝado. Permesas al vi sendi kaj forigi mesaĝojn en antaŭfiksitaj tempoj.

La teamo ankaŭ partoprenis en testado de la Bot-API, kreante plurajn memskribitajn robotojn, kiel bot por la Monda Pokalo de Hokeo 2019, bot por registriĝo/rajtigo en nia servo, kaj bot por CI/CD.

Solva infrastrukturo:

  • La administra servilo enhavas monitoran sistemon por ĉiu servilo kaj ĉiu Docker-ujo sur ĝi por rapide kaj oportune detekti problemon kaj solvi ĝin, vidi diversajn metrikojn kaj uzstatistikojn. Ekzistas ankaŭ sistemo por fora agorda administrado de nia aplikaĵo.
  • La sursceniga servilo enhavas la nunan version de nia aplikaĵo, disponebla por ĝenerala testado de la evoluiga teamo.
  • Administrado kaj ensceniga serviloj estas disponeblaj nur per VPN al programistoj, kaj la produktservilo enhavas la eldonan version de la aplikaĵo. Ĝi estas izolita de la manoj de programistoj kaj disponeblas nur por la finuzanto.
  • La CI/CD-sistemo estis efektivigita per Github kaj Travis, sciigo uzante kutiman bot en TamTam.

Teknika numero de Mail.ru Group 2019

La aplika arkitekturo estas modula solvo. La aplikaĵo, datumbazo, agorda administranto kaj monitorado estas lanĉitaj en apartaj Docker-ujoj, kio ebligas vin abstrakti de la lanĉa medio, ŝanĝi aŭ rekomenci apartan ujon. Krei retan topologion kaj administri ujojn estas faritaj per Docker Compose.

Teknika numero de Mail.ru Group 2019

Projektteamo: Aleksej Antufjev, Egor Gorbatov, Aleksej Kotelevskij.

ForkMe

Teknika numero de Mail.ru Group 2019

La projekto ForkMe estas platformo por spekti interagajn filmetojn, kie vi povas krei vian propran videon kaj montri ĝin al viaj amikoj. Kial ni bezonas interagajn filmetojn se ekzistas regulaj?

La ne-linia intrigo de la video kaj la kapablo elekti la daŭrigon mem permesas al la spektanto partopreni, kaj enhavaj kreintoj povos montri unikajn rakontojn, kies intrigo estos influita de uzantoj. Ankaŭ, enhavaj kreintoj, studante videokonvertajn statistikojn, povos kompreni kio plej interesas la publikon kaj fari materialojn pli allogaj.

Disvolvinte la projekton, la infanoj estis inspiritaj de la interaga filmo Bandersnatch de Netflix, kiu ricevis multajn vidojn kaj bonajn recenzojn. Kiam la MVP jam estis skribita, novaĵo aperis, ke Youtube planas lanĉi platformon por interagaj serioj, kiu denove konfirmas la popularecon de ĉi tiu direkto.

MVP inkluzivas: interaga ludanto, videokonstruanto, serĉo laŭ enhavo kaj etikedoj, videokolektoj, komentoj, vidoj, taksoj, kanalo kaj uzantprofiloj.

Teknika numero de Mail.ru Group 2019

Teknologia stako uzata en la projekto:

Teknika numero de Mail.ru Group 2019

Kiel estas planite evoluigi la projekton:

  • kolekto de statistikoj kaj infografioj pri transiroj al video;
  • sciigoj kaj personaj mesaĝoj por retejo-uzantoj;
  • versioj por Android kaj iOS.

Post ĉi tio ni planas aldoni:

  • kreante videorakontojn de via telefono;
  • redaktado de elŝutitaj videofragmentoj (ekzemple tondado);
  • kreado kaj lanĉo de interaga reklamado en la ludanto.

Projektteamo: Maxim Morev (fullstack-programisto, laboris pri la projektarkitekturo) kaj Roman Maslov (fullstack-programisto, laboris pri la projektdezajno).

Enreta-Sur-Estraro

Teknika numero de Mail.ru Group 2019

Teknika numero de Mail.ru Group 2019

Hodiaŭ gepatroj tre atentas la mensan disvolviĝon de siaj infanoj, kaj infanoj interesiĝas pri intelektaj ludoj. Tial ŝako denove akiras popularecon. Kaj kvankam ŝako ĝenerale estas sufiĉe populara, trovi regulan kontraŭulon por ludoj estas problema. Tial multaj homoj uzas interretajn ŝakservojn, malgraŭ tio, ke multaj ludantoj preferas ludi "vive" kun realaj pecoj. Tamen, kiam ludas ŝakon, persono faras multe da mensa peno kaj laciĝas, kaj ĉi tiu laceco estas kompletigita per la negativa efiko de sidado ĉe komputilo aŭ inteligenta telefono. Kiel rezulto, la cerbo iĝas troŝarĝita post nur du ludoj.

Ĉiuj ĉi tiuj faktoroj puŝis la aŭtorojn al la ideo de la projekto On-Line-On-Board, kiu konsistas el tri partoj: fizika ŝaktabulo, labortabla aplikaĵo kaj retservo. La tabulo estas regula ŝakkampo, kiu rekonas la pozicion de la pecoj kaj, helpe de malpeza indiko, indikas la movojn de la kontraŭulo. La tabulo estas konektita per USB al komputilo kaj komunikas kun la labortabla aplikaĵo. En la trejna reĝimo (kaj por infanoj), viaj eblaj movoj estas reliefigitaj.

La aplikaĵo transprenas la bazajn funkciojn de administrado de la tabulo, kio ebligas vin multe redukti ĝian koston kaj alporti la efektivigon de la plej multaj funkcioj al la programara nivelo. La aplikaĵo komunikas kun retservo, kies ĉefa valoro estas dinamika ĝisdatigo.

La ĉefa scenaro por uzi la produkton: unu persono ludas sur la servo, la dua sur fizika tabulo konektita al la servo. Tio estas, la servo prenas komunikan funkcion.

Projektteamo: Daniil Tuĉin, Anton Dmitriev, Sasha Kuznetsov.

Vi povas legi pli pri niaj edukaj projektoj ĉe ĉi tiu ligo. Kaj vizitu la kanalon pli ofte Technostream, novaj edukaj videoj pri programado, evoluo kaj aliaj fakoj aperas tie regule.

fonto: www.habr.com

Aldoni komenton