A Mail.ru Group 2019. évi technikai száma

A Mail.ru Group 2019. évi technikai száma

Május végén a Technopark (Bauman MSTU), a Technotrack (MIPT), a Technosphere (Lomonoszov Moszkvai Állami Egyetem) és a Technopolis (Nagy Péter Szentpétervári Műszaki Egyetem) végzett hallgatóink védték meg diplomatervüket. Három hónapot szántak a munkára, és a srácok ötletükbe fektették a két év tanulás során megszerzett tudást és készségeket.

Összesen 13 védelmi projekt volt, amelyek különféle problémákat oldottak meg a különböző iparágakban. Például:

  • felhőalapú tárolás kriptográfiai fájltitkosítással;
  • platform interaktív videók készítéséhez (különböző végződésekkel);
  • intelligens tábla valódi sakkozáshoz a hálózaton keresztül;
  • architektúra az orvosi cikkek intelligens visszakereséséhez;
  • Szoftver általános iskolás gyerekeknek az algoritmizálás alapjainak megtanításához.

Valamint az üzleti egységek projektjei:

  • CRM rendszer a TamTam messenger számára;
  • webszolgáltatás tematikus fényképek kereséséhez a térképen az Odnoklassniki számára;
  • cím geokódoló szolgáltatás a MAPS.ME számára.

Ma részletesebben elmondjuk Önnek a végzett hallgatóink öt projektjét.

Intelligens keresés az orvosi cikkek között

A Mail.ru Group 2019. évi technikai száma

A tudománynak számos területe van, amelyek mindegyikében kutatásokat végeznek, és rengeteg cikk jelenik meg különféle folyóiratokban. Ezek az információs technológia, a fizika, a matematika, a biológia, az orvostudomány és még sokan mások.

Szerzők program úgy döntött, hogy az orvosi területre összpontosít. Szinte minden orvosi témájú cikk a PubMed portálon található. A portál saját keresést biztosít. Lehetőségei azonban nagyon korlátozottak. Ezért a srácok továbbfejlesztették a keresési rendszert, hozzáadták a hosszú lekérdezések támogatását és a témamodellezés segítségével a lekérdezések finomításának lehetőségét.

A Mail.ru Group 2019. évi technikai száma
A SERP a dokumentumok rangsorolt ​​listáját tartalmazza a definiált témákkal, és a témakörökhöz kapcsolódó szavak és kifejezések valószínűségi témamodellezéssel vannak kiemelve. A felhasználó a kiemelt kifejezésekre kattintva szűkítheti a keresési lekérdezést.

A Mail.ru Group 2019. évi technikai száma
A hatalmas PubMed adatbázisban való keresés gyorsítása érdekében a szerzők saját keresőt írtak, amely könnyen integrálható bármilyen infrastruktúrába.

A keresés három szakaszban történik:

  1. A jelölt dokumentumokat fordított index segítségével választják ki.
  2. A jelöltek rangsorolása a BM25F algoritmus segítségével történik, amely a keresés során figyelembe veszi a dokumentumok különböző mezőit. Így a címben szereplő szavak nagyobb súllyal bírnak, mint az absztrakt szavak.
  3. Gyorsítótárazási rendszert is használnak a gyakori kérések feldolgozásának felgyorsítására.

A Mail.ru Group 2019. évi technikai száma

Mikroszolgáltatás architektúra:

A Mail.ru Group 2019. évi technikai száma
Alapvetően a strukturált szöveges adatok átvitele történik a szolgáltatások között. A nagy átviteli sebességhez a GRPC-t használják - egy keretrendszert a modulok összekapcsolására egy mikroszolgáltatási architektúrában. Az adatsorosítást a Protobuf üzenetcsere formátum használatával is használják.

Milyen összetevőket tartalmaz a rendszer:

  • Szerver a Node.js bejövő felhasználói kérelmek feldolgozásához.
  • Terheléselosztási kérések az nginx proxyszerver használatával.
  • A Flask szerver megvalósítja a REST API-t, és fogadja a Node.js-től továbbított kéréseket.
  • Minden nyers és feldolgozott adat, valamint a lekérdezési információ a MongoDB-ben van tárolva.
  • A dokumentumok tematizálásával kapcsolatos releváns eredményekre vonatkozó összes kérés a RabbitMQ-hoz érkezik.

Példa a keresési eredményekre:

A Mail.ru Group 2019. évi technikai száma

Amit a továbbiakban tervezünk:

  • Javaslatok adott témával kapcsolatos recenziók összeállításakor (fontos témák azonosítása egy dokumentumban és keresés a dokumentumok részhalmazai között).
  • PDF fájlok keresése.
  • Szemantikus szövegszegmentálás.
  • Kövesse nyomon a témákat és a trendeket az idő múlásával.

Projektcsapat: Fedor Petryaykin, Vladislav Dorozhinsky, Maxim Nakhodnov, Maxim Filin

Blokknapló

