Mail.ru Group 2019-ի տեխնիկական թողարկումը

Mail.ru Group 2019-ի տեխնիկական թողարկումը

Մայիսի վերջին մեր շրջանավարտները Տեխնոպարկի (Bauman MSTU), Technotrack (MIPT), Տեխնոսֆերայի (Լոմոնոսովի անվան Մոսկվայի պետական ​​համալսարան) և Տեխնոպոլիսի (Պետերբուրգի Պետերբուրգի պոլիտեխնիկական համալսարան) մեր շրջանավարտները պաշտպանեցին իրենց դիպլոմային նախագծերը: Աշխատանքի համար հատկացվել է երեք ամիս, և տղաներն իրենց մտքի վրա ներդրել են երկու տարվա ընթացքում ձեռք բերած գիտելիքներն ու հմտությունները։

Ընդհանուր առմամբ, եղել է 13 նախագիծ՝ ուղղված պաշտպանական ոլորտին՝ տարբեր ոլորտներում տարբեր խնդիրներ լուծելու։ Օրինակ:

  • ամպային պահեստավորում՝ ծածկագրային ֆայլերի կոդավորումով;
  • ինտերակտիվ տեսանյութերի ստեղծման հարթակ (տարբեր վերջավորություններով);
  • խելացի տախտակ ցանցով իրական շախմատ խաղալու համար;
  • ճարտարապետություն բժշկական ապրանքների խելացի որոնման համար;
  • Ծրագրային ապահովում տարրական դասարանների երեխաներին ալգորիթմացման հիմունքները սովորեցնելու համար:

Ինչպես նաև բիզնես միավորների նախագծեր.

  • CRM համակարգ TamTam մեսենջերի համար;
  • Odnoklassniki-ի քարտեզի վրա թեմատիկ լուսանկարներ որոնելու վեբ ծառայություն;
  • հասցեի գեոկոդավորման ծառայություն 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-րդ դասարաններ) երեխաները նյութը յուրացնելու խնդիրներ են ունենում։ Բացի այդ, եթե ուսանողները ցանկանում են կատարել առաջադրանքները տանը, նրանք պետք է լրացուցիչ ծրագրեր տեղադրեն իրենց համակարգիչների վրա: Ուսուցիչները պետք է ստուգեն խնդիրների մեծ թվով նմանատիպ լուծումներ, իսկ հեռավար ուսուցման դեպքում պետք է մշակեն նաև սովորողներից առաջադրանքներ ստանալու մեթոդաբանություն։

Block Log նախագծի հեղինակները եկել են այն եզրակացության, որ տարրական դպրոցական տարիքի երեխաներին ալգորիթմացման հիմունքները սովորեցնելիս պետք է շեշտը դնել ոչ թե ծրագրավորման լեզվի հրամանները մտապահելու, այլ ալգորիթմային դիագրամների կառուցման վրա: Սա թույլ կտա ուսանողներին ժամանակ և ջանք ծախսել ալգորիթմի նախագծման վրա, այլ ոչ թե շարահյուսական ծանր կառուցվածքներ մուտքագրելու համար:

Հարթակ Արգելափակման մատյան թույլ է տալիս.

  1. Ստեղծեք և խմբագրեք սխեմաները:
  2. Գործարկեք ստեղծված սխեմաները և տեսեք դրանց աշխատանքի արդյունքը (ելքային տվյալները):
  3. Պահպանեք և բեռնեք ստեղծված նախագծերը:
  4. Նկարել պատկերավոր պատկերներ (երեխայի կողմից ստեղծված ալգորիթմի հիման վրա պատկեր ստեղծելով):
  5. Ստացեք տեղեկատվություն ստեղծված ալգորիթմի բարդության մասին (ելնելով ալգորիթմում կատարված գործողությունների քանակից):

Սպասվում է դերերի բաժանում ուսուցիչների և ուսանողների: Ցանկացած օգտվող ստանում է ուսանողի կարգավիճակ, ուսուցչի կարգավիճակ ստանալու համար դուք պետք է դիմեք համակարգի ադմինիստրատորին: Ուսուցիչը կարող է ոչ միայն մուտքագրել խնդիրների նկարագրություններ և պայմաններ, այլ նաև ստեղծել ավտոմատ թեստեր, որոնք ավտոմատ կերպով կգործարկվեն, երբ աշակերտը խնդրի լուծումը ներկայացնի համակարգ:

Բրաուզերի արգելափակման մատյան խմբագիր.

Mail.ru Group 2019-ի տեխնիկական թողարկումը

Խնդիրը լուծելուց հետո ուսանողը կարող է ներբեռնել լուծումը և տեսնել արդյունքները.

Mail.ru Group 2019-ի տեխնիկական թողարկումը

