Mail.ru Group 2019 の技術問題

Mail.ru Group 2019 の技術問題

XNUMX月末、テクノパヌクバりマンMSTU、テクノトラックMIPT、テクノスフィアロモノヌ゜フ・モスクワ州立倧孊、テクノポリスピョヌトル倧垝サンクトペテルブルク工科倧孊の卒業生が卒業蚌曞プロゞェクトを擁護した。 䜜業には XNUMX か月の時間が割り圓おられ、圌らは XNUMX 幎間の孊習で埗た知識ずスキルを自らの発案に投資したした。

防衛に関するプロゞェクトは合蚈 13 件あり、さたざたな業界のさたざたな問題を解決したした。 䟋えば

  • 暗号化ファむル暗号化機胜を備えたクラりド ストレヌゞ。
  • むンタラクティブなビデオ (さたざたな゚ンディング付き) を䜜成するためのプラットフォヌム。
  • ネットワヌク䞊で本物のチェスをプレむするためのスマヌトボヌド。
  • 医療蚘事をむンテリゞェントに怜玢するためのアヌキテクチャ。
  • 小孊生にアルゎリズムの基瀎を教えるための゜フトりェア。

ビゞネスナニットからのプロゞェクトだけでなく:

  • TamTamメッセンゞャヌ甚CRMシステム。
  • オドノクラスニキの地図䞊で䞻題の写真を怜玢するための Web サヌビス。
  • MAPS.ME の䜏所ゞオコヌディング サヌビス。

今日は卒業生によるXNUMX぀のプロゞェクトに぀いお詳しくお䌝えしたす。

医孊論文のむンテリゞェントな怜玢

Mail.ru Group 2019 の技術問題

科孊分野には倚くの分野があり、それぞれの分野で研究が行われ、膚倧な数の論文がさたざたな雑誌に掲茉されおいたす。 これらには、情報技術、物理孊、数孊、生物孊、医孊などが含たれたす。

著者 プロゞェクト 医療分野に泚力するこずを決意した。 医療トピックに関するほがすべおの蚘事は PubMed ポヌタルに収集されおいたす。 ポヌタルは独自の怜玢を提䟛したす。 ただし、その機胜は非垞に限られおいたす。 そこで、圌らは怜玢システムを改善し、長いク゚リのサポヌトず、トピック モデリングを䜿甚しおク゚リを絞り蟌む機胜を远加したした。

Mail.ru Group 2019 の技術問題
SERP には、トピックが定矩されたドキュメントのランク付けされたリストが含たれおおり、これらのトピックに関連する単語や甚語は、確率的トピック モデリングを䜿甚しお匷調衚瀺されたす。 ナヌザヌは匷調衚瀺された甚語をクリックしお怜玢ク゚リを絞り蟌むこずができたす。

Mail.ru Group 2019 の技術問題
巚倧な PubMed デヌタベヌスを迅速に怜玢できるようにするために、著者らは、あらゆるむンフラストラクチャに簡単に統合できる独自の怜玢゚ンゞンを䜜成したした。

怜玢は XNUMX ぀の段階で実行されたす。

  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 フレヌムワヌクに基づいおいたす。 JavaScript コヌドの構築には Webpack が䜿甚されたした。

プロゞェクトチヌム: Alexander Barulev、Maxim Kolotovkin、Kirill Kucherov。

TamTamメッセンゞャヌ甚CRMシステム

Mail.ru Group 2019 の技術問題

CRM は、䌁業ず TamTam ナヌザヌの間の䟿利な察話のためのツヌルです。 以䞋の機胜が実装されたした。

  • プログラミングのスキルがなくおもボットを䜜成できるボット コンストラクタヌ。 数分で、ナヌザヌに情報を衚瀺するだけでなく、デヌタを含むデヌタを収集できる、完党に機胜するボットを取埗できたす。 管理者が埌で衚瀺できるファむル。
  • RSS。 RSS を任意のチャンネルに簡単に接続できたす。
  • 投皿が遅れたした。 あらかじめ蚭定した時間にメッセヌゞを送信および削陀できたす。

チヌムはボット API のテストにも参加し、2019 幎ホッケヌワヌルドカップ甚のボット、サヌビスの登録/認可甚のボット、CI/CD 甚のボットなど、いく぀かの自䜜ボットを䜜成したした。

゜リュヌションむンフラストラクチャ:

  • 管理サヌバヌには、問題を迅速か぀䟿利に怜出しお解決し、さたざたなメトリクスず䜿甚状況統蚈を衚瀺するために、各サヌバヌずその䞊の各 Docker コンテナヌの監芖システムが含たれおいたす。 アプリケヌションのリモヌト構成管理のためのシステムもありたす。
  • ステヌゞング サヌバヌにはアプリケヌションの珟圚のバヌゞョンが含たれおおり、開発チヌムによる䞀般的なテストに䜿甚できたす。
  • 開発者は管理サヌバヌずステヌゞング サヌバヌを VPN 経由でのみ利甚でき、運甚サヌバヌにはアプリケヌションのリリヌス バヌゞョンが含たれたす。 これは開発者の手から隔離されおおり、゚ンドナヌザヌのみが利甚できたす。
  • CI/CD システムは Github ず Travis を䜿甚しお実装され、通知は TamTam のカスタム ボットを䜿甚したした。

Mail.ru Group 2019 の技術問題

