Задать вопрос
  • Как перевести изображения на разные языки?

    2ord
    @2ord
    Сделать экспорт в SVG (Tools > Scripts > Batch Export)
    и автоматизировать перевод скриптом: SVG - это XML, для которого есть парсеры на различных языках программирования.
    Так, извлекая текст, можно при помощи API для онлайн машинного перевода перевести на разные языки, используя SDK. Есть нюансы: длина слов может вызвать перевод на другую строку или выход за границы изображения. Это, возможно, тоже решается.
    Ответ написан
    9 комментариев
  • Если откыть exe файл в блокноте, то что мы увидем?

    2ord
    @2ord
    504b 0304 это сигнатура формата zip.
    У Exe (формат PE) сигнатура другая, 0x4D 0x5A . См. https://ru.wikipedia.org/wiki/Portable_Executable
    Многие форматы файлов представляют из себя набор байтов, которые обычные тестовые редакторы показывают как какие-то кракозябры - они не предназначены для этого. Файлы изображений, звука, видео и многих других. Чтобы посмотреть что внутри на уровне байтов, нужно открывать их в специальных hex-просмотрщиках. Но для большинства они будут выглядеть как зашифрованное послание.
    Ответ написан
    1 комментарий
  • Сохранение в память данных из таблицы с периодическим обновлением?

    2ord
    @2ord
    Кэширование как раз делается для экономии обращения к более дорогим/медленным ресурсам. Устанавливается срок действия ключа, по необходимости. Самые главные преимущества - независимость от хранения при перезагрузке программы (при крахе или просто выпуске новой версии) и масштабируемость архитектуры. В случае Redis весь список можно держать в одном ключе. Можно, запуская (под)программу в планировщике задач ежечасно, просто в цикле получить структуру, сериализовать в виде JSON, XML, Msgpack и записать байты как элемент списка в Redis.
    Затем, при получении нужного списка просто проверяешь есть ли данные по ключу и если есть, распаковываешь в свои структуры данных в памяти и используешь в логике программы.
    А мьютексы и локи вообще не нужны для этих целей.

    Добавлено
    Использовать СУБД - тоже нормальный вариант и не надо стесняться его использовать. Тем более, не нужно добавлять дополнительные единицы хранения типа Redis.
    Ответ написан
    Комментировать
  • Как восстановить базу данных имея только папку data?

    2ord
    @2ord
    В файле ibdata1 , похоже, находится какой-то мусор: начиная с некоторого смещения виден заголовок PE исполняемого файла:
    судя по некоторым мета-данным
    Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv11.0) like Gecko

    похоже на браузер IE, Windows 7

    mysql_error.log
    2023-08-18 18:36:21 0 [Note] InnoDB: The first innodb_system data file 'ibdata1' did not exist. A new tablespace will be created!
    2023-08-18 18:36:21 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
    2023-08-18 18:36:21 0 [Note] InnoDB: Uses event mutexes
    2023-08-18 18:36:21 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
    2023-08-18 18:36:21 0 [Note] InnoDB: Number of pools: 1
    2023-08-18 18:36:21 0 [Note] InnoDB: Using SSE2 crc32 instructions
    2023-08-18 18:36:21 0 [ERROR] InnoDB: Unable to create temporary file; errno: 2
    2023-08-18 18:36:21 0 [ERROR] InnoDB: Unable to create temporary file; errno: 2
    2023-08-18 18:36:21 0 [ERROR] InnoDB: Database creation was aborted with error Generic error. You may need to delete the ibdata1 file before trying to start up again.
    2023-08-18 18:36:21 0 [Note] InnoDB: Starting shutdown...
    2023-08-18 18:36:22 0 [ERROR] Plugin 'InnoDB' init function returned error.
    2023-08-18 18:36:22 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    2023-08-18 18:36:22 0 [Note] Plugin 'FEEDBACK' is disabled.
    2023-08-18 18:36:22 0 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
    2023-08-18 18:36:22 0 [ERROR] Unknown/unsupported storage engine: InnoDB
    2023-08-18 18:36:22 0 [ERROR] Aborting

    не особо оптимистично сообщается
    Ответ написан
    Комментировать
  • Изображения не загружаются если их слишком много?

    2ord
    @2ord
    Гугли: CSS sprites
    Ответ написан
    Комментировать
  • При запуске своей OS на cosmos OS в виртуалке пишет Waiting for debugger connection?

    2ord
    @2ord
    https://github.com/CosmosOS/Cosmos/issues/1195
    Debugger support only works with Bochs and VMWare currently. To use Virtual Box you will need to disable the debugging by setting <EnableDebug>false</EnableDebug>

    60398823-5643fb80-9b22-11e9-895a-5c09e3bacd01.png
    Ответ написан
    Комментировать
  • Как хранить условия в БД?

    2ord
    @2ord
    Попробуй формализовать в виде правил и записать их каждое в отдельную запись.

    Если сегодня суббота, то сделай скидку к моему товару на 5%, но не меньше себестоимости

    как определяется, что день является субботой?
    каков номинал скидки?
    как определить что является себестоимостью? Надо ли хранить в БД или вычисляется исходя из цены товара? Или, наоборот, цена хранится в виде себестоимости, а накрутка на себестоимость вычисляется по формуле.

    Пример записей:
    тип правила: день недели, скидка: 15, единицы: проценты, мета-данные: { день: 5 } (и проверять функцией SQL DAYOFWEEK)
    тип правила: день недели, скидка: 5, единицы: проценты, мета-данные: { день: 1 }
    тип правила: день трудяг, скидка: 10, единицы: абс. (тугрики), мета-данные: { }
    Ответ написан
    Комментировать
  • Как понять что грузит сеть?

    2ord
    @2ord
    В Хроме открой Dev Tools > Network
    подробнее от бота ИИ

    Open the Developer Tools by pressing Ctrl + Shift + I (Windows) or Cmd + Option + I (Mac) while in Chrome.
    Click on the Network tab.
    Reload the page to start capturing the network requests.
    Click on a specific request to view its details.
    Click on the Timing tab to view a breakdown of the network activity for that resource1.

    Там
    64d2617c15fdc526849744.png
    64d2619b0b41f257751986.png
    Тут видно, что почти 8 сек. занимает initial connection.
    Что на это говорит ИИ бот

    Some possible causes include network issues, problems with the server you are trying to connect to, or issues with your computer or device. Here are some steps you can try to fix the issue:

    Check your internet connection to make sure it is working properly.
    Clear your browser cache and cookies.
    Disable any browser extensions that may be interfering with the connection.
    Try resetting your network settings or restarting your router.
    If you are using a VPN or proxy, try disabling it temporarily to see if that resolves the issue.

    If none of these steps help, the issue may be outside of your control and could be related to the server you are trying to connect to or other external factors
    Ответ написан
  • Как тестировать горизонтальное масштабирование?

    2ord
    @2ord
    Напиши простую программу с имитацией нагрузки на CPU (необязательно большой) в течение заданного времени. Добавь в K8s конфигурацию с указанием порога, по превышении которого должны подниматься дополнительные экземпляры.
    Ответ написан
    Комментировать
  • Как сделать ромбообразную сетку?

    2ord
    @2ord
    Это ведь сетка, состоящая из квадратов под углом 45 градусов, не так ли?
    Ответ написан
    3 комментария
  • Как запустить горутину навечно?

    2ord
    @2ord
    я думаю, что весь секрет в строке
    //Working with DB
    То есть утекает память из-за того самого кода, который нам не показан.
    С "вечной" горутиной пролем вроде как нет.
    Ответ написан
    Комментировать
  • Можно ли реагировать на нагрузку mysql в реальном времени?

    2ord
    @2ord
    Да. "реагировать на нагрузку" можно по-разному:
    1. слать сообщения админу в 2 часа ночи: "ой, у вас что-то непонятное творится с вашей СУБД. Может, проверишь?". Можно и разработчикам ПО.
    2. можно и активно (программно). Например : "так, что тут количеством соединений? Ого! Надо грохнуть эти подозрительные процессы." или типа "давай остановим наше ПО и посмотрим что будет". Есть и более продвинутые средства, конечно. Искать по PMM mysql и другие.
    3. ничего не делать и молча наблюдать за происходящим через средства мониторинга СУБД.
    Ответ написан
    Комментировать
  • Что делать при повреждении файла index?

    2ord
    @2ord
    Начни с прочтения
    git help fsck
    Ответ написан
    Комментировать
  • Что делать если при включении ПК нет изображения?

    2ord
    @2ord
    Проверь, хорошо ли сидит память в слоте.
    Ответ написан
    Комментировать
  • Как читать книгу Вирт, Алгоритмы и Структуры данных школьнику?

    2ord
    @2ord
    Посмотри как работают алгоритмы сортировки:
    https://www.toptal.com/developers/sorting-algorithms

    Если тебе интересно узнать как оно устроено под капотом, то бери книгу по-проще и читай. А если не особо интересно, то возьмись за написание какой-то логической или аркадной игры. Сухую теорию неинтересно учить, поэтому найди себе что-то интересное, где могут найти применения разные алгоритмы.
    Ответ написан
    Комментировать
  • Работа с изображениям, как создать своё на C++?

    2ord
    @2ord
    Для старта: формат изображений QOI. Там же и спецификация формата.
    Или же BMP.

    Хочу написать код для работы с изображениями под свои задачи
    Весьма расплывчатая хотелка.

    научиться делать скрины экрана
    Захват экрана делается системными вызовами. В разных ОС по-разному. Надо читать их SDK. В дистрибутивах Линукса есть различные менеджеры окон и у них разные SDK.
    Захватив изображение и получив матрицу пикселей, возможно, необходимо проделать какие-то операции над изображением и сохранить в некотором формате изображения (BMP, QOI, PNG).

    может быть обрабатывать видео
    видео - это последовательность фреймов изображений определённым кодеком. Сжатие данных само по себе - обширная тема и нужно читать отдельно. Например, в compression.ru . Пока не поймёшь что можно делать с изображениями, к работе с видео лучше не переходить.
    Ответ написан
    Комментировать
  • Где обычно хранятся бэкапы от сайтов, работающих на VPS? И как они туда попадают?

    2ord
    @2ord
    Есть варианты:
    1. использовать самописные скрипты на резервирования данных на тот же сервер, в отдельную директорию, куда будут складываться архивы. Затем, по окончанию архивации, синхронизировать архив на удалённое хранилище при помощи rclone и прочих утилит.

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

    2. Использовать ПО для архивирования. Например, Bacula. Устанавливается агент на сервер веб-сайта. По заданной конфигурации сервер Bacula собирает данные с нужных директорий через агента и складывает на отдельном сервере архивов. Есть различные конфигурации работы.

    Минусы:
    а) нужны дополнительные мощности
    б) требуется настроить сервера и резервирование (нужен сис. админ.)
    Ответ написан
    Комментировать
  • Ошибка при попытки скачать requirements.txt, что делать?

    2ord
    @2ord
    Для решения первой проблемы:
    sudo apt-get install pkg-config
    Для решения второй лучше использовать виртуализацию. Docker или виртуализацию ОС
    Ответ написан
    Комментировать
  • Возможно ли на php создать асинхронный парсер?

    2ord
    @2ord
    При помощи AMPHP можно использовать неблокирующие HTTP запросы.
    Используя очереди сообщений, можно асинхронно обрабатывать полученное тело ответа от запроса.
    Ответ написан
    Комментировать
  • Почему текстовый файл (.txt) превращается в бинарный?

    2ord
    @2ord
    Возможно, через уязвимость(и) веб-сайта содержимое файла перезаписывается. Существуют сканеры безопасности - стоит проверить ими.
    Стоит посмотреть на логи, фильтруя по пути. Можно проверить с каких IP идёт запрос. Для дополнительной информации стоит добавить журналирование параметров запроса и само тело запроса.
    Как восстановить: восстановить из резервной копии.
    Ответ написан
    Комментировать