Kodim-pizza

Hello, Habr. Kami kusang nagpahigayon sa among unang internal nga hackathon. Nakahukom ko nga ipaambit kanimo ang akong mga kasakit ug mga konklusyon bahin sa pag-andam niini sulod sa 2 ka semana, ingon man ang mga proyekto nga nahimo.

Kodim-pizza

Ang boring nga bahin para sa mga interesado sa marketing

Magsugod ko sa gamay nga istorya.

Pagsugod sa Abril. Ang una nga MskDotNet Community hackathon nahitabo sa among opisina. Ang Gubat sa Tatooine anaa sa bug-os nga paglihok sa atong galaksiya niining panahona. Sabado. 20 ka mga team. Pizza. Sinsero kaayo ang tanan (mga pruweba). Usa ka inflatable nga R2-D2 naglutaw sa palibot sa hawanan. Gisulat sa mga koponan ang labing husto nga mga algorithm aron maipasa ang labing peligro nga lumba sa mapa. Gipalihok namo ang paglusad sa unang mga lumba. Ang mga cookies ug kape kay mga lifesaver. Ang mga organizer ug ako nagdahom nga daghang mga tawo ang manglakaw human sa paniudto sa Sabado. Apan dili. 12 ka oras nga coding sa likod. Ang katapusan. Adunay mahulog, adunay dili magsugod. Pero malipayon ang tanan. Nagdaog ang among team. Doble ang among kalipay.

Gipaambit nako ang akong kalipay sa Slack ug ang ideya moabut sa akong hunahuna: "Kinahanglan namon nga buhaton ang among kaugalingon nga hackathon." Nagsulat ko sa among service station nga si Sasha. Kahilom.

Buntag. Moinom kog kape sa opisina. Nakita ko si Sasha nga nagpadulong sa luyo. “Lisa, maayo kini! Naa tay importanteng petsa sa Abril 21. Buhaton nato!" WTF!? Paspas kaayo? A? Unsa? Kinahanglan kong molupad sa Syktyvkar alang sa internship sa tunga-tunga sa Abril. Ug sa impyerno uban niini! Atong.

2 ka semana ang nahabilin. Dili pa ako ang nag-inusarang tig-organisar sa usa ka hackathon. Himoa nga kini sulod. Gibasa nako ang mga artikulo bahin niini nga hilisgutan. Gahi. Nagkinahanglan kini og pipila ka bulan. Daghang mga tawo ang gikinahanglan. Kinahanglan nimong hunahunaon ang bahin sa merch, premyo, kondisyon, iskedyul, interes, sabta ang katuyoan, badyet. O tingali nasabtan pa ang kahulogan sa kinabuhi. Dili gyud ko makaabot sa oras. Ug samtang nagbasa ka ug nangandam, usa ka semana na ang milabay. Panahon na nga kalimtan ang bahin sa mga artikulo ug magsugod sa pagbuhat sa usa ka butang.

Kuhaa ang among checklist alang sa paghimo og internal nga hackathon sa 1 ka semana

  • Pagplano: Kalma ka nga molingkod ug magsulat og lista kung unsa ang kinahanglan buhaton para sa hackathon. 30 minutos.
  • Tumong: Ang mga partisipante mosugyot ug mopili sa mga proyekto nga gusto nilang himoon sa Google Sheets. Buluhaton sa background, 2 ka oras.
  • Iskedyul: sa imong tuhod gisulat nimo ang usa ka mubo nga pagkahugno sa panahon, nga gikonsiderar ang 3 nga mga pahulay ug ang katapusan. 20 minutos.
  • Mga grupo: pagpatik ug mensahe mahitungod sa hackathon nga adunay eskedyul gikan sa service station sa mga IT channel sa Slack/mail/etc ug paghimo ug bulag nga channel para sa hackathon. Diha niini, ang tanan gibahin ngadto sa mga team, ug kadtong wala makahukom sa pagbuhat niini sa unang 5 minutos sa hackathon. Buluhaton sa background, 2 ka oras.
  • Mga tinapay: Naghimo ka og merch nga adunay duha ka developer, ihatag kini sa tigdesinyo alang sa paghubad, ug dawaton kini nga andam. Buluhaton sa background, 3 ka adlaw.
  • Hackathon: mianhi ka sa opisina, i-coordinate ang tanan sa sinugdanan, ipadayon ang imong negosyo, basaha ang Reddit, importante nga ipahibalo ang matag pahulay mahitungod sa presko nga pizza, pagkuha og mga hulagway sa pagsalop sa adlaw, ipahibalo ang katapusan, dungan nga pagboto ug pilia ang mananaog. 1 nga adlaw.
  • Ubos sa asterisk: Siyempre, kanunay nimong gihunahuna ang tanan nga maayo. Siyempre, dili tanan makakita sa imong mensahe ug mas maayo nga makigsulti ka sa uban sa personal. Siyempre, kung adunay usa nga motabang kanimo, ang tanan mahimong 2 ka beses nga labi kadali (ang talagsaon nga Alena mitabang kanako).

