Mail.ru группын 2019 оны техникийн дугаар

Mail.ru группын 2019 оны техникийн дугаар

Тавдугаар сарын сүүлчээр Технопарк (Бауманы нэрэмжит МСТУ), Технотрек (MIPT), Техносфер (Ломоносовын нэрэмжит Москвагийн Улсын Их Сургууль), Технополис (Их Петрийн нэрэмжит Санкт-Петербургийн Политехникийн Их Сургууль) зэрэг төгсөгчид дипломын төслөө хамгааллаа. Гурван сарыг ажилд хуваарилж, залуус хоёр жилийн хугацаанд олж авсан мэдлэг, ур чадвараа оюун ухаандаа зориулжээ.

Батлан ​​​​хамгаалах чиглэлээр нийтдээ 13 төсөл хэрэгжиж, янз бүрийн салбарын янз бүрийн асуудлыг шийдвэрлэсэн. Жишээлбэл:

  • криптограф файлын шифрлэлт бүхий үүл хадгалах сан;
  • интерактив видео үүсгэх платформ (өөр өөр төгсгөлтэй);
  • сүлжээгээр жинхэнэ шатар тоглох ухаалаг самбар;
  • эмнэлгийн нийтлэлийг ухаалаг олж авах архитектур;
  • Бага ангийн хүүхдүүдэд алгоритмчлалын үндсийг заах программ хангамж.

Мөн бизнесийн нэгжүүдийн төслүүд:

  • TamTam мессенжерийн CRM систем;
  • Одноклассники дахь газрын зураг дээр сэдэвчилсэн зураг хайх вэб үйлчилгээ;
  • MAPS.ME-д зориулсан хаягийн геокодлох үйлчилгээ.

Өнөөдөр бид төгсөгчдийнхээ таван төслийн талаар илүү дэлгэрэнгүй ярих болно.

Эмнэлгийн нийтлэлийг ухаалаг хайх

Mail.ru группын 2019 оны техникийн дугаар

Шинжлэх ухааны салбарт олон чиглэлүүд байдаг бөгөөд тэдгээр нь тус бүр дээр судалгаа явуулдаг, олон тооны нийтлэлүүд янз бүрийн сэтгүүлд нийтлэгддэг. Эдгээр нь мэдээллийн технологи, физик, математик, биологи, анагаах ухаан болон бусад олон зүйл юм.

зохиогчид төсөл анагаах ухааны салбарт анхаарлаа хандуулахаар шийдсэн. Эмнэлгийн сэдвээр бараг бүх нийтлэлийг PubMed портал дээр цуглуулдаг. Портал нь өөрийн хайлтыг өгдөг. Гэсэн хэдий ч түүний боломжууд маш хязгаарлагдмал байдаг. Тиймээс залуус хайлтын системийг сайжруулж, урт асуулгад дэмжлэг үзүүлж, сэдвийн загварчлалыг ашиглан асуулгыг боловсронгуй болгох чадварыг нэмэгдүүлсэн.

Mail.ru группын 2019 оны техникийн дугаар
SERP нь сэдвүүдийг тодорхойлсон баримт бичгийн эрэмбэлэгдсэн жагсаалтыг агуулсан бөгөөд эдгээр сэдэвтэй холбоотой үг, нэр томьёог магадлалын сэдвийн загварчлалын тусламжтайгаар тодруулсан болно. Хэрэглэгч тодруулсан нэр томъёонууд дээр дарж хайлтын асуулгыг нарийсгаж болно.

Mail.ru группын 2019 оны техникийн дугаар
PubMed-ийн асар том мэдээллийн сангаас хурдан хайлт хийхийн тулд зохиогчид өөрсдийн хайлтын системийг ямар ч дэд бүтцэд хялбархан нэгтгэх боломжтой болгосон.

Хайлт гурван үе шаттайгаар явагдана.

  1. Нэр дэвшигчийн баримт бичгийг урвуу индекс ашиглан сонгоно.
  2. Нэр дэвшигчдийг эрэмбэлсэн BM25F алгоритм нь хайлтын явцад баримт бичгийн янз бүрийн талбаруудыг харгалзан үздэг. Тиймээс гарчиг дахь үгс нь хийсвэр үгсээс илүү жинтэй байдаг.
  3. Мөн байнгын хүсэлтийн боловсруулалтыг хурдасгахын тулд кэшийн системийг ашигладаг.

Mail.ru группын 2019 оны техникийн дугаар

Микро үйлчилгээний архитектур:

