Mail.ru Group 2019 техникалық шығарылымы

Mail.ru Group 2019 техникалық шығарылымы

Мамыр айының соңында Технопарк (Бауман атындағы МТУ), Технотрек (МИПТ), Техносфера (Ломоносов атындағы Мәскеу мемлекеттік университеті) және Технополис (Ұлы Петр атындағы Санкт-Петербург политехникалық университеті) университеттерінің түлектері дипломдық жобаларын қорғады. Үш ай жұмысқа бөлініп, жігіттер екі жыл оқу барысында алған білімдері мен дағдыларын өз балаларына салды.

Қорғаныс саласы бойынша әртүрлі салалардағы түрлі мәселелерді шешетін барлығы 13 жоба болды. Мысалы:

  • криптографиялық файлдарды шифрлаумен бұлтты сақтау;
  • интерактивті бейнелерді жасауға арналған платформа (әртүрлі аяқталуы бар);
  • желі арқылы нақты шахмат ойнауға арналған смарт тақта;
  • медициналық бұйымдарды интеллектуалды іздеу архитектурасы;
  • Бастауыш сынып оқушыларын алгоритмдеу негіздеріне оқытуға арналған бағдарламалық қамтамасыз ету.

Сондай-ақ құрылымдық бөлімшелердің жобалары:

  • TamTam мессенджеріне арналған CRM жүйесі;
  • Одноклассники картасынан тақырыптық фотосуреттерді іздеуге арналған веб-сервис;
  • MAPS.ME үшін мекенжай геокодтау қызметі.

Бүгін біз түлектеріміздің бес жобасы туралы толығырақ айтып береміз.

Медициналық мақалаларды интеллектуалды іздеу

Mail.ru Group 2019 техникалық шығарылымы

Ғылыми салада көптеген салалар бар, олардың әрқайсысы бойынша зерттеулер жүргізіледі, сан алуан журналдарда көптеген мақалалар жарияланады. Бұл ақпараттық технологиялар, физика, математика, биология, медицина және тағы басқалар.

авторлар жоба медицина саласына көңіл бөлуді ұйғарды. Медициналық тақырыптағы мақалалардың барлығы дерлік PubMed порталында жинақталған. Портал өз іздеуін қамтамасыз етеді. Алайда оның мүмкіндіктері өте шектеулі. Сондықтан, жігіттер іздеу жүйесін жетілдірді, ұзақ сұрауларға қолдау көрсетті және тақырыпты модельдеу арқылы сұрауларды нақтылау мүмкіндігін қосты.

Mail.ru Group 2019 техникалық шығарылымы
SERP құрамында тақырыптары анықталған құжаттардың реттелген тізімі бар және осы тақырыптарға қатысты сөздер мен терминдер ықтималдық тақырыпты модельдеу арқылы бөлектеледі. Пайдаланушы іздеу сұрауын тарылту үшін бөлектелген терминдерді баса алады.

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 файлдарын іздеу.
  • Мәтінді семантикалық сегментациялау.
  • Уақыт өте келе тақырыптар мен трендтерді қадағалаңыз.

Жоба тобы: Федор Петряйкин, Владислав Дорожинский, Максим Находнов, Максим Филин

Блок журналы

Mail.ru Group 2019 техникалық шығарылымы

Бүгінгі таңда бағдарламалау мен информатиканы оқыту кезінде бастауыш мектеп жасындағы (5–7 сыныптар) балалар материалды меңгеруде қиындықтарға тап болады. Сонымен қатар, егер оқушылар тапсырмаларды үйде орындағысы келсе, компьютерлеріне қосымша бағдарламалық құрал орнатуы керек. Мұғалімдер есептердің көптеген ұқсас шешімдерін тексеруі керек, ал қашықтан оқыту жағдайында олар да студенттерден тапсырмалар алу әдістемесін әзірлеуі керек.

«Блок журналы» жобасының авторлары мынадай қорытындыға келді: бастауыш мектеп жасындағы балаларды алгоритмдеу негіздеріне үйрету кезінде бағдарламалау тілінің командаларын есте сақтауға емес, алгоритм диаграммаларын құруға баса назар аудару керек. Бұл студенттерге қиын синтаксистік құрылымдарды теруге емес, алгоритмді жобалауға уақыт пен күш жұмсауға мүмкіндік береді.

Платформа Блок журналы сізге мүмкіндік береді:

  1. Блок-схемаларды құру және өңдеу.
  2. Құрылған блок-схемаларды іске қосыңыз және олардың жұмысының нәтижесін қараңыз (шығыс деректері).
  3. Жасалған жобаларды сақтаңыз және жүктеңіз.
  4. Растрлық кескіндерді салу (бала жасаған алгоритм негізінде кескінді құру).
  5. Құрылған алгоритмнің күрделілігі туралы ақпарат алу (алгоритмде орындалатын амалдар саны негізінде).

