АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

hbal - Интернет в облаке

Запустите hbal в провайдере бесплатного хостинга OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда hbal, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


hbal - Кластерный балансир для Ганети

СИНТАКСИС


хбал {параметры серверной части ...} [параметры алгоритма ...] [параметры отчетности ...]

хбал --версия

Параметры бэкэнда:

{ -m кластер | -L [ путь ] [-ИКС] | -t файл данных | -I путь }

Варианты алгоритма:

[ --max-процессор коэффициент полезного действия ] [ --мин-диск дисковое соотношение ] [ -l предел ] [ -e Гол ] [ -g дельта ] [
--min-gain-limit порог ] [ -O имя... ] [ --no-disk-move ] [ --no-instance-move ] [
-U util-файл ] [ --игнорировать-dynu ] [ - игнорировать мягкие ошибки ] [ --монд да | нет ] [ --монд-ксен ]
[ --exit-on-missing-mond-data ] [ --эвак-режим ] [ --ограниченная миграция ] [
--select-instance Ин-т ... ] [ --exclude-instance Ин-т ... ]

Варианты отчетности:

[ -C [ файл ] ] [ -п[ поля ] ] [ --print-экземпляры ] [ -S файл ] [ -v ... | -q ]

ОПИСАНИЕ


hbal - это балансировщик кластера, который смотрит на текущее состояние кластера (узлы с
их общий и свободный диск, память и т. д.), а также размещение экземпляров и вычисляет серию
шаги, призванные привести кластер в лучшее состояние.

Используемый алгоритм спроектирован так, чтобы быть стабильным (т. Е. Он будет давать те же результаты, когда
перезапуск с середины решения) и достаточно быстро. Однако это не
разработан как идеальный алгоритм: его можно загнать в угол, из которого
он не может найти никаких улучшений, потому что смотрит только на один «шаг» вперед.

Программа получает доступ к состоянию кластера через Rapi или Luxi. Он также запрашивает данные по
сеть со всех MonD с параметром --mond. В настоящее время он использует только данные, полученные от
Сборщик загрузки ЦП.

По умолчанию программа будет показывать решение постепенно по мере его вычисления в
несколько загадочный формат; для получения фактического списка команд Ganeti используйте -C опцию.

ALGORITHM / АЛГОРИТМ
Программа работает в независимых шагах; на каждом шаге мы вычисляем лучший ход экземпляра
что снижает балл кластера.

Возможный тип перемещения для экземпляра - это комбинация отработки отказа / миграции и
replace-disks так, что мы меняем один из узлов экземпляра, а другой остается
(но, возможно, с измененной ролью, например, с первичной она становится вторичной). Список такой:

· Аварийное переключение (f)

· Заменить вторичный (r)

· Заменить основной, составной ход (f, r, f)

· Аварийное переключение и замена вторичного, также составного (f, r)

· Заменить вторичный и аварийный, также составной (r, f)

Мы не используем единственную оставшуюся возможность замены обоих узлов (r, f, r, f или
эквивалентные f, r, f, r), поскольку этот ход требует исчерпывающего перебора обоих кандидатов
первичные и вторичные узлы, а количество узлов равно O (n * n). Кроме того, это
не дает более высоких результатов, но приведет к большему количеству замен дисков.

ИНВЕСТИЦИОННЫЙ ОГРАНИЧЕНИЯ
На каждом этапе мы предотвращаем перемещение экземпляра, если оно может вызвать:

· Узел, переходящий в состояние отказа N + 1

· Экземпляр для перехода на автономный узел (автономные узлы либо считываются из кластера
или заявлено с -O; осушенные узлы считаются отключенными)

· Конфликт на основе тегов исключения (теги исключения считываются из кластера и / или определяются
через - теги исключения опция)

· Максимальное соотношение vcpu / pcpu, которое должно быть превышено (настраивается через --max-процессор)

· Минимальный процент свободного места на диске ниже установленного лимита (настраивается через --мин-диск)

