Hackathon DevDays'19 (1 برخه): د سپارښتنو سره یو ډایری، د تګ لارې جنراتور او مایع ډیموکراسي

په دې وروستیو کې موږ وویل د JetBrains او ITMO پوهنتون د کارپوریټ ماسټر پروګرام په اړه "د سافټویر پراختیا / سافټویر انجینرۍ". موږ ټولو علاقمندانو ته بلنه ورکوو چې د دوشنبې په ورځ ، د اپریل په 29 نیټه خلاصې ورځې ته راشي. موږ به تاسو ته زموږ د ماسټر برنامې ګټو په اړه ووایو ، زده کونکو ته کوم بونس وړاندیز کوو او په بدل کې یې څه غوښتنه کوو. سربیره پردې، موږ به خامخا زموږ د میلمنو پوښتنو ته ځواب ووایو.

Hackathon DevDays'19 (1 برخه): د سپارښتنو سره یو ډایری، د تګ لارې جنراتور او مایع ډیموکراسيپرانيستې ورځ به د ټايمز سوداګرۍ مرکز کې د JetBrains په دفتر کې ترسره شي، چیرته چې زموږ د ماسټر زده کونکي زده کړه کوي. په 17:00 پیل کیږي. تاسو کولی شئ ټول توضیحات ومومئ او په ویب پا onه کې د پیښې لپاره راجسټر شئ mse.itmo.ru. راشئ او تاسو به پښیمانه نه شئ!

د پروګرام یو له مهمو برخو څخه تمرین دی. زده کونکي ډیر څه لري: د اونۍ کور کار ، سمستر پروژې او هیکاتون. د دوی د زده کړې په جریان کې د عصري پراختیا میتودونو او ټیکنالوژیو کې د بشپړ ډوبیدو څخه مننه ، فارغین په چټکۍ سره د لوی IT شرکتونو کاري پروسو کې مدغم کیږي.

پدې پوسټ کې موږ غواړو د DevDays هیکاتون په اړه نور تفصیل وغږیږو ، کوم چې په هرو شپږو میاشتو کې ترسره کیږي. قواعد ساده دي: د 3-4 کسانو ټیمونه راټولیږي او د دریو ورځو لپاره زده کونکي خپل نظرونه ژوند ته راوړي. له دې څخه څه کیدی شي؟ د دې سمستر د هیکاتون پروژې په اړه د کیسې لومړۍ برخه پخپله د زده کونکو څخه ولولئ :)

د فلم سپارښتنو سره لارښود

Hackathon DevDays'19 (1 برخه): د سپارښتنو سره یو ډایری، د تګ لارې جنراتور او مایع ډیموکراسي

د مفکورې لیکوال
ایوان ایلچوک
په لیکه کیدل
Ivan Ilchuk - د فلم پلاټ تجزیه، سرور
ولادیسلاو کورابلینوف - د ډیری ننوتلو نږدېوالی او د فلم پلاټ پرتله کولو لپاره د ماډلونو پراختیا
دیمتري ویلچوک - UI
نیکیتا وینکوروف - UI، ډیزاین

زموږ د پروژې هدف دا و چې د ډیسټاپ غوښتنلیک ولیکئ - یو ډایری چې کارونکي ته به فلمونه په هغې کې د ننوتلو پراساس وړاندیز کوي.

دا نظر ماته هغه وخت راغی کله چې زه پوهنتون ته په لاره وم او د خپلو ستونزو په اړه فکر کوم. "د کومې ستونزې سره چې یو سړی ورسره مخ وي، یو کلاسیک لیکوال لا دمخه د هغې په اړه لیکلي وي،" ما فکر کاوه. "او له هغه وخته چې یو چا دا لیکلي، دا پدې مانا ده چې یو چا دمخه دا فلم کړی دی." نو د ورته ذهني عذاب سره د یو کس په اړه د فلم لیدلو هیله په طبیعي توګه ښکاره شوه.

