Bingeha zanînê Kod
Li ser serverê kodê运行kirin
Dema ku kod ji bêtir ji tişta ku amûra te dikaribe bide wî re hewce dike — zimanekî din, pakêtên ji înternetê, demeke zêdetir — Nymbot dikare wê li ser serverekî xwe bixe amadekirinê, di nav konteynerê de ku ji bo wê yekê hatiye çêkirin.
Ev rûpel ji bo rehetiyê bi makîneyê hatiye wergerandin. Orjînala Îngilîzî guhertoya ku derbas dibe ye.
Çalakbûna server çi ye?
Serverek destpêkirina konteynerê (container) nû dike, koda te tê de dike, dicîre, tiştê ku hat printkirin vedegere û konteynerê dişikîne. Tu dibînî ku berî destpêkirinê di navbera herî zêde çî de tê xerckirin, û tu ji xwe... Hevçûnê ya profesyonel ji bo wê demê ku bi rastî çalak bû.
Du rê hene ber bi hundur ve: Li ser serverê bixe dest. li ser blokek kodî, û server ew dizine ku Nymbot daxwaz dike dema ku di blokek de dixebite depo.
Ji bo Python an JavaScript a bilez a ku tiştekî ji înternetê naxwaze, ya belaş sandbox li ser amûra te bi piranî bes e.
Çalxistina blokê kodê
Blokên koda Python, JavaScript, TypeScript, shell, Go, Rust, Java û Dart di bersivê de hene Li ser serverê bixe dest. گ isotropy, her dem ku server dixebite hene. Ew rûpelêk vedike ku nîşan dide:
- ê wêne koda dê li ser bixebite,
- demeke sînor ji bo hilbijartinê: 1, 5 an 15 deqîqe,
- Herî zêde ya ku xebat dikare biçînekî hebe, bi krediyên Pro, ji bo wê sînorê demê,
- û, heger di sohbetê de fîlayên lêkirî hebin, qutiyek ji bo tevlîkirina wan. Ew tenê heger tu wê qutiyê bendî (check) bikî diçin.
Bitik bide Biçe û encam di bin bloka kod de wekî ku tê diherike: çî print kir, koda derketinê, çiqas dem xebitî, her fîleyên ku nivîsîne (yek bi Paşê bixe nav dîskê guhertor), û çi hat kirin.
Rawest di her kêliyê de xebatê bi dawî dike. Server rasterast tê girtin û tu tenê ji bo wê demê didî ku xebitî. Heke berî ku server dest pê bike were rawestandin, bihayê wê nîne.
Di an Moda Anonîm çat, xeristin ji krediyên Pro yên mîkeya temençê (throwaway) tê dîtin, û dosyên lêkirî qet nîn in.
Ziman û wêneyan
Her ziman li ser imejekê diçe, sistemek amade ku amûrên ku ew ziman hewce dike di nav xwe de dihewîne. Imejên mezin li ser serverên mezin diçin û di her deqîqeyê de biyanha zêdetir dibin.
| Wêne | Ji bo çi tê bikaranîn | Çi tê de heye | Server |
|---|---|---|---|
| Python | Python | Python 3.12 bi pip, venv, amûrên avakirinê û git; numpy, pandas û pytest jixwe hatine instalar kirin | 0.5 CPU, 4 GB memore |
| Node.js | JavaScript, TypeScript | Node.js 22 bi npm, pnpm û yarn, her wiha Python 3, make û kompilatorê C++ | 0.5 CPU, 4 GB memore |
| Zimanbidik | Shell, Go, Rust, Java | bash, amûrên avakirina C û C++, Python 3, Node.js, Go, Rust bi cargo re, û Java 17 | 1 CPU, 6 GB bîr |
| Flutter | Dart | Flutter 3.32 û Dart | 2 CPU, 8 GB bîr |
Çi biçe ya heye
Demê serverê bi qonaxên 10 saniyeyan tê hesabkirin, ji dema daxwazkirina serverê heta mirina wê, bi 10 saniye wekî kêm nhất maliyetê xebatê tê hesibandin. Nirx ew e ku serverê bi wê mezinahiyê çiqas bi Nymbot de hincayî ye, plû qerend, ku li gorî bihayê Bitcoin ê niha tê guhertin bo krediyên Pro.
- Navê bi navê wekî herî zêde di pêş ve tê nîşandan. Her dem sînorê demê bi wê rêjeyê ye. Tu qet zêdetir naxemî, û rêwîtiyek ku ber bi dawî dibe bi kêmçî dema dirêj kêm tê barkirin.
- Dema ku xebat berdewam dike, maksimum tê parastin. Dema ku bi dawî dibe, têdanîna rast tê girtin û ya mayî tê berdan.
- Her xebatê ku dest pê neketiye belav e.
- Sînorên xercan têne sepandin. Xebat ek bi riya sohbetekê re derbas bibe sînorê xercê Pêşî pirs dike, bi heman awayî wekî bersivê.
Ji ber ku bihayê bi bihayê Bitcoinê re diçe, di navbera wextê ku tu dibînî û wextê ku tu 'Run' dikî de dikare bibe guherîn. Heke bihayê bilind bû, tişt nakeve nava pêvajoyê: pel dîsa bi bihayê nû vedibe da ku tu kontrol bikî.
Server di repoziatorkê de dixebite
Di çatistinekê re bi depo girêdayî, ew Server didexe chip bila Nymbot daxwaz bike ku li dijî koda te komendan pêk bîne, mîna nasandinên (dependencies) nekirin û piştî guhertinekê testan pêk bîne. Li gorî chatê, ew heta ku tu on nekî nexem (off) e.
Her car ku model dixwaze tiştekî bixe nav tevgerê, bersiv dema xwe dixe, û kartêkê nîşan dide ku wê wêneyê, komûta tam, sînorê demê û herî zêde çi dikare biçêyîne, her wiha kîjan repositoriyê ye dema ku peyvandin çend in nîşan dide. Heta ku tu bersiv nedî, tiştek nakeve nav tevgerê:
- carekê destûr bide ew yek komandê dicerîne. Ew li dijî depoyê (repository) tên kirin ku guhertinên bersivê hene, û model kodê derdanê (exit code), dawiya derout (output) û lîsteya wan fîlan ku komandê guhertine werdegire. Piştre bersiv berdewam dike.
- Red bikin Tiştek naxwaze û bi tiştê nabe. Bersiv bêyî wê berdewam dike.
Her xebat dibpirse. Her yek ji bersivê bi awayekî cuda tê cudakirin, û bersiv wan xebatan û bi çendî hatine kirin di nav lîsteyê de diyar dike. Heke xebatek karibû bibe derveyî sohbeta... sînorê xercê, berî ku ji te bê pirsîn, tê redkirin.
Dosyayên ku komandeyek li ser serverê guhertinê vedimeşîne li wir dimînin û bi konteynê re tên avêtin. Ew ne di repositoriya we de tên nivîsandin. Guhertinên repositoriyê tenê ji guhertinên serbilind ên bersivê tên.
Tiştê çi ye ku ji hev cuda ye?
- Ji bo her xebatê konteynerek nû. Tu tiştî bi xebateke din an jî bi kesekî din re parve nekirî ye, û dema ku xebat bi dawî dibe, konteynir tê xerabkirin, çi bi ser ketibe an jî şaş bûbe.
- Ji derveyî dîrokên pakêtê (package registries), înternet tune ye. Konteyner dikare ji cihên ku pakêj lê tên: PyPI, npm û yarn, pub.dev û storiyên Google yên ji bo Flutter û Dart, proxy-ya modûla Go, crates.io, Maven Central, û GitHub ji bo dependencies-ên git û daxistina (download) releyan daxist bixe. Tenê dikare daxistin bike. Nikare tiştekî bişîne wan an jî bigihîje cîhên din.
- Tenê tiştê ku te hilbijart diçe hundur. Koda, dîska ku te tê de girtine, an jî dosayên repo-yê. Ker, git token û sohbetên te qet nakevin nav container.
- Encam wekî ya nebawerbar tê dingirtin. Di deponerekê de, tiştê ku xebatek dinivîsîne di wekî daneyên derve yên modelê tê nîşandan, û tê gotin ku tu carî li gorî talanên di hundirê wê de neçer}.
Sînor
- Ji bo her kîleyekî, di carekê de tenê sêrverek dixebite. Destpêkirina sêrverekî din dema yekem hîn dixebite, tê redkirin.
- Sînorên demê yên 1, 5 an jî 11 deqeyan ji bo blokeke kodê. Çalakiyeke repositoriyê dikare heta 15 deqeyan, an jî li ser wêneyê Flutter deka 20 deqeyan bipirse.
- Heta 1 MB kod, û heta 200 fîlayên pêvekirî ku bi giştî 20 MB in.
- Depoyek heta 60 MB, pakkirî.
- Heta 256 KB daxuyariya derketinê. Her tişta piştî wê tê daxistin, û xebat wiha dibêje.
- Heta 200 dosya, bi tevahî 8 MB, ji bo parastinê hatin vegerandin.
Rûnên serverê dikarin ji bo perwerdehiyê werin veqetandin, wekî hemûyan an jî her dîmenek carekê. Dema ku wekî mirin, Li ser serverê bixe dest. Biştimîn û çip nârin.
Panela Wesifan
Di sohbeta depoyê de, tipa checklistê ya li serê sohbetê hêla xwe dike ve Kar û Agahî Pane. Ew diyar dike ka di her qonaxê de çi hat kirin, herî nû berî her tiştî: dosyayên ku xwendine û redakte kirine, commit, guhartinên ji bo nirxandina te hatine amadekirin, û her xebitandina serverê bi fermana xwe, wêneyê xwe, dem, cost û rewşa derketinê re. Xebitandina serverê ya ku li benda pejirandina te ye, dikare ji paneyê werin qebûlkirin an jî redkirin, wekî ku ji karta wê tê kirin, û bersiveke ku di nav xebatê de ye dikare li wir were rawestandin. Outline piştî ku xebat bi dawî dibe, bi sohbetê re dimîne.