Кодим-пицца

Салом, Хабр. Мо беихтиёр аввалин хакатони дохилии худро гузаронидем. Ман қарор додам, ки дардҳо ва хулосаҳои худро дар бораи омодагӣ ба он дар тӯли 2 ҳафта ва инчунин лоиҳаҳое, ки маълум шуданд, бо шумо мубодила кунам.

Кодим-пицца

Қисми дилгиркунанда барои онҳое, ки ба маркетинг таваҷҷӯҳ доранд

Ман бо як ҳикояи каме оғоз мекунам.

Ибтидои мохи апрель. Дар идораи мо аввалин хакатони Community MskDotNet баргузор мешавад. Ҷанги Татуин ин дафъа дар галактикаи мо босуръат идома дорад. шанбе. 20 даста. Пицца. Ҳама чиз хеле самимӣ аст (далелҳо). Дар гирду атрофи толор як мошини пуфшавандаи R2-D2 шино мекунад. Дастаҳо алгоритмҳои дурусттаринро барои гузаштан аз мусобиқаи хатарнок дар харита менависанд. Мо оғози мусобиқаҳои аввалинро идома медиҳем. Кукиҳо ва қаҳва наҷотдиҳандагони ҳаёт мебошанд. Созмондиҳандагон ва ман интизор будем, ки пас аз хӯроки нисфирӯзӣ рӯзи шанбе бисёр одамон мераванд. Аммо не. 12 соат паси рамзгузорӣ. Финал. Чизе меафтад, чизе сар намешавад. Аммо ҳама хушбахтанд. Командам мо галаба мекунад. Мо дучанд хурсандем.

Ман шодии худро дар Slack мубодила мекунам ва фикре ба сарам меояд: "Мо бояд хакатони худро кунем." Ман ба станцияи хизматрасонии мо Саша менависам. Хомуш.

Субх. Ман дар офис қаҳва менӯшам. Ман Сашаро мебинам, ки аз қафо наздик мешавад. "Лиза, ин олиҷаноб аст! Мо рӯзи 21 апрел як санаи муҳим дорем. Биёед, инро кунем!" WTF!? Ҳамин қадар зуд? А? Чӣ? Ман бояд дар нимаи моҳи апрел ба Сыктывкар барои таҷрибаомӯзӣ парвоз кунам. Ва ба ҷаҳаннам бо он! биёед.

2 ҳафта мондааст. Ман ҳеҷ гоҳ ташкилотчии ягонаи ҳакатон набудам. Бигзор он дохилӣ бошад. Ман мақолаҳоро дар ин мавзӯъ хондам. Сахт. Ин якчанд моҳ мегирад. Якчанд нафар лозим аст. Шумо бояд дар бораи мол, мукофотҳо, шартҳо, ҷадвал, фоизҳо, фаҳмидани ҳадаф, буҷетҳо фикр кунед. Ё шояд ҳатто маънои ҳаётро фаҳмед. Ман бешубҳа онро дар вақташ намедиҳам. Ва ҳангоме ки шумо хондан ва омодагӣ медидед, аллакай як ҳафта гузашт. Вақти он расидааст, ки мақолаҳоро фаромӯш кунем ва ба коре шурӯъ кунем.