په ښکاره ډول، د جلا جلا ډایریونو او جلا سپارښتنې خدماتو پراخه ډولونه شتون لري (مګر معمولا سپارښتنې د هغه څه پراساس دي چې مخکې یې خوښوي). په اصولو کې ، دا پروژه د کلیدي ټکو لخوا د فلم لټون کولو سره یو څه ورته والی لري ، مګر بیا هم ، له هرڅه دمخه ، زموږ غوښتنلیک د ډایري فعالیت چمتو کوي.

Hackathon DevDays'19 (1 برخه): د سپارښتنو سره یو ډایری، د تګ لارې جنراتور او مایع ډیموکراسيموږ دا څنګه پلي کړو؟ کله چې تاسو د جادو تڼۍ فشار کړئ، ډایري سرور ته ننوتل لیږي، چیرې چې فلم د ویکیپیډیا څخه اخیستل شوي توضیحاتو پراساس غوره کیږي. زموږ فرنټ اینډ په الیکټرون کې جوړ شوی و (موږ یې کاروو، ویب پاڼه نه، ځکه چې موږ په پیل کې پریکړه وکړه چې د کاروونکي ډاټا ذخیره کړو په سرور کې نه، مګر په محلي توګه په کمپیوټر کې)، او سرور او د سپارښتنې سیسټم پخپله په Python کې جوړ شوی و: TFs وو. د توضیحاتو څخه ترلاسه شوي -IDF ویکتورونه چې د ډایري ننوتلو ویکتور سره د نږدې کیدو لپاره پرتله شوي.

د ټیم یوه غړي یوازې په ماډل کې کار کاوه، بل یې په بشپړ ډول په لومړي پای کې کار کاوه (په پیل کې د دریم غړي سره یوځای، چې وروسته یې ازموینې ته واړوله). زه د ویکیپیډیا او سرور څخه د فلم پلاټونو په تحلیل کې بوخت وم.

ګام په ګام موږ پایلې ته نږدې شو، په یو شمیر ستونزو بریالي شو، د دې حقیقت سره پیل شو چې ماډل په پیل کې ډیری رام ته اړتیا درلوده، سرور ته د معلوماتو لیږدولو ستونزې سره پای ته ورسید.

اوس، د ماښام لپاره د فلم موندلو لپاره، تاسو ډیرې هڅې ته اړتیا نلرئ: زموږ د درې ورځني کار پایله د ډیسټاپ غوښتنلیک او سرور دی، کوم چې کاروونکي د https له لارې لاسرسی لري، په ځواب کې د 5 فلمونو انتخاب ترلاسه کوي. یو لنډ تفصیل او پوسټر.

د پروژې په اړه زما تاثیرات خورا مثبت دي: کار د سهار له سهار څخه تر ماښامه پورې زړه راښکونکی و ، او پایله شوې غوښتنلیک وخت په وخت په پوهنتون یا فلم کې د کور کار په اړه د ډایري ننوتلو لپاره د "بې خوبه شپې" سټایل کې خورا مسخره پایلې رامینځته کوي. په ډیپارټمنټ کې د لومړۍ ورځې په اړه د کیسې لپاره د ښوونځي د لومړۍ ورځې په اړه.

اړونده لینکونه، نصب کونکي، او نور موندل کیدی شي دلته.

د لارې جنراتور

Hackathon DevDays'19 (1 برخه): د سپارښتنو سره یو ډایری، د تګ لارې جنراتور او مایع ډیموکراسيد مفکورې لیکوال
آرټیمیفا ایرینا
په لیکه کیدل
Artemyeva ارینا - د ټیم مشر، اصلي لوپ
Gordeeva Lyudmila - موسيقي
Platonov Vladislav - لارې