Рөлдерді мұғалімдер мен студенттерге бөлу күтілуде. Кез келген пайдаланушы студент мәртебесін алады, мұғалім мәртебесін алу үшін жүйе әкімшісіне хабарласу керек. Мұғалім тапсырмалардың сипаттамасы мен шарттарын енгізіп қана қоймай, сонымен қатар студент жүйеге есептің шешімін берген кезде автоматты түрде іске қосылатын автоматтандырылған сынақтарды жасай алады.

Браузер блогының журнал редакторы:

Mail.ru Group 2019 техникалық шығарылымы

Есепті шешкеннен кейін студент шешімді жүктеп алып, нәтижелерін көре алады:

Mail.ru Group 2019 техникалық шығарылымы

Платформа Vue.js ішіндегі фронтальды қолданбадан және Ruby on Rails ішіндегі бэк-соңғы қолданбадан тұрады. Деректер базасы ретінде PostgreSQL қолданылады. Орналастыруды жеңілдету үшін барлық жүйе құрамдастары Docker контейнерлеріне оралып, Docker Compose көмегімен жиналады. Блок журналының жұмыс үстелі нұсқасы Electron құрылымына негізделген. Webpack JavaScript кодын құру үшін пайдаланылды.

Жоба тобы: Александр Барулев, Максим Колотовкин, Кирилл Кучеров.

TamTam мессенджеріне арналған CRM жүйесі

Mail.ru Group 2019 техникалық шығарылымы

CRM - бұл бизнес пен TamTam пайдаланушылары арасындағы ыңғайлы өзара әрекеттесу құралы. Келесі функциялар жүзеге асырылды:

  • Бағдарламалау дағдыларынсыз боттарды жасауға мүмкіндік беретін бот конструкторы. Бірнеше минуттан кейін сіз пайдаланушыларға кейбір ақпаратты көрсетіп қана қоймай, сонымен қатар деректерді жинай алатын толық жұмыс істейтін ботты ала аласыз. әкімші кейінірек көре алатын файлдар.
  • RSS. RSS-ті кез келген арнаға оңай қосуға болады.
  • Кешіктірілген жариялау. Хабарларды алдын ала белгіленген уақытта жіберуге және жоюға мүмкіндік береді.

Сондай-ақ команда Bot API тестілеуіне қатысты, мысалы, хоккейден 2019 жылғы әлем чемпионатына арналған бот, біздің қызметімізде тіркеу/авторизацияға арналған бот және CI/CD үшін бот сияқты бірнеше өздігінен жазылған боттарды жасады.

Шешім инфрақұрылымы:

  • Басқару серверінде мәселені тез және ыңғайлы анықтау және оны шешу, әртүрлі көрсеткіштер мен пайдалану статистикасын көру үшін әрбір сервер мен ондағы әрбір Docker контейнері үшін бақылау жүйесі бар. Біздің қолданбаның конфигурациясын қашықтан басқару жүйесі де бар.
  • Кезеңдік серверде әзірлеу тобының жалпы тестілеуі үшін қолжетімді қолданбамыздың ағымдағы нұсқасы бар.
  • Басқару және кезеңдік серверлер әзірлеушілерге VPN арқылы ғана қолжетімді, ал өндіріс серверінде қолданбаның шығарылым нұсқасы бар. Ол әзірлеушілердің қолынан оқшауланған және тек соңғы пайдаланушыға қол жетімді.
  • CI/CD жүйесі Github және Travis көмегімен жүзеге асырылды, хабарландыру TamTam-да реттелетін бот арқылы жүзеге асырылды.

Mail.ru Group 2019 техникалық шығарылымы

Қолданбаның архитектурасы модульдік шешім болып табылады. Қолданба, дерекқор, конфигурация менеджері және бақылау бөлек Docker контейнерлерінде іске қосылады, бұл іске қосу ортасынан абстракциялауға, бөлек контейнерді өзгертуге немесе қайта іске қосуға мүмкіндік береді. Желілік топологияны құру және контейнерлерді басқару Docker Compose көмегімен орындалады.

Mail.ru Group 2019 техникалық шығарылымы

Жоба тобы: Алексей Антуфьев, Егор Горбатов, Алексей Котелевский.

ForkMe

Mail.ru Group 2019 техникалық шығарылымы

ForkMe жобасы - интерактивті бейнелерді көруге арналған платформа, онда сіз өз бейнеңізді жасап, оны достарыңызға көрсете аласыз. Кәдімгі бейнелер болса, бізге интерактивті бейнелер не үшін қажет?

