• Поджскажите конфигурацию my.cnf для InnoDB?

    2ord
    @2ord
    Нет смысла делиться конфигурациями, заточенными под решения определенных задач.
    Нужно просто взять конфигурацию по умолчанию, погонять ее 1 день, а затем воспользоваться mysqltuner для определения оптимальной.
    Ответ написан
    Комментировать
  • Как зашифровать exe файл?

    2ord
    @2ord
    Специально для хацкеров. Мне 18+ и я осознаю все последствия!!!
    поиск: akuafif hXOR-Packer
    Ответ написан
    Комментировать
  • Чем открыть .Jet?

    2ord
    @2ord
    Нужно сначала узнать что за формат файла. Есть утилита TrID для Windows/Linux.
    Зная что за формат, куда проще узнать какое ПО работает с ним.
    Пример
    C:\TrID>trid c:\test\doc\lasik_info.doc

    TrID/32 - File Identifier v2.24 - (C) 2003-16 By M.Pontello

    Collecting data from file: c:\test\doc\lasik_info.doc
    Definitions found: 5702
    Analyzing...

    70.7% (.DOC) Microsoft Word document (58000/1/5)
    29.3% (.) Generic OLE2 / Multistream Compound File (24000/1)
    Ответ написан
    Комментировать
  • Как эффективно подсчитать кол-во байт для выделения буфера на чтение?

    2ord
    @2ord
    Не нужно вычислять объём памяти для буфера. Просто используй интерфейс io.Reader для потоковой обработки.
    scanner := bufio.NewScanner(os.Stdin)
    scanner.Text()вернёт токен с числом в строке.

    https://pkg.go.dev/bufio#Scanner.Text
    Ответ написан
    Комментировать
  • Как эффективно составить гистограмму слов (big data)?

    2ord
    @2ord
    Пришел в голову такой вариант:
    В текстовом потоке берём каждый токен и делаем инкремент количества, и т.д.
    Затем сортируем результаты - здесь вопрос какую структуру данных выбрать, чтобы сортировать находу.
    Ответ написан
  • Как правильно обработать товары в очереди?

    2ord
    @2ord
    1) Насколько правильно обрабатывать в одной очереди и загрузку файла и парсинг самого файла?
    Если произойдёт какая-то ошибка при чтении файла
    Пока я не вижу смысла в дополнительной очереди. При скачивании нужно определять код статуса и если возвращает 20x, то можно приступать к чтению. Если 40x, то это баг клиента. Если 50x или сбой связи, то можно сохранить в таблице с временем последней попытки, чтобы можно было выбирать когда нужно провести следующую попытку.
    Если файл скачан без ошибок и он цел, то проблем с чтением файла быть не должно, при условии соблюдения формата файла. А если скачан частично при коде 20x, то повторная обработка ничего не даст.
    Скачанный файл можно удалять, если импорт окончен. А при сбое можно заново не скачивать - экономия времени.
    Смену статуса импорта сделать сразу по окончанию обработки.

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

    только изображения отправляются для обработки в одельной очереди. Я думаю, что это сильно напрягает саму очередь
    сами изображения отправляются или что-то другое? Если первое, то это нелогично и это действительно нагружает очередь. Зачем все товары слать в очередь? Разве в очереди импорта нельзя считывать всё с файла и записывать сразу в СУБД? Это ведь никого задерживать не будет.

    Получается, что все товары висят в одной очереди и ждут когда их проверят.
    Нет, очередь нужна для обработки без ожидания. А для хранения используется СУБД с пометкой последней проверки и, возможно, временем, когда товар надо снова обновить. Какой-то периодический процесс может опрашивать таблицу: у кого протухли товары, отзовись!
    Ответ написан
  • Как задеплоить бота aiogram с sqlite?

    2ord
    @2ord
    Зависит от хостинга. В случае доступа по SSH - при помощи scp, rsync. Если, по FTP - клиентом FTP.
    Тупо и по HTTP можно скачать, если вывести на раздачу веб-серверу.
    Heroku - данные будут просто утеряны из-за особенностей запуска контейнеров.
    Ответ написан
    Комментировать
  • Почему сайты на сервере работают медленно?

    2ord
    @2ord
    Подключи APM к приложению, добавь системы мониторинга системы и узнаешь что и когда тормозит. Тогда от этого можно отталкиваться. Приложи скриншоты нагрузки СУБД с ее характеристиками, количества соединений, список долговисячих запросов, тогда будет о чем говорить.
    А так, судя по нагрузке на скриншоте, как заметил Александр Карабанов , в среднем 1/6 процессоров нагружены на 100%, что не является потолком для нагрузки. Остальное время система/приложение ждет чего-то. Возможно, при работе с СУБД или при запросах наружу.
    Ответ написан
    Комментировать
  • Как установить redis на windows правильно, и нужно ли использовать docker?

    2ord
    @2ord
    Официальный источник: https://redis.io/docs/getting-started/installation...
    Ответ написан
    Комментировать
  • Какая есть литература про парсинг различных форматов данных?

    2ord
    @2ord
    Литература - очень сомневаюсь в этом, уж больно много нюансов.
    А вот ПО с открытым кодом (библиотеки и т.д.) - имеются. Допустим, Apache Tika.
    Если для полнотекстового поиска нужно, то лучше взять готовое ПО: Apache Solr.
    Ответ написан
    Комментировать
  • Как правильно держать переменную в файле в оперативной памяти linux?

    2ord
    @2ord
    мне просто счётчик для различных скриптов

    Memcached/Redis/SQLite
    Ответ написан
    Комментировать
  • Как преобразовать звук в символы?

    2ord
    @2ord
    Если правильно понял вопрос, нужно определить ноты звуков. Тогда можно воспользоваться Basic Pitch
    Ответ написан
    1 комментарий
  • Как мне выбрать видеокарту?

    2ord
    @2ord
    Если нет денег или не особо играешь в игры, дешевле взять процессор со встроенным GPU (интегрированная графика).
    Ответ написан
    4 комментария
  • Как в php сравнить два огромных txt файла до 100гб, удалив дубликаты?

    2ord
    @2ord
    На POSIX системах можно использовать fgrep:
    $ cat /tmp/file1.txt
    aaa
    bbb
    ccc
    $ cat /tmp/file2.txt
    bbb
    123
    aaa
    $ fgrep -f /tmp/file1.txt /tmp/file2.txt
    bbb
    aaa


    Так что на PHP как-то так:
    $output = shell_exec('fgrep -f /tmp/file1.txt /tmp/file2.txt > /tmp/dups.txt');


    Однако, если требуется выполнять какие-то дополнительные манипуляции, тогда, возможно, лучше сразу импортировать в СУБД.

    Добавлено:
    упустил факт, что помимо дубликатов нужно оставить и неповторяющиеся значения. Тогда так:

    $ sort -u /tmp/file1.txt /tmp/file2.txt
    123
    aaa
    bbb
    ccc


    $output = shell_exec('sort -u /tmp/file1.txt /tmp/file2.txt > /tmp/dups.txt');
    Ответ написан
    Комментировать
  • Meson.build:2:0: ERROR: Could not execute Vala compiler "valac"?

    2ord
    @2ord
    Нужно установить пакет с компилятором Vala:
    sudo apt install valac
    Ответ написан
    Комментировать
  • Как правильно создавать большие архивы данных?

    2ord
    @2ord
    1. Ничего особого не требуется
    2. Без разницы
    3. Имеет смысл хранить хэш-сумму (MD5, SHA1) рядом с файлом и сверять архивы по ней для удостоверения целостности.
    4. Возможно, разбивать потенциально большие архивы на тома, скажем, по 20-50 МБ, чтобы в случае обрыва связи было проще перезалить в облако.
    5. Очень даже может быть. Во времена магнитных накопителей имело смысл создавать архивы с некоторыми дополнительными служебными данными, используемыми при восстановлении файлов в случае повреждения, вызванными размагничиванием или при записи. Сегодня это неактуально и, в основном, ненадежный канал связи может являться причиной битых архивов. При использовании программ для синхронизации данных не исключено, что при обрыве связи не работает как положено механизм повтора.
    Ответ написан
    Комментировать
  • Как распаковать все архивы внутри папок с сохранением структуры?

    2ord
    @2ord
    Bash:
    tar xf названиеархива.tar.gz
    # затем распаковываем все .gz в поддиректориях на своих местах:
    find . -type f -name '*.gz' -exec gunzip {} \;
    Ответ написан
    Комментировать
  • По какой логике в редисе работает получение всех записей?

    2ord
    @2ord
    scan <cursor> MATCH user:* COUNT 100
    вместо <cursor> выставить 0 и дальше изменять согласно полученному курсору.
    https://redis.io/commands/scan/
    Ответ написан
    Комментировать
  • Как искать зашифрованные данные через like?

    2ord
    @2ord
    Если верно понял требования, то вот мои мысли.

    Использовать Transparent Data Encryption (TDE)

    Выполнить шифрование данных на уровне таблиц:
    https://www.postgresql.org/docs/current/encryption...
    https://dev.mysql.com/blog-archive/controlling-tab...

    То есть расшифровывание будет происходить на уровне СУБД, а с точки зрения приложения - обычные запросы LIKE.
    Ответ написан
    1 комментарий
  • Как добавить файлы в архив по маске через 7zip?

    2ord
    @2ord
    Скрипт с циклом for по маске *.docx , в каждом найденном файле взять первый символ (Unicode) файла, приставить в конце .7z и получится имя файла, куда нужно добавить этот документ в архив. Ну и составить команду добавления в архив. Читать справку по cmd скриптам, 7z.
    Ответ написан
    Комментировать