زه واقعیا د ښار شاوخوا ګرځیدل خوښوم: ودانیو ته کتل ، خلک ، د تاریخ په اړه فکر کول. مګر، حتی کله چې زما د اوسیدو ځای بدل کړم، ژر یا وروسته زه د یوې لارې غوره کولو له ستونزې سره مخ یم: ما ټول هغه بشپړ کړي چې ما فکر کاوه. دا څنګه د لارو تولید اتومات کولو لپاره نظر راغی: تاسو د پیل نقطه او د لارې اوږدوالی په ګوته کوئ ، او برنامه تاسو ته اختیار درکوي. تګ کیدای شي اوږده وي، نو د نظر منطقي پرمختګ داسې ښکاري چې د "ودریدو" لپاره د منځنیو ټکو په ګوته کولو وړتیا اضافه کړي چیرې چې تاسو کولی شئ ناڅاپه او آرام ولرئ. د پرمختګ بله څانګه موسيقي وه. میوزیک ته تلل تل ډیر ساتیري وي ، نو دا به عالي وي چې د رامینځته شوي لارې پراساس د پلی لیست غوره کولو وړتیا اضافه کړئ.

دا ممکنه نه وه چې د موجوده غوښتنلیکونو ترمنځ داسې حلونه ومومئ. نږدې انلاګونه د هرې لارې پلان کونکي دي: ګوګل نقشه ، 2GIS ، او داسې نور.

دا ستاسو په تلیفون کې د داسې غوښتنلیک درلودل خورا اسانه دي ، نو د ټیلیګرام کارول یو ښه انتخاب و. دا تاسو ته اجازه درکوي نقشې ښکاره کړئ او میوزیک پلی کړئ ، او تاسو کولی شئ دا ټول د بوټ لیکلو سره کنټرول کړئ. د نقشو سره اصلي کار د Google Map API په کارولو سره ترسره شو. Python د دواړو ټیکنالوژیو یوځای کول اسانه کوي.

په ټیم کې درې کسان وو، نو دا دنده په دوه غیر متقابل فرعي ټاسکونو ویشل شوې وه (د نقشو سره کار کول او د موسیقۍ سره کار کول) ترڅو هلکان په خپلواکه توګه کار وکړي، او ما پخپله د پایلو سره یوځای کولو ته غاړه کیښوده.

Hackathon DevDays'19 (1 برخه): د سپارښتنو سره یو ډایری، د تګ لارې جنراتور او مایع ډیموکراسيزموږ څخه هیچا هیڅکله د ګوګل میپ API یا لیکلي ټیلیګرام بوټونو سره کار نه دی کړی، نو اصلي ستونزه د پروژې پلي کولو لپاره ځانګړي شوي وخت و: د یو څه پوهیدل تل د هغه څه کولو په پرتله ډیر وخت نیسي چې تاسو ښه پوهیږئ. د ټیلیګرام بوټ API غوره کول هم ستونزمن وو: د بلاک کولو له امله ، دا ټول کار نه کوي او زه باید د هرڅه تنظیم کولو لپاره مبارزه وکړم.

دا په جلا توګه د یادولو وړ ده چې د لارو پیدا کولو ستونزه څنګه حل شوه. د دوو ځایونو ترمنځ د لارې جوړول اسانه دي، مګر تاسو کاروونکي ته څه وړاندیز کولی شئ که یوازې د لارې اوږدوالی معلوم وي؟ اجازه راکړئ چې کاروونکي وغواړي 10 کیلومتره مزل وکړي. یوه نقطه په خپل سري لوري کې ټاکل شوې، هغه فاصله چې په مستقیم کرښه کې 10 کیلومتره ده، وروسته له هغې چې د اصلي سړکونو په اوږدو کې دې نقطې ته لاره جوړه شي. ډیری احتمال دا به مستقیم نه وي، نو موږ به دا ټاکل شوي 10 کیلومترو ته لنډ کړو. د داسې لارو لپاره ډیری اختیارونه شتون لري - موږ د ریښتیني لارې جنراتور ترلاسه کړ!

په پیل کې، ما غوښتل چې نقشه د شنو ساحو سره په مطابقت کې تقسیم کړم: بندونه، انګړ، کوڅې، د تګ لپاره خورا خوندور لاره ترلاسه کولو لپاره، او د دې سیمو سره سم موسیقي هم تولید کړئ. مګر د ګوګل میپ API په کارولو سره دا کار کول ستونزمن وګرځیدل (موږ د دې ستونزې حل کولو لپاره وخت نه درلود). په هرصورت، دا ممکنه وه چې د ځانګړو ځایونو (دوکان، پارک، کتابتون) له لارې د لارې جوړول پلي شي: که چیرې لاره د ټولو ټاکلو ځایونو شاوخوا تیریږي، مګر مطلوب فاصله لا تر اوسه سفر نه وي شوی، دا بشپړ شوی. په تصادفي لوري کې د کارونکي لخوا ټاکل شوی فاصله. د ګوګل نقشه API تاسو ته اجازه درکوي د سفر اټکل شوي وخت محاسبه کړئ، کوم چې تاسو سره د ټول واک لپاره په سمه توګه د پلی لیست غوره کولو کې مرسته کوي.

