Задать вопрос
  • Почему возникает django.db.utils.OperationalError: consuming input failed: Operation timed out?

    mayton2019
    @mayton2019
    Bigdata Engineer
    --prefix, менял postgresql.conf и pg_hba.conf только чтобы слушал во вне

    А попробуй тоже самое собрать но без этих изменений.
    Ответ написан
  • Как спарсить whatsapp web?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Почитай сначала раздел developers. Возможно там надо зарегистрироваться и просто взять готовый API
    и пользоваться.
    Ответ написан
    Комментировать
  • Как ускорить count в mongoose?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если пролистать до старых страниц, допустим до 5000 страницы, то это происходит очень долго(примерно 10 секунд, даже с индексацией)


    Это нормально. 5000 за 10 секунд - это 500 страниц в секунду. Ни один человек так быстро читать не умеет.
    Если пользователь давит pagedown - то наверное он что-то не так делает. Дай ему опцию goto номер
    страницы.

    Count работает супер медленно, если брать загрузку самых свежих страниц, без него они загружаются за 15мс, но при использовании count (даже при условии того, что кол-во страниц ограниченно 5000, больше не нужно), задержка увеличивается до 3-5 секунд


    Это нормально. Ни в одной БД count не работает достаточно быстро чтобы показывать реал-тайм.
    Вообще если вспомнишь что базы бывают ACID то они считают не актуальное состояние таблицы
    а "срез таблицы в прошлом" на момент начала тразнакции подсчета.

    Запоминай последнее значение count в переменную и транслируй пользователю внизу странички
    как актуальное но в прошлом. Например 15 минут назад.
    Ответ написан
    Комментировать
  • - Спроектировать локальную базу данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно для игровой логики реляционные БД не нужны. Бери любой Key-Value и там тебе достаточно
    возможностей чтоб хранить паззлы. С некоторым допущением обычная файловая система
    может быть простой БД. Ключ - имя файла и value - тело файла.
    Ответ написан
  • Как исправить ошибку в телеграмм-боте, который должен переводить текст?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ничего они не конфликтуют. У тебя ошибка 401. Description: Unauthorized. Не авторизован.
    Сделай несколько шагов назад до того момента когда телеграм еще работал и добавляй
    переводчика шаг-за шагом.
    Ответ написан
    Комментировать
  • Как элегантнее переопределить реализацию одного из методов интерфейса для отдельно взятого объекта?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Я не понимаю что такое - "элегантно" в инженерном представлении. Это - ходить в смокинге с моноклем?
    В цилиндре с сигарой?

    Дружище Zolg. То что ты хочешь - противоречит принципам ООП. Если ты хочешь динамически
    передавать логику - то создай новый интерфейс который принимает лямбды и это и будет коробочным
    решением вопроса.
    Ответ написан
    Комментировать
  • Как сделать, чтобы сайт во время парсинга не думал, что я бот?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Поскольку алгоритм Озона не документирован - то мы можем только гадать.

    Сделай дамп сетевого трафика для случая с браузером и с ботом.
    Потом открывай в режиме split screen и сличай глазами. Где-то будет ключевая разница.
    Ответ написан
    Комментировать
  • Есть ли способ запретить доступ админу к внутренним (internal), приватным (private) проектам либо групам?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В обстановке такого недоверия разрабатывать просто невозможно. Смените админа и хостинг.
    Админ должен быть частью вашей команды. Он должен есть с вами из одной тарелки и получать
    бонусы и премиии за успехи на проекте.
    Ответ написан
    Комментировать
  • Как в typeorm сделать id уникальным из 12 цифр?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В базах данных для обеспечения уникальности используются sequence.

    UUID возникает в распределенных системах где нет координации между нодами кластера но
    нужно хоть каким-то образом получить уникальность. Плюс там еще есть 4 типа этих UUID
    или 4 разных алгоритма как они получаются.

    Все это пока к безопасносни не имеет никакого отношения. Это просто продиктовано физической
    архитектурой (1 база или кластер).

    Вопрос безопасности нужно обсудить отдельно просто исходя из сценария угрозы. А пока сценария
    нету - вот просто нечего тут больше обсудить.
    Ответ написан
  • Можно ли использовать несколько сетей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне нужно чтобы весь интернет работало от корпоративной сети, а определенные приложения или веб адреса(запросы) исходили с другой интернет подключения.

    Расскажи словами как ты собираешся различать эти приложения?

    Грубо говоря что будет маркером что вот этот торрент клиент должен ходить на такой интерфейс
    а твоя любимая 1С-ка на корпоративный.

    Ответ с виртуалкой написанной выше - это скорее всего правильный ответ но я думаю что не самый лучший
    с точки зрения ресурсов машины. Виртуалка объективно потребляет больше чем на самом деле надо.
    Ответ написан
    Комментировать
  • Нужно ли делать защиту при делении на ноль?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вообще ты сам себе ответил на вопрос
    в разных отраслях для личного пользования.


    Главный пользователь и заказчик - это ты. И когда ты разрабатываешь свою библиотеку векторной алгебры - то пишешь модульные тесты. И тесты, как-бы документируют твою библиотеку и закрывают все вопросы
    с нулями и бесконечностями.

    Какие вообще у тебя варианты по отработке неопределенностей? Я вижу такие.
    1) Возвращать бесконечность +Inf. Это нормально для floating-point. Но влияние результата на стек
    вызовов дальше надо учитывать. Эта бесконечность пойдет в другие формулы порождая новые бесконечности и т.п.

    2) Бросать исключение. Это не в духе С++ и не всегда удобно для выскокой производительности. Но языки высокого уровня этим часто пользуются. Здесь мы предполагаем что такой результат - крайне нежелателен и работа стека расчета векторов будет аварийно прервана.

    3) Возвращать специальный контейнер с результататом (Optional или Either) или пустой контейнер. Это в духе функционального кодинга. Но весь твой стек должен тоже быть адаптированным к таким Optional параметрам результатов.

    И есть еще вариант - просто найти такой базис вычислений в котором нет такой проблемы. Пускай допустим векторы так и остаются основным типом данных но расчеты ты будешь делать в каком-нибудь другом типе где эта операция на уровне математики - безопасна и всегда определена. Грубо говоря как в углах Эйлера. Чтоб не писать всякие проверки условий (if) - можно перейти к кватерниону и там вроде как вращение легче идет.
    Ответ написан
    Комментировать
  • Подскажете по архитектуре системы уведомлений?

    mayton2019
    @mayton2019
    Bigdata Engineer
    При данной схеме тебе база и крон вообще не нужны. Пиши сразу в Rabbit. Если consumer обладает логикой неуспеха обработки - то пускай кидает необработанное вообщение в специальную мусорку (Dead-Letter-Quee) для анализа ошибок впоследствии.

    Какой возможен программный потолок количества отправляемых уведомлений в единицу времени, при такой архитектуре на одном сервере?

    На этот вопрос невозможно ответить. Цифры могут отличаться в разы в зависимости от выбранного железа. Но современные MQ настолько быстрые что с большей вероятностью твой софт не сможет их загрузить событями.
    Узким местом в такой системе будет скорее всего твой софт.
    Ответ написан
    2 комментария
  • Почему vscode грузить процессор на сервере?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Visual Studio Code - это не просто приложуха. Это среда в которой запускаются тыщи плагинов.

    Просмотри внимательно какие плагины у тебя установлены. Что они делают? Кто их ставил?

    Очень многие плагины имеют сомнительную цель и происхождение.
    Ответ написан
    Комментировать
  • Как подключиться к docker-контейнеру c PostgreSQL?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Кажется я так делал.
    docker network inspect .....

    покажет тебе IP-шники внутри той сети в которой ты стартовал контейнер. Вот туда и подключайся.
    Только в параметрах старта контейнера тебе надо имя этой сети указать.
    Ответ написан
  • Можно ли погибнуть от паров канифоли и металлов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Еще задолго до того как вы погибните у вас будут признаки ухудшения здоровья. Легочные болезни
    например. Но я в юности много паял. И у меня нет ничего легочного. А вот моя жена поработала парикмахером
    более 10 лет и у нее уже есть астма и прочие сопутсвующие.

    Короче. Есть профессии во много раз более опасные чем пайка. А всем остальным, дорогие мои
    красноглазые ботаны (и радиолюбителю тоже), с больше вероятностью грозит остеохандроз,
    туннельный синдром, просадка зрения ну и... гемор как ни странно.
    Ответ написан
    1 комментарий
  • Как загрузить большое количество данных в базу SQLite на React Native?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я не встречал бесплатных механизмов репликации. Обычно для толстых коммерческих БД типа Oracle продавались коробочные продукты (Streams/GoldenGate) которые требовали знаний на уровне сертификации.

    Какие могут быть пути репликации в простом случае. Для таких детских бд как SQLits:

    1) Убить всё что локально и скачать все что есть в удаленной БД. На вид выглядит просто. Но неясно
    как часто это делать. Что будет триггером для такого события? Очевидно что должна быть золотая середина
    между потерпеть еще на старых данных или плюнуть и стартовать обновление которое на мобиле
    может затянуться на несколько минут. Вобщем пользователь страдает.

    2) Придумать механику инкрементального обновления. Для этого вам будет нужно добавить во все
    таблицы поле типа last_update_timestamp (вот примерно как Сергей выше писал) и обновлять только те
    записи которые старше максимальной даты которая уже есть. Кроме того надо во второй транзакции
    убить те записи которые были удалены в remote. Здесь - посложнее т.к. для убийства мы должны
    гарантировать существование PK для всех отслеживаемых таблиц. Мой опыт работы с БД показывает
    что там не то что PK там даже и нормализация не всегда делается. Все это как-то выглядит хрупко
    как хрустальная ваза и возможно потребует дополнительных индексов которые раньше не требовались
    для работы системы. Но при хорошем индексировании триггер можно дергать хоть каждые 15 минут.

    В более сложном варианте я-бы предложил реплицировать не SQL протокол а тело самой таблицы.
    И вести учет контрольных сумм блоков наподобие дерева Меркла. Но это решение настолько далеко
    уходит от React-Native приложух что я-бы сам себе не советовал. Тут еще могут быть трудности с native
    представлением SQLite. Неизвестно будет ли такая реплика бинарно-совместима.
    Но это будет хотя-бы быстрая реплика.
    Ответ написан
    Комментировать
  • Какой программой запустить распределённые вычисления на пользовательских рабочих местах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я думаю что это надо согласовывать с руководством. Были случаи когда админы запускали всякие майнеры и прочее а потом за их действия "прилетало" компании. Сотрудники тоже рано или поздно поймут что на десктопе происходит что-то странное. Температуру и загрузку железа невозможно просто скрыть.

    Вобщем не подставляйтесь.

    Да ну и отвечая на вопрос. Что можно посмотреть в этом направлении.

    - YARN https://hadoop.apache.org/docs/current/hadoop-yarn...
    - Mesos https://en.wikipedia.org/wiki/Apache_Mesos
    - Kubernetes уже упоминали выше.
    Ответ написан
    Комментировать
  • Как настроить автоматический сон ПК при отсутствии раздачи?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это противоречит идее торрент раздач. Ты можешь быть не сидером но раздающим когда у тебя 99% скачанного файла к примеру. Оптимизация конечно хорошая но для сети в целом она никакой пользы не несет. Если ты просто экономишь электричество - то просто выключай да и все.
    Ответ написан
    Комментировать
  • Как лучше организовать очередь сообщений для их разбора по графику?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я-бы разобрался с дублями. Если есть система которая продуцирует их - то наверное можно
    как-то решить этот вопрос на уровне источника. Это performance issue который нужно обусждать.

    Можно строить всякие архитектуры на базе очередей или идемпотентных баз но при этом главная
    причина (сетевой траф) будет непофикшена а по сути спрятана под ковер.
    Ответ написан
    4 комментария
  • Как сделать поиск папки у которой будет промежуточный каталог?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Поскольку топик тегирован алгоритмами - то мы должны обсуждать именно алгоритмы.

    Алгоритм называется DFS (Deep First Search). Это поиск в дереве в глубину.
    Поиск выдает нам листовые вершины. И путь от корня до листовой вершины будет
    кандидатом на ответ.

    Значит наша задача - перебрать всех кандидатов на предмет совпадения с шаблоном.

    "C:\***\\AppData\***\Adobe"

    Здесь можно рассмотреть разные оптимизации. Например узел 1 и 3 и 5 уровней у нас - константа.
    Это можно было бы рассматривать но мне без конкретного языка программирования это уже
    неудобно и не интересно. Поэтому было-бы хорошо чтобы автор указал язык разработки.
    Ответ написан
    Комментировать