Рӯйхати санҷиши моро барои баргузории ҳакатони дохилӣ дар 1 ҳафта гиред

  • Нақша: Шумо оромона нишаста, руйхатеро менависед, ки барои хакконй чй корхоро анчом додан лозим аст. Дақиқа 30.
  • Мақсад: Иштирокчиён лоиҳаҳоеро, ки мехоҳанд дар Google Sheets эҷод кунанд, пешниҳод ва интихоб мекунанд. Вазифаи заминавӣ, 2 соат.
  • Schedule: дар сари зону шумо 3 танаффус ва финалро ба назар гирифта, мухтасари вактро менависед. Дақиқа 20.
  • Фармонҳо: паёмро дар бораи ҳакатон бо ҷадвали истгоҳи хидматрасонӣ дар каналҳои IT дар Slack/mail/etc нашр кунед ва барои ҳакатон канали алоҳида эҷод кунед. Дар он ҳама ба дастаҳо тақсим шудаанд ва онҳое, ки тасмим нагирифтаанд, дар 5 дақиқаи аввали ҳакафон ин корро мекунанд. Вазифаи заминавӣ, 2 соат.
  • Булочкахо: шумо бо ду таҳиягар маҳсулот меоред, онро барои намоиш додан ба дизайнер медиҳед ва онро омода қабул кунед. Вазифаи заминавӣ, 3 рӯз.
  • Хакатон: шумо ба офис меоед, ҳамаро дар аввал ҳамоҳанг мекунед, ба тиҷорати худ равед, Reddit-ро хонед, муҳимтар аз ҳама ҳар як танаффусро дар бораи пиццаи тару тоза эълон кунед, ғуруби офтобро акс гиред, финалро эълон кунед, якҷоя овоз диҳед ва ғолибро интихоб кунед. Рӯзи 1.
  • Дар зери ситорача: Албатта, шумо доимо дар бораи хуб шудани ҳама чиз фикр мекунед. Албатта, на ҳама паёми шуморо мебинанд ва беҳтар аст, ки бо баъзеҳо шахсан сӯҳбат кунед. Албатта, агар касе ба шумо кӯмак кунад, ҳама чиз 2 маротиба осонтар мешавад (Аленаи олиҷаноб ба ман кӯмак кард).

Қисми камтар дилгиркунанда дар бораи санаи хакатон

Чаро 21 апрел? Ин рӯз барои мо муҳим аст. Расо як сол пеш, 21 апрел, мо дар рӯзи истироҳати аввал пас аз оғози маъракаи таблиғотии федералӣ зери сарборӣ афтодем. Рӯзи дигар, рӯзи якшанбе, дастаи мо аз соати 8 пагоҳӣ дар ҷои кор буд. Сипас, мо дар Трелло як тахтаи якшанбехакатон таъсис додем ва як ҳафта кори смена, 12 соат дар як рӯз оғоз шуд. Вазъият чунон вазнин буд, ки ҳатто вақти хӯрокхӯрӣ надоштем ва моро бачаҳои дастаҳои дигар ғизо медоданд.

Кодим-пицца

Шумо метавонед ҳикояи муфассалро дар ин ҷо хонед Сахифаи Фёдор Овчинников (сардори мо). Аз он вакт инчониб мо хеле тагьир ёфтем, вале холо мо санаро хатман фаромуш нахохем кард.

Имсол мо тасмим гирифтем, ки ин чорабинӣ дар хотираи наслҳо ҷовидонӣ гардад ва аз рӯи анъанаҳои беҳтарин дар таърихи Додо аввалин ҳакатони дохилиро ташкил намудем, ки 10 соат давом кард.

Қисми дилгиркунанда дар бораи лоиҳаҳои хакатон

Радди масъулият: ҳама тавсифҳоро худи бачаҳо навиштаанд, аз ин рӯ муаллифи матн аз они ман нест.

Олег Learning (омӯзиши мошин)

Дима Кочнев, Саша Андронов (@alexandronov)

Онҳо мехостанд як шабакаи нейрон созанд, ки бидуни ҳеҷ донише дар акс чӣ гуна пицца аст, муайян кунад. Дар натиҷа, мо як пиццаи хеле содда ва бозича сохтем - он 10 пиццаро ​​эътироф мекунад, мо тақрибан фаҳмидем, ки ҳама чиз то ҳадди имкон дар як рӯз (~10 соат) чӣ гуна кор мекунад.

Кодим-пицца

