Задать вопрос
  • Как в PDF поставить штамп или сделать визуализацию ЭП при трехстороннем и более подписании?

    @knigaman
    Очень маловероятно, что вообще есть такое готовое ПО. Костылить придется самостоятельно на том же питоне чисто в теории можно сделать за пару вечеров. Декомпозируй задачу на более мелкие и для каждой выбери оптимальное решение.

    Вот как бы это сделал я с учетом разработки туевой хучи различных генераторов документов.

    1) Получить данные ЭП. Зависит от того, что за ЭП конкретно, думаю разберешься, тут объяснять не нужно.

    2) Подготовка штампа. Самый быстрый способ верстать красивые документики, анкетки, всякие бланки, платежки и прочую дичь это сверстать в docx формате (можешь у себя на компе тупо подготовить шаблон нужного тебе штампа), далее туда подставить данные которые ты получил из ЭП (на питоне это легчайше делается с помощью библиотеки docxtpl). Это самый простейший способ быстро верстать и внедрять в прод документы и штампы по типу твоего (документы могут верстать даже манагеры, бухи и прочие нетехнические личности), ты берешь то что наверстали они, добавляешь плейсхолдеры и гонишь в прод шаблон. На выходе получаешь заполненный docx файлик и конвертируешь его в pdf с помощью фермы докер контейнеров, внутри которых работает libreoffice в cli режиме.

    3) Вставка штампа в документ. Тут возможно 2 случая: 1) штамп влезет на страницу в конце документа 2) штамп не влезет на страницу в конце документа. Можешь эту задачу конечно не решать если лень и лепить штамп на новую страницу без всяких расчётов. Но лучше конечно посчитать высоту контента на последней странице и влепить штамп в оставшееся пустое место, если его хватает для штампа.

    Естественно у каждой задачи могут быть нюансы, по типу того, что в штамп может быть больше страницы в высоту и прочее, но схема решения именно такая. Это самый дешевый и простой способ решить 99.99% задач в области генерации различных документов.
    Ответ написан
    Комментировать
  • Как удалить крякнутую версию нашего приложения из Rustore?

    Vamp
    @Vamp
    1. Читаете пользовательское соглашение.
    2. Пишете досудебную претензию письменно через Почту России (можно электронно) на адрес компании, указанной в данном соглашении. В претензии пишете, что приложение нарушает пункт 4.2 пользовательского соглашения и требуете его удалить, а разместившего пользователя заблокировать.
    3. При отсутствии ответа в течение 30 дней (см. п. 11.1) подавайте в суд.
    Ответ написан
    Комментировать
  • С помощью чего создать тунель между Ubuntu и Cisco?

    ky0
    @ky0
    Миллиардер, филантроп, патологический лгун
    Просто IPSec.
    Ответ написан
    Комментировать
  • Не работает 4G USB модем на orange pi zero 3 (образ android tv 12), что нужно сделать?

    @Drno
    Если у тебя по IP ходят пинги, значит модем то работает... копай настройки днс на андройде тогда
    Ответ написан
    1 комментарий
  • HP m425dn, как заставить принтер сканировать в сетевую папку?

    anthtml
    @anthtml
    Системный администратор программист радиолюбитель
    Подозреваю, что МФУшка, в силу своего возраста, тупо не умеет в SMBv2, у меня такая же ошибка была на Samsung 4070, которые без обновления прошивки в новым сервакам не коннектились. А после обновления прошивки коннект появлялся, но слетала расчиповка.
    Ответ написан
    Комментировать
  • Диск в рейде пометился как foreign, как исправить?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Подскажите, как можно оживить системные диски?

    Не стоит ничего оживлять. Формально говоря, избыточность у вас закончилась (хотя состояние вышедших из строя дисков неизвестно).

    Корректно выключайте сервер, маркируйте винчестеры по отсекам, вынимайте их и на отдельной машине создавайте полные посекторные копии исправных. Под Linux можно взять dd, под Windows - Clonezilla.

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

    Дальше берите хорошую программу для восстановления данных и собирайте массив программно. Можете наш R.saver, он бесплатный, и если на исправных жёстких дисках нет логических повреждений (не требуется именно восстановление), он соберёт RAID автоматически, что позволит скопировать информацию.

    После этого покупайте новые 4 диска, собирайте из них тот же РЕЙД 6, и копируйте ваши файлы туда. До того, как убедитесь, что всё в порядке, все старые диски и образы храните нетронутыми.

    Старым дискам доверять не стоит - они с высокой вероятностью из одной партии и, если два SAS HDD из четырёх вышли из строя, то оставшиеся вряд ли можно считать надёжными.

    UPD:
    С учётом вашего дополнения про важность системного РЕЙД 0, думаю, что этим вопросом вам тоже стоит заняться. Хранить ценные данные на RAID0 неразумно - он в N раз повышает вероятность отказа.
    Тут имеет смысл подумать о RAID 10, переходе на SSD, организации регулярных бэкапов, и т.п.
    Ответ написан
    3 комментария
  • Как искать работу DevOps c резюме frontend?

    Maksim_64
    @Maksim_64
    ML Engineer
    1. В оглавлении резюме пишешь DevOps

    2. Перечисляешь навыки (включая DevOps стек)

    3. Перечисляешь компании где занимался frontend-разработкой.

    На первичном собесе с эйчаром, говоришь занимался фронтом, но в какой то момент в компании переключился на DevOps, затем проходишь/не проходишь технический собес.
    Ответ написан
    2 комментария
  • Где найти исходники стандартной библиотеки JavaScript?

    VoidVolker
    @VoidVolker Куратор тега JavaScript
    Dark side eye. А у нас печеньки! А у вас?
    Ну есть же поиск — там всё легко находится. Да, размазано по куче файлов — ну а иначе никак. Вот например: https://github.com/v8/v8/tree/main/src/builtins
    Ответ написан
    1 комментарий
  • Где найти исходники стандартной библиотеки JavaScript?


    ЗЫ: Или библиотека размазана по множеству C++ файлов движка v8?

    Да
    Ответ написан
    Комментировать
  • Как связать html-код c python при помощи Flask?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    Закрыть блок for в jinja: {% endfor %}.
    Ответ написан
    3 комментария
  • Защита в компьютерном клубе.Могут ли технически запретить установить плагин в браузере?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    В вашем случае вам следует обратиться к администрации клуба с описанием вашей задачи: "необходимо провести тестирование сайта на производительной машине из такой-то локации", а не пытаться обойти правила и ограничения клуба.
    Ответ написан
    Комментировать
  • Как определить от какого агрегатора пришел webhook?

    @maksam07
    Мы понятия не имеем о каких платежках вы пишете, как нам вам помочь? Каждая платежка может иметь совершенно разные подходы к отправке данных, нет "ГОСТа", чтобы четко отследить.
    Если они все отправляют post запрос, то более простым решением будет передача им юрл с уникальным гет параметром, например:
    /api/webhook/payment?ps=yandex
    /api/webhook/payment?ps=sber
    /api/webhook/payment?ps=ozon
    И тогда вы будете более явно видеть, от кого идет запрос. Ну только если озону не подложите ссылку для яндекса и т.д.
    Ответ написан
    4 комментария
  • Какие почитать книги, которые научат составлять алгоритмы?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    С. Н. Виноградов и А. Ф. Кузьмин — "Логика", учебник для средней школы, 1954г.
    Ответ написан
    Комментировать
  • Очень странные артефакты на мониторе, есть ли решение или стоит попытаться сдать по гарантии?

    @rPman
    А монитор ли виноват? посмотрите onscreen сообщение (число 200) видно без проблем, а вот за ним косяки, выглядит как глюк либо кабеля либо видеокарты.

    лучший тест, подключить монитор к заведомо рабочему оборудованию.

    p.s. попробуй сменить тип подключения с dp на hdmi, тоже для теста
    Ответ написан
    Комментировать
  • Почему падают интерфейсы на микротик после бекапов proxmox?

    b1ora
    @b1ora Куратор тега MikroTik
    Контакты в профиле
    Потому что свитч чип на rb3011 не рассчитан на такую нагрузку. Подключай через коммутатор.
    Маршрутизатор должнен маршрутизировать
    Коммутатор коммутировать
    Ответ написан
    Комментировать
  • Поиск по образцу. Как сделать быстрый поиск вхождения картинок-символов на большом чертеже?

    @dim5x
    ЗИ, ИБ. Помогли? Поблагодарите. Отметьте ответом.
    import cv2
    import numpy as np
    
    # Загрузка изображений:
    dr_image = cv2.imread('original.png')
    
    # Преобразуем в серое:
    gray = cv2.cvtColor(dr_image, cv2.COLOR_BGR2GRAY)
    
    # Бинаризация: черные линии → белые (на чёрном фоне).
    _, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY_INV)
    
    # Шаблоны:
    template1 = cv2.imread('temp2.png', cv2.IMREAD_GRAYSCALE)  # ёлочка
    template2 = cv2.imread('temp1.png', cv2.IMREAD_GRAYSCALE)  # круг
    
    _, template1 = cv2.threshold(template1, 127, 255, cv2.THRESH_BINARY_INV)
    _, template2 = cv2.threshold(template2, 127, 255, cv2.THRESH_BINARY_INV)
    
    # Параметры:
    threshold1 = 0.7  # для ёлочки
    threshold2 = 0.5  # для круга
    
    # Поиск "ёлочки":
    result1 = cv2.matchTemplate(binary, template1, cv2.TM_CCOEFF_NORMED)
    loc1 = np.where(result1 >= threshold1)
    
    # Поиск "круга":
    result2 = cv2.matchTemplate(binary, template2, cv2.TM_CCOEFF_NORMED)
    loc2 = np.where(result2 >= threshold2)
    
    # Результат:
    result = dr_image.copy()
    detected_boxes = []
    
    # Обработка "ёлочки":
    for pt in zip(*loc1[::-1]):
        x, y = pt
        w, h = template1.shape[1], template1.shape[0]
        box = (x, y, x + w, y + h)
    
        if not any(np.allclose(box, b, atol=10) for b in detected_boxes):
            detected_boxes.append(box)
            cv2.rectangle(result, pt, (pt[0] + w, pt[1] + h), (0, 0, 255), 2)
            cv2.putText(result, "Tree", (pt[0], pt[1] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 1)
    
    # Обработка "круга":
    for pt in zip(*loc2[::-1]):
        x, y = pt
        w, h = template2.shape[1], template2.shape[0]
        box = (x, y, x + w, y + h)
    
        if not any(np.allclose(box, b, atol=10) for b in detected_boxes):
            detected_boxes.append(box)
            cv2.rectangle(result, pt, (pt[0] + w, pt[1] + h), (0, 255, 0), 2)
            cv2.putText(result, "Circle", (pt[0], pt[1] - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 1)
    
    # Сохраняем результат:
    cv2.imwrite('result_with_labels.png', result)
    print(f"Найдено объектов: {len(detected_boxes)}")
    
    # Показываем:
    cv2.imshow('Detected', result)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    >>> Найдено объектов: 12

    68cd5e8cccadf938039122.png
    Ответ написан
    3 комментария
  • Опасно ли что ИБП отключается вместе с отключением света в квартире?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Да, опасно, т.к. раз он отключается — значит, он неисправен и его надо нести в ремонт или сдавать в магазин по гарантии, хотя должен работать и обеспечивать ПК энергией на несколько минут для завершения работы.
    Да, проблема может быть в вышедшем из строя аккумуляторе, а может быть и не в нём. Безопаснее и надёжнее всего отдать устройство в руки специалистов и пусть они его диагностируют и чинят. Без опыта и знаний лезть внутрь не следует.
    Ответ написан
    6 комментариев
  • Телеграм удаляет webhook?

    @Lfyz123 Автор вопроса
    Проблема была в том, что помимо бека, куда тг должен был слать вебхуки, был еще и запущен бот, который работал через polling. Из за этого сносился вебхук
    Ответ написан
    1 комментарий
  • Можно ли частично (выборочно) заблокировать доступ в интернет при выключенном VPN?

    @Disel0k
    Пропишите явно маршруты через удаленный шлюз. Нет шлюза нет доступа, вернулся шлюз - вернулся доступ
    Ответ написан