เมื่อปลายเดือนพฤษภาคม ผู้สำเร็จการศึกษาของเราจาก Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Lomonosov Moscow State University) และ Technopolis (Peter the Great St. Petersburg Polytechnic University) ได้ปกป้องโครงการประกาศนียบัตรของพวกเขา มีการจัดสรรเวลาสามเดือนสำหรับการทำงานและคนเหล่านี้ลงทุนกับความรู้และทักษะที่ได้รับจากการศึกษาสองปี
รวมมีโครงการด้านการป้องกันประเทศรวม 13 โครงการ แก้ไขปัญหาต่างๆ ในอุตสาหกรรมต่างๆ ตัวอย่างเช่น:
- ที่เก็บข้อมูลบนคลาวด์พร้อมการเข้ารหัสไฟล์เข้ารหัส
- แพลตฟอร์มสำหรับสร้างวิดีโอเชิงโต้ตอบ (ที่มีตอนจบต่างกัน)
- กระดานอัจฉริยะสำหรับเล่นหมากรุกจริงผ่านเครือข่าย
- สถาปัตยกรรมเพื่อการดึงบทความทางการแพทย์อย่างชาญฉลาด
- ซอฟต์แวร์สำหรับสอนเด็กประถมถึงพื้นฐานของอัลกอริทึม
ตลอดจนโครงการจากหน่วยธุรกิจ:
- ระบบ CRM สำหรับผู้ส่งสาร TamTam;
- บริการเว็บสำหรับค้นหาภาพถ่ายเฉพาะเรื่องบนแผนที่สำหรับ 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 เวอร์ชันเดสก์ท็อปนั้นใช้เฟรมเวิร์กอิเล็กตรอน Webpack ถูกใช้เพื่อสร้างโค้ด JavaScript
ทีมงานโครงการ: Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov
ระบบ CRM สำหรับผู้ส่งสาร TamTam
CRM เป็นเครื่องมือสำหรับการโต้ตอบที่สะดวกระหว่างธุรกิจและผู้ใช้ TamTam มีการใช้งานฟังก์ชันต่อไปนี้:
- ตัวสร้างบอทที่ให้คุณสร้างบอทได้โดยไม่ต้องมีทักษะการเขียนโปรแกรม ภายในไม่กี่นาที คุณจะได้รับบอตที่ทำงานได้อย่างเต็มรูปแบบ ซึ่งไม่เพียงแต่แสดงข้อมูลบางส่วนให้ผู้ใช้เห็นเท่านั้น แต่ยังรวบรวมข้อมูลอีกด้วย รวมถึง ไฟล์ที่ผู้ดูแลระบบสามารถดูได้ในภายหลัง
- อาร์เอสเอส คุณสามารถเชื่อมต่อ RSS กับช่องใดก็ได้ได้อย่างง่ายดาย
- การโพสต์ล่าช้า ช่วยให้คุณสามารถส่งและลบข้อความตามเวลาที่ตั้งไว้
ทีมงานยังมีส่วนร่วมในการทดสอบ Bot API ด้วยการสร้างบอทที่เขียนขึ้นเองหลายตัว เช่น บอทสำหรับ World Cup of Hockey ปี 2019 บอทสำหรับการลงทะเบียน/การอนุญาตในบริการของเรา และบอทสำหรับ CI/CD
โครงสร้างพื้นฐานของโซลูชัน:
- เซิร์ฟเวอร์การจัดการมีระบบตรวจสอบสำหรับแต่ละเซิร์ฟเวอร์และแต่ละคอนเทนเนอร์ Docker เพื่อให้สามารถตรวจจับปัญหาและแก้ไขได้อย่างรวดเร็วและสะดวก ดูตัวชี้วัดและสถิติการใช้งานต่างๆ นอกจากนี้ยังมีระบบการจัดการการกำหนดค่าระยะไกลของแอปพลิเคชันของเรา
- เซิร์ฟเวอร์ชั่วคราวประกอบด้วยแอปพลิเคชันเวอร์ชันปัจจุบันของเรา ซึ่งพร้อมสำหรับการทดสอบทั่วไปโดยทีมพัฒนา
- เซิร์ฟเวอร์การจัดการและการจัดเตรียมพร้อมใช้งานผ่าน VPN สำหรับนักพัฒนาเท่านั้น และเซิร์ฟเวอร์ที่ใช้งานจริงจะมีแอปพลิเคชันเวอร์ชันที่วางจำหน่าย มันถูกแยกออกจากมือของนักพัฒนาและใช้ได้เฉพาะกับผู้ใช้ปลายทางเท่านั้น
- ระบบ CI/CD ถูกนำมาใช้โดยใช้ Github และ Travis การแจ้งเตือนโดยใช้บอทที่กำหนดเองใน TamTam
สถาปัตยกรรมแอปพลิเคชันเป็นโซลูชันแบบโมดูลาร์ แอปพลิเคชัน ฐานข้อมูล ตัวจัดการการกำหนดค่า และการตรวจสอบจะเปิดตัวในคอนเทนเนอร์ Docker ที่แยกจากกัน ซึ่งช่วยให้คุณสามารถสรุปจากสภาพแวดล้อมการเปิดใช้งาน เปลี่ยนแปลงหรือรีสตาร์ทคอนเทนเนอร์ที่แยกจากกัน การสร้างโทโพโลยีเครือข่ายและการจัดการคอนเทนเนอร์ทำได้โดยใช้ Docker Compose
ทีมงานโครงการ: Alexey Antufiev, Egor Gorbatov, Alexey Kotelevsky
ฟอร์คมี
โครงการ ForkMe เป็นแพลตฟอร์มสำหรับการดูวิดีโอเชิงโต้ตอบ ซึ่งคุณสามารถสร้างวิดีโอของคุณเองและแสดงให้เพื่อนของคุณเห็น เหตุใดเราจึงต้องมีวิดีโอเชิงโต้ตอบหากมีวิดีโอปกติ
โครงเรื่องที่ไม่เป็นเชิงเส้นของวิดีโอและความสามารถในการเลือกความต่อเนื่องได้ด้วยตนเองทำให้ผู้ชมมีส่วนร่วม และผู้สร้างเนื้อหาจะสามารถแสดงเรื่องราวที่ไม่เหมือนใคร ซึ่งโครงเรื่องจะได้รับอิทธิพลจากผู้ใช้ นอกจากนี้ ผู้สร้างเนื้อหาโดยการศึกษาสถิติการแปลงวิดีโอ จะสามารถเข้าใจสิ่งที่ผู้ชมสนใจมากที่สุด และทำให้เนื้อหาน่าสนใจยิ่งขึ้น
ตอนที่พัฒนาโปรเจ็กต์นี้ พวกเขาได้รับแรงบันดาลใจจากภาพยนตร์อินเทอร์แอกทีฟ Bandersnatch จาก Netflix ซึ่งได้รับการชมและบทวิจารณ์ที่ดีมากมาย เมื่อเขียน MVP แล้ว มีข่าวว่า Youtube กำลังวางแผนที่จะเปิดตัวแพลตฟอร์มสำหรับซีรีส์เชิงโต้ตอบซึ่งยืนยันความนิยมในทิศทางนี้อีกครั้ง
MVP ประกอบด้วย: เครื่องเล่นแบบโต้ตอบ ตัวสร้างวิดีโอ ค้นหาตามเนื้อหาและแท็ก คอลเลกชันวิดีโอ ความคิดเห็น การดู การให้คะแนน ช่องและโปรไฟล์ผู้ใช้
กองเทคโนโลยีที่ใช้ในโครงการ:
มีการวางแผนพัฒนาโครงการอย่างไร:
- การรวบรวมสถิติและอินโฟกราฟิกเกี่ยวกับการเปลี่ยนไปใช้วิดีโอ
- การแจ้งเตือนและข้อความส่วนตัวสำหรับผู้ใช้เว็บไซต์
- เวอร์ชันสำหรับ Android และ iOS
หลังจากนี้เราวางแผนที่จะเพิ่ม:
- การสร้างเรื่องราววิดีโอจากโทรศัพท์ของคุณ
- การแก้ไขส่วนของวิดีโอที่ดาวน์โหลดมา (เช่น การตัดแต่ง)
- การสร้างและการเปิดตัวโฆษณาเชิงโต้ตอบในเครื่องเล่น
ทีมงานโครงการ: Maxim Morev (นักพัฒนา fullstack ทำงานเกี่ยวกับสถาปัตยกรรมโครงการ) และ Roman Maslov (นักพัฒนา fullstack ทำงานเกี่ยวกับการออกแบบโครงการ)
ออนไลน์บนกระดาน
ปัจจุบันนี้ พ่อแม่ให้ความสนใจอย่างมากต่อพัฒนาการทางจิตของลูก และลูกๆ ก็สนใจในเกมทางปัญญา หมากรุกจึงได้รับความนิยมอีกครั้ง และถึงแม้ว่าหมากรุกโดยทั่วไปจะค่อนข้างได้รับความนิยม แต่การค้นหาคู่ต่อสู้ปกติสำหรับเกมก็เป็นปัญหา ดังนั้นผู้คนจำนวนมากจึงใช้บริการหมากรุกออนไลน์ แม้ว่าผู้เล่นหลายคนจะชอบเล่น "สด" ด้วยตัวหมากจริงก็ตาม อย่างไรก็ตามเมื่อเล่นหมากรุกคน ๆ หนึ่งใช้ความพยายามทางจิตอย่างมากและเหนื่อยล้า และความเหนื่อยล้านี้เสริมด้วยผลกระทบด้านลบจากการนั่งหน้าคอมพิวเตอร์หรือสมาร์ทโฟน ส่งผลให้สมองทำงานหนักเกินไปหลังจากผ่านไปเพียงสองเกม
ปัจจัยทั้งหมดเหล่านี้ผลักดันให้ผู้เขียนเกิดแนวคิดเกี่ยวกับโครงการ On-Line-On-Board ซึ่งประกอบด้วยสามส่วน: กระดานหมากรุกจริง แอปพลิเคชันเดสก์ท็อป และบริการเว็บ กระดานเป็นสนามหมากรุกปกติซึ่งจะจดจำตำแหน่งของหมาก และด้วยความช่วยเหลือของไฟสัญญาณ บ่งชี้การเคลื่อนไหวของคู่ต่อสู้ บอร์ดเชื่อมต่อผ่าน USB เข้ากับพีซีและสื่อสารกับแอปพลิเคชันเดสก์ท็อป ในโหมดฝึกซ้อม (และสำหรับเด็ก) การเคลื่อนไหวที่เป็นไปได้ของคุณจะถูกเน้นไว้
แอปพลิเคชั่นเข้าควบคุมฟังก์ชั่นพื้นฐานของการจัดการบอร์ดซึ่งช่วยให้คุณลดต้นทุนได้อย่างมากและนำการใช้งานฟังก์ชั่นส่วนใหญ่มาสู่ระดับซอฟต์แวร์ แอปพลิเคชันสื่อสารกับบริการเว็บที่มีค่าหลักคือการอัปเดตแบบไดนามิก
สถานการณ์หลักในการใช้ผลิตภัณฑ์: คนหนึ่งเล่นในบริการ คนที่สองเล่นบนกระดานจริงที่เชื่อมต่อกับบริการ นั่นคือบริการจะทำหน้าที่สื่อสาร
ทีมงานโครงการ: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับโครงการด้านการศึกษาของเราได้ที่
ที่มา: will.com