Isu teknikal Kumpulan Mail.ru 2019

Isu teknikal Kumpulan Mail.ru 2019

Pada penghujung bulan Mei, graduan kami dari Technopark (Bauman MSTU), Technotrack (MIPT), Technosphere (Universiti Negeri Moscow Lomonosov) dan Technopolis (Universiti Politeknik Peter the Great St. Petersburg) mempertahankan projek diploma mereka. Tiga bulan diperuntukkan untuk bekerja, dan mereka melabur dalam idea mereka pengetahuan dan kemahiran yang diperoleh selama dua tahun pengajian.

Secara keseluruhan, terdapat 13 projek mengenai pertahanan, menyelesaikan pelbagai masalah dalam industri yang berbeza. Sebagai contoh:

  • penyimpanan awan dengan penyulitan fail kriptografi;
  • platform untuk mencipta video interaktif (dengan pengakhiran yang berbeza);
  • papan pintar untuk bermain catur sebenar melalui rangkaian;
  • seni bina untuk mendapatkan semula artikel perubatan secara bijak;
  • Perisian untuk mengajar kanak-kanak sekolah rendah asas-asas algoritma.

Serta projek daripada unit perniagaan:

  • Sistem CRM untuk messenger TamTam;
  • perkhidmatan web untuk mencari foto tematik pada peta untuk Odnoklassniki;
  • perkhidmatan geokod alamat untuk MAPS.ME.

Hari ini kami akan memberitahu anda dengan lebih terperinci tentang lima projek graduan kami.

Carian pintar artikel perubatan

Isu teknikal Kumpulan Mail.ru 2019

Terdapat banyak bidang dalam bidang saintifik, dalam setiap penyelidikan yang dijalankan, sejumlah besar artikel diterbitkan dalam pelbagai jurnal. Ini adalah teknologi maklumat, fizik, matematik, biologi, perubatan dan lain-lain lagi.

Authors projek memutuskan untuk memberi tumpuan kepada bidang perubatan. Hampir semua artikel mengenai topik perubatan dikumpulkan di portal PubMed. Portal ini menyediakan cariannya sendiri. Walau bagaimanapun, keupayaannya sangat terhad. Oleh itu, mereka menambah baik sistem carian, menambah sokongan untuk pertanyaan panjang dan keupayaan untuk memperhalusi pertanyaan menggunakan pemodelan topik.

Isu teknikal Kumpulan Mail.ru 2019
SERP mengandungi senarai kedudukan dokumen dengan topiknya ditakrifkan, dan perkataan serta istilah yang berkaitan dengan topik ini diserlahkan menggunakan pemodelan topik kebarangkalian. Pengguna boleh mengklik pada istilah yang diserlahkan untuk mengecilkan pertanyaan carian.

Isu teknikal Kumpulan Mail.ru 2019
Untuk membuat carian melalui pangkalan data PubMed yang besar dengan pantas, penulis menulis enjin carian mereka sendiri yang boleh disepadukan dengan mudah ke dalam mana-mana infrastruktur.

Pencarian dijalankan dalam tiga peringkat:

  1. Dokumen calon dipilih menggunakan indeks terbalik.
  2. Calon disenaraikan menggunakan algoritma BM25F, yang mengambil kira pelbagai medan dalam dokumen semasa carian. Oleh itu, perkataan dalam tajuk mempunyai lebih berat daripada perkataan dalam abstrak.
  3. Sistem caching juga digunakan untuk mempercepatkan pemprosesan permintaan yang kerap.

Isu teknikal Kumpulan Mail.ru 2019

Seni bina perkhidmatan mikro:

Isu teknikal Kumpulan Mail.ru 2019
Pada asasnya, data teks berstruktur dipindahkan antara perkhidmatan. Untuk kelajuan pemindahan yang tinggi, GRPC digunakan - rangka kerja untuk menyambungkan modul dalam seni bina perkhidmatan mikro. Siri data juga digunakan menggunakan format pertukaran mesej Protobuf.

Apakah komponen yang termasuk dalam sistem:

  • Pelayan untuk memproses permintaan pengguna masuk pada Node.js.
  • Permintaan pengimbangan beban menggunakan pelayan proksi nginx.
  • Pelayan Flask melaksanakan API REST dan menerima permintaan yang dimajukan daripada Node.js.
  • Semua data mentah dan diproses, serta maklumat pertanyaan, disimpan dalam MongoDB.
  • Semua permintaan untuk hasil yang berkaitan untuk pentemakan dokumen pergi ke RabbitMQ.

Contoh hasil carian:

Isu teknikal Kumpulan Mail.ru 2019

Apa yang kami rancang untuk lakukan seterusnya:

  • Pengesyoran semasa menyusun ulasan mengenai topik tertentu (mengenal pasti topik penting dalam dokumen dan mencari melalui subset dokumen).
  • Cari fail PDF.
  • Pembahagian teks semantik.
  • Jejaki topik dan arah aliran dari semasa ke semasa.

Pasukan projek: Fedor Petryaykin, Vladislav Dorozhinsky, Maxim Nakhodnov, Maxim Filin

