Jya ku bikubiyemo
Kongera muri Nymbot

Ubumenyi shingiro Kode

Gukoresha kode kuri seriveri

Iyo kode ikenera ibirenze ibyo igikoresho cyawe gishobora gutanga — ururimi rundo, ibikoresho (packages) biri kuri interineti, cyangwa igihe kinini — Nymbot ishobora kuyikoresha kuri serivure yayo bwite, muri "container" yateguriwe iyo run imwe gusa.

Ni iki se server run?

Igisiga (server) cyatangira gukora kigatangiza agakompiyera (container) gishya, kashyira muri kacyo ibikorwa byawe (code), kacyikoresha, kikarinda ibyo yamenyesheje, hanyuma kikaribanisha ako gakompiyera. Urabona ikiguzi cyo giherereye mbere y'uko gitangira, hanyuma wishyura ukoresheje... Imbaraga z'uburere ku gihe cyari kigendaga by'ukuri.

Hari uburyo bubiri bwo kwinjira: Kora kuri seriveri mu gace k'imibare, kandi server ikoresha iyo Nymbot ibaza mu gihe ikora mu gace k'imibare ububiko.

Ku bintu byihuse bya Python cyangwa JavaScript bitagira icyo bikeneye kuri interineti, ibyo bya hinte sandbox kuri nimero yawe ya telefone bishobora kuba bihagije akenshi.

Gukora igice cy'icyode

Imizigo ya Python, JavaScript, TypeScript, shell, Go, Rust, Java na Dart mu mwandiko igira Kora kuri seriveri imbaho, igihe cyose server igihe ikora ziba zihari. Ifungura urutonde rwerekana:

  • intege ishusho icyode kizagenda kuri,
  • igihe cyo guhitamo: iminota 1, 5 cyangwa 15,
  • igiciro kinini run ishobora kwishyura, mu Pro credits, ku bw'icyo gihe cyagenwe,
  • kandi, niba ikiganiro gifite amadosiye yashyizweho, akabati ko kuyashyiramo. Ahubwo akanda gusa niba ubyerekanye.

Kanda Genda kandi ibyavuye mu muryango wa code biba bifite mu buryo bwa block nk'uko bije: icyo yasohoye, ikode y'ihagarara, igihe cyamaze gukora, n'amafomu yose yanditse (buriya na a Tegura butoni), n'icyari cyishyuwe.

Hagarika hagarika imigendekere igihe cyose wifuza. Server ihagarikwa ako kanya kandi wishyura igihe gusa yari ikora. Iyo ihagaratse mbere y'uko server itangira, ntibiba bicyura na busa.

Mu Uburyo bwo kwihisha uburyo bw'itumanaho (chat) bukoreshwa bwishyurwa ukoresheje ibigo bya Pro by'uruziga rwa throwaway, kandi amadosiye yashyizweho ntabwo akunda kurengwaho.

Indimi na amafoto

Buri rurimi rukurikirana ku ishusho, uburyo bwateguwe rwose bukubiyemo ibikoresho rurimi rukenera. Imishusho nini ikurikirana kuri serivero nini kandi ikenera amafaranga menshi kuri buri munota.

IshushoIkoreshwa kuriBirimo ikiSerivure
PythonPythonPython 3.12 hamwe na pip, venv, ibikoresho by'ubwubatsi (build tools) na git; numpy, pandas na pytest byari byarashyizweho0.5 CPU, 4 GB y'uburyo bwo kubika amakuru
Node.jsJavaScript, TypeScriptNode.js 22 hamwe na npm, pnpm na yarn, byongereyeho Python 3, make n'umukoresha wa C++0.5 CPU, 4 GB y'uburyo bwo kubika amakuru
Umuvugankurubuga w'indimi nyinshiShell, Go, Rust, Javabash, ibikoresho byo kubaka C na C++, Python 3, Node.js, Go, Rust na cargo, na Java 171 CPU, 6 GB ya mémoire
FlutterDartFlutter 3.32 na DartCPU ebyiri, 8 GB ya memory

Bigera bangahe

Igihe cy'isanduku (server) kirishyurwa mu bitesi by'amasegonda 10, guhera igihe usabye isanduku kugeza igihe uyizimye, aho amasegonda 10 ari yo akataza ku giciro k'igikorwa kimwe. Igiciro kaba ari icyo isanduku y'ubwo bukubye ishura Nymbot, hakurirwaho inyungu, bikabugenyorwa mu "Pro credits" hashingiwe ku giciro cya Bitcoin kigezweho.

  • Igiciro kigaragazwa mbere, nk'icyiciro cyo hejuru. Ni igihe cyose cyagenewe urujya n'uruza kuri iyo rate. Ntabwo ugerwaho n'ibindi bishobora kwishyurwa, kandi igikorwa kigira igihe gito kigura bacyo bikeye.
  • Icyiciro cy'imbibi kigumana igihe imigendekere irimo kugenda. Iyo birangiye, amafaranga asabwa yohererezwa, ayandi akaba akurikirwa.
  • Gukora urugendo rutangira biba bivuze ko ari ubuntu.
  • Inzego zo kugabanya imicungire y'imari zizaba zikoreshwa. Iruhande rishobora kurenga iry'ikiganiro urugero rw'ingaruka zo kukuranga ibyo ukoresha ubanza kubaza, nk'uko igisubizo kigira.

Kubera ko igiciro gikurikira igiciro cya Bitcoin, gishobora guhinduka hagati y'igihe ucyibonye n'igihe ukanze Run. Iyo cyazamutse, nta kintu gikorwa: urutonde ruzongera kwisura n'igiciro gishya kugira ngo ucyure.

Server ikora muri repository

