Жакында биз
Ачык эшиктер күнү биздин магистранттар билим алган Times бизнес борборунда JetBrains кеңсесинде өткөрүлөт. 17:00 башталат. Сиз бардык чоо-жайын билип, сайттан иш-чарага катталсаңыз болот
Программанын негизги компоненттеринин бири практика болуп саналат. Студенттерде көп нерсе бар: жумалык үй тапшырмалары, семестрдик долбоорлор жана хакатондор. Окуу учурунда заманбап өнүгүү методологияларына жана технологияларына толук киришинин аркасында бүтүрүүчүлөр ири IT-компаниялардын иш процесстерине тез аралашат.
Бул постто биз алты ай сайын өтүүчү DevDays хакатондору жөнүндө кененирээк сүйлөшкүбүз келет. Эрежелер жөнөкөй: 3-4 адамдан турган командалар чогулуп, үч күн бою студенттер өздөрүнүн идеяларын ишке ашырышат. Бул эмне болушу мүмкүн? Бул семестрдеги хакатон долбоорлору тууралуу окуялардын биринчи бөлүгүн студенттердин өздөрүнөн окуңуз :)
Кино сунуштары менен күндөлүк
козголгон
Иван Ильчук
Команданын курамы
Иван Ильчук – кино сюжет талдоо, сервер
Владислав Кораблинов – күндөлүк жазуусу менен тасманын сюжетинин жакындыгын салыштыруу үчүн моделдерди иштеп чыгуу
Дмитрий Вальчук – UI
Никита Винокуров – UI, дизайн
Биздин долбоордун максаты – андагы жазуулардын негизинде колдонуучуга тасмаларды сунуштай турган десктоп тиркемесин жазуу болгон.
Бул идея мага университетке баратып, өзүмдүн көйгөйлөрүмдү ойлоп жүргөндө келди. «Адам кандай гана көйгөйгө дуушар болбосун, ал жөнүндө кандайдыр бир классик жазуучу жазып койгон экен» деп ойлодум. "Аны кимдир бирөө жазгандыктан, кимдир бирөө аны тартып алганын билдирет." Ошентип, ошол эле психикалык азап менен ооруган адам жөнүндө тасма көрүү каалоосу табигый пайда болгон.
Албетте, ар кандай өзүнчө күндөлүк жана өзүнчө сунуштоо кызматтары бар (бирок, адатта, сунуштар адам мурда жактырган нерсеге негизделет). Негизи, бул долбоордун негизги пункттары боюнча фильмди издөө менен жалпылыгы бар, бирок баары бир, биринчи кезекте, биздин тиркеме күндөлүктүн функционалдуулугун камсыз кылат.
Муну кантип ишке ашырдык? Сыйкырдуу баскычты басканда күндөлүк серверге жазуу жөнөтөт, анда тасма Википедиядан алынган сүрөттөмөнүн негизинде тандалат. Биздин фронтон Electronдо жасалган (биз аны веб-сайтта эмес, колдонобуз, анткени биз адегенде колдонуучунун маалыматтарын серверде эмес, компьютерде локалдык түрдө сактоону чечтик), ал эми сервер жана сунуш системасынын өзү Pythonдо жасалган: TFs күндөлүк киргизүү векторуна жакындыгы үчүн салыштырылган -IDF векторлорунун сүрөттөмөлөрүнөн алынган.
Команданын бир мүчөсү моделдин үстүндө гана иштеди, экинчиси толугу менен фронтто иштеди (башында үчүнчү мүчө менен бирге, кийинчерээк тестирлөөгө өткөн). Мен Википедиядан жана серверден тасманын сюжеттерин талдоо менен алектендим.
Кадам сайын биз натыйжага жакындап, бир катар көйгөйлөрдү жеңип, модель башында көп оперативдүү эстутумду талап кылганынан баштап, серверге маалыматтарды өткөрүп берүү кыйынчылыгына чейин жетти.
Эми кечинде кино табуу үчүн көп күч-аракет талап кылынбайт: биздин үч күндүк ишибиздин натыйжасы – бул рабочий тиркеме жана сервер, ага колдонуучу https аркылуу кирип, жооп катары 5 тасманын тандоосун алат. кыскача баяндоо жана плакат.
Долбоор боюнча менин таасирлерим абдан оң: жумуш таң эртеден түн бир оокумга чейин адамды өзүнө тартып турду, натыйжада пайда болгон тиркеме мезгил-мезгили менен университеттеги үй тапшырмасы же тасма жөнүндө күндөлүк жазуу үчүн "Уйкусуз түн" стилинде өтө күлкүлүү натыйжаларды берет. окуунун биринчи күнү жөнүндө кафедрадагы биринчи күн жөнүндө аңгеме үчүн.
Тиешелүү шилтемелерди, орнотуучуларды, ж.б. тапса болот
Маршрут генератору
козголгон
Артемьева Ирина
Команданын курамы
Артемьева Ирина – команданын лидери, башкы луп
Гордеева Людмила – музыка
Платонов Владислав – маршруттар
Мага шаарды кыдыруу абдан жагат: имараттарды, адамдарды кароо, тарых жөнүндө ой жүгүртүү. Бирок, жашаган жеримди өзгөрткөндө да, эртеби-кечпи маршрутту тандоо маселеси менен бетме-бет келем: мен ойлогондордун баарын бүтүрдүм. Маршруттарды генерациялоону автоматташтыруу идеясы мына ушундан келип чыкты: сиз маршруттун башталышын жана узундугун көрсөтөсүз жана программа вариантты берет. Жөө жүрүштөр узакка созулушу мүмкүн, андыктан идеянын логикалык өнүгүүсү "аялдама" үчүн ортоңку пункттарды көрсөтүү мүмкүнчүлүгүн кошуп жаткандай сезилет, анда сиз тамактанып, эс ала аласыз. Дагы бир өнүгүү тармагы музыка болгон. Музыкага басуу ар дайым кызыктуураак, андыктан түзүлгөн маршруттун негизинде ойнотмо тизмени тандоо мүмкүнчүлүгүн кошсоңуз жакшы болмок.
Учурдагы колдонмолордун арасынан мындай чечимдерди табуу мүмкүн болгон жок. Эң жакын аналогдор ар кандай маршруттук пландоочулар: Google Карталар, 2GIS ж.б.
Телефонуңузда мындай тиркеменин болушу эң ыңгайлуу, андыктан Telegramды колдонуу жакшы вариант болгон. Ал сизге карталарды көрсөтүүгө жана музыка ойноого мүмкүндүк берет жана мунун баарын бот жазуу менен башкара аласыз. Карталар менен негизги иш Google Map API аркылуу аткарылган. Python эки технологияны тең айкалыштырууну жеңилдетет.
Командада үч адам бар болчу, ошондуктан балдар өз алдынча иштей алышы үчүн тапшырма бири-бирин кайталабаган эки кошумча тапшырмага (карта менен иштөө жана музыка менен иштөө) бөлүндү, натыйжаларды бириктирүүнү өзүмө алдым.
Эч кимибиз эч качан Google Map API же Telegram боттору менен иштеген эмеспиз, ошондуктан негизги көйгөй долбоорду ишке ашырууга бөлүнгөн убакыттын көлөмү болду: бир нерсени түшүнүү сиз жакшы билген нерсени жасоого караганда ар дайым көбүрөөк убакытты талап кылат. Telegram бот API'син тандоо да кыйынга турду: бөгөттөлгөндүктөн, алардын баары иштебейт жана мен баарын орнотуу үчүн күрөшүүгө туура келди.
Маршруттарды түзүү маселеси кандайча чечилгенин өзүнчө айта кетели. Эки жердин ортосундагы маршрутту куруу оңой, бирок маршруттун узундугу гана белгилүү болсо, колдонуучуга эмне сунуштай аласыз? Колдонуучуга 10 километр баскысы келсин. Түз сызык боюнча аралыгы 10 километрди түзгөн чекит ыктыярдуу багытта тандалып алынат, андан кийин бул чекитке реалдуу жолдор менен маршрут курулат. Кыязы, ал түз болбойт, ошондуктан биз аны көрсөтүлгөн 10 километрге чейин кыскартабыз. Мындай маршруттар үчүн көптөгөн варианттар бар - биз чыныгы маршрут генераторун алдык!
Адегенде мен картаны жашыл аймактарга ылайыктуу аймактарга бөлгүм келди: жээктер, короолор, көчөлөр, сейилдөө үчүн эң жагымдуу маршрутту алуу, ошондой эле ушул аймактарга ылайык музыканы чыгаруу үчүн. Бирок муну Google Map API аркылуу жасоо кыйын болуп чыкты (бул маселени чечүүгө убакытыбыз болгон жок). Бирок, маршруттун курулушун конкреттүү типтеги жерлер (дүкөн, парк, китепкана) аркылуу ишке ашырууга мүмкүн болгон: эгерде маршрут бардык көрсөтүлгөн жерлерди айланып өтсө, бирок керектүү аралыкты басып өтпөсө, анда ал бүткөрүлөт. кокустук багытта колдонуучу белгилеген аралык. Google Map API ошондой эле болжолдуу саякат убактысын эсептөөгө мүмкүндүк берет, бул сизге бүт сейилдөө үчүн ойноо тизмесин так тандоого жардам берет.
Жыйынтыгында
Музыка менен иштөөдөгү негизги көйгөй - колдонуучудан кандайдыр бир кызматта аккаунтка ээ болбостон, mp3 файлдарын кайдан алууну билбегендик. Колдонуучудан музыканы суроо чечими кабыл алынды (UserMusic режими). Бул жаңы көйгөйдү жаратат: ар кимдин тректерди жүктөп алуу мүмкүнчүлүгү жок. Чечимдердин бири - колдонуучулардын музыкасы бар репозиторийди түзүү (BotMusic режими) - андан сиз кызматтарга карабастан музыканы чыгара аласыз.
Кемчиликсиз болбосо да, биз тапшырманы аткардык: бизде мен колдонгум келген тиркеме пайда болду. Жалпысынан алганда, бул абдан сонун: үч күн мурун сизде бир гана идея болгон жана аны кантип ишке ашыруу керектиги жөнүндө бир дагы ой болгон эмес, бирок азыр жумушчу чечим бар. Бул үч күн мен үчүн абдан маанилүү болду.Мен мындан ары ишке ашыруу үчүн билимим жетишсиз болгон нерсени ойлоп табуудан коркпойм, команданын лидери болуу абдан кызыктуу болду жана менин командама кошулган эң сонун балдар менен тааныштым. жакшыраак!
Суюк Democracy
козголгон
Станислав Сычев
Команданын курамы
Станислав Сычев – топтун жетекчиси, маалымат базасы
Николай Изюмов – бот интерфейси
Антон Рябушев – бэкенд
Ар кандай топтордун ичинде көбүнчө чечим кабыл алуу же добуш берүү зарылчылыгы бар. Адатта мындай учурларда алар кайрылышат
Эки системанын көйгөйлөрүн чечүү үчүн Брайан Форд концепцияны сунуштаган
Суюк демократияны колдонуунун мисалдары саясатта кездешет жана биз ушундай эле идеяны күнүмдүк колдонуу үчүн ар кандай топтордун ичинде ишке ашырууну кааладык. Кийинки DevDays хакатонунда биз суюк демократиянын принциптерине ылайык добуш берүү үчүн Telegram ботун жазууну чечтик. Ошол эле учурда, мен мындай боттор менен жалпы көйгөйдөн качууну кааладым - боттун билдирүүлөрү менен жалпы чатты жабыштыруу. Чечим жеке баарлашууга мүмкүн болушунча көбүрөөк функцияларды алып келүүдө.
Бул ботту түзүү үчүн биз колдондук
Албетте, үч күн аз убакыт, андыктан хакатон учурунда биз идеяны прототип деңгээлине чейин ишке ашырдык. Жыйынтыгында биз жалпы чатта добуш берүүнүн ачылышы жана анын анонимдүү жыйынтыктары тууралуу гана маалыматты жаза турган бот түздүк. Добуш берүү жана сурамжылоону түзүү мүмкүнчүлүгү бот менен жеке кат алышуу аркылуу ишке ашырылат. Добуш берүү үчүн, түздөн-түз көңүл бурууну талап кылган маселелердин тизмесин көрсөткөн буйрукту киргизиңиз. Жеке кат алышууларда сиз делегаттардын тизмесин жана алардын мурунку добуштарын көрө аласыз, ошондой эле аларга темалардын бири боюнча өз добушуңузду бере аласыз.
Долбоордун үстүндө иштөө кызыктуу болду, түн ортосуна чейин университетте болдук.Бул абдан чарчатса да окуудан тыныгуу үчүн эң сонун жол деп ойлойбуз. Ынтымактуу командада иштөө жагымдуу тажрыйба болду.
PS. Келерки окуу жылына магистратурага катталуу башталды
Булак: www.habr.com