Кластер ОЦЕНКА
Как было сказано ранее, алгоритм пытается минимизировать оценку кластера на каждом шаге. В настоящее время
эта оценка рассчитывается как взвешенная сумма следующих компонентов:

· Стандартное отклонение процента свободной памяти

· Стандартное отклонение процента зарезервированной памяти

· Сумма процентов зарезервированной памяти

· Стандартное отклонение процента свободного диска

· Количество узлов, не прошедших проверку N + 1

· Количество экземпляров, живущих (как первичные или вторичные) на автономных узлах; в
чувство hbal (и других htools) слитые узлы считаются отключенными

· Количество экземпляров, живущих (как первичных) на оффлайновых узлах; это отличается от вышеупомянутого
метрика, помогая отработать отказ таких экземпляров в 2-узловых кластерах

· Стандартное отклонение соотношения виртуальных и физических процессоров (для первичных экземпляров
узел)

· Стандартное отклонение доли имеющихся шпинделей (в выделенном режиме,
шпиндели представляют собой физические шпиндели; в противном случае эта мера избыточной подписки для ввода-вывода
нагрузки, а коэффициент переподписки учитывается при расчете количества
доступные шпиндели)

· Стандартное отклонение динамической нагрузки на узлы, для процессора, памяти, диска и сети

· Стандартное отклонение загрузки процессора, предоставленное MonD

· Количество экземпляров с первичным и вторичным в одном домене сбоя

Значения свободной памяти и свободного диска помогают гарантировать, что все узлы в некоторой степени сбалансированы в
их использование ресурсов. Зарезервированная память помогает гарантировать, что узлы несколько
сбалансирован в хранении вторичных экземпляров, и что ни один узел не сохраняет слишком много зарезервированной памяти
для N + 1. И, наконец, процент N + 1 помогает алгоритму исключать
N + 1 сбоев, если возможно.

За исключением сбоев N + 1, количества автономных экземпляров и нарушения домена сбоя
подсчитывает, мы используем стандартное отклонение, поскольку при использовании со значениями в фиксированном диапазоне (мы
использовать проценты, выраженные как значения от нуля до единицы), это дает согласованные результаты по
все метрики (есть небольшие проблемы, связанные с разными средствами, но это работает
в целом хорошо). Значения типа count будут иметь более высокий балл и, следовательно, будут иметь большее значение.
для балансировки; таким образом, они лучше подходят для жестких ограничений (например, эвакуация узлов и
устранение N + 1 отказов). Например, количество автономных экземпляров (т. Е. Количество
экземпляры, живущие на автономных узлах) заставят алгоритм активно перемещать экземпляры
вдали от автономных узлов. Это, в сочетании с ограничением на размещение, установленным офлайн
узлов, вызовет эвакуацию таких узлов.

Значения динамической нагрузки необходимо считывать из внешнего файла (Ganeti не предоставляет
их), и вычисляются для каждого узла как: сумма загрузки процессора основного экземпляра, сумма основных
загрузка памяти экземпляра, сумма нагрузки на диск первичного и вторичного экземпляра (как DRBD генерирует
запись нагрузки на вторичные узлы тоже в нормальном случае, а в сценариях с ухудшенными характеристиками также чтение
нагрузка) и сумма сетевой нагрузки первичного экземпляра. Пример того, как сгенерировать эти
значения для ввода в hbal будут отслеживать список xm для экземпляров в течение дня и
вычислить дельту значений ЦП и передать это через -U вариант для всех экземпляров
(и оставьте остальные показатели как один). Чтобы алгоритм работал, все, что нужно, это
что значения для метрики согласованы во всех экземплярах (например, все экземпляры используют
cpu%, чтобы сообщить об использовании процессора, а не что-то, связанное с количеством использованных секунд процессора, если
ЦП разные), и что они нормализованы от нуля до единицы. Обратите внимание, что это
с тех пор рекомендуется не использовать ноль в качестве значения нагрузки для любой метрики экземпляра
вторичные экземпляры плохо сбалансированы.