Ang dili kaayo boring nga bahin bahin sa petsa sa hackathon

Nganong April 21? Kini nga adlaw mahinungdanon alang kanato. Eksaktong usa ka tuig ang milabay, sa Abril 21, nahulog kami ubos sa load atol sa unang semana human sa pagsugod sa Federal Advertising Campaign. Pagkasunod adlaw, Domingo, ang among team nagtrabaho gikan sa alas 8 sa buntag. Dayon naghimo kami ug sundayhackathon board sa Trello ug nagsugod ang usa ka semana nga shift work, 12 ka oras kada adlaw. Kritikal kaayo ang sitwasyon nga wala na gani mi panahon sa pagkaon ug gipakaon kami sa mga lalaki gikan sa ubang mga team.

Kodim-pizza

Makabasa ka og mas detalyado nga istorya sa Ang panid ni Fyodor Ovchinnikov (among CEO). Sukad ato, daghan na kaayo mig nausab, pero karon di gyud namo malimtan ang date.

Karong tuiga, nakahukom kami nga kini nga panghitabo takus nga ipadayon sa panumduman sa mga kaliwatan ug, sa labing kaayo nga mga tradisyon, among giorganisar ang una nga internal nga hackathon sa kasaysayan sa Dodo, nga milungtad og 10 ka oras.

Ang labing makalaay nga bahin bahin sa mga proyekto sa hackathon

Disclaimer: ang tanan nga mga paghulagway gisulat sa mga lalaki mismo, mao nga ang awtor sa teksto dili ako.

Oleg Pagkat-on (pagtuon sa makina)

Dima Kochnev, Sasha Andronov (@alexandronov)

Gusto nila nga maghimo usa ka neural network nga magtino kung unsang klase sa pizza ang naa sa litrato nga wala’y kahibalo. Ingon usa ka sangputanan, naghimo kami usa ka yano ug dulaan - kini nakaila sa 10 ka pizza, halos among nahibal-an kung giunsa ang tanan molihok, kutob sa mahimo sa usa ka adlaw (~ 10 ka oras).

Kodim-pizza

Sa partikular, nahibal-an namon nga ang industriya nakaabot sa usa ka lebel diin ang usa ka ordinaryo nga developer mahimo’g magkuha ug andam nga mga librarya, pagbasa sa dokumentasyon ug pagbansay sa iyang neural network nga wala’y lawom nga kahibalo sa hilisgutan. Ug kini molihok nga maayo aron masulbad ang tinuod nga mga problema.

Mga gamit nga gigamit:

  • imageai — usa ka kombenyente ug yano nga librarya alang sa pagtrabaho kauban ang pagkat-on sa makina ug panan-aw sa kompyuter.
  • Gisulayan namo ang duha ka modelo - ResNet50, Yolo.
  • Ang code gisulat, siyempre, sa Python.

Kami adunay 11000 ka mga litrato, apan hapit 3/4 niini nahimong basura, ug ang uban adunay lainlain, dili angay nga mga anggulo. Ingon usa ka sangputanan, mikuha kami usa ka andam nga modelo (nga nahibal-an ra kung giunsa pagpangita ang pizza) ug sa tabang niini among gibulag ang basura. Sunod, ang titulo sa litrato naglakip sa ngalan sa pizza - mao nga among giklasipikar kini sa mga folder, apan nahimo nga ang mga ngalan wala motakdo sa kamatuoran ug kinahanglan namon nga limpyohan kini gamit ang among mga kamot. Sa katapusan, adunay mga 500-600 nga mga litrato nga nahabilin, klaro nga kini usa ka gamay nga kantidad, apan bisan pa, kini igo na aron mabulag ang 10 ka pizza gikan sa usag usa.

Aron mabansay ang grid, gikuha namon ang labing barato nga virtual machine sa Azure sa usa ka NVIDIA Tesla K80. Gibansay nila kini sulod sa 100 ka mga panahon, apan klaro nga ang network na-oversaturated human sa 50 ka mga panahon, tungod sa kamatuoran nga adunay gamay nga dataset.

