Yadda aka ƙirƙiri ƙarshen wasan dan gwanin kwamfuta game da lalata uwar garken

Yadda aka ƙirƙiri ƙarshen wasan dan gwanin kwamfuta game da lalata uwar garken
Muna ci gaba da gaya muku yadda aka shirya bincikenmu na Laser tare da lalata uwar garken. Fara a baya labarin game da warware nema.

Gabaɗaya, ƙarshen wasan yana da rukunin gine-gine guda 6, waɗanda za mu bincika a cikin wannan labarin:

  1. Ƙarshen abubuwan wasan da ke da alhakin tsarin wasan
  2. Bayan baya da bas ɗin musayar bayanai akan VPS
  3. Mai Fassara daga buƙatun baya ( abubuwan wasa) zuwa Arduino da kayan masarufi akan rukunin yanar gizon
  4. Arduino, wanda ke da alhakin sarrafa relays, ya karbi umarni daga mai fassara kuma ya yi ainihin aikin
  5. Na'urorin gaske: fan, garland, fitulun bene, da sauransu.
  6. Frontend - gidan yanar gizon Falcon da kansa, wanda 'yan wasa ke sarrafa na'urori

Bari mu bi ta kowannensu.

Bayan abubuwan wasan

An aiwatar da ƙarshen baya azaman aikace-aikacen taya na bazara: yana da masu kula da hutawa da yawa, wurin ƙarshen gidan yanar gizo da sabis tare da dabaru na wasa.

Akwai masu sarrafawa guda uku kawai:

  • Megatron. An aika shafin Megatron na yanzu ta hanyar buƙatun GET: kafin da bayan kunna wuta. Laser ya harba ta hanyar buƙatar POST.
  • Taswirar shafuka masu nisa don a yi amfani da su da sunan shafi. Tilde yana samar da shafuka don fitarwa ba tare da sunaye na asali ba, amma tare da ID na ciki da bayanan yarda.
  • Mai sarrafa Captcha don yin hidimar captcha uwar garken pseudo-high-load.

An yi amfani da ƙarshen ƙarshen Websocket don sarrafa na'urori: fitilu, garland da haruffa. An zaɓi shi don nunawa ga duk 'yan wasa halin yanzu na na'urar: ko tana kunne ko a kashe, mai aiki ko a'a, wane launi na harafin a halin yanzu yake haskaka bango. Domin sanya aikin kunna Laser ya ɗan ƙara wahala, mun ƙara izini ga garland da laser tare da shiga da kalmar sirri iri ɗaya admin/admin.

'Yan wasa za su iya gwada ta ta kunna garland kuma su maimaita iri ɗaya tare da Laser.

Mun zaɓi nau'in kalmar shiga maras muhimmanci don kada mu azabtar da 'yan wasa da zaɓin da ba dole ba.

Don sanya aikin ya zama mai ban sha'awa, an yi amfani da ID na abu daga mongodb azaman masu gano na'urar a cikin ɗakin.

ObjectId yana ƙunshe da tambarin lokaci: ƙima biyu bazuwar, ɗaya daga cikinsu ana ɗauka bisa ga gano na'urar, na biyu kuma bisa pid na tsarin da ke haifar da shi da ƙimar ƙima. Ina so in yi masu gano abubuwan da aka samar a tsaka-tsaki na yau da kullum da kuma tare da matakai daban-daban na pid, amma tare da ƙididdiga na kowa, don zaɓin mai gano na'urar laser zai zama mafi ban sha'awa. Koyaya, a ƙarshe, kowa ya fara da masu ganowa waɗanda suka bambanta kawai a cikin ƙimar ƙima. Wannan na iya sanya matakin ya zama mai sauƙi kuma baya buƙatar nazarin tsarin objectId.

Mai fassara daga buƙatun baya

Rubutun Python, wanda ya yi aiki a kan masu ƙidayar lokaci kuma ya fassara su daga abstractions na wasan kwaikwayo zuwa samfurin jiki. Misali, “kunna fitilar kasa” → “kunna relay N2.”

Rubutun ya haɗa da jerin gwano na RabbitMQ kuma an tura buƙatun daga jerin gwano zuwa Arduino. Har ila yau, ya aiwatar da ma'anar sauyawar haske na layi daya: tare da wasu na'urori, an kunna hasken akan su, alal misali, lokacin da aka fara ba da wutar lantarki zuwa Megatron, an haskaka shi da hasken mataki. Zane mai haske don cinematography na dukan scene ne daban-daban labarin game da babban aikin mu co-producer da kuma samar da zane Ilya Serov, kuma za mu gaya game da shi a cikin wani daban post.

Har ila yau, mai fassarar yana da alhakin ƙaddamar da shredder ta amfani da mai ƙidayar lokaci da kuma watsa hoton zuwa TV: mai ƙidayar lokaci don ƙaddamar da shredder, capybara mai kururuwa, tallace-tallace a ƙarshen wasan.

Yadda aka tsara dabaru don samar da alamar Megatron

Gwajin gwajin