A Mail.ru Group 2019. évi technikai száma

Ma a programozás és informatika oktatása során az általános iskolás korú gyerekeknek (5-7. osztály) gondot okoznak az anyag elsajátítása. Ezen kívül, ha a tanulók otthon akarnak feladatokat megoldani, további szoftvereket kell telepíteniük a számítógépükre. A tanároknak nagyszámú hasonló problémamegoldást kell ellenőrizniük, távoktatás esetén pedig módszertant kell kidolgozniuk a tanulóktól kapott feladatok fogadására is.

A Block Log projekt szerzői arra a következtetésre jutottak: az általános iskolás korú gyerekeknek az algoritmizálás alapjainak megtanítása során nem a programnyelvi parancsok memorizálására kell helyezni a hangsúlyt, hanem az algoritmus diagramok készítésére. Ez lehetővé teszi a diákok számára, hogy időt és energiát fordítsanak egy algoritmus tervezésére, ahelyett, hogy nehézkes szintaktikai struktúrákat gépelnének be.

Emelvény Blokknapló lehetővé teszi:

  1. Folyamatábrák létrehozása és szerkesztése.
  2. Futtassa a létrehozott folyamatábrákat, és nézze meg munkájuk eredményét (kimeneti adatok).
  3. Mentse és töltse be a létrehozott projekteket.
  4. Rajzoljon raszteres képeket (kép generálása a gyermek által létrehozott algoritmus alapján).
  5. Információk fogadása a létrehozott algoritmus összetettségéről (az algoritmusban végrehajtott műveletek száma alapján).

A szerepek felosztása tanárokra és diákokra várható. Bármely felhasználó tanulói státuszt kap; a tanári státusz megszerzéséhez kapcsolatba kell lépnie a rendszergazdával. A tanár nem csak a problémák leírását és feltételeit adhatja meg, hanem automatizált teszteket is készíthet, amelyek automatikusan elindulnak, amikor a tanuló beküldi a rendszerbe a probléma megoldását.

Böngészőblokk naplószerkesztő:

A Mail.ru Group 2019. évi technikai száma

A probléma megoldása után a hallgató letöltheti a megoldást, és megtekintheti az eredményeket:

A Mail.ru Group 2019. évi technikai száma

A platform egy Vue.js-beli front-end alkalmazásból és egy Ruby on Rails háttéralkalmazásból áll. Adatbázisként a PostgreSQL-t használják. A telepítés egyszerűsítése érdekében az összes rendszerelemet Docker-tárolókba csomagolják, és a Docker Compose segítségével állítják össze. A Block Log asztali verziója az Electron keretrendszeren alapul. Webpack-et használtak a JavaScript kód létrehozásához.

Projektcsapat: Alekszandr Barulev, Maxim Kolotovkin, Kirill Kucserov.

CRM rendszer a TamTam messengerhez

A Mail.ru Group 2019. évi technikai száma

A CRM egy eszköz a vállalkozások és a TamTam felhasználók közötti kényelmes interakcióhoz. A következő funkciók kerültek megvalósításra:

  • Egy bot konstruktor, amely lehetővé teszi, hogy botokat készítsen programozási ismeretek nélkül. Néhány perc alatt kaphat egy teljesen működő botot, amely nem csak bizonyos információkat tud megjeleníteni a felhasználóknak, hanem adatokat is gyűjt, pl. fájlokat, amelyeket a rendszergazda később megtekinthet.
  • RSS. Könnyedén csatlakoztathatja az RSS-t bármely csatornához.
  • Késleltetett feladás. Lehetővé teszi üzenetek küldését és törlését előre beállított időpontokban.

A csapat részt vett a Bot API tesztelésében is, több saját írású botot létrehozva, például egy botot a 2019-es jégkorong-világbajnokságra, egy botot a szolgáltatásunkban való regisztrációhoz/engedélyezéshez, valamint egy botot a CI/CD-hez.

Megoldás infrastruktúra:

  • A felügyeleti szerver minden szerverhez és minden rajta lévő Docker konténerhez tartalmaz egy megfigyelő rendszert a probléma gyors és kényelmes észlelése és megoldása érdekében, a különböző mérőszámok és használati statisztikák megtekintése. Alkalmazásunk távoli konfigurációkezelésére is van rendszer.
  • Az állomásozószerver tartalmazza az alkalmazásunk aktuális verzióját, amely elérhető általános tesztelésre a fejlesztőcsapat által.
  • A felügyeleti és átmeneti kiszolgálók csak VPN-en keresztül érhetők el a fejlesztők számára, az éles szerver pedig az alkalmazás kiadási verzióját tartalmazza. Elszigetelve van a fejlesztők kezétől, és csak a végfelhasználók számára érhető el.
  • A CI/CD rendszert a Github és a Travis segítségével valósították meg, az értesítést a TamTam egyéni botjával.

A Mail.ru Group 2019. évi technikai száma