Бейненің сызықты емес сюжеті және жалғасын таңдау мүмкіндігі көрерменнің қатысуына мүмкіндік береді, ал контент жасаушылар сюжеті пайдаланушылардың әсерінен болатын бірегей оқиғаларды көрсете алады. Сондай-ақ, контент жасаушылар бейне түрлендіру статистикасын зерттей отырып, аудиторияны нені қызықтыратынын түсініп, материалдарды тартымды ете алады.

Жобаны әзірлеу кезінде жігіттер көптеген көріністер мен жақсы пікірлер алған Netflix-тен Bandersnatch интерактивті фильмінен шабыттанды. MVP жазылған кезде, Youtube интерактивті сериялар платформасын іске қосуды жоспарлап жатқаны туралы жаңалықтар пайда болды, бұл осы бағыттың танымалдылығын тағы бір рет растайды.

MVP мыналарды қамтиды: интерактивті ойнатқыш, бейне конструктор, мазмұн және тегтер бойынша іздеу, бейне жинақтары, пікірлер, көріністер, рейтингтер, арна және пайдаланушы профильдері.

Mail.ru Group 2019 техникалық шығарылымы

Жобада қолданылатын технологиялық стек:

Mail.ru Group 2019 техникалық шығарылымы

Жобаны әзірлеу қалай жоспарлануда:

  • бейнеге көшу туралы статистикалық және инфографика жинағы;
  • сайт пайдаланушылары үшін хабарламалар мен жеке хабарламалар;
  • Android және iOS үшін нұсқалар.

Осыдан кейін біз қосуды жоспарлап отырмыз:

  • телефоннан бейне әңгімелер жасау;
  • жүктелген бейне фрагменттерін өңдеу (мысалы, кесу);
  • ойнатқышта интерактивті жарнаманы құру және іске қосу.

Жоба командасы: Максим Морев (толық әзірлеуші, жоба архитектурасында жұмыс істеді) және Роман Маслов (фулсттек әзірлеуші, жобаның дизайнымен жұмыс істеді).

On-Line-On-Board

Mail.ru Group 2019 техникалық шығарылымы

Mail.ru Group 2019 техникалық шығарылымы

Бүгінгі таңда ата-аналар балаларының психикалық дамуына үлкен көңіл бөледі, ал балаларды интеллектуалды ойындар қызықтырады. Сондықтан шахмат қайтадан танымал бола бастады. Жалпы шахмат өте танымал болғанымен, ойындарға тұрақты қарсылас табу қиын. Сондықтан, көптеген ойыншылар нақты фигуралармен «тірі» ойнауды қалайтынына қарамастан, көптеген адамдар онлайн шахмат қызметтерін пайдаланады. Дегенмен, шахмат ойнаған кезде адам көп ақыл-ой күшін салып, шаршайды және бұл шаршау компьютер немесе смартфонда отырудың кері әсерімен толықтырылады. Нәтижесінде екі ойыннан кейін ми шамадан тыс жүктеледі.

Осы факторлардың барлығы авторларды үш бөліктен тұратын On-Line-On-Board жобасының идеясына итермеледі: физикалық шахмат тақтасы, жұмыс үстелі қосымшасы және веб-сервис. Тақта – фигуралар орнын танитын және жеңіл индикатордың көмегімен қарсыластың жүрістерін көрсететін кәдімгі шахмат алаңы. Тақта компьютерге USB арқылы қосылған және жұмыс үстелі қолданбасымен байланысады. Жаттығу режимінде (және балалар үшін) ықтимал қозғалыстарыңыз бөлектеледі.

Қолданба тақтаны басқарудың негізгі функцияларын алады, бұл оның құнын айтарлықтай төмендетуге және көптеген функциялардың орындалуын бағдарламалық қамтамасыз ету деңгейіне жеткізуге мүмкіндік береді. Қолданба негізгі мәні динамикалық жаңарту болып табылатын веб-қызметпен байланысады.

Өнімді пайдаланудың негізгі сценарийі: бір адам қызметте, екіншісі қызметке қосылған физикалық тақтада ойнайды. Яғни, қызмет коммуникативті функцияны алады.

Жоба тобы: Даниил Тучин, Антон Дмитриев, Саша Кузнецов.

Біздің білім беру жобаларымыз туралы толығырақ мына жерден оқи аласыз бұл сілтеме. Және арнаға жиі кіріңіз Технострим, онда бағдарламалау, әзірлеу және басқа пәндер туралы жаңа білім беру бейнелері үнемі шығады.

Ақпарат көзі: www.habr.com

пікір қалдыру