Аз ҷумла, мо фаҳмидем, ки саноат ба дараҷае расидааст, ки таҳиягари оддӣ метавонад китобхонаҳои тайёрро гирад, ҳуҷҷатҳоро хонад ва шабакаи нейронии худро бидуни дониши амиқи ин мавзӯъ таълим диҳад. Ва он барои ҳалли мушкилоти воқеӣ кофӣ кор хоҳад кард.

Воситаҳои истифодашуда:

  • тасвири — китобхонаи қулай ва содда барои кор бо омӯзиши мошинсозӣ ва биниши компютер.
  • Мо ду моделро санҷидаем - ResNet50, Yolo.
  • Рамз, албатта, дар Python навишта шудааст.

Мо 11000 акс доштем, аммо қариб 3/4 қисми онҳо партов ва боқимонда кунҷҳои гуногун ва номуносиб доштанд. Дар натиҷа, мо модели тайёрро гирифтем (ки чӣ гуна пицца пайдо карданро медонад) ва бо ёрии он партовҳоро ҷудо кардем. Баъдан, дар унвони акс номи пицца навишта шуда буд - аз ин рӯ, мо онро ба ҷузвдонҳо ҷудо кардем, аммо маълум шуд, ки номҳо бо воқеият мувофиқ нестанд ва мо бояд онро бо дастони худ тоза кунем. Дар ниҳоят, тақрибан 500-600 акс боқӣ монд, маълум аст, ки ин маблағи ночиз аст, аммо бо вуҷуди ин, ин барои ҷудо кардани 10 пицца кифоя буд.

Барои таълим додани шабака, мо арзонтарин мошини виртуалиро дар Azure дар NVIDIA Tesla K80 гирифтем. Онҳо дар тӯли 100 давра таълим гирифтанд, аммо маълум буд, ки шабака пас аз 50 давра аз ҳад зиёд пур карда шудааст, зеро маҷмӯи маълумотҳои хурд вуҷуд дорад.

Дарвоқеъ, тамоми мушкилот дар набудани маълумоти хуб аст.

Кодим-пицца

Шояд мо истилоххоро андаке ошуфта бошем, вале бояд ба назар гирем, ки мо дар кор бо хамаи ин масъалахо умуман тачриба надорем.

GUI барои NOOBS (консол барои фармоиши пицца)

Миша Кумачев (Серидан), Женя Биккинин, Женя Васильев

Мо як прототипи замимаи консолро барои гекҳо ҷамъ овардем, ки ба шарофати он шумо метавонед пиццаро ​​тавассути терминал ё хати фармон фармоиш диҳед ё ҳатто онро ба қубури ҷойгиркунӣ ҳамроҳ кунед ва пас аз баровардани бомуваффақият пиццаро ​​ба офис интиқол диҳед.

Кодим-пицца

Кор ба якчанд қисмҳо тақсим карда шуд: мо фаҳмидем, ки API-и мо барои замимаҳои мобилӣ чӣ гуна кор мекунад, бо истифода аз CLI-и худамон ҷамъ овардем. оклиф ва танзими нашри бастаи мо ҷамъоварӣ. Вазифаи охирин чанд дақиқаи ногуворро дар охири ҳакафон дар бар гирифт. Ҳама чиз барои мо ба таври маҳаллӣ кор мекард ва ҳатто версияҳои кӯҳнаи нашршудаи баста кор мекарданд, аммо навҳои нав (ки хусусиятҳои ҷолиб ва эмотиконҳоро илова карданд) аз кор худдорӣ карданд. Мо тақрибан 40 дақиқа сарф кардем, то бифаҳмем, ки чӣ хато кардааст, аммо дар ниҳоят ҳама чиз ба таври ҷодугарӣ худ аз худ кор кард).

Барномаи максималии мо барои хакатон фармоиши воқеии пицца ба офис тавассути CLI мо буд. Мо ҳама чизро даҳҳо маротиба дар болои курсии санҷишӣ давида будем, аммо вақте ки ман фармонҳоро дар истеҳсолот ворид мекардам, дастонам ҳанӯз ларзиданд.

