Тэхнавыпуск Mail.ru Group 2019

Тэхнавыпуск Mail.ru Group 2019

У канцы мая нашы выпускнікі з Тэхнапарка (МДТУ імя Баумана), Тэхнатрэка (МФТІ), Тэхнасферы (МДУ імя Ламаносава) і Тэхнаполіса (СПбПУ Пятра Вялікага) абаранілі свае дыпломныя праекты. На працу вылучалася тры месяцы, і хлопцы ўклалі ў свае стварэнні веды і навыкі, атрыманыя за два гады вучобы.

Усяго на абароне было 13 праектаў, якія вырашаюць розныя задачы ў розных галінах. Напрыклад:

  • хмарнае сховішча з крыптаграфічным шыфраваннем файлаў;
  • платформа для стварэння інтэрактыўнага відэа (з рознай канцоўкай);
  • смарт-дошка для гульні ў рэальныя шахматы па сетцы;
  • архітэктура для інтэлектуальнага пошуку медыцынскіх артыкулаў;
  • ПЗ для навучання дзяцей малодшага школьнага ўзросту асновам алгарытмізацыі.

А таксама праекты ад бізнес-юнітаў:

  • CRM сістэма для месэнджэра ТамТам;
  • вэб-сэрвіс пошуку тэматычных фота на карце для Аднакласнікаў;
  • сэрвіс геакадавання адрасоў для MAPS.ME.

Сёння больш падрабязна раскажам вам аб пяці праектах нашых выпускнікоў.

Інтэлектуальны пошук медыцынскіх артыкулаў

Тэхнавыпуск Mail.ru Group 2019

Існуе мноства напрамкаў у навуковай сферы, у кожным з якіх вядуцца даследаванні, публікуецца вялізная колькасць артыкулаў у самых розных часопісах. Гэта інфармацыйныя тэхналогіі, фізіка, матэматыка, біялогія, медыцына і многія іншыя.

Аўтары праекта вырашылі сфакусавацца на медыцынскім напрамку. Практычна ўсе артыкулы па медыцынскай тэматыцы сабраны на партале PubMed. Партал дае ўласны пошук. Аднак яго магчымасці вельмі абмежаваны. Таму хлопцы палепшылі сістэму пошуку, дадалі падтрымку доўгіх запытаў і магчымасць удакладняць запыты з дапамогай тэматычнага мадэлявання.

Тэхнавыпуск Mail.ru Group 2019
Пошукавая выдача змяшчае ранжыраваны спіс дакументаў з вызначэннем іх тэм, а словы і тэрміны, якія адносяцца да гэтых тэм, падсвятляюцца дзякуючы імавернаснаму тэматычнаму мадэляванню. Карыстальнік можа клікнуць на падсветленыя тэрміны, звузіўшы пошукавы запыт.

Тэхнавыпуск Mail.ru Group 2019
Каб пошук па вялізнай базе PubMed выконваўся хутка, аўтары напісалі свой пошукавы рухавічок, які лёгка інтэгруецца ў любую інфраструктуру.

Пошук ажыццяўляецца ў тры этапы:

  1. З дапамогай зваротнага азначніка адбіраюцца дакументы-кандыдаты.
  2. Ужываецца ранжыраванне кандыдатаў па алгарытме BM25F, які ўлічвае розныя палі ў дакументах пры пошуку. Такім чынам, словы ў загалоўку маюць большую вагу чым словы ў анатацыі.
  3. Таксама выкарыстоўваецца сістэма кэшавання для паскарэння апрацоўкі частотных запытаў.

Тэхнавыпуск Mail.ru Group 2019

Архітэктура мікрасэрвісная:

Тэхнавыпуск Mail.ru Group 2019
Галоўным чынам, паміж сэрвісамі перадаюцца структураваныя тэкставыя дадзеныя. Для высокай хуткасці перадачы выкарыстоўваецца GRPC - фрэймворк для сувязі модуляў у мікрасэрвіснай архітэктуры. Таксама прымяняецца серыялізацыя дадзеных з дапамогай фармату для абмену паведамлення Protobuf.