Sa tinuud, ang tibuuk nga problema mao ang kakulang sa maayong datos.

Kodim-pizza

Mahimong nalibog kita og gamay sa mga termino, apan kinahanglan natong isipon nga wala kita'y kasinatian sa pagtrabaho sa tanan niini nga mga butang.

GUI para sa NOOBS (console sa pag-order og pizza)

Misha Kumachev (Ceridan), Zhenya Bikkinin, Zhenya Vasiliev

Naghimo kami og usa ka prototype sa usa ka console nga aplikasyon alang sa mga geeks, salamat nga mahimo ka mag-order og pizza pinaagi sa terminal o command line, o bisan pa nga i-integrate kini ngadto sa deployment pipeline ug, sa malampuson nga pagpagawas, ihatud ang pizza sa opisina.

Kodim-pizza

Ang trabaho gibahin sa daghang mga bahin: among nahibal-an kung giunsa ang among API alang sa mga mobile application nagtrabaho, gitigum ang among kaugalingon nga CLI gamit ang oclip ug gi-configure ang publikasyon sa package nga among nakolekta. Ang katapusan nga buluhaton naglakip sa pipila ka dili maayo nga mga minuto padulong sa katapusan sa hackathon. Ang tanan nagtrabaho sa lokal alang kanamo, ug bisan ang daan nga gipatik nga mga bersyon sa pakete nagtrabaho, apan ang mga bag-o (nga nagdugang labi ka cool nga mga bahin ug mga emoticon) nagdumili sa pagtrabaho. Naggugol kami og mga 40 ka minuto nga naningkamot nga mahibal-an kung unsa ang sayup, apan sa katapusan ang tanan nga milagro nagtrabaho sa iyang kaugalingon).

Ang among pinakataas nga programa para sa hackathon usa ka tinuod nga order sa pizza sa opisina pinaagi sa among CLI. Gidagan namo ang tanan usa ka dosena ka beses sa test bench, apan nangurog gihapon ang akong mga kamot sa dihang misulod ko sa mga command sa produksyon.

Kodim-pizza

Ingon usa ka sangputanan, nahimo namon kini sa katapusan!

Kodim-pizza

CourierGo

Anton Bruzhmelev (tagsulat), Vanya Zverev, Gleb Lesnikov (entropy), Andrey Sarafanov

Gikuha namon ang ideya sa usa ka "App for Courier".

Background bahin sa pagpangandam.Sa sinugdan, naghunahuna ko kung unsa nga matang sa mga bahin ang mahimo sa aplikasyon? Ang mosunud nga lista sa pag-andar migawas:

  • Ang aplikasyon nag-log in sa delivery cash register gamit ang code.
  • Gipakita dayon sa aplikasyon ang magamit nga mga order ug mga order nga kinahanglan kuhaon.
  • Ang courier nagtimaan sa order ug nagdala niini sa biyahe.
  • Gipakita kaniya ang gibanabana nga oras ug kung siya sa oras o dili.
  • Gipakita sa kliyente nga ang courier mibiya.
  • Ang kliyente nagsugod sa pagpakita sa punto sa courier sa mapa ug ang gibanabana nga oras.
  • Ang courier mahimong magsulat sa kliyente sa chat gikan sa aplikasyon.
  • Ang kliyente makasulat sa courier pinaagi sa chat gikan sa aplikasyon.
  • Lima ka minuto sa wala pa ang pag-abut, ang kliyente nakadawat usa ka mensahe nga hapit na ang courier, pag-andam.
  • Ang courier nagtimaan sa aplikasyon nga siya miabot ug naghulat.
  • Ang courier nagtawag gikan sa aplikasyon sa usa ka pag-klik ug nagtaho nga (nagtaas, miabot, ug uban pa)
  • Gidawat sa kliyente ang order ug gisulod ang PIN code gikan sa aplikasyon o SMS aron makumpirma ang pagpadala.(bilang pirma) Aron dili makompleto sa courier ang pagpadala kung ulahi siya.
  • Ang order gimarkahan ingon nga gihatag sa sistema.

Dugang pa sa usa ka magtiayon nga alternatibo nga mga senaryo:

  • Mahimong markahan sa courier ang order nga wala ipadala ug pilion ang hinungdan.
  • Kung ulahi ka, ang courier mahimong mag-isyu sa usa ka elektronik nga sertipiko pinaagi sa SMS nga adunay usa ka buton. O ang sertipiko awtomatik nga moabut kung ang deadline sa pagpadala dili matuman.