Кодим-пицца

Дар натиҷа, мо дар ниҳоят ин корро кардем!

Кодим-пицца

CourierGo

Антон Бружмелев (муаллиф), Ваня Зверев, Глеб Лесников (энтропия), Андрей Сарафанов

Мо идеяи "Барномаи Курьер" -ро гирифтем.

Маълумот дар бораи омодагӣ.Дар аввал, ман ҳайрон будам, ки дар барнома чӣ гуна хусусиятҳо мавҷуданд? Рӯйхати зерини функсияҳо пайдо шуданд:

  • Ариза бо истифода аз рамз ба кассаи интиқол ворид мешавад.
  • Дар барнома фавран фармоишҳо ва фармоишҳои мавҷуда нишон дода мешаванд, ки бояд гирифта шаванд.
  • Хаткашон фармоишро қайд карда, ба сафар мебарад.
  • Ба вай вакти тахминй нишон дода мешавад, ки вай дар вакташ меояд ё не.
  • Ба муштарӣ нишон медиҳад, ки хаткашон рафтааст.
  • Ба муштарӣ нуқтаи хаткашон дар харита ва вақти тахминӣ нишон дода мешавад.
  • Курер метавонад ба муштарӣ дар чат аз ариза нависад.
  • Муштарӣ метавонад тавассути чат аз ариза ба хаткашон нависад.
  • Панҷ дақиқа пеш аз расидан, муштарӣ хабар мегирад, ки хаткашон наздик аст, омода бошед.
  • Хаткашон дар ариза кайд мекунад, ки у омада, интизор аст.
  • Курьер бо як клик аз замима занг мезанад ва хабар медиҳад, ки (боло шуда истодааст, расидааст ва ғ.)
  • Мизоҷ фармоишро қабул мекунад ва барои тасдиқи интиқол аз ариза ё СМС рамзи PIN-ро ворид мекунад.(ҳамчун имзо) Барои он ки хаткашон дар сурати дер карданаш интиқолро пешакӣ анҷом дода наметавонад.
  • Фармоиш ҳамчун таҳвил дар система қайд карда мешавад.

Илова бар ин, якчанд сенарияи алтернативӣ:

  • Хаткашон метавонад фармоишро ҳамчун расониданашуда қайд кунад ва сабаби онро интихоб кунад.
  • Дар сурати дер мондан, хаткашон метавонад тавассути як тугма тавассути SMS сертификати электронӣ диҳад. Ё сертификат ба таври худкор меояд, агар мӯҳлати таҳвил риоя нашавад.

Эҳсоси ваъда ва зарурати ин лоиҳа, албатта, нерӯ мебахшид.

Рӯзи дигар мо бо даста ба хӯроки нисфирӯзӣ рафтем ва муҳокима кардем, ки ҳадди ақали функсияи барнома чӣ гуна хоҳад буд.

Дар натиҷа, рӯйхати зерини корҳое, ки дар ҳакатон бояд анҷом дода шаванд, ташаккул ёфт:

  • Ба кассаи интиқол ворид шавед.
  • Намоиши мавқеи ҷорӣ.
  • Маълумотро ба API-и беруна фиристед (координатҳо, фармоишро қабул карданд, фармоишро расониданд).
  • Гирифтани маълумот аз API беруна (фармоишҳои хаткашонҳои ҷорӣ).
  • Ҳодисаеро ирсол кунед, ки нишон медиҳад, ки шумо фармоишро барои таҳвил / таҳвил гирифтаед.
  • Мавқеи кунунии хаткашонро дар харита дар вебсайт нишон диҳед.

