Di demên dawî de em
Roja vekirî dê li ofîsa JetBrains li Navenda Karsaziya Times, ku xwendekarên me yên masterê lê dixwînin, were lidarxistin. Saet 17:00 dest pê dike. Hûn dikarin hemî hûrguliyan fêr bibin û ji bo bûyerê li ser malperê qeyd bikin
Yek ji hêmanên sereke yên bernameyê pratîk e. Xwendekar gelek jê hene: karên malê yên heftane, projeyên semesterê û hackathon. Ji ber ku di dema xwendina xwe de di nav metodolojî û teknolojiyên pêşkeftina nûjen de bêkêmasî ye, mezûn zû di pêvajoyên xebatê yên pargîdaniyên mezin ên IT-ê de yek dibin.
Di vê postê de em dixwazin bi hûrgulî li ser hackathonên DevDays, ku her şeş mehan carekê pêk tên, biaxivin. Rêbaz hêsan in: ekîbên 3-4 kesan kom dibin û sê rojan xwendekar ramanên xwe tînin jiyanê. Dibe ku ji vê yekê çi derkeve? Beşa yekem a çîrokan li ser projeyên hackathonê yên vê semesterê ji xwendekaran bixwe bixwînin :)
Rojnivîsk bi pêşniyarên fîlimê
Nivîskarê ramanê
Ivan Ilchuk
Berdewam dibe
Ivan Ilchuk - parsing komploya film, server
Vladislav Korablinov - pêşkeftina modelên ji bo berhevdana nêzîkbûna têketina rojnivîskê û nexşeya fîlimê
Dmitry Valchuk - UI
Nikita Vinokurov - UI, sêwirandin
Armanca projeya me ev bû ku em serîlêdanek sermaseyê binivîsin - rojnivîsek ku dê li gorî navnîşên tê de fîliman ji bikarhêner re pêşniyar bike.
Dema ku ez diçûm zanîngehê û li ser pirsgirêkên xwe difikirîm ev fikir ji min re hat. "Mirov bi çi pirsgirêkê re rû bi rû bimîne, hin nivîskarên klasîk berê li ser wê nivîsandiye," min fikir kir. "Û ji ber ku kesek ew nivîsand, ev tê vê wateyê ku kesek berê ew kişandiye." Ji ber vê yekê xwestina temaşekirina fîlmek li ser kesek bi heman êşa derûnî bi xwezayî xuya bû.
Eşkere ye, cûrbecûr rojnivîsên cihêreng û karûbarên pêşniyarên cihêreng hene (lê bi gelemperî pêşnîyar li ser bingeha tiştê ku kesê berê jê hez dikir têne çêkirin). Di prensîbê de, ev proje bi lêgerîna fîlimek ji hêla xalên sereke ve tiştek hevpar heye, lê dîsa jî, berî her tiştî, serîlêdana me fonksiyona rojnivîskê peyda dike.
Me ev yek çawa pêk anî? Dema ku hûn bişkojka sêrbazê pê bikin, rojnivîsk navnîşek ji serverê re dişîne, li wir fîlim li gorî danasîna ku ji Wîkîpediya hatî girtin tê hilbijartin. Eniya me di Elektronê de hate çêkirin (em wê bikar tînin, ne malperê, ji ber ku me di destpêkê de biryar da ku daneyên bikarhêner ne li serverê, lê li cîhê li ser komputerê hilînin), û server û pergala pêşniyarê bixwe di Python de hatine çêkirin: TF ji danasînên -Vektorên IDF yên ku ji bo nêzîkbûna vektora têketina rojnivîskê hatine berhev kirin hatine wergirtin.
Endamek tîmê tenê li ser modelê xebitî, yê din bi tevahî li pêş-endê xebitî (di destpêkê de bi endamek sêyemîn re, ku paşê veguherî ceribandinê). Ez bi parskirina planên fîlimê ji Wikipedia û serverê mijûl bûm.
Gav bi gav em nêzî encamê bûn, em ji gelek pirsgirêkan derbas bûn, bi vê yekê dest pê kir ku model di destpêkê de gelek RAM hewce dike, bi dijwariya veguhastina daneyan ji serverê re bi dawî bû.
Naha, ji bo dîtina fîlimek ji bo êvarê, ji we re zêde hewildan hewce nake: Encama xebata me ya sê-rojî serîlêdanek sermaseyê û serverek e, ku bikarhêner bi riya https-ê digihîje wan, di bersivê de bijarek ji 5 fîliman werdigire. raveyek kurt û posterek.
Nêrînên min ên projeyê pir erênî ne: kar ji serê sibê heya derengê şevê dîlgirtî bû, û serîlêdana encam bi awayekî periyodîk di şêwaza "Şeva Bêxew" de ji bo têketina rojnivîskê ya li ser karê malê li zanîngehê an fîlimek encamên pir xweş çêdike. di derbarê roja yekem a dibistanê de ji bo çîrokek li ser roja yekem li beşê.
Girêdanên têkildar, sazker, hwd têne dîtin
jeneratorê rê
Nivîskarê ramanê
Artemyeva Irina
Berdewam dibe
Artemyeva Irina - rêberê tîmê, lûleya sereke
Gordeeva Lyudmila - muzîk
Platonov Vladislav - rê
Ez pir hez dikim ku li dora bajêr bimeşim: li avahiyan, mirovan dinihêrim, li ser dîrokê difikirîm. Lê, dema ku cîhê rûniştina xwe diguherînim jî, zû an dereng ez bi pirsgirêka hilbijartina rêyek re rû bi rû dimînim: Min hemî yên ku ez dikarim bifikirim qedandim. Bi vî rengî fikir derket holê ku hilberîna rêgezan bixweber bike: hûn xala destpêkê û dirêjahiya rê destnîşan dikin, û bername vebijarkek dide we. Meş dikare dirêj be, ji ber vê yekê pêşkeftinek mentiqî ya ramanê xuya dike ku şiyana nîşankirina xalên navîn ji bo "rawestanek" zêde dike, li ku derê hûn dikarin xwarinek bixwin û bêhna xwe bidin. Şaxek din a pêşveçûnê muzîk bû. Meşa ber bi muzîkê ve her gav xweştir e, ji ber vê yekê ew ê pir baş be ku meriv jêhatîbûna bijartina lîstikek li ser bingeha rêgezek çêkirî zêde bike.
Di nav sepanên heyî de ne mimkûn bû ku çareseriyên weha bibînin. Analogên herî nêzîk her plansazên rêgezê ne: Google Maps, 2GIS, hwd.
Pir rehet e ku meriv serîlêdanek wusa li ser têlefona we hebe, ji ber vê yekê karanîna Telegram vebijarkek baş bû. Ew dihêle hûn nexşeyan nîşan bidin û muzîkê bilîzin, û hûn dikarin van hemîyan bi nivîsandina botekê kontrol bikin. Karê sereke bi nexşeyan re bi karanîna Google Map API-ê hate kirin. Python berhevkirina her du teknolojiyên hêsan dike.
Di tîmê de sê kes hebûn, ji ber vê yekê peywir li du binerxeyên ne-lihevhatî hate dabeş kirin (xebata bi nexşeyan û xebata bi muzîkê re) da ku xort karibin serbixwe bixebitin, û min hilda ser xwe ku ez encaman berhev bikim.
Yek ji me çu carî bi API-ya Google Map-ê an bi botên Telegram-ê yên nivîskî re ne xebitî bû, ji ber vê yekê pirsgirêka sereke mîqdara dema ku ji bo bicihanîna projeyê hatî veqetandin bû: famkirina tiştek her gav ji kirina tiştek ku hûn baş dizanin bêtir wext digire. Hilbijartina bot API-ya Telegram-ê jî dijwar bû: ji ber astengkirinê, ne hemî ew dixebitin û ez neçar bûm ku ez têkoşîn bikim ku her tiştî saz bikim.
Hêjayî gotinê ye ku çawa pirsgirêka hilberîna rêyan hate çareser kirin. Avakirina rêgezek di navbera du cihan de hêsan e, lê heke tenê dirêjahiya rêyê were zanîn hûn dikarin çi pêşkêşî bikarhêner bikin? Bila bikarhêner bixwaze 10 kîlometreyan bimeşe. Xalek di rêgezek kêfî de tê hilbijartin, dûrahiya ku di xetek rast de 10 kîlometre ye, piştî wê rêyek heya vê xalê li ser rêyên rastîn tê çêkirin. Bi îhtîmaleke mezin ew ê ne rasterast be, ji ber vê yekê em ê bi 10 kîlometreyên diyarkirî kurt bikin. Ji bo rêwiyên weha gelek vebijark hene - me jeneratorek rêgezek rastîn girt!
Di destpêkê de, min xwest ku nexşeyê li deverên ku bi qadên kesk re têkildar in dabeş bikim: embar, hewş, kolan, da ku rêça herî xweş a meşê bi dest bixim, û her weha li gorî van deveran muzîkê çêbikim. Lê kirina vê yekê bi karanîna API-ya Nexşeya Google-ê dijwar derket (wextê me tune ku em vê pirsgirêkê çareser bikin). Lêbelê, gengaz bû ku avakirina rêgezek bi cûreyên taybetî yên cîhan (dikan, park, pirtûkxane) were bicîh kirin: heke rê li dora hemî deverên diyarkirî geriya, lê dûrahiya ku tê xwestin hîn nehatibe rêve kirin, ew bi rê ve dibe. Dûrahiya ku ji hêla bikarhêner ve hatî destnîşankirin di rêgezek rasthatî de. Google Map API di heman demê de dihêle hûn dema rêwîtiyê ya texmînkirî hesab bikin, ku ji we re dibe alîkar ku hûn ji bo tevahiya meşê navnîşek lîstikê hilbijêrin.
Di encama vê çalakiyê,
Pirsgirêka sereke ya xebata bi muzîkê re ew bû ku nizanibû ku meriv pelên mp3 ji ku derê bigire bêyî ku bikarhêner li ser her karûbarek xwedan hesabek be. Biryar hat dayîn ku muzîkê ji bikarhêner bixwaze (moda UserMusic). Ev pirsgirêkek nû diafirîne: ne ku her kes xwedan şiyana dakêşana şopan e. Yek çareserî ev e ku meriv bi muzîka bikarhêneran re depoyek biafirîne (moda BotMusic) - ji wê derê hûn dikarin bêyî karûbaran muzîkê biafirînin.
Her çend ne bêkêmasî be jî, me peywir qedand: me bi serîlêdanek ku ez dixwazim bikar bînim qedandin. Bi gelemperî, ev pir xweş e: sê roj berê we tenê ramanek hebû û ne yek ramanek li ser ka meriv wê çawa tam bicîh bîne, lê naha çareseriyek xebatê heye. Ev sê roj ji bo min pir girîng bûn. Ez nema ditirsim ku ez tiştek bibînim ku têra min nezane ku ez bicîh bikim, pêşengiya tîmê pir balkêş bû, û min ew xortên hêja yên ku beşdarî tîmê min bûn nas kir. baştir!
Demokrasiya derewîn
Nivîskarê ramanê
Stanislav Sychev
Berdewam dibe
Stanislav Sychev - serokê tîmê, databas
Nikolay Izyumov - pêwendiya botê
Anton Ryabushev - paşperdeya
Di nav komên cûda de, pir caran hewcedarî bi biryarek an dengdanê heye. Bi gelemperî di rewşên weha de ew serî li wan didin
Ji bo çareserkirina pirsgirêkên herdu sîsteman, Brian Ford ev têgeh pêşniyar kir
Nimûneyên bikaranîna demokrasiya şil di siyasetê de têne dîtin, û me xwest ku di nav her cûre komên mirovan de ramanek bi heman rengî ji bo karanîna rojane pêk bînin. Di hackathona DevDays ya paşîn de, me biryar da ku em botek Telegram-ê ji bo dengdanê li gorî prensîbên demokrasiya nerm binivîsin. Di heman demê de, min xwest ku ez ji pirsgirêkek hevpar a bi botên weha re dûr bixim - girtina sohbeta giştî bi peyamên ji botê re. Çareserî ev e ku meriv bi qasî ku pêkan karibe têxe nav danûstendinek kesane.
Ji bo afirandina vê botê me bikar anî
Bê guman, sê roj demek kurt e, ji ber vê yekê di dema hackathon de me ev raman heya asta prototîpê pêk anî. Di encamê de, me botek çêkir ku ji sohbeta giştî re tenê agahdariya vekirina dengdanê û encamên wê yên nenas dinivîse. Qabiliyeta dengdanê û çêkirina anketekê bi riya peywendiya kesane ya bi botê re tê pêkanîn. Ji bo dengdanê, fermanek têkevin ku navnîşek mijarên ku bala rasterast hewce dike nîşan dide. Di pêwendiya kesane de, hûn dikarin navnîşa nûneran û dengên wan ên berê bibînin, û hem jî li ser yek ji mijaran dengê xwe bidin wan.
Karkirina li ser projeyê balkêş bû, em heta nîvê şevê li zanîngehê man, em difikirin ku ev rêyek pir xweş e ku meriv ji xwendinê veqetîne, her çend pir westiyayî be. Ew ezmûnek xweş bû ku di tîmek nêzîk de xebitî.
PS. Qeydkirina bernameyên masterê ji bo sala akademîk a din jixwe heye
Çavkanî: www.habr.com