• Какая файловая система наиболее устойчива к сбоям?

    2ord
    @2ord
    Используя Linux, SSD с ext4, VS Code и имея частые отключения электроэнергии в электрощите, могу с уверенностью утверждать, что файлы не бьются и открываются без проблем ровно в том месте, где не закончил редактирование кода. Также выработана привычка нажимать Ctrl-S чуть ли не при любом изменении, даже мало-мальском.
    P.S. планирую купить UPS.
    Ответ написан
  • Можно ли использовать Elasticsearch для поиска в файлах?

    2ord
    @2ord
    Можно ли использовать Elasticsearch для поиска в файлах?
    Elasticsearch не предназначен для индексирования файлов непосредственно. Поскольку используется SDK для работы через API, при создании документов с текстом. Таким образом, они (документы) индексируются и доступны для последующего поиска.
    Кроме того, Elasticsearch плохо работает в случае частых обновлений, поскольку ему надо часто обновлять кэш, и это приводит к дополнительным накладным расходам. Короче, Elasticsearch - это перебор для данной задачи.

    Не понятно зачем используется файл, когда можно использовать СУБД. Например, RediSearch (из Redis Stack) - позволяет производить полнотекстовый поиск, включая русский.
    Так, вместо большого файла приложение должно работать с СУБД, храня единицы документов (то, что в вашей терминологии называется блоком).

    В реальности файл гораздо меньше. Он где-то 10Мб (Max) и перезаписывается подобно стеку: Первый зашёл - первый ушёл. Дозапись в конец файла с фиксированным количеством текстовых блоков.
    Что касается очереди FIFO, то она поддерживается в Redis. В ней можно хранить идентификаторы документов, подлежащих обработке.
    Ответ написан
    7 комментариев
  • Как релизаовать двустороннюю связь серверов в веб разработке?

    2ord
    @2ord
    Для "общения" серверов между собой можно использовать WebSocket, gRPC, HTTP и много чего ещё. Если они в одной подсети, то это значительно упрощает их взаимодействие.
    Сервер в роли диспетчера может отправлять задачи и контролировать их выполнение: отправить задачу с её идентификатором, а при получении ответа записать в СУБД, что задача Х выполнена. Там же и проверить, что если все задачи подсерверов выполнены, то перейти к следующему этапу.
    Ответ написан
    Комментировать
  • Почему Ruby возвращает nil?

    2ord
    @2ord
    когда функция в Ruby ничего не возвращает, по умолчанию возвращается nil.

    # есть какая-то переменная:
    my_variable = puts "Hi"
    Почему не так (нужно пробовать запускать построчно, а на сразу):
    my_var = "hello"
    puts my_var
    p my_var

    В интерпретаторе irb:
    irb(main):001:0> my_var = "hello"
    => "hello"
    irb(main):002:0> puts my_var
    hello
    => nil
    irb(main):003:0> p my_var
    "hello"
    => "hello"

    Возвращаемый функцией результат помечается как =>
    Можно увидеть, что puts выводит на экран слово и затем возвращает nil. В твоем примере nil заносится в переменную my_variable. Так что все, как и следовало того ожидать.
    Ответ написан
    3 комментария
  • Как начать учить программированию детей начальной школы?

    2ord
    @2ord
    Я слышал о некоем проекте: Информатика 21. Его автора уже нет на этом свете, но его материалы могут дать представление об учебной программе в целом.
    Вот некоторые ресурсы оттуда:
    https://informatika-21.ru/texts/bytic-xx-2009.htm
    https://informatika-21.ru/troitsklicej/tretijetapp...
    spoiler
    (с) Авторские права на все тексты, представленные на данном сайте ...
    Ответ написан
    Комментировать
  • Как сделать автоматический деплой веб-сервиса на поддомен?

    2ord
    @2ord
    Автоматизация с Chef, Ansible, Puppet, Terraform
    Масштабирование - это обычно когда нужно больше машин (горизонтальное) или больше (одинаковых) сервисов на одной машине.
    Ответ написан
    Комментировать
  • Как в RabbitMQ обработать все сообщения а затем удалить очередь и закрыть соединение?

    2ord
    @2ord
    Странная затея насчёт удаления очереди.
    Ну если так надо, то отправляй сообщение о том, что окончились сообщения. Тогда обработчик очереди получит его и будет знать, что очередь можно удалять.
    Ответ написан
    Комментировать
  • Как сравнивать два текста и находить между ними сходство средствами python?

    2ord
    @2ord
    ну, к примеру, "[Имя] привет", а в качестве обработанного "[Имя] добрый день!"
    Задача сильно упрощается в этом случае.

    Пример:
    "Гриша, привет"
    6504d7437d2f9811683768.png
    Для пущей надёжности можно сопоставить слово со словарём имён.
    Ответ написан
    Комментировать
  • Неверны адрес на Go, как исправить?

    2ord
    @2ord
    Это из-за опечатки в определении func init()
    функция должна была инициализировать gBot. init запускается автоматически при старте, но и-за опечатки этого не произошло.

    Добавлено
    И это лишь начало пути. Нужно научиться читать вывод ошибок.
    at c:/Users/hendr/Downloads/GoTelegramBot/main.go:32
    Ответ написан
    1 комментарий
  • Как сопоставить логотипы и определить наименование компании?

    2ord
    @2ord
    1. Извлечь изображение из 1-й страницы PDF.
    2. Используя OpenCV, беря изображения логотипов из папки, делать сопоставление с образцами. Гуглить Guide To Template Matching With OpenCV: To Find Objects In Images.
    3. Зная какой образец совпал, по имени файла образца получить имя компании.
    Ответ написан
    Комментировать
  • В какой сфере использовать БПФ для практической работы?

    2ord
    @2ord
    В сфере ЦОС. В частности, обработки звука. Допустим, тот же эквалайзер.
    Ответ написан
    Комментировать
  • Какой язык или направление подойдет для программирования на компе с 4гб оперативы?

    2ord
    @2ord
    Языки почти любые компилируемые (кроме TypeScript, пожалуй).

    Во-первых, увеличь раздел SWAP. Будет сильно тормозить из-за обращения к медленному накопителю, но хотя бы работать.
    Во-вторых, установи программу мониторинга atop (консольная), затем запусти Firefox и проверь что происходит с подкачкой (SWP). Красным цветом будет наглядно помечено что не так. Если память забита под завязку, то SWP, MEM будут помечены красным.
    Попробуй использовать оптимизированные сборки Firefox и отключить расширения, кроме uBlock или других блокировщиков рекламы. Настрой плагины и прочие вещи для сохранения памяти. Открывай по малому количеству страниц.
    Иначе без гугления из тебя выйдет плохой специалист.
    Ещё попробуй GitHub Codespaces - когда решишь немного вопрос с браузером.

    После того как намучаешься, следуй советам Алексей 〒. и Кирилл Гусарев .
    Ответ написан
    Комментировать
  • Как вернуть русскоязычные результаты поиска вместо болгарских из-за VPN?

    2ord
    @2ord
    Может, надо попробовать добавление русского в настройках предпочтений языка?
    Тогда Хром будет отправлять в заголовках HTTP и это должно учитываться самим Гуглом, по идее.
    Ответ написан
  • Как правильно построить поиск на сайте(Laravel + elasticsearch)?

    2ord
    @2ord
    где-то поля указаны как name_ru\name_en
    почему не одно поле? Пользователь ищет на любом языке и Эластик просто находит по запросу.

    где-то просто title внутри которого либо json с {ru:} где-то просто текст, и необходимо искать в соответствии с нужной локалью на портале.
    ну так приведи к нужному виду поля, чтобы был просто текст, безо всяких JSON в теле поля.

    Эти болячки нужно решать в Ларавел, а не Эластиком.

    я не понимаю как сделать поиск сразу по всем типам
    https://www.elastic.co/guide/en/elasticsearch/refe...
    Ответ написан
    Комментировать
  • Ошибка импорта при сборке в docker alpine python приложения?

    2ord
    @2ord
    Пакет libev не установлен в Alpine.
    Если этого недостаточно, тогда пиши автору в https://github.com/jonashaag/bjoern/issues
    Ответ написан
    Комментировать
  • Как перевести изображения на разные языки?

    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
    Ответ написан
    Комментировать