Кори асосӣ, тавре ба назар мерасид, дар эҷоди пуштибон, худи барнома буд (пас аз муҳокимаҳо мо ReactNative-ро барои таҳияи барнома, дурусттараш чаҳорчӯбаи он интихоб кардем - expo.io, ки ба шумо имкон медиҳад, ки умуман рамзи модариро нанависед). Дар робита ба пуштибонӣ, дар аввал дар Ваня Зверев умедвор буд, зеро ӯ дар кор бо қолаби хидматрасонии мо ва k8s таҷриба дошт (ки ин корро ба ӯҳда гирифт). Ман ва Андрей Сарафанов ReactNative-ро барои чарх задан гирифтем.

Ман тасмим гирифтам, ки фавран барои худи лоиҳа як анбори корӣ эҷод кунам. Соати 12-и шаб ман бо он факт дучор шудам, ки геолокатсия дар замина дар ReactNative хуб кор намекунад, агар шумо рамзи модариро нанависед, ман каме рӯҳафтода шудам. Пас аз он ман раҳо кардам, вақте фаҳмидам, ки ман ҳуҷҷатҳоро на чаҳорчӯбаи expo.io, балки ReactNative хонда истодаам. Дар натиҷа, дар давоми шом ман аллакай фаҳмидам, ки чӣ гуна мавқеъи кунуниро дар expo.io ба даст овардан ва экранҳои алоҳида кашидан мумкин аст (барои воридшавӣ, намоиши фармоиш ва ғайра).

Кодим-пицца

Субҳи ҳакатон онҳо Глебро ба лоиҳаи хеле умедбахши худ ҷалб карданд. Онхо ба зудй накшаи он чиро, ки бояд ичро кард, тартиб доданд.

Кодим-пицца

Мо хато кардем, вақте ки мувофиқи қолаби лоиҳа мо кӯшиш кардем, ки на тавассути HTTP, балки тавассути GRPC муошират кунем, зеро ҳеҷ кас намедонист, ки чӣ тавр сохтани муштарии GRPC барои JavaScript. Ниҳоят, тақрибан якуним соат дар ин кор сарф карда, аз ин ақида даст кашидем. Аз ин сабаб, бачаҳо дар қафо ба аз нав сохтани сервери тайёр аз GRPC ба WebApi шурӯъ карданд. Пас аз ним соат, мо ниҳоят тавонистем алоқаи байни барнома ва пуштибонро барқарор кунем, инак ва инак. Аммо дар айни замон, Глеб ҷойгиркунии k8s ва илова бар худкор ҷойгиркунии ӯҳдадориро ба усто қариб ба анҷом расонд. 🙂

Мо MySQL-ро ҳамчун анбор интихоб кардем, то ҳадди аққал бо пойгоҳи додаҳо хатар нагирем (мо дар бораи CosmosDb фикр мекардем).

Кодим-пицца

Дар маҷмӯъ:

  • Нигоҳ доштани координатҳои ҷории хаткашон аз барнома ба пойгоҳи додаҳо амалӣ карда мешавад.
  • Мо RabbitMQ-ро насб кардем ва ба паёмҳо дар бораи хаткашон обуна шудем, то фармоишро аз хаткашон дар барнома фавран нишон диҳем.
  • Мо пас аз пахш кардани тугмаи хаткашон дар барнома мо вақти интиқоли фармоишро дар базаи худ сарфа кардем. Мо вақт наёфтем, ки ирсоли ҳодисаро ба реббит, ки фармоиш расонида шуд, илова кунем.
  • Ман дар саҳифаи фармоиши ҷорӣ дар вебсайт бо мавқеи кунунии хаткашон намоиши харита кардам. Аммо ин функсия каме нотамом монд, зеро конфигуратсия кардани CORS дар муҳит имкон надошт, ки координатҳоро аз хидмати нави мо қабул кунад.

M87

Рома Букин, Гоша Полевой (Георгеполевой), Артём Трофимушкин