Загрузка ЦП из сборщика данных MonD будет использоваться, только если все MonD работают,
в противном случае это не повлияет на оценку кластера. Поскольку мы не можем найти загрузку ЦП каждого
Например, мы можем предположить, что загрузка ЦП экземпляра пропорциональна количеству
его vcpus. При использовании этой эвристики экземпляры с узлов с высокой загрузкой ЦП будут перемещаться
к узлам с меньшей загрузкой ЦП.

В идеально сбалансированном кластере (все узлы одного размера, все экземпляры одного размера и
равномерно распределены по узлам), значения для всех метрик будут равны нулю, а
исключение из общего процента зарезервированной памяти. Это случается не слишком часто в
упражняться :)

НЕ В СЕТИ ЭКЗЕМПЛЯРЫ
Поскольку текущие версии Ganeti не сообщают о памяти, используемой автономными (неработающими) экземплярами,
игнорирование состояния запуска экземпляров приведет к неправильным вычислениям. По этой причине
алгоритм вычитает размер памяти неработающих экземпляров из свободной памяти узла их
основной узел, фактически имитируя запуск таких экземпляров.

ИСКЛЮЧЕНИЕ Тэги
Механизм тегов исключения предназначен для предотвращения экземпляров, выполняющих одну и ту же рабочую нагрузку.
(например, два DNS-сервера), чтобы попасть на один и тот же узел, что сделает соответствующий узел
СПОФ для данной услуги.

Он работает путем пометки экземпляров определенными тегами, а затем построения карт исключения на основе
эти. Какие теги фактически используются, настраивается либо через командную строку (опция
- теги исключения) или добавляя их в теги кластера:

--exclusion-tags = a, b
Это сделает все теги экземпляров формы а: *, b: * рассматриваться для
карта исключения

кластер имеют теги htools: iextags: a, htools: iextags: b
Это сделает теги экземпляра а: *, b: * считаться для карты исключения. Более
точнее, суффикс тегов кластера, начинающийся с htools: iextags: станет
префикс тегов исключения.

Обе приведенные выше формы означают, что два экземпляра имеют (например) тег a: foo or b: бар
не будет заканчиваться на одном узле.

МИГРАЦИИ Тэги
Если Ganeti развернут в гетерогенном кластере, миграция между
все узлы группы узлов. Один из примеров такой ситуации - обновление гипервизора.
узел за узлом. Чтобы hbal знал об этих ограничениях, следующие теги кластера:
используемый.

кластер имеют теги htools: миграция: a, htools: миграция: b, и т.д
Это сделает теги узла формы а: *, b: *и т. д. считаться миграцией
ограничение. Точнее, суффикс тегов кластера, начинающийся с
htools: миграция: станет префиксом тегов миграции. Только те
миграции будут учитываться, если все теги миграции исходного
узел также присутствует на целевом узле.

кластер имеют теги htools: allowmigration: x :: y для миграция имеют теги x и y
Это утверждает, что узел с разметкой y может получать экземпляры так же, как если бы
у них был x тег.

Итак, в простом случае обновления гипервизора, отметив все узлы, которые были
обновлен с помощью тега миграции. В более сложных ситуациях всегда
можно использовать разные теги миграции для каждого используемого гипервизора и явно указывать
разрешенные направления миграции с помощью htools: allowmigration: теги.

Местонахождения: Тэги
В группе узлов вероятность одновременного отказа некоторых узлов выше из-за
распространенная причина ошибки (например, если они используют один и тот же блок питания). Ганети может быть
узнал о наиболее распространенных причинах сбоев с помощью тегов.

кластер имеют теги htools: n расположение: a, htools: n расположение: b, и т.д
Это сделает теги узла формы а: *, b: *и т. д. считаются имеющими общий
причина отказа.

Рассмотрены экземпляры с первичным и вторичным узлами, имеющими общую причину отказа.
плохо расположен. Хотя такие размещения всегда разрешены, они сильно влияют на
кластерная оценка.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


В программу можно передать следующие параметры:

-С, --print-команды
Распечатайте список команд в конце цикла. Без этого программа будет только
покажите более короткий, но загадочный вывод.

Обратите внимание, что список ходов будет разделен на независимые шаги, называемые «наборами заданий»,
но только для визуального осмотра, а не для фактического распараллеливания. Нет
их можно распараллелить напрямую при выполнении с помощью команд "gnt-instance",
так как составная команда (например, отработка отказа и замена дисков) должна быть выполнена
серийно. Параллельное выполнение возможно только при использовании бэкэнда Luxi и
-L опцию.

Алгоритм разделения ходов на наборы заданий заключается в накоплении ходов до тех пор, пока
следующий ход касается узлов, уже затронутых текущими ходами; это означает, что мы
не может выполняться параллельно (из-за распределения ресурсов в Ганети), поэтому мы начинаем
новый набор работы.

-п, --print-узлы
Печатает состояние узла до и после него в формате, позволяющем пользователю
понимать наиболее важные параметры узла. См. Страницу руководства инструменты(1) для
подробнее об этой опции.

--print-экземпляры
Печатает карту экземпляра до и после. Это менее полезно в качестве статуса узла,
но это может помочь понять ходы экземпляров.

-O имя
Этот параметр (который можно указывать несколько раз) пометит узлы как оффлайн.
Это означает несколько вещей:

· Экземпляры не будут размещаться на этих узлах, даже временно; например, замещать
первичный перемещение недоступно, если вторичный узел отключен, так как это перемещение
требуется аварийное переключение.

· Эти узлы не будут включены в подсчет баллов (за исключением
процент экземпляров на автономных узлах)

Обратите внимание, что алгоритм также будет отмечать как отключенные от сети все узлы, о которых сообщает RAPI.
как таковые, или что есть "?" при файловом вводе в любых числовых полях.

-e Гол, --min-score = * оценка *
Этот параметр показывает, насколько выше границы N + 1 оценка кластера может для нас
быть довольным и изменить вычисления двумя способами:

· Если кластер имеет начальный балл ниже этого значения, то мы не вводим
алгоритм вообще, и выйти с успехом

· Во время итеративного процесса, если мы достигаем оценки ниже этого значения, мы выходим
алгоритм

Значение параметра по умолчанию в настоящее время 1e-9 (выбрано эмпирически).

-g дельта, --min-gain = * дельта *
Поскольку алгоритм балансировки может иногда приводить к очень незначительным улучшениям,
которые приносят меньшую выгоду, чем они стоят во время перемещения, этот параметр (по умолчанию
до 0.01) представляет собой минимальное усиление, которое нам требуется во время шага, чтобы продолжить
балансировка.

--min-gain-limit = * порог *
Вышеупомянутый параметр минимального прироста вступит в силу только в том случае, если балл кластера уже установлен.
ниже порог (по умолчанию 0.1). Обоснование этой настройки заключается в том, что при
высокие баллы кластера (плохо сбалансированные кластеры), мы не хотим прерывать ребалансировку
слишком быстро, поскольку дальнейшие достижения могут быть значительными. Однако под
threshold, общее усиление - это только пороговое значение, поэтому мы можем выйти раньше.

--no-disk-move
Этот параметр запрещает hbal использовать перемещение диска (например, "gnt-instance
replace-disks "). Это приведет к более быстрой балансировке, но
конечно улучшения ограничены. Пользователь сам решает, когда использовать
тот или иной.

--no-instance-move
Этот параметр запрещает hbal использовать перемещение экземпляра (например, "gnt-instance
migrate / failover "). При этом будет использоваться только медленная замена диска
операций, а также будет обеспечивать худший баланс, но может быть полезен при перемещении
окружающих экземпляров считается небезопасным или нежелательным.

--эвак-режим
Этот параметр ограничивает список экземпляров, рассматриваемых для перемещения, до тех, которые
живущие на оффлайновых / истощенных узлах. Его можно использовать как (массовую) замену для
Собственное Ганети gnt-узел эвакуировать, с примечанием, что это не гарантирует полного
эвакуация.

--ограниченная миграция
Этот параметр запрещает любые ходы replace-primary (frf), а также
перемещение с заменой и аварийным переключением (rf), где основной узел экземпляра не
осушен. Если используется вместе с параметром --evac-mode, единственные миграции, которые
hbal будет выполнять миграцию экземпляров с истощенного узла. Это может быть полезно, если
при переустановке базовой операционной системы миграция возможна только из
старую ОС на новую. Однако обратите внимание, что обычно теги миграции используются
лучший выбор.

--select-instance = * экземпляры *
Этот параметр отмечает данные экземпляры (в виде списка, разделенного запятыми) как единственные
те, которые перемещаются во время ребалансировки.

--exclude-instance = * экземпляры *
Этот параметр отмечает данные экземпляры (в виде списка, разделенного запятыми) от того, чтобы быть
перемещен во время ребалансировки.

-U util-файл
Этот параметр указывает информацию о динамическом использовании экземпляра файлового хранилища.
который будет использоваться для настройки алгоритма балансировки для выравнивания нагрузки на узлы.
(в отличие от использования статических ресурсов). Файл имеет формат "имя_экземпляра"
cpu_util mem_util disk_util net_util ", где интерпретируются параметры" _util "
как числа, и имя экземпляра должно точно соответствовать экземпляру, прочитанному из
Ганети. В случае неизвестных имен экземпляров программа будет прервана.

Если не указан, значения по умолчанию - одно для всех показателей и, следовательно, динамические.
использование имеет только один эффект на алгоритм: выравнивание вторичного
экземпляры на узлах (это единственная метрика, которая не отслеживается другим,
выделенное значение, и, таким образом, загрузка экземпляров на диск приведет к вторичному экземпляру
выравнивание). Обратите внимание, что значение единицы также немного повлияет на первичный
количество экземпляров, но оно уже отслеживается другими метриками и, следовательно,
влияние динамического использования будет практически незначительным.

--игнорировать-dynu
Если задано, вся информация о динамическом использовании будет проигнорирована, если предположить, что это
0. Эта опция будет иметь приоритет над любыми данными, переданными опцией -U или
MonD с параметрами --mond и --mond-data.

- игнорировать мягкие ошибки
Если указано, все проверки на мягкие ошибки будут опущены при рассмотрении балансировки.
движется. Таким образом можно добиться прогресса в кластере, где все узлы находятся в одной
плохое состояние с точки зрения политики, например превышение коэффициента превышения лимита подписки на процессоре или шпинделях.

-S имя файла, --save-cluster = * имя файла *
Если задан, состояние кластера до балансировки сохраняется в заданный файл.
плюс расширение "оригинал" (т.е. имя файла.original), а состояние в конце
балансировки сохраняется в данном файле плюс расширение "сбалансировано" (т.е.
имя файла.балансный). Это позволяет повторно передать состояние кластера на сам hbal.
или, например, hspace через параметр -t.

-t файл данных, --text-data = * файл данных *
Спецификация серверной части: имя узла хранения файла и информация об экземпляре
(если сбор не через RAPI или LUXI). Этот или один из других бэкендов должен быть
выбрано. Опция описана на странице руководства. инструменты(1).

--mond = * да | нет *
Если задано, программа будет запрашивать все MonD для извлечения данных из поддерживаемых данных.
коллекторы по сети.

--монд-ксен
Если задано, также запрашивать специфичные для Xen сборщики из MonD при условии, что мониторинг
демоны вообще опрашиваются.

--exit-on-missing-mond-data
Если задано, прервите, если данные, полученные при запросе MonD, неполны. В
поведение по умолчанию - продолжить с наилучшим предположением, основанным на статической информации.

--mond-данные файл данных
Имя файла, содержащего данные, предоставленные MonD, для переопределения запросов MonD.
по сети. Это в основном используется для отладки. Файл должен быть в формате JSON.
форматировать и представлять массив объектов JSON, по одному на каждый узел, с двумя членами.
Первый член с именем node - это имя узла, а второй член с именем
отчеты - это массив объектов отчета. Объекты отчета должны быть в одном
формат, созданный агентом мониторинга.

-m кластер
Спецификация серверной части: сбор данных непосредственно из кластер в качестве аргумента
через RAPI. Опция описана на странице руководства. инструменты(1).

-L [путь]
Спецификация серверной части: сбор данных непосредственно от главного демона, который должен быть
связались через LUXI (внутренний протокол Ганети). Опция описана в
справочная страница инструменты(1).

-X При использовании бэкэнда Luxi hbal также может выполнять заданные команды. В
метод выполнения заключается в выполнении отдельных наборов заданий (см. -C вариант для
подробности) в отдельные этапы, прерываясь, если в какой-либо момент в наборе заданий не все задания
успешный. Каждый шаг в балансировочном решении будет точно переведен на
одно задание Ganeti (имеющее от одного до трех кодов операций), и все шаги в
набор заданий будет выполняться параллельно. Сами наборы заданий выполняются последовательно.

Выполнение серии заданий можно прервать, см. Обработку сигналов ниже.

-l N, --max-length = * N *
Ограничьте решение этой длиной. Это можно использовать, например, для автоматизации
выполнение балансировки.

--max-cpu = * cpu-ratio *
Максимальное соотношение виртуальных и физических процессоров в виде числа с плавающей запятой больше, чем
или равно единице. Например, указав коэффициент полезного действия as 2.5 означает, что для 4-процессорного
машине должно быть разрешено использовать не более 10 виртуальных процессоров для основного
экземпляры. Значение ровно один означает, что не будет избыточной подписки на ЦП.
(за исключением процессорного времени, используемого самим узлом), а значения ниже единицы не делают
смысл, поскольку это означает, что другие ресурсы (например, диск) не будут полностью использованы из-за
Ограничения ЦП.

--min-disk = * соотношение дисков *
Минимальный объем оставшегося свободного места на диске в виде числа с плавающей запятой. За
пример, указав дисковое соотношение as 0.25 означает, что не менее четверти диска
место должно быть оставлено свободным на узлах.

-G UUID, --group = * uuid *
В многогрупповом кластере выберите эту группу для обработки. В противном случае hbal будет
прервать, так как он не может балансировать несколько групп одновременно.

-в, --подробный
Увеличьте детализацию вывода. Каждое использование этой опции увеличивает
многословность (в настоящее время больше 2 не имеет смысла) от значения по умолчанию, равного единице.

-д, --тихий
Уменьшите детализацию вывода. Каждое использование этой опции будет уменьшать
многословность (меньше нуля не имеет смысла) от значения по умолчанию, равного единице.

-В, --версия
Просто покажите версию программы и выйдите.

СИГНАЛ ОБРАЩЕНИЕ


При выполнении заданий через LUXI (с использованием опции -X) обычно hbal выполняет все задания.
пока не исчезнет одна ошибка или все задания не завершатся успешно.

Поскольку балансировка может занять много времени, преждевременное прекращение hbal можно двумя способами:

· Отправив SIGINT (^ C), hbal зарегистрирует запрос на завершение и будет ждать
пока не завершатся текущие отправленные задания, после чего они выйдут (с кодом выхода 0
если все задания завершились правильно, в противном случае с кодом выхода 1, как обычно)

· Отправив SIGTERM, hbal немедленно выйдет (с кодом выхода 2); это
обязанность пользователя следить за Ganeti и проверять результат
выполняемые в настоящее время задания

Обратите внимание, что в любой ситуации полностью безопасно убить hbal, либо с помощью вышеуказанных сигналов.
или через любой другой сигнал (например, SIGQUIT, SIGKILL), поскольку сами задания обрабатываются
by Ganeti, тогда как hbal (после подачи) только наблюдает за их развитием. В таком случае,
пользователю нужно будет запросить у Ганети результаты работы.

ВЫХОД статус


Статус выхода команды будет нулевым, если только по какой-либо причине алгоритм не дал сбой.
(например, неправильные данные узла или экземпляра), недопустимые параметры командной строки или (в случае задания
выполнение) одно из заданий не удалось.

После запуска выполнения задания через Luxi (-X), если балансировка была прервана раньше (через
SIGINT, или через --max-length), но все задания выполнены успешно, тогда статус выхода будет
нуль; ненулевой код выхода означает, что необходимо исследовать состояние кластера, поскольку
задание не удалось или мы не смогли вычислить его статус, и это также может указывать на проблему на
Сторона Ганети.

Используйте hbal онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Сковорода
    Сковорода
    SWIG - это инструмент для разработки программного обеспечения
    который соединяет программы, написанные на C, и
    C ++ с множеством высокоуровневых
    языки программирования. SWIG используется с
    разные...
    Скачать SWIG
  • 2
    Тема WooCommerce Nextjs React
    Тема WooCommerce Nextjs React
    Тема React WooCommerce, созданная с помощью
    Далее JS, Webpack, Babel, Node и
    Экспресс, используя GraphQL и Apollo
    Клиент. Магазин WooCommerce в React (
    содержит: продукты...
    Скачать тему WooCommerce Nextjs React
  • 3
    Archlabs_repo
    Archlabs_repo
    Репозиторий пакетов для ArchLabs Это
    приложение, которое также можно получить
    от
    https://sourceforge.net/projects/archlabs-repo/.
    Он был размещен на OnWorks в...
    Скачать archlabs_repo
  • 4
    Зефир Проект
    Зефир Проект
    Проект Zephyr - новое поколение
    операционная система реального времени (RTOS), которая
    поддерживает несколько аппаратных средств
    архитектуры. Он основан на
    компактное ядро ​​...
    Скачать проект Зефир
  • 5
    SCons
    SCons
    SCons - инструмент для создания программного обеспечения
    это лучшая альтернатива
    классический инструмент сборки "Make",
    мы все знаем и любим. SCons - это
    реализовал ...
    Скачать SCons
  • 6
    PSInt
    PSInt
    PSeInt - интерпретатор псевдокода для
    испаноязычные студенты-программисты.
    Его основная цель - быть инструментом для
    изучение и понимание основных
    концепция ...
    Скачать PSInt
  • Больше »

Команды Linux

  • 1
    7z
    7z
    7z - файловый архиватор с самым высоким
    степень сжатия ...
    Беги 7z
  • 2
    7za
    7za
    7za - файловый архиватор с самым высоким
    степень сжатия ...
    Беги 7за
  • 3
    пресмыкающийся
    пресмыкающийся
    ЖУТКО - Информация о геолокации
    ОПИСАНИЕ агрегатора: Creepy — это
    приложение, позволяющее собирать
    информация, связанная с геолокацией, о
    пользователи из...
    Беги жутко
  • 4
    сборник сверчков
    сборник сверчков
    крикет — программа для управления
    сбор и отображение временных рядов
    данные ...
    Запустите команду cricket-compile
  • 5
    g-wrap-config
    g-wrap-config
    g-wrap-config - скрипт для получения
    информация об установленной версии
    G-Wrap ...
    Запустите g-wrap-config
  • 6
    г.accessgrass
    г.accessgrass
    g.access — контролирует доступ к
    текущий набор карт для других пользователей на
    система. Если опция не указана, печатает
    Текущее состояние. КЛЮЧЕВЫЕ СЛОВА: общее, карта.
    руководство, п...
    Запустите g.accessgrass
  • Больше »

Ad