Mail.ru группын 2019 оны техникийн дугаар
Үндсэндээ бүтэцлэгдсэн текст өгөгдлийг үйлчилгээнүүдийн хооронд дамжуулдаг. Өндөр дамжуулах хурдны хувьд GRPC ашигладаг - микро үйлчилгээний архитектурт модулиудыг холбох хүрээ. Мэдээллийн цувааг мөн Protobuf мессеж солилцох форматыг ашиглан ашигладаг.

Системд ямар бүрэлдэхүүн хэсгүүд орно:

  • Node.js дээр ирж буй хэрэглэгчийн хүсэлтийг боловсруулах сервер.
  • Nginx прокси сервер ашиглан тэнцвэржүүлэх хүсэлтийг ачаална уу.
  • Flask сервер нь REST API-г хэрэгжүүлж, Node.js-с дамжуулсан хүсэлтийг хүлээн авдаг.
  • Бүх түүхий болон боловсруулсан өгөгдөл, түүнчлэн асуулгын мэдээлэл MongoDB-д хадгалагддаг.
  • Баримт бичгийн сэдэвчилсэн холбогдох үр дүнгийн бүх хүсэлт RabbitMQ руу очно.

Хайлтын үр дүнгийн жишээ:

Mail.ru группын 2019 оны техникийн дугаар

Бид цаашид юу хийхээр төлөвлөж байна:

  • Өгөгдсөн сэдвээр тойм бичихэд өгөх зөвлөмж (баримт бичгийн чухал сэдвүүдийг тодорхойлох, баримт бичгийн дэд бүлгүүдийг хайх).
  • PDF файл хайх.
  • Текстийн семантик сегментчилэл.
  • Цаг хугацааны туршид сэдэв, чиг хандлагыг хянах.

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

Бүртгэлийг блоклох

Mail.ru группын 2019 оны техникийн дугаар

Өнөөдөр бага сургуулийн насны хүүхдүүд (5-7-р анги) програмчлал, компьютерийн шинжлэх ухааныг заахдаа материалыг эзэмшихэд бэрхшээлтэй байдаг. Түүнчлэн хэрэв оюутнууд гэртээ даалгавраа гүйцэтгэхийг хүсвэл компьютер дээрээ нэмэлт программ суулгах шаардлагатай болдог. Багш нар асуудлыг шийдэх олон тооны ижил төстэй шийдлүүдийг шалгаж, зайн сургалтын хувьд оюутнуудаас даалгавар авах арга зүйг боловсруулах шаардлагатай болдог.

"Block Log" төслийн зохиогчид бага сургуулийн насны хүүхдүүдэд алгоритмчлалын үндсийг заахдаа програмчлалын хэлний командыг цээжлэх биш, харин алгоритмын диаграммыг бүтээхэд анхаарлаа хандуулах хэрэгтэй гэсэн дүгнэлтэд хүрчээ. Энэ нь оюутнуудад төвөгтэй синтаксик бүтцээр бичихээс илүүтэйгээр алгоритм зохиоход цаг хугацаа, хүчин чармайлт гаргах боломжийг олгоно.

Платформ Бүртгэлийг блоклох зөвшөөрдөг:

  1. Урсгал диаграмм үүсгэх, засварлах.
  2. Үүсгэсэн схемийг ажиллуулж, ажлын үр дүнг харна уу (гаралтын өгөгдөл).
  3. Үүсгэсэн төслүүдийг хадгалах, ачаалах.
  4. Растер зураг зурах (хүүхдийн бүтээсэн алгоритм дээр үндэслэн зураг үүсгэх).
  5. Үүсгэсэн алгоритмын нарийн төвөгтэй байдлын талаархи мэдээллийг хүлээн авах (алгоритмд гүйцэтгэсэн үйлдлийн тоонд үндэслэн).

Багш, оюутнуудад үүрэг хуваах төлөвтэй байна. Аливаа хэрэглэгч оюутны статусыг хүлээн авдаг бөгөөд багшийн статусыг авахын тулд та системийн админтай холбоо барих ёстой. Багш нь асуудлын тодорхойлолт, нөхцөлийг оруулаад зогсохгүй, оюутны асуудлын шийдлийг системд оруулах үед автоматаар эхлүүлэх автомат тестийг үүсгэж болно.

Хөтөч блоклох бүртгэлийн засварлагч:

Mail.ru группын 2019 оны техникийн дугаар

Асуудлыг шийдсэний дараа оюутан шийдлийг татаж аваад үр дүнг харах боломжтой.

Mail.ru группын 2019 оны техникийн дугаар