Log Blok

Isu teknikal Kumpulan Mail.ru 2019

Hari ini, semasa mengajar pengaturcaraan dan sains komputer, kanak-kanak usia sekolah rendah (darjah 5–7) menghadapi masalah untuk menguasai bahan tersebut. Selain itu, jika pelajar ingin menyiapkan tugasan di rumah, mereka perlu memasang perisian tambahan pada komputer mereka. Guru perlu menyemak sejumlah besar penyelesaian yang serupa kepada masalah, dan dalam kes pembelajaran jarak jauh, mereka juga perlu membangunkan metodologi untuk menerima tugasan daripada pelajar.

Pengarang projek Log Blok membuat kesimpulan: apabila mengajar kanak-kanak usia sekolah rendah asas-asas algoritma, penekanan tidak seharusnya pada menghafal arahan bahasa pengaturcaraan, tetapi pada membina gambar rajah algoritma. Ini akan membolehkan pelajar menghabiskan masa dan usaha untuk mereka bentuk algoritma, dan bukannya menaip dalam struktur sintaksis yang menyusahkan.

Pelantar Log Blok membolehkan anda:

  1. Buat dan edit carta alir.
  2. Jalankan carta alir yang dibuat dan lihat hasil kerja mereka (data output).
  3. Simpan dan muatkan projek yang dibuat.
  4. Lukis imej raster (menjana imej berdasarkan algoritma yang dibuat oleh kanak-kanak).
  5. Terima maklumat tentang kerumitan algoritma yang dibuat (berdasarkan bilangan operasi yang dilakukan dalam algoritma).

Pembahagian peranan kepada guru dan pelajar dijangka. Mana-mana pengguna menerima status pelajar; untuk mendapatkan status guru, anda mesti menghubungi pentadbir sistem. Guru bukan sahaja boleh memasukkan penerangan dan keadaan masalah, tetapi juga membuat ujian automatik yang akan dilancarkan secara automatik apabila pelajar menyerahkan penyelesaian kepada masalah ke dalam sistem.

Editor Log Blok Penyemak Imbas:

Isu teknikal Kumpulan Mail.ru 2019

Selepas menyelesaikan masalah, pelajar boleh memuat turun penyelesaian dan melihat hasilnya:

Isu teknikal Kumpulan Mail.ru 2019

Platform ini terdiri daripada aplikasi bahagian hadapan dalam Vue.js dan aplikasi bahagian belakang dalam Ruby on Rails. PostgreSQL digunakan sebagai pangkalan data. Untuk memudahkan penggunaan, semua komponen sistem dibungkus dalam bekas Docker dan dipasang menggunakan Docker Compose. Versi desktop Log Blok adalah berdasarkan rangka kerja Elektron. Webpack digunakan untuk membina kod JavaScript.

Pasukan projek: Alexander Barulev, Maxim Kolotovkin, Kirill Kucherov.

Sistem CRM untuk messenger TamTam

Isu teknikal Kumpulan Mail.ru 2019

CRM ialah alat untuk interaksi yang mudah antara perniagaan dan pengguna TamTam. Fungsi berikut telah dilaksanakan:

  • Pembina bot yang membolehkan anda membuat bot tanpa kemahiran pengaturcaraan. Dalam beberapa minit anda boleh mendapatkan bot berfungsi sepenuhnya yang bukan sahaja boleh menunjukkan beberapa maklumat kepada pengguna, tetapi juga mengumpul data, termasuk. fail yang boleh dilihat oleh pentadbir kemudian.
  • RSS. Anda boleh menyambung RSS ke mana-mana saluran dengan mudah.
  • Pengeposan tertunda. Membolehkan anda menghantar dan memadam mesej pada masa yang telah ditetapkan.

Pasukan itu juga mengambil bahagian dalam menguji Bot API, mencipta beberapa bot yang ditulis sendiri, seperti bot untuk Piala Dunia Hoki 2019, bot untuk pendaftaran/keizinan dalam perkhidmatan kami dan bot untuk CI/CD.

Infrastruktur penyelesaian:

  • Pelayan pengurusan mengandungi sistem pemantauan untuk setiap pelayan dan setiap bekas Docker di atasnya untuk mengesan masalah dengan cepat dan mudah dan menyelesaikannya, melihat pelbagai metrik dan statistik penggunaan. Terdapat juga sistem untuk pengurusan konfigurasi jauh aplikasi kami.
  • Pelayan pementasan mengandungi versi semasa aplikasi kami, tersedia untuk ujian umum oleh pasukan pembangunan.
  • Pelayan pengurusan dan pementasan hanya tersedia melalui VPN kepada pembangun, dan pelayan pengeluaran mengandungi versi keluaran aplikasi. Ia diasingkan daripada tangan pembangun dan hanya tersedia untuk pengguna akhir.
  • Sistem CI/CD telah dilaksanakan menggunakan Github dan Travis, pemberitahuan menggunakan bot tersuai dalam TamTam.

Isu teknikal Kumpulan Mail.ru 2019