Мо хостем провайдери OpenID Connect-ро амалӣ кунем, зеро дар айни замон мо протоколи аутентификатсияи тарҳи худро истифода мебарем ва ин як қатор мушкилотро ба вуҷуд меорад: китобхонаҳои фармоишии муштарӣ, кори номуносиб аз ҷониби шарикони беруна, мушкилоти эҳтимолии амният (охир , OAuth2.0 ва OpenID Connect дар татбиқи истинод метавонад бехатар ҳисобида шавад, аммо ман ба ҳалли мо боварӣ надорам).

Кодим-пицца

Мо як хидмати алоҳидаеро сохтем, ки ба хидмати нигоҳдории маълумоти шахсӣ тақлид мекунад, то модели хурди Country-Agnostic провайдери аутентификатсия, ки ба хидмати алоҳидаи маълумоти шахсӣ меравад (ин дар оянда имкон медиҳад, ки як хидмат бо ки он метавонад бо сабти ҳисоб дар ҳама кишвар ворид шавад ва ҳамзамон ба GDPR ва дигар қонунҳои федералӣ мувофиқат кунад). Мо ин қисмро ба мисли провайдер анҷом додем ва онҳоро бо ҳамдигар бомуваффақият пайваст кардем. Минбаъд, лозим буд, ки API-ро эҷод кунем, ки бо нишонҳои аз ҷониби провайдер баровардашуда муҳофизат карда шавад, интроспекцияи онҳоро тавассути провайдер дастгирӣ кунад ва маълумоти ҳифзшударо баргардонад, агар дархост ба сиёсати авторизатсия қонеъ бошад (мо тафтиш мекунем, ки корбар мувофиқи нақшаи Bearer тасдиқ карда шудааст) , аломати ӯ дорои доираи муайяни + y Худи корбар иҷозат дорад, ки занг заданро имкон медиҳад). Ин қисмат низ анҷом ёфт. Қисмати охирин муштарии JavaScript буд, ки ба он аломат дода мешавад, ки бо ёрии он API ҳифзшаванда номида мешавад. Мо барои иҷрои ин қисм вақт надоштем. Яъне, тамоми қисми функсионалӣ омода буд, аммо қисми пештара барои намоиш додани фаъолияти тамоми система омода набуд.

E-E-E (бозича)

Дима Афонченко, Саша Коновалов

Мо дар Юнка мини-бозича сохтем, ки дар он дастони ҷаззоб ҳасибро ба пицца мепартоянд. Агар шумо ҳасибро нодуруст гузошта бошед, дар экран паёми ғамангези "Рад карда шуд" пайдо мешавад ва агар ҳама ҳасиб дуруст гузошта шуда бошад, далели тасодуфӣ дар бораи пицца пайдо мешавад.

Кодим-пицца

Мо мехостем, ки бо партофтани помидор сатҳи дуюмро созем, аммо вақт надоштем.

Кодим-пицца

Идомаи кӯтоҳ: кӣ ғолиб шуд?

Қабл аз ҳакатон мо бо бачаҳо сӯҳбат кардем ва пурсидам, ки агар ғолиб шаванд, онҳо чӣ ҷоиза гирифтан мехоҳанд. Маълум шуд, ки мукофоти гаронбахо «рох ба суи озука» хохад буд.

Кодим-пицца

Аз ин рӯ, интизор шавед, ки мо ба зудӣ бозиеро бо дастҳое эълон кунем, ки қаламфури пицца мегузоранд.

Тавре хонандаи бодиққат пай бурда буд, дастаи “E-E-E (toy)” ғолиб омад. Табрикот бачаҳо!

Танҳо корбарони сабтиномшуда метавонанд дар пурсиш иштирок кунанд. даромад, Лутфан.

Кадом лоиҳа ба шумо бештар маъқул шуд?

  • Олег Learning (омӯзиши мошин)

  • GUI барои NOOBS

  • CourierGo

  • M87

  • E-E-E

5 корбар овоз доданд. 3 корбар худдорӣ карданд.

Манбаъ: will.com

Илова Эзоҳ