په پایله کې، نسل جوړ کړي د پیل نقطې، فاصلې او منځنیو نقطو له لارې لارې؛ هرڅه د لارې د برخو سره سم د میوزیک طبقه بندي کولو لپاره چمتو شوي و ، مګر د وخت نشتوالي له امله پریکړه وشوه چې په ساده ډول د اضافي UI څانګې په توګه د پلی لیست غوره کولو اختیار پریږدئ. پدې توګه ، کارونکي وکولی شول په خپلواکه توګه د اوریدلو لپاره میوزیک غوره کړي.

د میوزیک سره کار کولو کې اصلي ستونزه دا وه چې نه پوهیدل له کوم ځای څخه mp3 فایلونه ترلاسه کول پرته له دې چې کارونکي اړتیا ولري په کوم خدمت کې حساب ولري. پریکړه وشوه چې د کارونکي (UserMusic mode) څخه د میوزیک غوښتنه وکړئ. دا یوه نوې ستونزه رامینځته کوي: هرڅوک د ټریکونو ډاونلوډ کولو وړتیا نلري. یو حل دا دی چې د کاروونکو څخه د میوزیک سره ذخیره جوړه کړئ (BotMusic mode) - له دې څخه تاسو کولی شئ د خدماتو په پام کې نیولو پرته میوزیک تولید کړئ.

که څه هم کامل نه دی، موږ دنده بشپړه کړه: موږ د یو غوښتنلیک سره پای ته ورسوو چې زه یې غواړم وکاروم. په عموم کې ، دا خورا ښه دی: درې ورځې دمخه تاسو یوازې یو نظر درلود او د دې پلي کولو څرنګوالي په اړه هیڅ فکر نه و ، مګر اوس یو کاري حل شتون لري. دا درې ورځې زما لپاره ډېرې مهمې وې، زه نور نه وېرېږم چې له داسې یو څه سره راشم چې د پلي کولو لپاره پوره پوهه نه لرم، د ټیم مشر کېدل خورا په زړه پورې وو، او زه هغه ښه هلکان وپیژنم چې زما په ټیم کې شامل شول. ښه!

مایع ډیموکراسي

Hackathon DevDays'19 (1 برخه): د سپارښتنو سره یو ډایری، د تګ لارې جنراتور او مایع ډیموکراسي

د مفکورې لیکوال
Stanislav Sychev
په لیکه کیدل
Stanislav Sychev - د ټیم مشر، ډیټابیس
نیکولای ایزیوموف - د بوټ انٹرفیس
انتون ریابوشیف - پس منظر

په مختلفو ډلو کې، ډیری وختونه د پریکړې یا رایې ورکولو ته اړتیا وي. معمولا په داسې حاالتو کې دوی استراحت کوي مستقیم ډیموکراسيپه هرصورت، کله چې ډله لویه شي، ستونزې رامنځته کیدی شي. د مثال په توګه، په یوه ډله کې یو شخص ممکن نه غواړي چې ډیری وختونه پوښتنو ته ځواب ووایي یا د ځینو موضوعاتو په اړه پوښتنو ته ځواب ووایي. په لویو ګروپونو کې، د ستونزو څخه د مخنیوي لپاره چې دوی یې کار کوي نماینده ډیموکراسيکله چې د ټولو خلکو څخه د "مرستیالانو" یوه جلا ډله وټاکل شي، چې پاتې نور یې د انتخاب له بار څخه خلاصوي. مګر دا خورا ستونزمن کار دی چې داسې یو مرستیال شي، او هغه څوک چې یو څوک شي، اړینه نه ده چې صادق او د درناوي وړ وي، لکه څنګه چې هغه رایه ورکوونکو ته ښکاري.