Seni bina aplikasi adalah penyelesaian modular. Aplikasi, pangkalan data, pengurus konfigurasi dan pemantauan dilancarkan dalam bekas Docker yang berasingan, yang membolehkan anda mengabstraksi daripada persekitaran pelancaran, menukar atau memulakan semula bekas yang berasingan. Mencipta topologi rangkaian dan mengurus bekas dilakukan menggunakan Docker Compose.

Isu teknikal Kumpulan Mail.ru 2019

Pasukan projek: Alexey Antufiev, Egor Gorbatov, Alexey Kotelevsky.

ForkMe

Isu teknikal Kumpulan Mail.ru 2019

Projek ForkMe ialah platform untuk menonton video interaktif, di mana anda boleh mencipta video anda sendiri dan menunjukkannya kepada rakan anda. Mengapa kita memerlukan video interaktif jika ada yang biasa?

Plot bukan linear video dan keupayaan untuk memilih sambungan itu sendiri membolehkan penonton terlibat, dan pencipta kandungan akan dapat menunjukkan cerita unik, yang plotnya akan dipengaruhi oleh pengguna. Selain itu, pencipta kandungan, dengan mengkaji statistik penukaran video, akan dapat memahami perkara yang paling menarik minat penonton dan menjadikan bahan lebih menarik.

Semasa membangunkan projek itu, mereka telah diilhamkan oleh filem interaktif Bandersnatch dari Netflix, yang menerima banyak pandangan dan ulasan yang baik. Apabila MVP sudah ditulis, berita muncul bahawa Youtube sedang merancang untuk melancarkan platform untuk siri interaktif, yang sekali lagi mengesahkan populariti arah ini.

MVP termasuk: pemain interaktif, pembina video, carian mengikut kandungan dan teg, koleksi video, ulasan, tontonan, penilaian, saluran dan profil pengguna.

Isu teknikal Kumpulan Mail.ru 2019

Tindanan teknologi yang digunakan dalam projek:

Isu teknikal Kumpulan Mail.ru 2019

Bagaimanakah rancangan untuk membangunkan projek:

  • koleksi statistik dan maklumat grafik tentang peralihan kepada video;
  • pemberitahuan dan mesej peribadi untuk pengguna tapak;
  • versi untuk Android dan iOS.

Selepas ini kami merancang untuk menambah:

  • mencipta cerita video dari telefon anda;
  • mengedit serpihan video yang dimuat turun (contohnya pemangkasan);
  • penciptaan dan pelancaran pengiklanan interaktif dalam pemain.

Pasukan projek: Maxim Morev (pembangun fullstack, bekerja pada seni bina projek) dan Roman Maslov (pemaju fullstack, bekerja pada reka bentuk projek).

On-Line-On-Board

Isu teknikal Kumpulan Mail.ru 2019

Isu teknikal Kumpulan Mail.ru 2019

Hari ini, ibu bapa memberi perhatian yang besar kepada perkembangan mental anak-anak mereka, dan anak-anak berminat dengan permainan intelektual. Oleh itu, catur kembali mendapat sambutan. Dan walaupun catur secara umum agak popular, mencari lawan tetap untuk permainan adalah bermasalah. Oleh itu, ramai orang menggunakan perkhidmatan catur dalam talian, walaupun pada hakikatnya ramai pemain lebih suka bermain "secara langsung" dengan kepingan sebenar. Walau bagaimanapun, apabila bermain catur, seseorang melakukan banyak usaha mental dan menjadi letih, dan keletihan ini dilengkapi dengan kesan negatif duduk di komputer atau telefon pintar. Akibatnya, otak menjadi lebih sarat selepas hanya dua perlawanan.

Semua faktor ini mendorong pengarang kepada idea projek On-Line-On-Board, yang terdiri daripada tiga bahagian: papan catur fizikal, aplikasi desktop dan perkhidmatan web. Papan adalah medan catur biasa, yang mengenali kedudukan kepingan dan, dengan bantuan petunjuk cahaya, menunjukkan pergerakan lawan. Papan disambungkan melalui USB ke PC dan berkomunikasi dengan aplikasi desktop. Dalam mod latihan (dan untuk kanak-kanak), kemungkinan pergerakan anda diserlahkan.

Aplikasi ini mengambil alih fungsi asas mengurus papan, yang membolehkan anda mengurangkan kosnya dengan banyak dan membawa pelaksanaan kebanyakan fungsi ke peringkat perisian. Aplikasi ini berkomunikasi dengan perkhidmatan web yang nilai utamanya ialah pengemaskinian dinamik.

Senario utama untuk menggunakan produk: satu orang bermain pada perkhidmatan, yang kedua pada papan fizikal yang disambungkan kepada perkhidmatan. Iaitu, perkhidmatan mengambil fungsi komunikatif.

Pasukan projek: Daniil Tuchin, Anton Dmitriev, Sasha Kuznetsov.

Anda boleh membaca lebih lanjut mengenai projek pendidikan kami di pautan ini. Dan lawati saluran dengan lebih kerap Technostream, video pendidikan baharu tentang pengaturcaraan, pembangunan dan disiplin lain muncul di sana dengan kerap.

Sumber: www.habr.com

Tambah komen