XNUMX月底,我們Technopark(鮑曼MSTU)、Technotrack(MIPT)、Technosphere(羅蒙諾索夫莫斯科國立大學)和Technopolis(彼得大帝聖彼得堡理工大學)的畢業生完成了他們的文憑課程的答辯。 三個月的工作時間被分配給了這些人,他們將兩年學習中獲得的知識和技能投入到他們的創意中。
總共有13個國防項目,解決了不同產業的各種問題。 例如:
- 具有加密檔案加密功能的雲端儲存;
- 創建互動影片的平台(具有不同的結局);
- 用於透過網路下真正的西洋棋的智慧棋盤;
- 醫學文章智能檢索架構;
- 用於教導小學生演算法化基礎知識的軟體。
以及來自業務部門的項目:
- TamTam Messenger 的 CRM 系統;
- 用於在 Odnoklassniki 地圖上搜尋專題照片的網路服務;
- MAPS.ME 的地址地理編碼服務。
醫學文章智能檢索
科學領域有很多領域,每個領域都進行研究,並在各種期刊上發表大量文章。 這些領域包括資訊科技、物理、數學、生物學、醫學等等。
作者
SERP 包含已定義主題的文件排名列表,並且使用機率主題建模來突出顯示與這些主題相關的單字和術語。 使用者可以點擊突出顯示的術語來縮小搜尋查詢範圍。
為了快速搜尋龐大的 PubMed 資料庫,作者編寫了自己的搜尋引擎,可以輕鬆整合到任何基礎設施中。
搜尋分三個階段進行:
- 使用反向索引選擇候選文件。
- 使用 BM25F 演算法對候選者進行排名,該演算法在搜尋過程中考慮了文件中的各個欄位。 因此,標題中的單字比摘要中的單字更有分量。
- 快取系統也用於加速頻繁請求的處理。
微服務架構:
基本上,結構化文字資料在服務之間傳輸。 為了實現高傳輸速度,使用了 GRPC——一種用於連接微服務架構中的模組的框架。 資料序列化也使用 Protobuf 訊息交換格式。
系統包括哪些組件:
- 用於在 Node.js 上處理傳入使用者請求的伺服器。
- 使用 nginx 代理伺服器負載平衡請求。
- Flask 伺服器實作 REST API 並接收 Node.js 轉送的請求。
- 所有原始資料和處理後的資料以及查詢資訊都儲存在 MongoDB 中。
- 所有對文檔主題化相關結果的請求都會傳送至 RabbitMQ。
搜尋結果範例:
我們下一步計劃做什麼:
- 編譯給定主題的評論時的建議(識別文件中的重要主題並蒐索文件子集)。
- 搜尋 PDF 文件。
- 語意文本分割。
- 追蹤一段時間內的主題和趨勢。
專案團隊:Fedor Petryaykin、Vladislav Dorozhinsky、Maxim Nakhodnov、Maxim Filin
區塊日誌
如今,在教授程式設計和電腦科學時,小學年齡層(5-7 年級)的孩子在掌握這些材料方面存在問題。 此外,如果學生想在家中完成作業,他們必須在電腦上安裝額外的軟體。 教師必須檢查大量類似的問題解決方案,在遠距學習的情況下,他們還必須制定接收學生作業的方法。
Block Log專案的作者得出的結論是:在教導小學生演算法化基礎知識時,重點不應該是記憶程式語言指令,而是建構演算法圖。 這將使學生能夠花費時間和精力來設計演算法,而不是輸入繁瑣的語法結構。
平台
- 建立和編輯流程圖。
- 運行已建立的流程圖並查看其工作結果(輸出資料)。
- 儲存並載入已建立的項目。
- 繪製光柵圖像(根據孩子創建的演算法生成圖像)。
- 接收有關所創建演算法的複雜性的資訊(基於演算法中執行的操作數)。
預計角色分為教師和學生。 任何使用者都會獲得學生身份;要獲得教師身份,您必須聯絡系統管理員。 教師不僅可以輸入問題的描述和條件,還可以建立自動化測試,當學生向系統提交問題的解決方案時,測試將自動啟動。
瀏覽器阻止日誌編輯器:
解決問題後,學生可以下載解決方案並查看結果:
該平台由 Vue.js 中的前端應用程式和 Ruby on Rails 中的後端應用程式組成。 使用 PostgreSQL 作為資料庫。 為了簡化部署,所有系統元件都打包在 Docker 容器中,並使用 Docker Compose 進行組裝。 Block Log 的桌面版本是基於 Electron 框架。 Webpack 用於建立 JavaScript 程式碼。
專案團隊:Alexander Barulev、Maxim Kolotovkin、Kirill Kucherov。
TamTam Messenger 的 CRM 系統
CRM是企業與TamTam使用者之間便利互動的工具。 已實現以下功能:
- 機器人構造器,讓您無需程式設計技能即可創建機器人。 幾分鐘後,您就可以獲得一個完全工作的機器人,它不僅可以向用戶顯示一些信息,還可以收集數據,包括數據。 管理員稍後可以查看的文件。
- RSS。 您可以輕鬆地將 RSS 連接到任何頻道。
- 延遲發文。 允許您在預設時間發送和刪除訊息。
團隊也參與了Bot API的測試,創建了多個自寫的機器人,例如2019年曲棍球世界盃的機器人、我們服務中的註冊/授權的機器人以及CI/CD的機器人。
解決方案基礎設施:
- 管理伺服器包含每個伺服器及其上的每個 Docker 容器的監控系統,以便快速方便地偵測問題並解決問題,查看各種指標和使用情況統計資料。 還有一個用於我們的應用程式的遠端配置管理的系統。
- 登台伺服器包含我們應用程式的當前版本,可供開發團隊進行一般測試。
- 開發人員只能透過 VPN 存取管理和臨時伺服器,而生產伺服器包含應用程式的發布版本。 它脫離了開發人員的控制,僅可供最終用戶使用。
- CI/CD 系統是使用 Github 和 Travis 實現的,使用 TamTam 中的自訂機器人進行通知。
應用程式架構是模組化解決方案。 應用程式、資料庫、設定管理器和監控在單獨的 Docker 容器中啟動,這可讓您從啟動環境中抽象化、變更或重新啟動單獨的容器。 建立網路拓撲和管理容器是使用 Docker Compose 完成的。
專案團隊:Alexey Antufiev、Egor Gorbatov、Alexey Kotelevsky。
叉我
ForkMe 專案是一個觀看互動影片的平台,您可以在其中建立自己的影片並將其展示給您的朋友。 既然有常規視頻,為什麼還需要互動視頻呢?
影片的非線性情節以及自己選擇延續的能力讓觀眾能夠參與其中,內容創作者將能夠展示獨特的故事,其情節將受到用戶的影響。 此外,內容創作者透過研究影片轉換統計數據,將能夠了解觀眾最感興趣的內容並使內容更具吸引力。
在開發該項目時,他們受到 Netflix 互動電影《潘達斯奈基》的啟發,該電影獲得了許多觀看次數和好評。 當MVP已經寫完的時候,有消息出現,Youtube正計劃推出互動系列平台,這再次印證了這個方向的受歡迎程度。
MVP 包括:互動式播放器、影片建構器、按內容和標籤搜尋、影片收藏、評論、觀看次數、評分、頻道和使用者個人資料。
專案中使用的技術棧:
專案計劃如何開發:
- 收集有關視頻轉換的統計數據和資訊圖表;
- 網站使用者的通知和個人訊息;
- Android 和 iOS 版本。
在此之後我們計劃添加:
- 從您的手機創建視訊故事;
- 編輯下載的影片片段(例如修剪);
- 在播放器中建立和啟動互動廣告。
專案團隊:Maxim Morev(全端開發人員,負責專案架構)和 Roman Maslov(全端開發人員,負責專案設計)。
在線機上
如今,家長非常注重孩子的智力發展,孩子對智力遊戲很感興趣。 因此,國際象棋再次流行起來。 儘管國際象棋總體上很受歡迎,但找到固定的比賽對手卻是個問題。 因此,許多人使用線上國際象棋服務,儘管許多玩家更喜歡「現場」玩真棋。 然而,在下棋時,一個人會投入大量腦力並感到疲勞,而坐在電腦或智慧型手機前的負面影響又加劇了這種疲勞。 結果,僅僅兩場比賽之後,大腦就變得超負荷。
所有這些因素促使作者產生了 On-Line-On-Board 專案的想法,該專案由三個部分組成:實體棋盤、桌面應用程式和 Web 服務。 棋盤是一個常規的棋盤,它可以識別棋子的位置,並藉助燈光指示指示對手的走法。 該板透過 USB 連接到 PC 並與桌面應用程式通訊。 在訓練模式(對於兒童),您可能的動作會被反白。
該應用程式接管了管理板的基本功能,這使您可以大大降低其成本,並將大多數功能的實現帶到軟體層級。 該應用程式與 Web 服務進行通信,其主要價值是動態更新。
使用該產品的主要場景:一個人玩該服務,另一個人在連接到該服務的實體板上玩。 即,服務承擔通訊功能。
專案團隊:Daniil Tuchin、Anton Dmitriev、Sasha Kuznetsov。
您可以閱讀有關我們教育計畫的更多信息
來源: www.habr.com