Уг платформ нь Vue.js-ийн урд талын хэрэглүүр болон Ruby on Rails-ийн арын програмаас бүрдэнэ. PostgreSQL-ийг мэдээллийн сан болгон ашигладаг. Байршлыг хялбарчлахын тулд системийн бүх бүрэлдэхүүн хэсгүүдийг Docker контейнерт савлаж, Docker Compose ашиглан угсардаг. Block Log-ийн ширээний хувилбар нь Electron framework дээр суурилдаг. JavaScript кодыг бүтээхэд Webpack ашигласан.

Төслийн баг: Александр Барулев, Максим Колотовкин, Кирилл Кучеров.

TamTam мессенжерт зориулсан CRM систем

Mail.ru группын 2019 оны техникийн дугаар

CRM нь бизнесүүд болон TamTam хэрэглэгчдийн хооронд тохиромжтой харилцах хэрэгсэл юм. Дараах чиг үүргийг хэрэгжүүлэв.

  • Програмчлалын ур чадваргүйгээр робот үүсгэх боломжийг олгодог бот бүтээгч. Хэдэн минутын дотор та зөвхөн хэрэглэгчдэд зарим мэдээллийг харуулах төдийгүй мэдээлэл цуглуулах боломжтой бүрэн ажилладаг роботыг авах боломжтой. администраторын дараа үзэх боломжтой файлууд.
  • RSS. Та RSS-ийг дурын суваг руу хялбархан холбож болно.
  • Нийтлэлийг хойшлуулсан. Урьдчилан тогтоосон цагт мессеж илгээх, устгах боломжийг танд олгоно.

Мөн баг нь Bot API-г турших ажилд оролцож, 2019 оны хоккейн дэлхийн аварга шалгаруулах тэмцээний бот, манай үйлчилгээнд бүртгүүлэх/зөвшөөрөл олгох бот, CI/CD-д зориулсан бот зэрэг өөрөө бичсэн хэд хэдэн роботуудыг бүтээсэн.

Шийдлийн дэд бүтэц:

  • Удирдлагын сервер нь асуудлыг хурдан бөгөөд хялбархан илрүүлж, шийдвэрлэх, янз бүрийн хэмжигдэхүүн, хэрэглээний статистикийг үзэхийн тулд сервер тус бүр болон түүн дээрх Docker контейнер бүрт хяналтын системийг агуулдаг. Манай програмын алсын тохиргоог удирдах систем бас бий.
  • Тайлбарын сервер нь манай програмын одоогийн хувилбарыг агуулж байгаа бөгөөд хөгжүүлэлтийн багийн ерөнхий туршилтад ашиглах боломжтой.
  • Удирдлагын болон үе шатны серверүүдийг зөвхөн VPN-ээр дамжуулан хөгжүүлэгчид ашиглах боломжтой бөгөөд үйлдвэрлэлийн сервер нь програмын хувилбарыг агуулдаг. Энэ нь хөгжүүлэгчдийн гараас тусгаарлагдсан бөгөөд зөвхөн эцсийн хэрэглэгчдэд боломжтой.
  • CI/CD системийг Github болон Travis ашиглан хэрэгжүүлсэн бөгөөд мэдэгдлийг TamTam дахь тусгай робот ашиглан хийсэн.

Mail.ru группын 2019 оны техникийн дугаар

Хэрэглээний архитектур нь модульчлагдсан шийдэл юм. Аппликейшн, мэдээллийн сан, тохиргооны менежер, хяналтыг тусдаа Docker контейнерт ажиллуулдаг бөгөөд энэ нь эхлүүлэх орчноос ангижрах, тусдаа контейнерийг өөрчлөх эсвэл дахин эхлүүлэх боломжийг олгодог. Сүлжээний топологи үүсгэх, контейнеруудыг удирдах нь Docker Compose ашиглан хийгддэг.

Mail.ru группын 2019 оны техникийн дугаар

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

ForkMe

Mail.ru группын 2019 оны техникийн дугаар

ForkMe төсөл нь интерактив видео үзэх платформ бөгөөд та өөрийн видеог үүсгэж, найзууддаа үзүүлэх боломжтой. Байнгын видеонууд байгаа бол яагаад бидэнд интерактив видео хэрэгтэй байна вэ?

Видеоны шугаман бус өрнөл, үргэлжлэлийг өөрсдөө сонгох чадвар нь үзэгчийг татан оролцуулах боломжийг олгодог бөгөөд контент бүтээгчид өвөрмөц түүхийг харуулах боломжтой бөгөөд тэдгээрийн өрнөл нь хэрэглэгчдийн нөлөөнд автдаг. Мөн контент бүтээгчид видео хөрвүүлэх статистикийг судалснаар үзэгчдийн сонирхлыг хамгийн их татдаг зүйлийг ойлгож, материалыг илүү сонирхолтой болгох боломжтой болно.