Az alkalmazás architektúrája moduláris megoldás. Az alkalmazás, az adatbázis, a konfigurációkezelő és a monitorozás különálló Docker konténerekben indul, ami lehetővé teszi az indítási környezettől való elvonatkoztatást, egy különálló konténer módosítását vagy újraindítását. A hálózati topológia létrehozása és a tárolók kezelése a Docker Compose segítségével történik.

A Mail.ru Group 2019. évi technikai száma

Projektcsapat: Alekszej Antufjev, Egor Gorbatov, Alekszej Kotelevszkij.

ForkMe

A Mail.ru Group 2019. évi technikai száma

A ForkMe projekt egy platform interaktív videók megtekintésére, ahol elkészítheti saját videóját, és megmutathatja azt barátainak. Miért van szükségünk interaktív videókra, ha vannak szokásosak?

A videó nem lineáris cselekménye és a folytatás megválasztásának lehetősége lehetővé teszi a néző bevonását, a tartalomkészítők pedig egyedi történeteket mutathatnak be, amelyek cselekményét a felhasználók befolyásolják. Ezenkívül a tartalomkészítők a videókonverziós statisztikák tanulmányozása révén megérthetik, mi érdekli leginkább a közönséget, és vonzóbbá tehetik az anyagokat.

A projekt fejlesztése során a srácokat a Netflix Bandersnatch című interaktív filmje ihlette meg, amely rengeteg nézettséget és jó kritikát kapott. Amikor már megírták az MVP-t, megjelentek a hírek, hogy a Youtube interaktív sorozatok platformjának elindítását tervezi, ami ismét megerősíti ennek az iránynak a népszerűségét.

Az MVP a következőket tartalmazza: interaktív lejátszó, videókészítő, tartalom és címkék szerinti keresés, videógyűjtemények, megjegyzések, megtekintések, értékelések, csatorna- és felhasználói profilok.

A Mail.ru Group 2019. évi technikai száma

A projektben használt technológiai halom:

A Mail.ru Group 2019. évi technikai száma

Hogyan tervezik a projekt fejlesztését:

  • statisztikák és infografikák gyűjteménye a videóra való átállásról;
  • értesítések és személyes üzenetek a webhely felhasználóinak;
  • Android és iOS verziók.

Ezek után a következőt tervezzük hozzáadni:

  • videotörténetek létrehozása a telefonról;
  • letöltött videórészletek szerkesztése (például kivágás);
  • interaktív reklám létrehozása és elindítása a lejátszóban.

Projektcsapat: Maxim Morev (fullstack fejlesztő, dolgozott a projekt architektúrán) és Roman Maslov (fullstack fejlesztő, dolgozott a projekt tervezésén).

On-Line-On-Board

A Mail.ru Group 2019. évi technikai száma

A Mail.ru Group 2019. évi technikai száma

Manapság a szülők nagy figyelmet fordítanak gyermekeik szellemi fejlődésére, a gyerekeket érdeklik az intellektuális játékok. Ezért a sakk ismét egyre népszerűbb. És bár a sakk általában meglehetősen népszerű, a rendszeres ellenfél megtalálása a játékokhoz problémás. Ezért sokan használják az online sakkszolgáltatásokat, annak ellenére, hogy sok játékos szívesebben játszik „élőben” valódi figurákkal. A sakkozás során azonban az ember sok mentális erőfeszítést tesz, elfárad, és ez a fáradtság kiegészül a számítógépnél vagy okostelefonnál ülő negatív hatásokkal. Ennek eredményeként az agy már két játék után túlterhelődik.

Mindezek a tényezők késztették a szerzőket az On-Line-On-Board projekt ötletére, amely három részből áll: egy fizikai sakktáblából, egy asztali alkalmazásból és egy webszolgáltatásból. A tábla egy szabályos sakkmező, amely felismeri a figurák helyzetét, és fényjelzés segítségével jelzi az ellenfél lépéseit. A kártya USB-n keresztül csatlakozik a számítógéphez, és kommunikál az asztali alkalmazással. Edzésmódban (és gyerekeknél) kiemelve láthatók a lehetséges mozdulatok.

Az alkalmazás átveszi a tábla kezelésének alapvető funkcióit, ami lehetővé teszi a költségek nagymértékű csökkentését és a legtöbb funkció megvalósításának szoftverszintre emelését. Az alkalmazás egy webszolgáltatással kommunikál, amelynek fő értéke a dinamikus frissítés.

A termék használatának fő forgatókönyve: az egyik személy a szolgáltatáson játszik, a másik a szolgáltatáshoz kapcsolódó fizikai táblán. Vagyis a szolgáltatás kommunikációs funkciót tölt be.

Projektcsapat: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Oktatási projektjeinkről bővebben itt olvashat ez a kapcsolat. És látogassa meg gyakrabban a csatornát Technostream, rendszeresen jelennek meg új oktatóvideók a programozásról, fejlesztésről és más tudományágakról.

Forrás: will.com

Hozzászólás