د دواړو سیسټمونو د ستونزو د حل لپاره، براین فورډ دا مفهوم وړاندیز کړ مایع ډیموکراسي. په داسې یو سیسټم کې، هرڅوک وړیا دی چې د یو منظم کارونکي یا استازي رول غوره کړي، په ساده ډول د خپلې غوښتنې په څرګندولو سره. هر څوک کولی شي په خپلواکه توګه رایه ورکړي یا په یوه یا ډیرو مسلو کې استازي ته رایه ورکړي. یو استازی هم کولی شي خپله رایه ورکړي. سربیره پردې، که چیرې استازی نور د رایې ورکوونکي سره مناسب نه وي، رایه هر وخت بیرته اخیستل کیدی شي.

د مایع ډیموکراسۍ د کارولو بیلګې په سیاست کې موندل کیږي، او موږ غوښتل چې د خلکو په هر ډول ډلو کې د ورځني کارونې لپاره ورته نظر پلي کړو. په راتلونکي DevDays هیکاتون کې ، موږ پریکړه وکړه چې د مایع ډیموکراسۍ اصولو سره سم د رایې ورکولو لپاره د ټیلیګرام بوټ ولیکئ. په ورته وخت کې، زه غواړم د داسې بوټو سره د یوې عامې ستونزې څخه مخنیوی وکړم - د بوټو پیغامونو سره د عمومي چیٹ بندول. د حل لاره دا ده چې په شخصي خبرو اترو کې د امکان تر حده ډیر فعالیت راوړو.

Hackathon DevDays'19 (1 برخه): د سپارښتنو سره یو ډایری، د تګ لارې جنراتور او مایع ډیموکراسيد دې بوټ جوړولو لپاره موږ کارولی له ټیلیګرام څخه API. د PostgreSQL ډیټابیس د رایې ورکولو او استازو تاریخ ذخیره کولو لپاره غوره شوی و. د بوټ سره د خبرو اترو لپاره، د فلاسک سرور نصب شوی و. موږ دا ټیکنالوژي غوره کړه ځکه چې ... موږ دمخه زموږ د ماسټرۍ زده کړې پرمهال له دوی سره د متقابل عمل تجربه درلوده. د پروژې په دریو برخو کار - ډیټابیس، سرور، او بوټ - په بریالیتوب سره د ټیم غړو ترمنځ وویشل شو.

البته، درې ورځې یو لنډ وخت دی، نو د هیکاتون په جریان کې موږ دا نظر د پروټوټایپ کچې ته پلي کړ. د پایلې په توګه، موږ یو بوټ جوړ کړ چې عمومي چیٹ ته یوازې د رایې ورکولو او د هغې د نامعلومو پایلو د پرانیستلو په اړه معلومات لیکي. د رایې ورکولو او رایې ورکولو وړتیا د بوټ سره د شخصي اړیکو له لارې پلي کیږي. د رایې ورکولو لپاره، یو کمانډ داخل کړئ چې د مسلو لیست ښکاره کوي چې مستقیم پاملرنې ته اړتیا لري. په شخصي مکتوبونو کې تاسو کولی شئ د استازو لیست او د دوی پخوانیو رایو وګورئ او هم د یوې موضوع په اړه خپله رایه ورکړئ.

ویډیو د کار مثال سره.

په پروژه کې کار کول په زړه پورې وو، موږ تر نیمې شپې پورې په پوهنتون کې پاتې شو، موږ فکر کاوه چې دا د مطالعې څخه د وقفې لپاره غوره لاره ده، که څه هم دا خورا ستړیا ده. دا یوه خوندوره تجربه وه چې په یوه نږدې ټیم کې کار کول.

پی ایس. د راتلونکي تعلیمي کال لپاره د ماسټرۍ برنامې لپاره نوم لیکنه لا دمخه ده خلاصه ده. اوس ګډون وکړئ!

سرچینه: www.habr.com

Add a comment