Пойгоҳи дониш Код
Иҷро кардани код дар сервер
Вақте ки код ба бештар аз он чизе, ки дастгоҳи шумо метавонад диҳад, ниёз дорад — забони дигар, бастаҳои аз интернет, вақти бештар — Nymbot метавонад онро дар сервери худаш, дар контейнере, ки махсус барои ҳамон як бор иҷро кардан сохта шудааст, иҷро кунад.
Ин саҳифа барои роҳат бо мошин тарҷума шудааст. Нусхаи аслии англисӣ версияи татбиқшаванда аст.
Рандиши сервер чист?
Сарвер ҳангоми оғоз контейнери навро ба кор меорад, коди шуморо ба он мегузорад, онро иҷро мекунад, он чизеро, ки чоп шудааст, қафо мефиристад ва контейнерро аз байн мебарад. Шумо беҳтарин нархеро, ки метавонад пеш аз оғоз бошад, мебинед ва аз ҳисоби шумо пардохт мекунед Баланси касбӣ барои вақте, ки он дар асл кор кард.
Ду роҳи вурӯд мавҷуд аст: Иҷро дар сервер дар як блоки коди, ва сервер онро иҷро мекунад ки Nymbot ҳангоми кор кардан дар як ... талаб мекунад анбор.
Барои Python ё JavaScript-и зуд, ки ба ҳеҷ чиз аз интернет ниёз надоранд, ройгон пешхона дар дастгоҳи шумо одатан кифоя аст.
Иҷро кардани блоки код
Блокҳои коди Python, JavaScript, TypeScript, shell, Go, Rust, Java ва Dart дар ҷавоб доранд Иҷро дар сервер тугма, ҳар вақте ки корҳои сервер дастрас бошанд. Он варақаеро мекушояд, ки нишон медиҳад:
- он сурат код иҷро мешавад дар,
- маҳдудияти вақт барои интихоб: 1, 5 ё 15 дақиқа,
- максимали арзиши кор дар кредитҳои Pro барои он муҳлати маҳдуд,
- ва, агар дар чат файлҳо пайваст шуда бошанд, қуттӣ барои дохил кардани онҳо. Онҳо танҳо дар сурате мераванд, ки шумо онро қайд кунед.
Фишор додан Ҷавонӣ ва натиҷа дар зери блоклаи код ҳангоми пайдо шудани он баромада мешавад: он чизеро, ки чоп кард, коди баромад, муддати иҷро, ҳар гуна файлҳое, ки навишта шудаанд (ҳар кадоме бо а Запас кардан тугма, ва чӣ қадар аз он пардохт карда шуд.
Тарканат ҷорёни корро дар ҳар лаҳза қатъ мекунад. Сервер фавран хомӯш карда мешавад ва шумо танҳо барои вақте, ки он кор кардааст, пардохт мекунед. Агар пеш аз оғози кори сервер қатъ шавад, ҳиҷоҷаро напардохт мекунед.
Дар як Реҷаи анонимӣ раванди чат аз ҳисоби кредитҳои Pro-и калиди муваққатӣ сурат мегирад ва файлҳои замимашуда ҳеҷ гоҳ дохил карда намешаванд.
Забонҳо ва тасвирҳо
Ҳар як забон дар як тасвир (image) кор мекунад, ки системаи тайёр бо абзорҳое мебошад, ки он забон ба он ниёз дорад. Тасвирҳои калонтар дар серверҳои калонтар кор мекунанд ва барои ҳар дақиқа арзонтар мешаванд.
| Сурат | Барои истифода мешавад | Он чӣ дорад | Сервер |
|---|---|---|---|
| Python | Python | Python 3.12 бо pip, venv, асбобҳои сохт (build tools) ва git; numpy, pandas ва pytest аллакай насб шудаанд | 0.5 CPU, 4 GB хотира |
| Node.js | JavaScript, TypeScript | Node.js 22 бо npm, pnpm ва yarn, инчунин Python 3, make ва компилятори C++ | 0.5 CPU, 4 GB хотира |
| Полиглот | Shell, Go, Rust, Java | ассемблери bash, асбобҳои сохтмони C ва C++, Python 3, Node.js, Go, Rust бо cargo ва Java 17 | 1 CPU, 6 GB хотира |
| Flutter | Дарт | Flutter 3.32 ва Dart | 2 CPU, 8 GB хотира |
Ин чӣ қадар арзиш дорад
Вақти сервер дар қадамҳои 10-секундӣ ҳисоб карда мешавад, аз лаҳзаи дархост барои сервер то хомӯш кардани он, ки ҳадди ақали нархи як иҷрои кор 10 сония мебошад. Нарх аз арзиши ҳамин андозаи сервер барои Nymbot, плюс як ҳиссаи иловагӣ, ки бо нархи ҷории Биткоин ба кредитҳои Pro табдил дода мешавад.
- Нарх дар аввал ҳамчун ниҳоят нишон дода мешавад. Ин тамоми муҳлат бо ҳамон нарх аст. Шумо ҳеҷ гоҳ зиёда пул намесупоред ва сафаре, ки зудтар ба охир мерасад, арзонтар мешавад.
- Ҳаду ақалият ҳангоми иҷро нигоҳ дошта мешавад. Вақте ки он тамом мешавад, пул аз ҳисоб гирифта шуда, боқимондадаш баргардонида мешавад.
- Ҷориши кор, ки оғоз намешавад, ройгон аст.
- Маҳдудиятҳои сарф татбиқ мешаванд. Рандеше, ки метавонад аз чат гузарад сарфҳо барои маҳдуд кардан аввал мепурсад, ҳамон тавр, ки ҷавоб медиҳад.
Азбаски нарх аз нархи Bitcoin вобаста аст, он метавонад дар байни лаҳзае, ки шумо онро мебинед ва лаҳзае, ки тугмаи Run-ро пахш мекунед, тағйир ёбад. Агар нарх боло равад, ҳеҷ чиз иҷро намешавад: ҷадвал бо нархи нав боз кушода мешавад, то шумо онро санҷед.
Сервер дар репозиторий кор мекунад
Дар чат бо як анбор пайвастшуда, он Сервер кор мекунад chip мевалод, ки Nymbot хоҳиш кунад фармонҳоро дар муқобили коди шумо иҷро кунад, ба монанди насб кардани вобастагиҳо ва гузаронидани санҷишҳо пас аз тағйир. Он то даме ки шумо онро фаъол накунед, хомӯш аст, мувофиқи чат.
Ҳар вақте ки модел мехоҳад чизеро иҷро кунад, ҷавоб қатъ мешавад ва кортеро бо тасвир, фармони пурра, маҳдудияти вақт ва ҳадди аксари хароҷот нишон медиҳад, инчунин кадом репозиторийро, вақте ки чат якчанд репозиторий дорад. Ҳеҷ чиз то вақте ки шумо ҷавоб надиҳед, иҷро намешавад:
- Як бор иҷозат диҳед он як фармони ягоро иҷро мекунад. Он нисбат ба репозиторияе, ки таҳрироти ҷавоб то ҳол дар он ворид шудаанд, иҷро мешавад ва модел коди баромад (exit code), охири натиҷа ва рӯйхати файлҳоеро, ки фармон тағйир додааст, мегирад. Сипас, ҷавоб идома медиҳад.
- Рад кардан ҳич чизро иҷро намекунад ва ҳич чизро нарх намедорад. Ҷавоб бидуни он идома меёбад.
Ҳар як иҷро пурсашӣ мекунад. Ҳар яке аз онҳо алоҳида аз ҷавоб пардохт карда мешавад ва ҷавоб рӯйхати иҷроҳои содиршуда ва нархи ҳар яке аз онҳоро меорад. Агар иҷро аз ҳудиди чат... сарфҳо барои маҳдуд кардан, он пеш аз он ки аз шумо хоҳиш карда шавад, рад карда мешавад.
Файлҳое, ки фармон дар сервер тағйир медиҳанд, дар онҷо мемонанд ва ҳамроҳ бо контейнер нест карда мешаванд. Онҳо ба репозитории шумо нанавишта мешаванд. Тағйирот дар репозитория танҳо аз таҳрироти худи ҷавоб ба амал меоянд.
Ҷудошуда чист
- Контейнери нав барои ҳар як иҷро. Ҳеҷ чиз бо иҷрои дигар ё шахси дигар мубодила намешавад ва контейнер ҳангоми анҷоми иҷро, хоҳ он бо муваффақият ё бо нокомӣ сурат гирад, аз байн меравад.
- Интернет мавҷуд нест, ба ғайр аз реестрҳои пакетҳо. Контейнер метавонад аз ҷойҳое, ки пакетҳо аз онҳо меоянд, боргирӣ кунад: PyPI, npm ва yarn, pub.dev ва захираи Google барои Flutter ва Dart, проксии модули Go, crates.io, Maven Central ва GitHub барои вобастагиҳои git ва боргирии версияҳои озод. Он танҳо метавонад боргирӣ кунад. Он наметавонад ба онҳо чизе фиристад ё ба ягон суроғаи дигар пайваст шавад.
- Танҳо он чизе, ки шумо интихоб кардед, ворид мешавад. Код, файлҳое, ки шумо ворид кардед, ё файлҳои репозиторий. Калидҳои шумо, токени git ва чатҳои шумо ҳеҷ гоҳ ба контейнер ворид намешаванд.
- Натиҷа ҳамчун ноэътимод ҳисоб карда мешавад. Дар репозиторий, он чизе, ки ҳангоми иҷрои (run) чоп мешавад, ҳамчун маълумоти беруна ба модел нишон дода мешавад ва ба он гуфта мешавад, ки ҳеҷ гоҳ дастурҳои дохили онро иҷро накунад.
Чордӯбҳо
- Барои ҳар як калид дар як вақт танҳо як сервер кор мекунад. Оғоз кардани сервери дуюм дар ҳоле ки сервери аввал ҳанӯз кор карда истодааст, рад карда мешавад.
- Маҳдудиятҳои вақт 1, 5 ё 15 дақиқа барои блоки код. Иҷрои репозиторий метавонад то 15 дақиқа талаб кунад, ё 20 дар тасвири Flutter.
- То 1 МБ код ва то 200 файли иловашуда бо ҳаҷми умумии 20 МБ.
- Анбори то 60 МБ, архивашуда.
- То 256 КБ натиҷа. Ҳар чизе, ки аз ин зиёд бошад, партофта мешавад, ва раванд инро мегӯяд.
- То 200 файл, дар маҷмӯъ 8 МБ, барои захира кардан баргардонида мешаванд.
Серверҳоро метавон барои нигоҳдорӣ, ҳам ба таври умумӣ ва ҳам якбора як тасвир (image), хомӯш кард. Вақте ки онҳо хомӯш мебошанд, Иҷро дар сервер Тугма ва чип намоиш дода намешаванд.
Панели вазифаҳо
Дар чати репозиторий, тугмаи рӯйхати санҷиш дар қисми болои чат рӯйхати онро мекушояд Вазифаҳо Панел. Он ифода мекунад, ки ҳар як навбат чӣ кор кардааст, аввалин навбат навтаринҳо: файлҳое, ки он хонда ва таҳрир кардааст, комитҳо, тағйироте, ки барои баррасии шумо омода шудаанд ва ҳар як иҷрои сервер бо фармон, тасвир, вақт, арзиш ва ҳолати баромадаш. Иҷрои сервери интизори тасдиқи шуморо метавон аз ҳамон панел ё аз корт, мисли ҳамон, иҷозат додан ё рад кардан, ва ҷавоби дар ҳоли иҷроро дар он ҷо қатъ кардан мумкин аст. Нақша пас аз анҷоми кор дар чат мемонад.