Պլատֆորմը բաղկացած է Vue.js-ի ճակատային հավելվածից և Ruby on Rails-ի հետին պլանից: PostgreSQL-ն օգտագործվում է որպես տվյալների բազա: Տեղակայումը պարզեցնելու համար համակարգի բոլոր բաղադրիչները փաթեթավորված են Docker կոնտեյներներում և հավաքվում Docker Compose-ի միջոցով: Block Log-ի աշխատասեղանի տարբերակը հիմնված է Electron շրջանակի վրա: Webpack-ն օգտագործվել է JavaScript կոդը ստեղծելու համար:

Նախագծի թիմ՝ Ալեքսանդր Բարուլև, Մաքսիմ Կոլոտովկին, Կիրիլ Կուչերով։

CRM համակարգ TamTam մեսենջերի համար

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-ի համար:

Դրանից հետո մենք նախատեսում ենք ավելացնել.

  • ձեր հեռախոսից վիդեո պատմությունների ստեղծում;
  • ներբեռնված վիդեո հատվածների խմբագրում (օրինակ՝ կտրում);
  • նվագարկիչում ինտերակտիվ գովազդի ստեղծում և գործարկում:

Ծրագրի թիմ՝ Մաքսիմ Մորեն (fullstack ծրագրավորող, աշխատել է նախագծի ճարտարապետության վրա) և Ռոման Մասլով (fullstack մշակող, աշխատել է նախագծի նախագծման վրա):

On-Line-On-Board

Mail.ru Group 2019-ի տեխնիկական թողարկումը

Mail.ru Group 2019-ի տեխնիկական թողարկումը

Այսօր ծնողները մեծ ուշադրություն են դարձնում իրենց երեխաների մտավոր զարգացմանը, իսկ երեխաները հետաքրքրված են ինտելեկտուալ խաղերով։ Ուստի շախմատը կրկին մեծ ժողովրդականություն է վայելում։ Ու թեև շախմատն ընդհանուր առմամբ բավականին տարածված է, խաղերի համար սովորական մրցակից գտնելը խնդրահարույց է։ Հետևաբար, շատերն օգտվում են առցանց շախմատային ծառայություններից, չնայած այն հանգամանքին, որ շատ խաղացողներ նախընտրում են խաղալ «կենդանի» իրական խաղաքարերով: Սակայն շախմատ խաղալիս մարդը մտավոր մեծ ջանքեր է գործադրում ու հոգնում, իսկ այդ հոգնածությունը լրացվում է համակարգչի կամ սմարթֆոնի մոտ նստելու բացասական ազդեցությամբ։ Արդյունքում ուղեղը ծանրաբեռնվում է ընդամենը երկու խաղից հետո։

Այս բոլոր գործոնները հեղինակներին մղել են On-Line-On-Board նախագծի գաղափարին, որը բաղկացած է երեք մասից՝ ֆիզիկական շախմատի տախտակ, աշխատասեղանի հավելված և վեբ ծառայություն: Տախտակը սովորական շախմատային դաշտ է, որը ճանաչում է խաղաքարերի դիրքը և լուսային նշանի օգնությամբ ցույց տալիս հակառակորդի քայլերը։ Տախտակը USB-ի միջոցով միացված է համակարգչին և հաղորդակցվում է աշխատասեղանի հավելվածի հետ: Մարզման ռեժիմում (և երեխաների համար) ձեր հնարավոր քայլերը ընդգծված են:

Հավելվածը ստանձնում է տախտակի կառավարման հիմնական գործառույթները, ինչը թույլ է տալիս զգալիորեն նվազեցնել դրա արժեքը և գործառույթների մեծ մասի իրականացումը հասցնել ծրագրային մակարդակի: Հավելվածը շփվում է վեբ ծառայության հետ, որի հիմնական արժեքը դինամիկ թարմացումն է:

Ապրանքի օգտագործման հիմնական սցենարը՝ մեկ հոգի խաղում է ծառայության վրա, երկրորդը՝ ծառայությանը միացված ֆիզիկական տախտակի վրա։ Այսինքն՝ ծառայությունն իր վրա է վերցնում հաղորդակցական ֆունկցիա։

Նախագծի թիմ՝ Դանիիլ Տուչին, Անտոն Դմիտրիև, Սաշա Կուզնեցով։

Մեր կրթական նախագծերի մասին ավելին կարող եք կարդալ այստեղ Այս հղումը. Եվ ավելի հաճախ այցելեք ալիք Տեխնոստրիմ, այնտեղ պարբերաբար հայտնվում են նոր ուսումնական տեսանյութեր ծրագրավորման, զարգացման և այլ առարկաների մասին։

Source: www.habr.com

Добавить комментарий