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 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
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 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:
- A jelölt dokumentumokat fordított index segítségével választják ki.
- 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.
- Gyorsítótárazási rendszert is használnak a gyakori kérések feldolgozásának felgyorsítására.
Mikroszolgáltatás architektúra:
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:
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ó
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
- Folyamatábrák létrehozása és szerkesztése.
- Futtassa a létrehozott folyamatábrákat, és nézze meg munkájuk eredményét (kimeneti adatok).
- Mentse és töltse be a létrehozott projekteket.
- Rajzoljon raszteres képeket (kép generálása a gyermek által létrehozott algoritmus alapján).
- 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 probléma megoldása után a hallgató letöltheti a megoldást, és megtekintheti az eredményeket:
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 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.
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.
Projektcsapat: Alekszej Antufjev, Egor Gorbatov, Alekszej Kotelevszkij.
ForkMe
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 projektben használt technológiai halom:
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
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
Forrás: will.com