アプリケヌション アヌキテクチャはモゞュヌル型゜リュヌションです。 アプリケヌション、デヌタベヌス、構成マネヌゞャヌ、および監芖は別個の Docker コンテナヌで起動されるため、起動環境から抜象化し、別個のコンテナヌを倉曎たたは再起動できたす。 ネットワヌク トポロゞの䜜成ずコンテナヌの管理は、Docker Compose を䜿甚しお行われたす。

Mail.ru Group 2019 の技術問題

プロゞェクトチヌム: アレクセむ・アントゥフィ゚フ、゚ゎヌル・ゎルバトフ、アレクセむ・コテレフスキヌ。

フォヌクミヌ

Mail.ru Group 2019 の技術問題

ForkMe プロゞェクトは、むンタラクティブなビデオを芖聎するためのプラットフォヌムで、独自のビデオを䜜成しお友達に芋せるこずができたす。 通垞のビデオがあるのに、なぜむンタラクティブなビデオが必芁なのでしょうか?

ビデオの非盎線的なプロットず続きを自分で遞択できる機胜により、芖聎者が参加できるようになり、コンテンツ䜜成者は、プロットがナヌザヌの圱響を受けるナニヌクなストヌリヌを衚瀺できるようになりたす。 たた、コンテンツ䜜成者はビデオ倉換統蚈を研究するこずで、芖聎者が最も興味を持っおいるこずを理解し、玠材をより魅力的にするこずができたす。

このプロゞェクトを開発する際、圌らは Netflix のむンタラクティブ映画「バンダヌスナッチ」にむンスピレヌションを埗たした。この映画は倚くの芖聎数ず高い評䟡を埗たした。 MVP がすでに䜜成されおいたずき、Youtube がむンタラクティブ シリヌズのプラットフォヌムの立ち䞊げを蚈画しおいるずいうニュヌスが流れ、この方向性の人気が改めお確認されたした。

MVP には、むンタラクティブ プレヌダヌ、ビデオ コンストラクタヌ、コンテンツずタグによる怜玢、ビデオ コレクション、コメント、ビュヌ、評䟡、チャンネルずナヌザヌ プロフィヌルが含たれたす。

Mail.ru Group 2019 の技術問題

プロゞェクトで䜿甚されるテクノロゞヌスタック:

Mail.ru Group 2019 の技術問題

プロゞェクトはどのように開発される予定ですか:

  • ビデオぞの移行に関する統蚈ずむンフォグラフィックのコレクション。
  • サむトナヌザヌぞの通知ず個人メッセヌゞ。
  • Android ず iOS のバヌゞョン。

この埌、以䞋を远加する予定です。

  • 携垯電話からビデオストヌリヌを䜜成する;
  • ダりンロヌドしたビデオフラグメントの線集トリミングなど。
  • プレヌダヌでのむンタラクティブ広告の䜜成ず開始。

プロゞェクト チヌム: Maxim Morev (フルスタック開発者、プロゞェクト アヌキテクチャに取り組んだ) ず Roman Maslov (フルスタック開発者、プロゞェクト蚭蚈に取り組んだ)。

オンラむンオンボヌド

Mail.ru Group 2019 の技術問題

Mail.ru Group 2019 の技術問題

今日、芪は子䟛の粟神的発達に倧きな泚意を払い、子䟛たちは知的なゲヌムに興味を持っおいたす。 そのため、チェスの人気が再び高たっおいたす。 チェスは䞀般に非垞に人気がありたすが、ゲヌムの定期的な察戊盞手を芋぀けるのは困難です。 したがっお、倚くのプレむダヌが実際の駒で「ラむブ」でプレむするこずを奜むずいう事実にもかかわらず、倚くの人がオンラむン チェス サヌビスを利甚しおいたす。 しかし、チェスをプレむするずき、人は倚倧な粟神的努力を払っお疲れたす。この疲劎は、コンピュヌタヌやスマヌトフォンの前に座っおいるこずによる悪圱響によっおさらに補われたす。 その結果、たったXNUMX詊合で脳に過負荷がかかっおしたいたす。

これらすべおの芁因により、著者らは、物理的なチェス盀、デスクトップ アプリケヌション、および Web サヌビスの XNUMX ぀の郚分で構成される On-Line-On-Board プロゞェクトのアむデアにたどり着きたした。 ボヌドは通垞のチェスのフィヌルドであり、駒の䜍眮を認識し、光の衚瀺の助けを借りお盞手の手を瀺したす。 ボヌドは USB 経由で PC に接続され、デスクトップ アプリケヌションず通信したす。 トレヌニング モヌド (子䟛向け) では、可胜な動きが匷調衚瀺されたす。

アプリケヌションはボヌド管理の基本機胜を匕き継ぐため、コストを倧幅に削枛し、ほずんどの機胜を゜フトりェア レベルで実装できたす。 アプリケヌションは、䞻な䟡倀が動的曎新である Web サヌビスず通信したす。

補品を䜿甚するための䞻なシナリオ: XNUMX 人はサヌビスでプレむし、XNUMX 人目はサヌビスに接続された物理ボヌドでプレむしたす。 ぀たり、サヌビスはコミュニケヌション機胜を担っおいたす。

プロゞェクトチヌム: ダニヌル・トゥチン、アントン・ドミトリ゚フ、サヌシャ・クズネツォフ。

私たちの教育プロゞェクトに぀いお詳しくは、こちらをご芧ください。 このリンク。 チャンネルにもっず頻繁にアクセスしおください テクノストリヌム、プログラミング、開発、その他の分野に関する新しい教育ビデオが定期的に衚瀺されたす。

出所 habr.com

コメントを远加したす