Якія кампаненты ўключае ў сябе сістэма:

  • Сервер апрацоўкі ўваходных карыстацкіх запытаў на Node.js.
  • Балансаванне нагрузкі запытаў з дапамогай проксі-сервера nginx.
  • Сервер на Flask рэалізуе REST API і атрымлівае запыты, якія пераадрасоўваюцца з Node.js.
  • Усе зыходныя і апрацаваныя дадзеныя, а таксама інфармацыя аб запытах захоўваецца ў MongoDB.
  • Усе запыты на атрыманне рэлевантнай выдачы на ​​тэматызацыю дакументаў паступаюць у RabbitMQ.

Прыклад пошукавай выдачы:

Тэхнавыпуск Mail.ru Group 2019

Што плануецца зрабіць у далейшым:

  • Рэкамендацыі пры складанні аглядаў на зададзеную тэматыку (вызначэнне важных тэм у дакуменце і пошук па падмноствах дакументаў).
  • Пошук па PDF-файлах.
  • Семантычная сегментацыя тэкстаў.
  • Адсочванне тэм і трэндаў ў часе.

Каманда праекта: Фёдар Петряйкін, Уладзіслаў Даражынскі, Максім Находнаў, Максім Філін.

Block Log

Тэхнавыпуск Mail.ru Group 2019

Сёння пры навучанні праграмаванні і інфарматыцы ў дзяцей малодшага школьнага ўзросту (5 - 7 класы) узнікаюць праблемы з засваеннем матэрыялу. Акрамя таго, калі вучні жадаюць выконваць заданні дома, даводзіцца ставіць на свае кампутары дадатковае ПЗ. Настаўнікам даводзіцца правяраць вялікую колькасць аднатыпных рашэнняў задач, а ў выпадку выдаленага навучання яшчэ і распрацоўваць методыку для атрымання заданняў ад вучняў.

Аўтары праекта Block Log прыйшлі да высновы: навучаючы дзяцей малодшага школьнага ўзросту асновам алгарытмізацыі, варта рабіць упор не на завучванне каманд мовы праграмавання, а на пабудову схем алгарытмаў. Гэта дазволіць вучням марнаваць час і сілы на праектаванне алгарытму, а не на набіванне грувасткіх сінтаксічных канструкцый.

Платформа Block Log дазваляе:

  1. Ствараць і рэдагаваць блок-схемы.
  2. Запускаць створаныя блок-схемы і бачыць вынік іх працы (выхадныя дадзеныя).
  3. Захоўваць і загружаць створаныя праекты.
  4. Маляваць растравыя выявы (генерацыя выявы на аснове створанага дзіцем алгарытму).
  5. Атрымліваць інфармацыю аб складанасці працы створанага алгарытму (на аснове колькасці выкананых у алгарытме аперацый).

Прадугледжваецца падзел роляў на выкладчыкаў і вучняў. Любы карыстач атрымлівае статут вучня, для атрымання статуту выкладчыка неабходна звярнуцца да адміністратара сістэмы. Выкладчык можа не толькі ўводзіць апісанне і ўмовы задач, але і ствараць аўтаматызаваныя тэсты, якія будуць аўтаматычна запушчаны, калі вучань адправіць вырашэнне задачы ў сістэму.

Браўзэрны рэдактар ​​Block Log:

Тэхнавыпуск Mail.ru Group 2019

Вырашыўшы задачу, вучань можа загрузіць рашэнне і ўбачыць вынікі:

Тэхнавыпуск Mail.ru Group 2019

Платформа складаецца з фронтэнд-прыкладанні на Vue.js і бэкенд-прыкладанні на Ruby on Rails. У якасці базы дадзеных выкарыстоўваецца PostgreSQL. Для спрашчэння разгортвання ўсе кампаненты сістэмы спакаваны ў Docker-кантэйнеры і збіраюцца з дапамогай Docker Compose. Настольная версія Block Log створана на аснове фрэймворка Electron. Для зборкі кода на JavaScript быў скарыстаны Webpack.