Kowane daƙiƙa 25 ana samar da sabon alamar kuma ana iya amfani da shi don kunna laser na daƙiƙa 10 a ƙarfin 10/255. Hanyar zuwa github tare da lambar Megatron.

Laser din ya yi sanyi na minti 1 - a wannan lokacin babu shi kuma bai karɓi sabbin buƙatun harbi ba.

Wannan ikon bai isa ya ƙone ta cikin igiya ba, amma kowane ɗan wasa zai iya ƙone Megatron kuma ya ga katakon laser a cikin aiki.

An yi amfani da MD5 hashing algorithm don samar da alamar. Kuma tsarin ya yi aiki MD5 daga MD5 + counter + sirri don alamar yaƙi kuma ba tare da ɓoye don alamar gwaji ba.

MD5 yana magana ne akan aikin kasuwanci wanda Pavel, mai goyon bayanmu, yayi. Shekaru biyu da suka gabata wannan aikin ya yi amfani da MD5, kuma lokacin da ya gaya wa maginin aikin cewa tsohuwar ɓoyayyen algorithm ne, sun fara amfani da MD5 daga MD5. Tun da mun yanke shawarar yin aikin noob mai yiwuwa, ya tuna da komai kuma ya yanke shawarar yin ƙaramin tunani.

Harbin fada

Yanayin fama na Megatron shine 100% Laser ikon a 3 watts. Wannan ya isa na minti 2 don ƙone ta hanyar igiya da ke riƙe da nauyi, don karya akwatin kifaye kuma ambaliya uwar garken da ruwa.

Mun bar wasu 'yan alamu akan Github na aikin: wato, lambar ƙirar ƙira, wanda mutum zai iya fahimtar cewa gwajin gwaji da alamun gwagwarmaya ana haifar da su bisa ga alamar ƙira ɗaya. Game da alamar yaƙi, ban da ƙimar ƙima, ana kuma amfani da gishiri, wanda kusan an bar shi gaba ɗaya a cikin tarihin canza wannan gist, ban da haruffa biyu na ƙarshe.

Sanin wannan bayanan, yana yiwuwa a warware ta cikin alamomin 2 na ƙarshe na gishiri kuma a zahiri gano cewa lambobi daga Lost, sun canza zuwa tsarin hexadecimal, ana amfani dashi.

Sannan dole ne 'yan wasan su kama ƙimar ƙima (ta hanyar nazarin alamar gwajin) kuma su samar da alamar yaƙi ta amfani da ƙimar ƙima ta gaba da gishirin da aka zaɓa a matakin da ya gabata.

Ƙaƙƙarfan ƙira kawai tare da kowane gwajin gwajin da kowane sakan 25. Ba mu rubuta game da wannan a ko'ina ba, ya kamata ya zama ƙaramin abin mamaki na wasa.

Sabis na hulɗar Captcha

A cikin duniyar wasan caca, wannan shine captcha iri ɗaya wanda dole ne a loda shi don kunna fan da buɗe kwatancen tare da alama. Kusa da kyamarar akwai kwamfutar tafi-da-gidanka mai lura da kaya.

Yadda aka ƙirƙiri ƙarshen wasan dan gwanin kwamfuta game da lalata uwar garken

sabis Na ƙididdige abin da zan nuna a cikin saka idanu azaman nauyi na yanzu: zazzabi da Fan CPU. An canza ma'auni zuwa bayanan bayanan lokaci kuma grafana ya yi.

Idan a cikin daƙiƙa 5 na ƙarshe akwai buƙatun sama da 50 don nuna captcha, to nauyin ya ƙaru da ƙayyadaddun matakan matakan + bazuwar. Lissafin shine cewa za a iya samun nauyin 100% a cikin minti biyu.

A zahiri, akwai ƙarin dabaru a cikin sabis ɗin fiye da yadda aka nuna a wasan ƙarshe: mun sanya mai saka idanu ta yadda kawai jujjuyawar CPU Fan ke bayyane.

A farkon neman suna so su bar Grafan m daga gidan yanar gizon Falcon. Amma kuma ya ƙunshi ma'auni na springboot daga rahoton aikace-aikacen baya, wanda ba mu da lokacin sharewa, don haka mun yanke shawarar toshe hanyar shiga. Kuma daidai ne - ko da a farkon binciken, wasu 'yan wasa sun yi tunanin cewa an rubuta aikace-aikacen a cikin tsarin springboot kuma har ma sun tono sunayen wasu ayyuka.

Hosting da bayanan bas

Kayan aiki don canja wurin bayanai daga baya zuwa shafin, uwar garken VPS wanda RabbitMQ ke gudana.

An ajiye bayanan baya da bas ɗin bayanai VPS mu. Ƙarfinsa ya yi daidai da kwamfutar da kuka gani akan allon: 2-core VPS mai gigabytes biyu na RAM. An cajin kuɗin kuɗin don albarkatu, tun lokacin da aka tsara nauyin mafi girma na 'yan kwanaki kawai - wannan shine abin da abokan cinikinmu suke yi waɗanda suke shirin ɗaukar VPS na ɗan gajeren lokaci. Sa'an nan kuma ya zama cewa nauyin ya fi yadda muke tsammani, kuma tsayayyen jadawalin kuɗin fito zai fi riba. Idan kun yi nema, zaɓi jadawalin kuɗin fito turbo.

