Билим базасы Код
Серверде кодду иштетүү
Код сиздин түзүлүшүңүз бере алган мүмкүнчүлүктөрдөн ашык маалыматты талап кылганда — башка тил, интернеттен алынган пакеттер, көбүрөөк убакыт — Nymbot аны өзүнүн серверинде, дал ошол бир жолу иштетүү үчүн атайын даярдалган контейнерде иштете алат.
Бул барак ыңгайлуулук үчүн машинада которулган. Англисче оригиналдуу версия колдонулат.
Сервердин иштеши деген эмне?
Сервердин иштеши жаңы контейнерди ишке киргизет, кодуңузду ага жайгаштырат, аны иштетет, чыгарылган натыйжаны кайтарып жиберет жана контейнерди жок кылат. Сиз иштөө башталганга чейинки эң жогорку чыгымды көрөсүз жана төлөмдү өз акчаңыздын... Профессионалдык баланс ал чындыгында иштеген убакыт үчүн.
Кирүү үчүн эки жол бар: Серверде иштетүү код блогунда жана сервер аны иштетет Nymbot сураткан учурда ал иштеп жатат репозиторий.
Интернеттен эч нерсе талап кылбаган тез Python же JavaScript үчүн, акысыз сиздин түзмөгүңүздөгү sandbox адатта жетиштүү.
Код блогун иштетүү
Жооптогу Python, JavaScript, TypeScript, shell, Go, Rust, Java жана Dart код блокторунун Серверде иштетүү сервер иштеп жатканда ар дайым баскыч жеткиликтүү болот. Ал төмөнкүлөрдү көрсөткөн баракчаны ачат:
- ошол сүрөт код иштеп келет,
- Тандоо үчүн убакыт чектөөсү: 1, 5 же 15 мүнөт,
- ошол убакыт чектөөсү үчүн Pro кредиттери менен чуркоонун эң көп туруп турган баасы,
- жана, эгерде чатта файлдар тиркелген болсо, аларды кошуу үчүн кутуча. Алар сиз белгилеген учурда гана жөнөтүлөт.
Басуу Чурка жана чыгарылыш коддун блогуна келген сайын төмөнкүдөй түрдө келип түшөт: эмне басып чыгарганы, чыгуу коду, канча убакыт иштегени, кандай файлдар жазылганы (ар бири менен Сактоо баскыч), жана эмне үчүн акы алынганы.
Токтоо каалаган учурда ишти токтотот. Сервер дароо өчүрүлөт жана сиз болгону ал иштеген убакыт үчүн гана төлөйсүз. Сервер иштеп баштаганга чейин токтотулса, эч нерсе төлөнбөйт.
Бир... Анонимдүү режим чаттын иштеши убактылуу ачкычтын Pro кредиттеринен төлөнөт жана тиркелген файлдар эч качан кошулбайт.
Тилдер жана сүрөттөр
Ар бир тил образдын негизинде иштейт, бул тилге керектүү куралдар менен камтылган даяр система. Чоңураак образдор чоңураак серверлерде иштейт жана мүнөтүнө көбүрөөк турат.
| Сүрөт | Кандай максатта колдонулат | Ал эмнени камтыйт | Сервер |
|---|---|---|---|
| Python | Python | Python 3.12 pip, venv, куруу куралдары жана git менен; numpy, pandas жана pytest орнотулган | 0.5 CPU, 4 ГБ эс тутум |
| Node.js | JavaScript, TypeScript | npm, pnpm жана yarn менен Node.js 22, андан сырткары Python 3, make жана C++ компилятору | 0.5 CPU, 4 ГБ эс тутум |
| Полиглот | Shell, Go, Rust, Java | bash, C жана C++ курулуш куралдары, Python 3, Node.js, Go, cargo менен Rust жана Java 17 | 1 CPU, 6 ГБ эс тутум |
| Flutter | Dart | Flutter 3.32 жана Dart | 2 CPU, 8 ГБ эс тутум |
Канча турат
Сервердин иштөө убактысы серверди суроодон баштап, аны өчүрүүгө чейин 10 секунддык кадамдар менен эсептелет, бир иштөө үчүн эң аз 10 секунд төлөнөт. Тарариф — бул ошол өлчөмдөгү сервердин Nymbot үчүн болгон баасынан кошумча маржаны кошуп, учурдагы Bitcoin курсу боюнча Pro кредиттерине айландырылган сумма.
- Баа алдын ала, максималдуу өлчөмдө көрсөтүлөт. Бул көрсөтүлгөн тариф боюнча бүтүндөй убакыт чеги болуп саналат. Сизден эч качан ашыкча акы алынбайт, ал эми эрте бүткөн чуркуу (иш) арзанга түшөт.
- Иш жүрүп жатканда максималдуу көрсөткүч сакталат. Аяктаганда, чыныгы төлөм алынат жана калганы кайтарылат.
- Башталбай калган процесс акысыз.
- Чыгымдардын чектөөлөрү колдонулат. Чаттын чегинен өтүп кете турган чуркоо чыгымдардын чеги биринчи сурайт, жооп берген сыяктуу эле.
Баа Биткоиндын баасын ээрчип жүргөндүктөн, сиз аны көргөн учур менен "Run" баскычын баскан учурдун ортосунда ал өзгөрүп кетиши мүмкүн. Эгерде баа жогоруласа, эч нерсе иштебейт: сиз текшерүү үчүн жаңы баа менен баракча кайра ачылат.
Сервер репозиторийдин ичинде иштейт
бирөө менен чатта репозиторий байланышкан, Сервер иштеп жатат chip Nymbot'ко сиздин кодуңузга командаларды аткарууну суранууга мүмкүнчүлүк берет, мисалы, көз карандылыктарды орнотуу жана өзгөртүүдөн кийин тесттерди иштетүү. Бул функция сиз аны күйгүзгөнчө өчүрүлгөн болот.
Модель бир нерсени иштетүүнү каалаган сайын, жооп токтоп, сүрөтү, толук командасы, убакыт чектөөсү жана эң көп дегенде канча тура турганы, ошондой эле эгер чатта бир нече репозиторий болсо, кайсы репозиторий экени көрсөтүлгөн карта чыгат. Сиз жооп бергенче эч нерсе иштебейт:
- Бир жолу уруксат берүү ал бир гана команданы аткарат. Ал жооптун чейинки түзөтүүлөрү бар репозиторийге каршы иштейт жана модель чыгарыш кодун, чыгарыштын аягын жана команда өзгөрткөн файлдардын тизмесин алат. Андан кийин жооп улантат.
- Баш тартуу эч нерсе иштебейт жана эч нерсеге турат. Жооп андан улам улана берет.
Ар бир иштөө суроо берет. Ар бири жооптон өзүнчө акы алынат, ал эми жооп аткарылган иштөөлөрдү жана ар бири канча турганын тизмелейт. Эгерде иштөө чаттын... чыгымдардын чеги, сизден сурала электе эле ал четке кагылат.
Сервердеги команда аркылуу жасалган файлдар өзгөрүүлөрү ал жерде калат жана контейнер менен бирге өчүрүлөт. Алар сиздин репозиторийиңизге жазылбайт. Репозиторийдеги өзгөрүүлөр жооптун өзүнүн түзөтүүлөрүнөн гана келет.
Бул эмне изоляцияланган?
- Ар бир иштөө үчүн жаңы контейнер. Башка иштетүү же башка адам менен эч нерсе бөлүшүлбөйт жана иштөө ийгиликтүү болсо да, ишке ашпаса да, процесс бүткөндө контейнер жок кылынат.
- Пакет реестрлеринен башка интернет жок. Контейнер пакеттер келип түшкөн жерлерден: PyPI, npm жана yarn, pub.dev жана Flutter менен Dart үчүн Google'дун сактоочулугу, Go модулунун проксиси, crates.io, Maven Central жана git көз карандылыктары менен релиздерди жүктөө үчүн GitHub аркылуу жүктөп ала алат. Ал болгону жүктөп алат гана. Ал аларга эч нерсе жөнөтө албайт же башка эч кандай дарекке байланыша албайт.
- Сиз тандаган гана нерсе кирет. Код, сиз кошкон файлдар же репозиторийдин файлдары. Сиздин ачкычтарыңыз, git токениңиз жана чаттарыңыз эч качан контейнерге кирбейт.
- Чыгыш маалымат ишенимсиз деп эсептелет. Репозиторийде, аткаруунун (run) натыйжасы моделге сырткы маалымат катары көрсөтүлөт жана ага анын ичиндеги көрсөтмөлөрдү эч качан аткарбөө айтылат.
Чектөөлөр
- Ар бир ачкыч үчүн бир убакта бир эле сервер иштейт. Биринчиси али иштеп жатканда экинчисин баштоого тыюу салынат.
- Код блогу үчүн 1, 5 же 15 мүнөттүк убакыт чектөөлөрү. Репозиторийдин иштеши 15 мүнөткө чейин, ал эми Flutter образында 20 мүнөткө чейин убакыт сураса болот.
- 1 МБга чейин код жана жалпысынан 20 МБ түзгөн 200гө чейинки тиркелген файлдар.
- 60 МБга чейинки архивделген репозиторий.
- 256 КБга чейинки чыгарылыш. Андан ашыккан нерселер чыгарылбайт жана программа муну билдирет.
- 200 файлга чейин, жалпысы 8 МБ, сактоо үчүн кайтарылды.
Серверлерди тейлөө үчүн бүтүндөй же бир сайт сайын өчүрүүгө болот. Алар өчүрүлгөндө, Серверде иштетүү баскыч жана чип көрүнбөй жатат.
Тапшырмалар панели
Репозиторий чатында, чаттын жогору жагындагы чек-лист баскычы анын ... ачылат Тапшырмалар Панель. Ал ар бир кадам эмне кылганын тизмектейт, эң жаңысы биринчи: ал окуган жана түзөткөн файлдар, комиттер, сиздин карап чыгууңуз үчүн даярдалган өзгөрүүлөр жана ар бир сервердин командасы, образы, убактысы, баасы жана чыгуу статусу менен иштөө тарыхы. Сиздин тастыктооңузду күтүп жаткан сервердин иштешине ушул панелден же анын картасынан уруксат берсеңиз же баш тартсаңыз болот, ошондой эле иштеп жаткан жоопту ошол жерден токтотсоңуз болот. Жосундама иш бүткөндөн кийин да чат менен бирге калат.