Каманда праекта: Аляксандр Барулёў, Максім Калатоўкін, Кірыл Кучараў.

CRM-сістэма для месэнджэра ТамТам

Тэхнавыпуск Mail.ru Group 2019

CRM ўяўляе сабой інструмент для зручнага ўзаемадзеяння бізнесу з карыстальнікамі Тамтам. Рэалізаваны наступныя функцыі:

  • канструктар ботаў, які дазваляе ствараць ботаў не маючы навыкі праграмавання. За некалькі хвілін можна атрымаць поўнасцю рабочага бота, які зможа не толькі паказваць нейкую інфармацыю карыстальнікам, але і збіраць дадзеныя, у т.л. файлы, якія адміністратар можа прагледзець у далейшым.
  • RSS. Можна з лёгкасцю падлучыць RSS да які-небудзь каналу.
  • Адкладзены постынга. Дазваляе адпраўляць і выдаляць паведамленні ў загадзя зададзены час.

Таксама каманда прыняла ўдзел у тэставанні Bot API, стварыўшы некалькі самапісных ботаў, такіх як бот для ЧС свету па хакеі 2019, бот для рэгістрацыі/аўтарызацыі ў нашым сэрвісе, бот для CI/CD.

Інфраструктура рашэння:

  • Management-сервер утрымоўвае сістэму маніторынгу за кожным серверам і кожным Docker-кантэйнерам на ім, каб хутка і зручна выяўляць праблему і вырашаць яе, глядзець розныя метрыкі і статыстыку выкарыстання. Таксама прысутнічае сістэма дыстанцыйнага кіравання канфігурацыяй нашага прыкладання.
  • Staging-сервер змяшчае актуальную версію нашага прыкладання, даступную для агульнага тэсціравання камандай распрацоўкі.
  • Management- і staging-серверы даступныя толькі праз VPN распрацоўнікам, а production-сервер утрымоўвае рэлізную версію прыкладання. Ён ізаляваны ад рук распрацоўшчыкаў і даступны толькі для канчатковага карыстальніка.
  • CI/CD-сістэма рэалізаваная з дапамогай Github і Travis, натыфікацыя з дапамогай кастамнага робата ў Тамтам.

Тэхнавыпуск Mail.ru Group 2019

Архітэктура прыкладання ўяўляе сабой модульнае рашэнне. Дадатак, база дадзеных, менеджэр канфігурацыяй і маніторынг запушчаныя ў асобных Docker-кантэйнерах, што дазваляе абстрагавацца ад асяроддзя запуску, мяняць або перазапускаць асобны кантэйнер. Стварэнне тапалогіі сеткі і кіраванне кантэйнерамі ажыццяўляецца з дапамогай Docker Compose.

Тэхнавыпуск Mail.ru Group 2019

Каманда праекта: Аляксей Антуф'еў, Ягор Гарбатаў, Аляксей Кацялеўскі.

ForkMe

Тэхнавыпуск Mail.ru Group 2019

Праект ForkMe - гэта платформа для прагляду інтэрактыўных відэа, дзе вы можаце сканструяваць свой ролік і паказаць яго сябрам. Навошта ж патрэбны інтэрактыўныя відэа, калі ёсць звычайныя?

Нелінейны сюжэт відэа і магчымасць самому выбіраць працяг дазваляюць далучыць гледача, а стваральнікі кантэнту змогуць паказваць унікальныя гісторыі, на сюжэт якіх будуць уплываць карыстальнікі. Таксама стваральнікі кантэнту, вывучаючы статыстыку пераходаў у відэа, змогуць зразумець, што найбольш цікавіць аўдыторыю, і рабіць матэрыялы больш прывабнымі.