Don kare uwar garken daga DDoSa, mun yi amfani da Cloudflare.

Yana da daraja a faɗi cewa VPS ya tsayayya da komai tare da girmamawa.

Arduino, wanda ke da alhakin sarrafa relays, ya karbi umarni daga mai fassara kuma ya yi ainihin aikin

Wannan shine ƙarin jigon labarin na gaba game da ɓangaren kayan aikin: mai baya yana aika buƙatun don kunna takamaiman gudun ba da sanda. Hakan ya faru da cewa mai ba da baya ya san kusan dukkanin ƙungiyoyin kuma buƙatun daga gare ta yayi kama da "kunna wannan mahaɗin." Mun yi wannan don gwajin farko na shafin (har yanzu ba mu tattara duk Arduino da relays ba), a ƙarshe mun bar komai kamar haka.

Gaban gaba

Mun yi sauri ƙirƙirar shafin a kan tilde, ya ɗauki kwana ɗaya na aiki kuma ya cece mu dubu 30 akan kasafin mu.

Da farko, mun yi tunanin fitar da shafin kawai da kuma ƙara ma'anar da muka ɓace, amma mun shiga cikin sharuddan amfani da ya hana mu yin wannan.

Ba mu kasance a shirye don karya lasisi ba, don haka akwai zaɓuɓɓuka biyu: don aiwatar da duk abin da kanmu ko tuntuɓar Tilda kai tsaye, magana game da aikin kuma nemi izini don canza lambar.

Mun zaɓi zaɓi na biyu kuma ba kawai sun sadu da mu rabin hanya ba, har ma sun ba mu shekara ta asusun kasuwanci kyauta, wanda muke godiya sosai a gare su. Yana da ban sha'awa sosai yana nuna musu ƙirar gidan yanar gizon Sokol.

Sakamakon haka, mun haɗa ma'anar js zuwa gaba don aika buƙatun zuwa na'urori na farko, kuma mun ɗan canza salon maɓallan don kunna da kashe abubuwan wasan.

Tsarin gidan yanar gizo

Tarihin bincike, wanda ya cancanci wani babi daban.

Muna so mu ƙirƙira ba kawai shafin yanar gizon da aka saba ba, amma wani abu mai banƙyama wanda ya saba wa duk ka'idodin ƙira. A lokaci guda kuma, yana da mahimmanci don tabbatar da yarda: dole ne kada ya karya labarin ENT, ya nuna pretentiousness na marubucin, kuma 'yan wasa za su yi imani da cewa irin wannan rukunin yanar gizon zai iya kasancewa har ma da kawo abokan ciniki. Kuma ya kawo! Yayin da wasan ke gudana, an tuntube mu sau biyu don ƙirƙirar gidajen yanar gizo.

Da farko na yi zane da kaina, ƙoƙarin haɗawa da ƙarin gifs da abubuwa masu haske. Amma mijina mai zane na shekaru 10 ya kalli kafadarsa kuma yayi watsi da shi da "mayi kyau." Don karya dokokin ƙira, kuna buƙatar sanin su.

Yadda aka ƙirƙiri ƙarshen wasan dan gwanin kwamfuta game da lalata uwar garken

Akwai haɗe-haɗe masu launi da yawa waɗanda ke haifar da ɗorewa na kyama: kore da ja na wadatuwa daidai, launin toka da ruwan hoda, shuɗi da launin ruwan kasa. A ƙarshe, mun zauna a kan haɗuwa da ja da kore a matsayin launuka masu tushe, mun ƙara gifs tare da cat kuma mun zaɓi 3-4 hotuna na Sokolov da kansa daga hoton jari. Ina da ƴan buƙatu kaɗan kawai: mutum mai matsakaicin shekaru, sanye da rigar da ba ta dace ba, girman ma'aurata sun yi girma kuma a cikin shirin "ɗaukar hoto na ƙwararru". Don gwajin, sun nuna wa abokai kuma sun tambayi "Yaya kuke so?"

A lokacin aikin haɓaka ƙirar, mijina yakan kwanta kowane rabin sa'a; helikwafta ya fara tashi. Pasha yayi ƙoƙari ya buɗe na'ura mai haɓakawa zuwa mafi yawan allon yayin da ya gama ƙarshen gaba - don kare idanunsa.

Na'urorin gaske

An saka fanfo da fitilun ta hanyar relay mai ƙarfi ta yadda ba za su kunna gabaɗaya ba nan take - ta yadda wutar za ta ƙaru daidai da sa ido.

Amma za mu yi magana game da wannan a cikin matsayi na gaba, game da ɓangaren kayan aiki na wasan da ainihin ginin shafin.

Tsaya saurare!

Wasu labarai game da neman lalata uwar garken

Yadda aka ƙirƙiri ƙarshen wasan dan gwanin kwamfuta game da lalata uwar garken

source: www.habr.com

Add a comment