Yn ddiweddar rydym
Cynhelir y diwrnod agored yn swyddfa JetBrains yng Nghanolfan Fusnes y Times, lle mae myfyrwyr ein meistr yn astudio. Yn dechrau am 17:00. Gallwch gael yr holl fanylion a chofrestru ar gyfer y digwyddiad ar y wefan
Un o brif gydrannau'r rhaglen yw ymarfer. Mae gan fyfyrwyr lawer ohono: gwaith cartref wythnosol, prosiectau semester a hacathonau. Diolch i drochiad llwyr mewn methodolegau a thechnolegau datblygu modern yn ystod eu hastudiaethau, mae graddedigion yn integreiddio'n gyflym i brosesau gwaith cwmnïau TG mawr.
Yn y swydd hon rydym am siarad yn fanylach am hacathonau DevDays, sy'n digwydd bob chwe mis. Mae'r rheolau'n syml: mae timau o 3-4 o bobl yn ymgynnull ac am dri diwrnod mae myfyrwyr yn dod â'u syniadau eu hunain yn fyw. Beth allai ddod o hyn? Darllenwch ran gyntaf y straeon am brosiectau hacathon y semester hwn gan y myfyrwyr eu hunain :)
Dyddiadur gydag argymhellion ffilm
Awdur y syniad
Ivan Ilchuk
Llinell-up
Ivan Ilchuk – dosrannu plot ffilm, gweinydd
Vladislav Korablinov - datblygu modelau ar gyfer cymharu agosrwydd cofnod dyddiadur a plot ffilm
Dmitry Valchuk – UI
Nikita Vinokurov – UI, dylunio
Nod ein prosiect oedd ysgrifennu rhaglen bwrdd gwaith - dyddiadur a fyddai'n argymell ffilmiau i'r defnyddiwr yn seiliedig ar y cofnodion ynddo.
Daeth y syniad hwn i mi pan oeddwn ar fy ffordd i'r brifysgol ac yn meddwl am fy mhroblemau. “Pa bynnag broblem y mae person yn ei hwynebu, mae rhyw awdur clasurol eisoes wedi ysgrifennu amdani,” meddyliais. “Ac ers i rywun ei ysgrifennu, mae’n golygu bod rhywun eisoes wedi ei ffilmio.” Felly roedd yr awydd i wylio ffilm am berson gyda'r un poen meddwl yn ymddangos yn naturiol.
Yn amlwg, mae amrywiaeth eang o ddyddiaduron ar wahân a gwasanaethau argymell ar wahân (ond fel arfer mae'r argymhellion yn seiliedig ar yr hyn yr oedd y person yn ei hoffi yn flaenorol). Mewn egwyddor, mae gan y prosiect hwn rywbeth yn gyffredin â chwilio am ffilm yn ôl pwyntiau allweddol, ond yn dal i fod, yn gyntaf oll, mae ein cymhwysiad yn darparu ymarferoldeb dyddiadur.
Sut y gwnaethom roi hyn ar waith? Pan fyddwch chi'n pwyso'r botwm hud, mae'r dyddiadur yn anfon cofnod i'r gweinydd, lle mae'r ffilm yn cael ei dewis yn seiliedig ar y disgrifiad a gymerwyd o Wicipedia. Gwnaed ein frontend yn Electron (rydym yn ei ddefnyddio, nid y wefan, oherwydd i ddechrau fe wnaethom benderfynu storio data defnyddwyr nid ar y gweinydd, ond yn lleol ar y cyfrifiadur), a gwnaed y gweinydd a'r system argymell ei hun yn Python: roedd TFs yn a gafwyd o'r disgrifiadau - fectorau IDF a gafodd eu cymharu am agosrwydd at fector cofnod y dyddiadur.
Roedd un aelod o'r tîm yn gweithio ar y model yn unig, roedd y llall yn gweithio'n gyfan gwbl ar y pen blaen (i ddechrau gyda thrydydd aelod, a newidiodd i brofi yn ddiweddarach). Roeddwn i'n dosrannu plotiau ffilm o Wikipedia a'r gweinydd.
Cam wrth gam daethom yn nes at y canlyniad, gan oresgyn nifer o broblemau, gan ddechrau gyda'r ffaith bod angen llawer o RAM ar y model i ddechrau, gan orffen gyda'r anhawster o drosglwyddo data i'r gweinydd.
Nawr, i ddod o hyd i ffilm ar gyfer y noson, nid oes angen llawer o ymdrech: canlyniad ein gwaith tridiau yw cymhwysiad bwrdd gwaith a gweinydd, y mae'r defnyddiwr yn ei gyrchu trwy https, gan dderbyn mewn ymateb detholiad o 5 ffilm gyda disgrifiad byr a phoster.
Mae fy argraffiadau o’r prosiect yn gadarnhaol iawn: roedd y gwaith yn gyfareddol o’r bore bach hyd yn hwyr yn y nos, ac mae’r cais dilynol o bryd i’w gilydd yn cynhyrchu canlyniadau hynod ddoniol yn arddull “Sleepless Night” ar gyfer cofnod dyddiadur am waith cartref yn y brifysgol neu ffilm. am ddiwrnod cyntaf yr ysgol am stori am y diwrnod cyntaf yn yr adran.
Gellir dod o hyd i ddolenni perthnasol, gosodwyr, ac ati
Generadur llwybr
Awdur y syniad
Artemyeva Irina
Llinell-up
Artemyeva Irina - arweinydd tîm, prif ddolen
Gordeeva Lyudmila - cerddoriaeth
Platonov Vladislav - llwybrau
Dwi'n hoff iawn o gerdded o gwmpas y ddinas: edrych ar adeiladau, pobl, meddwl am hanes. Ond, hyd yn oed wrth newid fy man preswylio, yn hwyr neu'n hwyrach rwy'n wynebu'r broblem o ddewis llwybr: rwyf wedi cwblhau'r holl rai y gallwn feddwl amdanynt. Dyma sut y daeth y syniad i fyny i awtomeiddio'r genhedlaeth o lwybrau: rydych chi'n nodi man cychwyn a hyd y llwybr, ac mae'r rhaglen yn rhoi opsiwn i chi. Gall teithiau cerdded fod yn hir, felly mae'n ymddangos bod datblygiad rhesymegol o'r syniad yn ychwanegu'r gallu i nodi pwyntiau canolradd ar gyfer “stopio,” lle gallech chi gael byrbryd a gorffwys. Cangen arall o ddatblygiad oedd cerddoriaeth. Mae cerdded i gerddoriaeth bob amser yn fwy o hwyl, felly byddai'n wych ychwanegu'r gallu i ddewis rhestr chwarae yn seiliedig ar lwybr a gynhyrchir.
Nid oedd yn bosibl dod o hyd i atebion o'r fath ymhlith ceisiadau presennol. Y analogau agosaf yw unrhyw gynllunwyr llwybr: Google Maps, 2GIS, ac ati.
Mae'n fwyaf cyfleus cael cymhwysiad o'r fath ar eich ffôn, felly roedd defnyddio Telegram yn opsiwn da. Mae'n caniatáu ichi arddangos mapiau a chwarae cerddoriaeth, a gallwch reoli hyn i gyd trwy ysgrifennu bot. Gwnaethpwyd y prif waith gyda mapiau gan ddefnyddio API Google Map. Mae Python yn ei gwneud hi'n hawdd cyfuno'r ddwy dechnoleg.
Roedd tri o bobl yn y tîm, felly rhannwyd y dasg yn ddwy is-dasg nad oedd yn gorgyffwrdd (gweithio gyda mapiau a gweithio gyda cherddoriaeth) fel bod y bechgyn yn gallu gweithio'n annibynnol, a chymerais arnaf fy hun i gyfuno'r canlyniadau.
Nid oedd yr un ohonom erioed wedi gweithio gydag API Google Map na bots Telegram ysgrifenedig, felly y brif broblem oedd faint o amser a neilltuwyd i weithredu'r prosiect: mae deall rhywbeth bob amser yn cymryd mwy o amser na gwneud rhywbeth rydych chi'n ei wybod yn dda. Roedd hefyd yn anodd dewis API bot Telegram: oherwydd blocio, nid yw pob un ohonynt yn gweithio a bu'n rhaid i mi ei chael hi'n anodd sefydlu popeth.
Mae'n werth sôn ar wahân sut y datryswyd y broblem o gynhyrchu llwybrau. Mae'n hawdd adeiladu llwybr rhwng dau leoliad, ond beth allwch chi ei gynnig i'r defnyddiwr os mai dim ond hyd y llwybr sy'n hysbys? Gadewch i'r defnyddiwr eisiau cerdded 10 cilomedr. Dewisir pwynt mewn cyfeiriad mympwyol, y pellter mewn llinell syth yw 10 cilomedr, ac ar ôl hynny mae llwybr yn cael ei adeiladu i'r pwynt hwn ar hyd ffyrdd go iawn. Yn fwyaf tebygol, ni fydd yn syth, felly byddwn yn ei fyrhau i'r 10 cilomedr penodedig. Mae yna lawer o opsiynau ar gyfer llwybrau o'r fath - cawsom gynhyrchydd llwybrau go iawn!
I ddechrau, roeddwn i eisiau rhannu'r map yn ardaloedd sy'n cyfateb i ardaloedd gwyrdd: argloddiau, cyrtiau, strydoedd, er mwyn cael y llwybr mwyaf dymunol ar gyfer cerdded, a hefyd yn cynhyrchu cerddoriaeth yn unol â'r ardaloedd hyn. Ond roedd yn anodd gwneud hyn gan ddefnyddio API Map Google (nid oedd gennym amser i ddatrys y broblem hon). Fodd bynnag, roedd yn bosibl gweithredu'r gwaith o adeiladu llwybr trwy fathau penodol o leoliadau (siop, parc, llyfrgell): pe bai'r llwybr yn mynd o amgylch yr holl leoedd penodedig, ond nad yw'r pellter a ddymunir wedi'i deithio eto, caiff ei gwblhau i un. pellter a bennir gan y defnyddiwr i gyfeiriad ar hap. Mae API Google Map hefyd yn caniatáu ichi gyfrifo'r amser teithio amcangyfrifedig, sy'n eich helpu i ddewis rhestr chwarae yn union ar gyfer y daith gerdded gyfan.
O ganlyniad,
Y brif broblem gyda gweithio gyda cherddoriaeth oedd peidio â gwybod o ble i gael ffeiliau mp3 heb fod angen i'r defnyddiwr gael cyfrif ar unrhyw wasanaeth. Penderfynwyd gofyn am gerddoriaeth gan y defnyddiwr (modd UserMusic). Mae hyn yn creu problem newydd: nid oes gan bawb y gallu i lawrlwytho traciau. Un ateb yw creu ystorfa gyda cherddoriaeth gan ddefnyddwyr (modd BotMusic) - ohono gallwch chi gynhyrchu cerddoriaeth waeth beth fo'r gwasanaethau.
Er nad yw'n berffaith, fe wnaethom gwblhau'r dasg: daeth cais i ben yr hoffwn ei ddefnyddio. Yn gyffredinol, mae hyn yn cŵl iawn: dridiau yn ôl dim ond syniad oedd gennych chi ac nid un syniad ar sut yn union i'w roi ar waith, ond nawr mae yna ateb gweithredol. Roedd y rhain yn dridiau pwysig iawn i mi.Nid oes arnaf ofn meddwl am rywbeth nad oes gennyf ddigon o wybodaeth i'w weithredu bellach, roedd bod yn arweinydd tîm yn hynod ddiddorol, a deuthum i adnabod y bechgyn gwych a ymunodd â'm tîm. well!
Democratiaeth Hylif
Awdur y syniad
Stanislav Sychev
Llinell-up
Stanislav Sychev – arweinydd tîm, cronfa ddata
Nikolay Izyumov – rhyngwyneb bot
Anton Ryabushev – cefn
O fewn gwahanol grwpiau, yn aml mae angen gwneud penderfyniad neu bleidleisio. Fel arfer mewn achosion o'r fath maent yn troi at
I ddatrys problemau'r ddwy system, cynigiodd Brian Ford y cysyniad
Ceir enghreifftiau o’r defnydd o ddemocratiaeth hylifol mewn gwleidyddiaeth, ac roeddem am roi syniad tebyg ar waith i’w ddefnyddio bob dydd o fewn pob math o grwpiau o bobl. Yn hacathon nesaf DevDays, fe benderfynon ni ysgrifennu bot Telegram ar gyfer pleidleisio yn unol ag egwyddorion democratiaeth hylifol. Ar yr un pryd, roeddwn i eisiau osgoi problem gyffredin gyda bots o'r fath - clocsio'r sgwrs gyffredinol gyda negeseuon o'r bot. Yr ateb yw dod â chymaint o ymarferoldeb â phosibl i mewn i sgwrs bersonol.
I greu'r bot hwn fe wnaethon ni ddefnyddio
Wrth gwrs, mae tri diwrnod yn amser byr, felly yn ystod yr hacathon fe wnaethom weithredu'r syniad i lefel y prototeip. O ganlyniad, rydym yn creu bot sy'n ysgrifennu at y sgwrs gyffredinol dim ond gwybodaeth am agor y pleidleisio a'i ganlyniadau dienw. Mae'r gallu i bleidleisio a chreu arolwg barn yn cael ei weithredu trwy ohebiaeth bersonol gyda'r bot. I bleidleisio, rhowch orchymyn sy'n dangos rhestr o faterion sydd angen sylw uniongyrchol. Mewn gohebiaeth bersonol, gallwch weld y rhestr o gynrychiolwyr a'u pleidleisiau blaenorol, a hefyd rhoi eich pleidlais iddynt ar un o'r pynciau.
Roedd yn ddiddorol gweithio ar y prosiect, arhoson ni yn y brifysgol tan hanner nos.Rydym yn meddwl bod hyn yn ffordd wych o gymryd seibiant o astudio, er ei fod yn flinedig iawn. Roedd yn brofiad dymunol gweithio mewn tîm clos.
PS. Mae cofrestriad ar gyfer rhaglenni meistr ar gyfer y flwyddyn academaidd nesaf eisoes
Ffynhonnell: www.habr.com