Ang pagbati sa saad ug panginahanglan niini nga proyekto, siyempre, makapadasig.

Pagkasunod adlaw miadto kami sa paniudto uban sa team ug gihisgutan kung unsa ang hitsura sa minimum nga pagpaandar sa aplikasyon.

Ingon usa ka sangputanan, ang mosunod nga lista kung unsa ang kinahanglan buhaton sa hackathon naporma:

  • Login sa delivery cash register.
  • Ipakita ang kasamtangan nga posisyon.
  • Ipadala ang data sa usa ka eksternal nga API (coordinate, nakadawat sa order, naghatud sa order).
  • Pagdawat data gikan sa external API (kasamtangan nga mga order sa courier).
  • Ipadala ang usa ka panghitabo nga nagpakita nga imong gikuha ang order alang sa delivery/delivery.
  • Ipakita ang kasamtangan nga posisyon sa courier sa mapa sa website.

Ang nag-unang buluhaton, ingon nga kini daw, nahimutang sa paghimo sa backend, ang aplikasyon mismo (pagkahuman sa mga diskusyon, gipili namon ang ReactNative aron mapalambo ang aplikasyon, o hinoon ang balangkas alang niini - expo.io, nga nagtugot kanimo sa dili pagsulat sa lumad nga code sa tanan). Sa termino sa backend, sa sinugdanan adunay paglaum sa Vanya Zverev, ingon nga siya nasinati sa pagtrabaho uban sa among template sa pag-alagad ug mga k8s (nga trabaho nga iyang gikuha). Si Andrey Sarafanov ug ako mikuha sa ReactNative alang sa usa ka spin.

Nakahukom ko nga sulayan dayon ang paghimo og working repository alang sa proyekto mismo. Sa 12 sa gabii nakit-an nako ang kamatuoran nga ang geolocation sa background dili maayo sa ReactNative, kung dili ka magsulat sa lumad nga code, medyo nasagmuyo ako. Dayon akong gibuhian sa dihang akong naamgohan nga akong gibasa ang dokumentasyon dili sa expo.io framework, kondili sa ReactNative. Ingon usa ka sangputanan, sa dagan sa gabii nasabtan na nako kung giunsa pagkuha ang karon nga posisyon sa expo.io ug pag-drawing sa lahi nga mga screen (alang sa pag-login, pagpakita sa order, ug uban pa).

Kodim-pizza

Sa buntag sa hackathon, gihaylo nila si Gleb sa ilang super-promising nga proyekto. Dali silang nakamugna ug plano kung unsa ang kinahanglan buhaton.

Kodim-pizza

Nasayop kami sa dihang, subay sa template sa proyekto, misulay kami sa pagkomunikar dili pinaagi sa HTTP, kondili pinaagi sa GRPC, tungod kay walay nahibalo kon unsaon paghimo ug GRPC nga kliyente para sa JavaScript. Sa katapusan, human sa paggugol sa usa ka oras ug tunga niini, gibiyaan namo kini nga ideya. Tungod niini, ang mga lalaki sa back-end nagsugod sa paghimo sa nahuman nga server gikan sa GRPC hangtod sa WebApi. Human sa tunga sa oras, nakahimo kami sa pag-set up sa komunikasyon tali sa aplikasyon ug sa backend, tan-awa ug tan-awa. Apan sa samang higayon, hapit na mahuman ni Gleb ang deployment sa k8s ug dugang ang auto-deployment sa usa ka commit sa master. 🙂

Gipili namo ang MySQL isip usa ka storage aron dili mamiligro bisan sa database (kami adunay mga hunahuna mahitungod sa CosmosDb).

Kodim-pizza

Sa katingbanan:

  • Gipatuman ang pagluwas sa kasamtangan nga mga coordinate sa courier gikan sa aplikasyon ngadto sa database.
  • Gi-install namon ang RabbitMQ ug nag-subscribe sa mga mensahe bahin sa courier nga nagkuha usa ka order aron mapakita dayon ang order gikan sa courier sa aplikasyon.
  • Nagsugod kami sa pagtipig sa oras sa paghatud sa order sa among database pagkahuman gipugos sa courier ang usa ka buton sa aplikasyon. Wala kami'y panahon nga idugang ang pagpadala sa usa ka panghitabo balik sa rebbit nga ang order gihatag.
  • Naghimo ako usa ka pagpakita sa mapa sa panid sa karon nga order sa website nga adunay karon nga posisyon sa courier. Apan kini nga pag-andar nagpabilin nga wala mahuman, tungod kay dili posible nga i-configure ang CORS sa palibot aron makadawat mga coordinate gikan sa among bag-ong serbisyo.