Пры распрацоўцы праекту хлопцы натхняліся інтэрактыўным фільмам Bandersnatch ад Netflix, які сабраў шмат праглядаў і добрых водгукаў. Калі MVP ужо было напісана, з'явілася навіна, што і Youtube плануе запусціць пляцоўку для інтэрактыўных серыялаў, што лішні раз пацвярджае папулярнасць гэтага напрамку.

MVP уключае ў сябе: інтэрактыўны плэер, канструктар відэа, пошук па змесціва і тэгах, падборкі відэа, каментары, прагляды, рэйтынгі, профілі канала і карыстальніка.

Тэхнавыпуск Mail.ru Group 2019

Тэхналагічны стэк, які выкарыстоўвалі ў праекце:

Тэхнавыпуск Mail.ru Group 2019

Як плануецца развіваць праект:

  • збор статыстыкі і інфаграфіка аб пераходах у відэа;
  • апавяшчэння і асабістыя паведамленні для карыстальнікаў пляцоўкі;
  • версіі пад Android і iOS.

Пасля гэтага плануецца дадаць:

  • стварэнне відэа-гісторый з тэлефона;
  • рэдагаванне загружаных фрагментаў відэа (напрыклад, абразанне);
  • стварэнне і запуск інтэрактыўнай рэкламы ў плэеры.

Каманда праекта: Мораў Максім (fullstack-распрацоўшчык, займаўся архітэктурай праекта) і Маслаў Раман (fullstack-распрацоўшчык, займаўся дызайнам праекта).

On-Line-On-Board

Тэхнавыпуск Mail.ru Group 2019

Тэхнавыпуск Mail.ru Group 2019

Сёння бацькі вялікую ўвагу ўдзяляюць разумоваму развіццю дзяцей, а дзеці цікавяцца інтэлектуальнымі гульнямі. Таму зноў набіраюць папулярнасць шахматы. І хаця шахматы ў цэлым даволі папулярныя, аднак знайсці сабе рэгулярнага саперніка для гульняў праблематычна. Таму многія карыстаюцца шахматнымі анлайн-сэрвісамі, нягледзячы на ​​тое, што нямала гульцоў аддаюць перавагу гуляць "ужывую", сапраўднымі фігурамі. Аднак пры гульні ў шахматы чалавек прыкладае шмат разумовых намаганняў і стамляецца, а гэтая стомленасць дапаўняецца негатыўным уплывам ад сядзення за кампутарам ці смартфонам. У выніку мозг перагружаецца ўжо пасля двух партый.

Усе гэтыя фактары і падштурхнулі аўтараў да ідэі праекта On-Line-On-Board, які складаецца з трох частак: фізічнай шахматнай дошкі, настольнага дадатку і вэб-сэрвісу. Дошка ўяўляе сабой звычайнае шахматнае поле, якое распазнае становішча постацяў і з дапамогай светлавой індыкацыі пазначае хады суперніка. Дошка падключаецца па USB да ПК і звязваецца з дэсктопным дадаткам. У рэжыме навучання (і для дзяцей) падсвятляюцца вашыя магчымыя хады.

Прыкладанне бярэ на сябе асноўныя функцыі кіравання дошкай, што дазваляе моцна скараціць яе кошт і вынесці рэалізацыю большасці функцый на праграмны ўзровень. Дадатак звязваецца з вэб-сэрвісам, галоўная каштоўнасць якога - дынамічнае абнаўленне.

Асноўны сцэнар выкарыстання прадукта: адзін чалавек гуляе на сэрвісе, другі - на фізічнай дошцы, падлучанай да сэрвісу. Гэта значыць сэрвіс бярэ на сябе камунікатыўную функцыю.

Каманда праекта: Данііл Тучын, Антон Дзмітрыеў, Саша Кузняцоў.

Падрабязней пра нашы адукацыйныя праекты вы можаце пачытаць па гэтай спасылцы. І часцей заходзіце на канал Тэхнастрым, там рэгулярна з'яўляюцца новыя навучальныя відэа аб праграмаванні, распрацоўцы і іншых дысцыплінах.

Крыніца: habr.com

Дадаць каментар