Mu kiganiro na ububiko yemejwe, uwo Serivure igenda chip rwemerera Nymbot gusaba gukoresha amategeko kuri code yawe, nk'ubushyirwa mu bikorwa by'ibituma code ikora no gukora ibizamini nyuma y'impinduka. Ntabwo ikora kugeza igihe ugiye kuyicungira, hashingiwe kuri chat.

Buri gihe imashini ishaka gukora ikintu, igisubizo gihagarara maze kerekana ikarita irimo ifoto, itegeko ryose, igihe kigomba gukoreshwa, n'igiciro kirenga, hamwe n'aho (repository) iyo ikiganiro gifite izindi nyinshi. Nta kintu gikora kugeza ugiye gusubiza:

  • Jyaryo rimwe gusa yikoreza iryo tegeko rimwe. Ryikoreya kuri repository ifite amavuguruzo igisubizo ryamaze gukora, hanyuma icyiciro cy'inyungu (model) kigahabwa umubare w'aho itegeko ryagendeye (exit code), iherezo ry'umusaruro ndetse n'urutonde rw'inyandiko itegeko ryahinduye. Hanyuma igisubizo gikomeza.
  • Imyanzuro ntikora na busa kandi ntikora na busa. Igisubizo kikomeza kitagiteyeho na busa.

Buri kantu kose kaba kiba kiba kigira ikibazo. Buri kintu cyose kishyurwa kabiri bitandukanye n'igisubizo, kandi igisubizo kigaragaza amakuru y'ibintu byakozwe n'ibyo buri kimwe cyagurishijwe. Niba ikintu cyashobora kurenga... urugero rw'ingaruka zo kukuranga ibyo ukoresha, biratanzwe mbere y'uko bakubaza.

Ifishi z'amabwiriza aguye kuri seriver ziguma aho hanyuma zikurwa hamwe n'igikoresho (container). Ntizandikwa muri repositari yawe. Ibyavugururwa muri repositari biva gusa mu vugururwa by'ubwite by'igisubizo.

Ni iki cyiziguye?

  • Icyuma gishya kuri buri kantu kanyuze. Nta kintu cyongera kigabanwa ku rindi run cyangwa undi muntu, kandi ikidomwe (container) kigashyirwa hasi iyo run irangiye, haba yaratsinze cyangwa yaratsinzwe.
  • Nta interineti uretse inyandiko z'amapaki. Icyode (container) gishobora gushyira hasi (download) ibintu biva ahantu ibikoresho (packages) biva: PyPI, npm na yarn, pub.dev n'ububiko bwa Google bw'ibikoresho bya Flutter na Dart, Go module proxy, crates.io, Maven Central, na GitHub ku bijyanye n'ibikoresho bikoresha git n'ibikoresho byasohotse (release downloads). Gusa gishobora gushyira hasi gusa. Ntibishobora kohereza ikintu na kimwe kuri abo cyangwa kugera ku zindi nshuro zo kuri interineti.
  • Icyo wahisemo gusa ni cyo kirinjira. Ikoranabuhanga, amafayili wahereye, cyangwa amafayili y'ububiko. Amakode yawe, git token yawe, n'ibiganiro byawe ntibigera mu kantu (container) kageragezwa.
  • Ibisubizo bigaragirwa nka ibitizerwa. Mu rubuga rwa repository, ibyo run isohora bigeshishwa k'icyiciro cy'icyiciro cy'imibare (model) nk'ibintu bitari ibijyanye n'amakuru yayo, kandi ibimenyeshwa ko ntibigomba kubahiriza amabwiriza ari muri ayo makuru.

Imipaka

  • Serivure imwe ikora icyarimwe kuri buri kuki. Gutangiza iyindi kabere igikomeje gukora birabuzyirwa.
  • Igihe gihindagurika cy'iminota 1, 5 cyangwa 15 kuri block y'imikode. Igihe cy'iyerekeza rya repository rishobora gusaba kugeza kuri iminota 15, cyangwa iminota 20 kuri Flutter image.
  • Kugeza kuri 1 MB y'icyodemba, n'ifiye zisanzwe kugeza kuri 200 zose zifite ishami rya 20 MB.
  • Isanduku y’amakuru ifite kugeza kuri 60 MB, ifatanyije.
  • Kugeza kuri 256 KB z'ibyo gusohora. Icyo ari cyo cyose kirenga ibyo bimenyesha, kandi imikorere yerekana ibyo.
  • Kugeza kuri mafayili 200, 8 MB yose, asubizwa kugira ngo asavye.

Imikorere y'ihoshamashiki ishobora kuzimwa kugira ngo ikosorwe, yose hamwe cyangwa rimwe ku bice (image) icyarimwe. Iyo zizimye, ... Kora kuri seriveri Agakanya na chip ntibigaragaragara.

Isubiramo ry'imirimo

Mu kiganiro cy'ububiko (repository chat), butoni bwa checklist buri hejuru y'ikiganiro biba bufungura ibyayo Imirimo Icyitonderwa. Iryo ntabara rishingira ku byakozwe kuri buri nshuro, ibya kera biba mbere: amadosiye yasomye kandi yahinduye, ibyerekana ibihindutse (commits), ibihindutse biteguye ko ubibonera urubanza, n'uburyo buri server ryakoreshejwe hamwe n'uburyo bwayo (command), ifoto yaryo (image), igihe, igiciro n'uko ryagenze, Icyitonderwa. Iyo server ikiri gutegereza ko ukiyemerera ishobora kwemerwa cyangwa kwemurwa muri iryo taba, nk'uko biba bimeze kuri kadi yaryo, kandi igisubizo kirimo gukora gishobora guhagarikwa aho. Incamake ihaguruka iracyari kumwe na chat nyuma y'uko akazi kageze ku musozo.