M87

Roma Bukin, Gosha Polevoy (georgepolevoy), Artyom Trofimushkin

Gusto namon nga ipatuman ang usa ka OpenID Connect provider, tungod kay sa pagkakaron naggamit kami usa ka protocol sa pag-authenticate sa among kaugalingon nga laraw, ug nagmugna kini daghang mga kalisud: mga librarya sa kostumbre sa kliyente, dili kombenyente nga trabaho sa bahin sa mga kauban sa gawas, posible nga mga problema sa seguridad (pagkahuman sa tanan. , OAuth2.0 ug OpenID Connect sa pagpatuman sa pakisayran mahimong makonsiderar nga luwas, apan dili ako sigurado sa among solusyon).

Kodim-pizza

Naghimo kami usa ka lahi nga serbisyo nga nagsundog sa usa ka serbisyo alang sa pagtipig sa personal nga datos aron makahimo usa ka gamay nga Country-Agnostic nga modelo sa usa ka tighatag sa pag-authenticate nga moadto sa usa ka lahi nga serbisyo alang sa personal nga datos (kini sa umaabot mahimo’g posible nga adunay usa ka serbisyo nga adunay diin ang usa mahimong maka-log in gamit ang usa ka pagrehistro sa account sa bisan unsang nasud, ug sa samang higayon nagsunod sa GDPR ug uban pang federal nga mga balaod). Gibuhat namo kini nga bahin, sama sa gibuhat sa tighatag, ug malampuson nga nalambigit sila sa usag usa. Sunod, kinahanglan nga maghimo usa ka API nga mapanalipdan sa mga token nga gi-isyu sa provider, suportahan ang ilang pagsusi pinaagi sa provider ug ibalik ang giprotektahan nga datos kung ang hangyo nakatagbaw sa mga palisiya sa pagtugot (among gisusi nga ang tiggamit napamatud-an sumala sa laraw sa Bearer , ang iyang token naglangkob sa usa ka piho nga sakup + y Ang tiggamit mismo adunay pagtugot nga nagtugot sa pagtawag nga mahimo). Kini nga bahin nahuman usab. Ang katapusan nga sangkap mao ang usa ka kliyente sa JavaScript, nga hatagan usa ka timaan, uban ang tabang nga kini magtawag usa ka gipanalipdan nga API. Wala mi panahon sa pagbuhat niini nga bahin. Sa ato pa, andam na ang tibuuk nga bahin sa pag-andar, apan ang bahin sa atubangan nga bahin dili andam nga ipakita ang pagpaandar sa tibuuk nga sistema.

E-E-E (dulaan)

Dima Afonchenko, Sasha Konovalov

Naghimo kami og mini nga dulaan sa yunka diin ang mga kamot nga frisky naglabay og sausage sa pizza. Kung dili nimo ibutang ang sausage, usa ka masulub-on nga "Gisalikway" nga mensahe ang makita sa screen, ug kung ang tanan nga sausage gibutang sa husto, usa ka random nga kamatuoran bahin sa pizza ang makita.

Kodim-pizza

Gusto namon nga maghimo usa ka ikaduha nga lebel sa paglabay sa mga kamatis, apan wala kami oras.

Kodim-pizza

Mubo nga pagpadayon: kinsa ang midaog?

Sa wala pa ang hackathon, nakigsulti kami sa mga lalaki ug nangutana ko kung unsa nga premyo ang gusto nilang madawat kung makadaog sila. Napamatud-an nga ang labing bililhon nga premyo mao ang "dalan sa pagkaon."

Kodim-pizza

Busa, paabuta nga ipahibalo namon ang usa ka dula nga adunay mga kamot nga nagbutang mga pepperon sa pizza sa dili madugay.

Ingon sa usa ka matinagdanon nga magbabasa tingali nakamatikod, ang team nga "E-E-E (dulaan)" midaog. Congratulations guys!

Ang mga rehistradong tiggamit lamang ang makaapil sa survey. Sign in, walay sapayan.

Unsa nga proyekto ang imong gusto?

  • Oleg Pagkat-on (pagtuon sa makina)

  • GUI para sa NOOBS

  • CourierGo

  • M87

  • E-E-E

5 ka tiggamit ang miboto. 3 ka tiggamit ang nag- abstain.

Source: www.habr.com

Idugang sa usa ka comment