Төслийг боловсруулахдаа залуус Netflix-ийн Bandersnatch интерактив киноноос санаа авсан бөгөөд энэ нь маш олон үзэл бодол, сайн үнэлгээ авсан. MVP-ийг аль хэдийн бичиж байх үед Youtube интерактив цуврал платформ гаргахаар төлөвлөж байгаа тухай мэдээ гарсан нь энэ чиглэлийн алдартай болохыг дахин баталж байна.

MVP-д: интерактив тоглуулагч, видео бүтээгч, контент болон шошгоор хайх, видео цуглуулга, сэтгэгдэл, үзэл бодол, үнэлгээ, суваг болон хэрэглэгчийн профайл орно.

Mail.ru группын 2019 оны техникийн дугаар

Төсөлд ашигласан технологийн стек:

Mail.ru группын 2019 оны техникийн дугаар

Төслийг хэрхэн хөгжүүлэхээр төлөвлөж байна вэ?

  • видео руу шилжих талаархи статистик мэдээлэл, инфографик цуглуулах;
  • сайтын хэрэглэгчдэд зориулсан мэдэгдэл, хувийн мессеж;
  • Android болон iOS-д зориулсан хувилбарууд.

Үүний дараа бид нэмэхээр төлөвлөж байна:

  • утаснаасаа видео түүх үүсгэх;
  • татаж авсан видеоны хэсгүүдийг засварлах (жишээ нь шүргэх);
  • тоглуулагч дээр интерактив зар сурталчилгаа үүсгэх, эхлүүлэх.

Төслийн баг: Максим Морев (төслийн архитектур дээр ажилласан) болон Роман Маслов (бүрэн стак хөгжүүлэгч, төслийн дизайн дээр ажилласан).

On-Line-On-Board

Mail.ru группын 2019 оны техникийн дугаар

Mail.ru группын 2019 оны техникийн дугаар

Өнөөдөр эцэг эхчүүд хүүхдийнхээ оюун ухааны хөгжилд ихээхэн анхаарал хандуулж, хүүхдүүд оюуны тоглоомыг сонирхож байна. Тиймээс шатар дахин алдаршиж байна. Шатар ерөнхийдөө нэлээд түгээмэл байдаг ч тоглоомын байнгын өрсөлдөгч олох нь асуудалтай байдаг. Тиймээс олон тоглогчид бодит хэсгүүдээр "амьд" тоглохыг илүүд үздэг ч олон хүмүүс онлайн шатрын үйлчилгээг ашигладаг. Харин шатар тоглохдоо хүн оюун санааны их хүч чармайлт гаргаж, ядарч туйлддаг бөгөөд энэ ядаргаа нь компьютер, ухаалаг гар утасны ард суусны сөрөг нөлөөгөөр нэмэгддэг. Үүний үр дүнд хоёрхон тоглолтын дараа тархи хэт ачаалалтай болдог.

Эдгээр бүх хүчин зүйлүүд нь физик шатрын самбар, ширээний програм, вэб үйлчилгээ гэсэн гурван хэсгээс бүрдэх "On-Line-On-Board" төслийн санааг зохиогчдод түлхсэн. Самбар нь ердийн шатрын талбай бөгөөд хэсгүүдийн байрлалыг таньж, гэрлийн дохионы тусламжтайгаар өрсөлдөгчийнхөө нүүдлийг зааж өгдөг. Уг самбар нь USB-ээр компьютерт холбогдож, ширээний программтай холбогддог. Сургалтын горимд (болон хүүхдүүдэд) таны боломжит хөдөлгөөнийг тодруулсан болно.

Энэхүү програм нь самбарыг удирдах үндсэн чиг үүргийг гүйцэтгэдэг бөгөөд энэ нь түүний өртөгийг ихээхэн бууруулж, ихэнх функцүүдийн хэрэгжилтийг програм хангамжийн түвшинд хүргэх боломжийг олгодог. Энэхүү програм нь динамик шинэчлэлтийн гол үнэ цэнэ болох вэб үйлчилгээтэй холбогддог.

Бүтээгдэхүүнийг ашиглах гол хувилбар: нэг хүн үйлчилгээнд, хоёр дахь нь үйлчилгээнд холбогдсон физик самбар дээр тоглодог. Өөрөөр хэлбэл, үйлчилгээ нь харилцааны чиг үүргийг гүйцэтгэдэг.

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

Та манай боловсролын төслүүдийн талаар дэлгэрэнгүй унших боломжтой энэ холбоос. Мөн сувагт илүү олон удаа зочилно уу Технострим, програмчлал, хөгжүүлэлт болон бусад салбаруудын талаархи боловсролын шинэ видеонууд тэнд тогтмол гарч ирдэг.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх