Задать вопрос
  • Как печатать на принтере штрих кодов из python?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Смотреть какие протоколы поддерживают принтеры и искать, делать реализации для этих протоколов
    Большинство принтеров поддерживают ZPL и LPR. По LPR его можно тупо подключить как локальный принтер и отправлять на него задания, по serial также можно составлять текст задания и отправлять на принтер.
    Но если печатаете штрихкоды, то обязательно нужно иметь сканер ШК для тестирования этикеток, потому как сталкивался несколько раз, что из экзотических программ (типо word, rdp, pdf) по LPR штрихкод может распечатываться, но не распознаваться, всетаки эти принтеры больше любят формировать картинку ШК в своем драйвере (прошивке) под параметры головы, чем получать готовую от внешней программы.
    Ответ написан
    Комментировать
  • Как добавить poetry в path Python windows 11?

    @kalapanga
    Ваш случай - это наглядный пример преимущества чтения официальной документации над просмотром видосиков от ютубных гуру. Почитайте, там и путь установки по умолчанию написан. Скорее всего у Вас туда всё и установлено, только в path не добавлено. Ну или поиском по диску файл ищите!
    https://python-poetry.org/docs/#windows-powershell...
    Ответ написан
    Комментировать
  • Самосборная СХД, для маленькой компании?

    pred8or
    @pred8or
    Одно время использовали проприетарные SAN EMC с подключением по FC. Ну и накушались! Диски понимает только одобренные EMC (читай - выложи хрен знает сколько денег за замену). FC-коммутатор тоже радости не доставлял, хоть и был имени IBM.

    Короче, лет 8, наверное, назад начали миграцию. С тех пор используем только самодельные хранилища (сначала на тех же FC, чтоб хоть часть инфраструктуры потянуть подольше), сейчас на 10-гигабитном Ethernet. Хранилища - на основе стареньких, но вполне рабочих серверов. Есть несколько на платформах Supermicro, сейчас тестируем перед пуском в продакшн какой-то IBM. Главное, чтоб можно было воткнуть RAID-контроллер и сетевуху нужную. Найти пару стареньких, но избыточно мощных для этой задачи процессоров Xeon и массу памяти ECC для этих серверов - не проблема. В качестве операционной системы хранилища используем ESOS (Enterprise Storage OS). Начинали с версии 0.9, сейчас - 4.1. Система грузится с флешки, работает полностью в памяти. Хранилища разные под разные задачи. От объёмистых на 7K SATA до быстрых на 15K SAS. В любом случае, даже хранилища на SATA по пропускной способности и latency в наших условиях бьют локальные диски на рабочих станциях. Вот так мы отучили пользователей хранить данные локально.

    Хранилища подключаются к кластеру на XCP-ng - тоже ещё один классный продукт. Поскольку все виртуалки - на SAN, живая миграция их с хоста на хост - дело нескольких секунд (не то чтобы это часто требовалось, но пару раз сильно выручило).
    Ответ написан
    3 комментария
  • Самосборная СХД, для маленькой компании?

    hint000
    @hint000
    у админа три руки
    У меня все получилось, и я получил скорость больше чем на текущем решении. (возможно я не правильно это дело тестирую, но как есть)
    Мои тесты
    Что-то вы делаете неправильно. Не обязательно это "что-то" - тесты, но что-то неправильно. Прямое подключение дисков (DAS) к хосту должно работать быстрее, чем вынос тех же дисков на другой хост и подключение через сеть (NAS). При прочих равных условиях. Даже если сеть не будет узким местом, она всё же будет добавлять задержку.
    У вас в обоих вариантах плохая скорость.
    Сейчас прогнал тест на своей виртуалке.

    Хост: ПК-платформа (т.е. не серверное железо), Ryzen 3600 на чипсете b450, SATA SSD популярной модели "860 PRO" без RAID. На хосте три виртуалки WinServer (одна из них с минимальной нагрузкой, но тесты не на ней). Виртуалка, на которой выполнены эти тесты, имеет роль 1С-сервера + СУБД MS SQL. На момент теста было ~30 подключенных пользователей, которые, конечно, своей активностью ухудшали результаты теста, т.е. очевидно, что в нерабочее время тесты показали бы лучшие результаты. И всё-таки это гораздо быстрее, чем у вас. Гипервизор - Qemu/KVM. Обратите внимание: я специально прогнал тест на системном диске (C:) и на другом (F:); и, как видите, на системном заметно хуже результат по записи, просто потому, что система его нагружает во время работы. Делать тест на диске C: вообще некоректно.
    64ae412d531be388802636.png
    64ae419d482fe406347250.png

    Когда я их купил, то вставил обычные недорогие ssd.
    Вот одна ошибка. Увеличиваете ценник на SSD в 3-4 раза при том же объёме дисков - и получаете заметно лучший результат.
    Сейчас у меня появилась идея собрать маленькую схд, для серверов esxi + для бекапов.
    Вот здравая мысль - вынести бэкапы на отдельный хост.
    Покупать sas диски от HP, мне никто не даст, да если честно я и сам не готов отвалить безумные деньги за все это.
    Тем более, что SAS будут медленнее хороших SSD. Вообще бесперспективняк. Я понимаю, когда SAS впаривают админам-мамонтам, они как 15 лет назад привыкли, что SAS - это круто, так и не могут отвыкнуть. Но вы-то себя называете неопытным админом, у вас должен быть свежий взгляд, зачем заводите разговор об устаревших технологиях.
    как бы это все дело собрать на стареньком БУ железе, которое можно купить на авито, еще и с ценником 30-40к (без учета HDD).
    ...
    Правильно ли я понимаю что главное прикупить хороший современный контроллер который дружит с ssd?
    хороший RAID-контроллер стоит сейчас дороже, чем 30-40к и останется 0 рублей на всё остальное. Так что остаётся вариант HBA (host bus adapter) без RAID, а RAID делать софтовый на mdadm. Не слыхал, чтобы встречались хоть какие-то контроллеры, которые не дружат с SSD, почему бы им не дружить.

    Вам бы для начала не СХД городить, а разобраться, почему у вас настолько медленно работает дисковая подсистема. Она должна быть быстрее при прямом подключении дисков. С одной стороны это могут быть сами диски медленные (вы не назвали модель), с другой стороны - неэффективное\недостаточное кеширование, с третьей стороны - высокая дисковая активность от каких-то виртуальных машин.

    P.S. Надеюсь, VMWare Tools установлены на виртуалках? А то мало ли.
    Ответ написан
    3 комментария
  • Самосборная СХД, для маленькой компании?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    У нас небольшое производство, и небольшая серверная, которая собрана на старом железе, купленном на авито за копейки. (HP DL360G7, HP DL160G5, и даже такое kraftway es24)
    Сейчас у меня появилась идея собрать маленькую схд, для серверов esxi + для бекапов.

    Для всего лишь двух DLок, так понимаю третий уже под NAS собирать СХД сильно жирно
    выключить сервера для того что бы их почистить от пыли
    А как вы СХДшку от пыли чистить соираетесь? Оппа, уже нужна вторая СХДшка.
    Купить отдельный коммутатор и подключить все это обычным ethernet 1 gigabit в отдельной сети

    1 gbps = ~ 80 МБс. У Вас в нынешней конфигурации 189. Т.е. уже сейчас ваша локальная конфигурация по скорости обыгрывает предельную конфу 1гбит, для того чтобы утилизировать скорость SSD 550МБc нужна сеть минимум 5гбит.

    Поэтому: Выносить отдельно хранилище целесообразно если есть хотя бы шт 4 вычислительных и 2 хранящих ноды и желательно одинаковых.
    Для мелкого производства, не беда выкроить в год несколько часов на регламентные работы по обслуживанию.
    Насчет вылетов и низкой скорости: разбираться с контроллером, возможно взять другой, ESXi можно загружать даже с флешки, поэтому не обзязательно чтобы контроллер был HP совместимый, главно чтоб был ESXi и SSD совместимый или вообще купить PCI-E райзеров и натыкать NVME если не важна горячая замена - будет еще быстрее работать
    Ответ написан
    5 комментариев
  • Самосборная СХД, для маленькой компании?

    @d-stream
    Готовые решения - не подаю, но...
    Собственно СХД из дендрофекальных запчастей может стать очень узким местом.
    Если тупят sata ssd диски в серверах, то аналогичные sata по сети - будет ещё унылее...

    Когда взрослые СХД подключают - там скорее речь идёт о 16Gbit FC и т.п.
    Но с FC сейчас не так чтобы совсем хорошо. И надо бы смотреть на 40GbE/100GbE - более-менее б/у могут оказаться не совсем дорогими. Чтобы обойти коммутатор - при полной уверенности что роста количества серверов не будет - можно смотреть на многопортовые сетевухи для СХД.
    Ну и дальше - сама дисковая система - "взрослые" делят диски на несколько сортов: высокоскоростные на базе ssd, быстрые hdd и "архивные" тормоза. Но при этом зачастую строят хитрые raid с своего рода кэшем на ssd. Для образчика MSA2062 с раскладом 4*1.8Tb SSD + 8*8Tb archive hdd как раз по всем показателям попадала в плепорцию ssd/hdd на фактических нагрузках примерно 400...500ВМ
    Соответственно стоит уделить внимание и контроллеру.

    Правда очень сомнительно что это всё уложится в скудный бюджет трети домашнего игрового компа... Но хотя бы частично можно попробовать двигаться в этом направлении.

    p.s. ну и ещё можно поиграться с размером RAM - раздув его с запасом как буфера/кэш
    Ответ написан
    2 комментария
  • Самосборная СХД, для маленькой компании?

    @Drno
    купи обычную мать в магазине с нужным количеством sata, на Z чипсете. воткни туда простенький i3
    СХД разверни на базе trueNas или OpenMediaVault - freebsd \ ubuntu. я выбираю обычно 2й вариант
    рейд контроллер - в топку, есть mdadm

    виртуалки переведи на Proxmox или голый KVM

    сервера от пыли чистятся не часто, если они конечно релаьно стоят в серверной, а не в пылевой комнате.
    вполне разумно делать это 1 раз в год \ 2 года
    Ответ написан
  • Как разбить текст на строки в Python?

    @olehrif
    #Делаете так:
    lines=[]
    lines=your_text.split('\n')
    #lines - ваш список строк
    # где '\n' -символ возврата каретки в конце каждой строки
    Ответ написан
    2 комментария
  • Как обновить Powershell в Windows 7?

    @azarij
    В меру опытный никто
    вам нужно определиться какой повершелл вам нужен.
    всем привычный повершелл закончился на версии 5.1.
    дальше (6.х+) пошел powershell core (разница).
    чтобы установить обычный, не кор, повершелл 5.1 просто запустите .ps1 файл, распаковав архив Win7AndW2K8R2-KB3191566-x64.ZIP отсюда https://docs.microsoft.com/ru-ru/powershell/script... займет какое-то время и попросит перезагрузиться.

    на форумах чаще всего проблемы с установкой именно этого обновления решаются переустановкой ОС. =(

    П.С. можно еще попробовать обновить .NET Framework
    Ответ написан
    1 комментарий
  • ОС для создания терминала киоска?

    drygdryg
    @drygdryg
    Python-разработчик
    Можно попробовать использовать готовые дистрибутивы Linux для создания киоска:
    https://porteus-kiosk.org/
    https://webconverger.com/
    Либо попробовать сделать свою сборку какого-либо существующего дистрибутива и упаковать её в установочный ISO. Насколько мне известно, достаточно несложно кастомизировать образ Arch Linux (ArchISO) под свои задачи:
    https://wiki.archlinux.org/title/Archiso
    https://viperfang.net/project/arch_kiosk
    https://gist.github.com/ctrlaltdylan/01255fc86f2cb...
    https://www.reddit.com/r/archlinux/comments/d5d5uc...
    Либо сделать на базе Debian:
    https://abc101.medium.com/simple-kiosk-box-by-debi...
    https://github.com/josfaber/debian-kiosk-installer

    Скрипт для настройки Debian или Arch Linux для работы в режиме киоска: https://github.com/Salamek/chromium-kiosk
    Ответ написан
    1 комментарий
  • ОС для создания терминала киоска?

    Adamos
    @Adamos
    Debian ISO + preseed.cfg + kiosk.sh = киоск, запускающий нужную страницу в Хроме kiosk-mode и не пускающий ни на какие другие сайты (iptables DROP).
    Ставится за полчаса на полном автомате, кроме указания ручками preseed и загрузки-запуска скрипта (поленился делать кастомный образ системы, не так часто это надо).
    Несколько лет стабильной работы цеха, машинки уровня P4 + 512M/1G RAM с IDE HDD.

    Сейчас, правда, собрался весь этот металлолом заменить на OrangePi 4 LTS в глухом металлическом корпусе, чтобы перестать периодически чистить эти старые гробы от цеховой пыли. Аналогичная система на OrangePi One уже показала успешную работу.
    Ответ написан
    Комментировать
  • Как связывается категорий и товаров в Woocommerce в базе?

    Связываются через таблицу wp_term_relationships, где каждому элементу object_id (object_id - это ID поста из wp_posts) соответствует элемент term_taxonomy_id (из таблицы wp_term_taxonomy)

    А в таблице wp_term_taxonomy каждая строка это термин (Term) со своей привязкой к таксономии, описанию и связкой с таблицей wp_terms.
    Ответ написан
    2 комментария
  • Vue Router как передать переменную?

    ar6uz
    @ar6uz Автор вопроса
    Фронтент разработчик в компании Profsoft
    и так, как это сделать:
    1. надо прописать в роуте разрешение на передачу props (props: true):
    {
          path: '/history/:id',
          component: HistoryId,
          name: 'historyId',
          props: true
        }

    2. в route-link прописать, какие парметры хотите передать (params: {}):
    <router-link
                                   tag="a"
                                   class="button"
                                   :to="{name: 'historyId', params: {id: historyItem.id, date: historyItem.date}}"
                           >

    3/ Принять эти данные в компоненте:
    <script>
        export default {
            props: ['date'],
    Ответ написан
    Комментировать
  • Python как записать в фаил, переменные лист и словарь?

    @bbkmzzzz
    файл пишется в текстовом виде, библиотека поддерживает все стандартные классы данных (dict, tuple, list, set и т.д) разбирает числовые данные по типу, булевы разбирает в True/False
    Дополнительно умеет возвращать строку (без записи в файл) через функции dumps/loads
    import json
    # имя файла, в котором мы сохраним объект
    shoplistfile = 'shoplist.data'
    # список покупок
    shoplist = ['яблоки', 'манго', 'морковь']
    # Запись в файл
    with open(shoplistfile, 'w+') as fle:  # менеджер контекста, файл закроется при выходе из блока
        json.dump(shoplist, fle, indent='    ')  # indent - отступы форматирования
    
    del shoplist  # уничтожаем переменную shoplist
    
    # Считываем из хранилища
    with open(shoplistfile, 'r') as fle:
        shoplist = json.load(fle)
    
    print(shoplist)
    Ответ написан
    1 комментарий
  • Как заставить тонкий клиент HP t410 All-in-One Smart Zero Client загружаться с флешки?

    @graf_Alibert Автор вопроса
    Я так и не разобрался почему не справляется флешка созданная родной утилитой (хотя первый раз помогла), может сломалась, а может Луна не в том созвездии, но я нашел два способа сброса тонких клиентов от HP
    HP t410 Smart Zero Client поддерживают режим восстановления, для этого его нужно выключить программно удерживая сенсорную клавишу включения или мышкой выбрав пункт “Poweroff”, после чего подключить флешку и включить двойным нажатием на кнопку включения.
    К сожалению флешка созданная с помощью HP ThinUpdate не подходит, поэтому вот мой рецепт:
    1) Создаем флешку с помощью утилиты HP ThinUpdate
    2) Копируем на комп папку images с образом ОС в ней (images\Z6A43201.dd.gz или images\Z6A44019.dd.gz в зависимости от выбранной версии)
    3) Создаем флешку c u-boot загрузчиком
    4) Закидываем на загрузочную флешку в папку images скопированный ранее образ, его можно скачать и отдельно с ftp сервера HP и закинуть в эту папку несколько образов
    5) Включаем тонкий клиент в розетку, ждем когда загрузится и выключаем программно
    6) Подключаем флешку
    7) Тапаем два раза на кнопку включения (примерно с секундным интервалом). Если клиент выдал несколько сигналов спикером, то значит загрузчик на флешке не подходит. А если всё ОК то вы увидите следующую картину:
    5f2ab4e0efc8a740206790.jpeg
    8) Press enter to continue
    9) Вводим с клавиатуры 1, для загрузки образа в Тонкий Клиент
    5f2ab4fe79219467324811.jpeg
    10) Выбираем необходимый образ, если их несколько нажав соответствующую цифру “1” и соглашаемся с перезаписью образа ОС введя “Y”
    5f2ab533355ea748539812.jpeg
    11) Когда процесс загрузки образа закончится жмем “Enter”, а затем “3”.
    Вынимаем флешку и нажимаем еще раз “Enter”
    12) Девайс перезагружается и мы видим окно выбора подключения к серверу
    5f2ab56f64201032085684.png

    PROFIT!

    Данный способ подходит, даже когда встроенная ОС увалена и клиент не загружается вовсе.

    P.S. Получилась правильная флешка совершенно случайно, но это уже совсем другая история, поэтому вот готовый вариант (просто распаковываете архив на флешку, в нём уже есть нужные для t410 образы).

    Второй способ:
    1) Поднимаем сервер для HP Automatic Update Server:
    Устанавливаем HP Smart Client Service
    Перед началом установки необходимо убедится в наличии установленных компонентов:
    Internet Information Service (IIS)
    .NET Framework 3.5
    Включаем в профиле клиентов автообновление
    В папку C:\Program Files (x86)\Hewlett-Packard\HP Smart Client Service\auto-update\t410\Image кидаем один из образов
    2) Добавляем в настройки вашего DHCP сервера параметр передающий тонким клиентам адрес сервера автоматического обновления с помощью опции 137 (по дефолту: auto-update.domain.local:18287/auto-update).
    Например на микротике это делается так:
    /ip dhcp-server option
    add code=137 name="hp auto-update" value=\
        "'http://192.168.88.100:18287/auto-update'"
    /ip dhcp-server option sets
    add name=set1 options="hp auto-update"

    3) Подключаем клиент к сети, подаем питание и ждём, пока он подключится к серверу и скачает новый образ и перезагрузится уже с новыми настройками из профиля
    PROFIT!
    Ответ написан
    Комментировать
  • API, как узнать страницу, где расположен элемент?

    sHinE
    @sHinE
    веб-разработчик, php/js/mysql и сопутствующее
    В общем случае у вас есть сортировка по какому-то полю, вам нужно запросом получить количество записей с условием соотвествующем сортировке и направлению и значением меньше/больше искомой записи. Звучит сложно, поясню на примере. Если у вас сортировка по id - то нужен id искомой записи и запрос вида where id < id_искомая ORDER BY id ASC|DESC, если по дате - то where date < date_искомая ORDER BY date ASC|DESC
    т.е. вам надо найти количество записей в вашей таблице до искомой. Ну а зная размер страницы - можно найти на какой странице будет ваша искомая запись.
    Ответ написан
    2 комментария
  • Как подставить класс элементу в зависимости от значения во Vue?

    kulakoff
    @kulakoff Куратор тега Vue.js
    Vue.js developing
    <div :class="[isNeeded ? 'needed' : false]"></div>
    Ответ написан
  • Как прижать flex-контейнер к правой стороне?

    Xserber
    @Xserber
    Full-stack developer. React.js, AngularJS + NodeJS
    Банальный margin-left: auto творит чудеса. Привет хитрые моменты из спецификации :)
    Вот ваше решение:
    https://jsfiddle.net/a0hz7hp1/3/
    Ответ написан
    1 комментарий
  • Bootstrap-Vue - В чём фишка данного симбиоза?

    copist
    @copist
    Empower people to give
    Расскажите плиз о технологии, и чем развёрнутей, тем лучше.

    Вот захотел ты сделать сайт SPA или PWA с любимой тебе вёрсткой на базе Twitter Bootstrap и любимой библиотеки Vue. Сверстал. Поповеры не появляются, дропдауны не выпадают, модалки не открыватся, формы не валидируются, клики не работают.

    Оригинальный Twitter Bootstrap имеет поддержку интерактивных элементов на Javascript. Реализовано это на библиотеке jQuery. Если делаешь на Vue, придётся подключать ещё и jQuery, что лишняя библиотека на 100+ килобайт, что, конечно, не катастрофа (пока ты не на мобилке).

    Vue работает с состояниями привязывает данные к отображению, а jQuery работает с DOM и событиями. Это вопрос производительности. Работа JQuery начитается когда загружен и распарсен JS и HTML. Работа Vue начинается в тот момент, когда загружен и распарсен JS, то есть чуть раньше. jQuery модифицирует DOM на лету, перестраивая текущий документ. Vue работает с shadow DOM, а затем подсовывает уже готовую интерактивную страницу в пустой документ, что быстрее (разница в секунды на десктопе, десятки секунд на м...).

    Vue реализует компонентную парадигму. Куски страницы являются изолированными кусочками кода (HTML CSS JS), которые цепляются между собой динамически, а обмениваются данными через аттрибуты и события. Предположим, что вы решили следовать компонентной парадигме, тогда согласно вот такому примеру нужно будет увязать самостоятельно все интерактивные компоненты. Компонента-кнопка. Компонента-поле ввода. Компонента-форма. Компонента-контейнер. Получается около 50 компонент. Для некоторых надо будет написать логику на jQuery. Если посмотреть на код jQuery этих микрокомпонент, то он окажется несложный, его вполне можно переписать на Vue. Ну там класс заменить или клик отработать. Когда от кода jQuery не останется следа, его можно будет из проекта удалить.

    И вот получается Bootstrap-Vue

    На компоненты побили. От Jquery избавились. Написано в единой парадигме. Работает быстрее.

    Добавляем тот факт, что в Vue можно не импортировать компоненты, которые не нужны (например, я не работаю с дропдаунами и модальным окнами) и код становится меньше, грузится быстрее, работает быстрее.

    Так же будет Не лишним оценить технологию: плюсы, минусы, стоит ли вообще с этим работать ...

    Это сам изучай и сравнивай. Навыки и опыт воздушно-капельным и через Internet не передаётся
    Ответ написан
    4 комментария
  • Локальная клиент-серверная программа на python?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    В чем проблема?
    В вебе более человеко понятные данные, в вашем случае можно выбрать любой RPC протокол что бы гонять данные. Плюс есть серьезная вещь в плюс отсутствие задержек и гарантированная связь в обе стороны.

    Что же до отчетов, поставьте флажок что он начал готовиться и выводите спинер с обратным отсчетом.
    Ответ написан
    3 комментария