Задать вопрос
  • Как реализовать поиск в postgresql с Sequelize, в котором будет поиск в ячейке по словам в различном порядке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нужно найти такие строки, в которых будет и 'one' и 'two', не зависимо от порядка

    Это задача на full text search. Начни читать отсюда

    https://www.postgresql.org/docs/current/textsearch...
    Ответ написан
    Комментировать
  • Как починить решение капчи?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно при работе с распознаванием картинок не используют точное равенство пикселов. Картинка может
    быть отрегулирована по яркость/контраст/гамма. И это сбивает такие компараторы.

    А цвета сравнивают по цветовой дистанции. Тоесть насколько далеко один цвет отстоит от другого в цветовом кубе
    например. Функция какого-то такого вида

    def colorDistance(r1,g1,b1, r2,g2,b2) -> int :
       return .....


    Для сравнения картинки с картинкой можно использовать аналогичный прицнип. Скалярное произведение
    всех пикселов. Вот. И сравнить с известными образцами. В теории это можно назвать однослойным нейроном
    (или 0-слойным) в зависимости от определений.
    Ответ написан
    1 комментарий
  • Работа с рисованием в Qt. Почему не получается рисовать после оператора if?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут может быть две разные проблемы. Может чек-боксики не работают. Попробуй так. Будет рисоваться?
    painter.setPen(....);
    painter.drawRect(10,10,200,200);
    painter.drawLine(0,0,200,200);

    Или стиль рисования линии такой невидимый что ее не видно.
    Ответ написан
  • При завершении работы экран ноутбука выключается, а система работает и начинает нагружаться. В чём причина?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Посмотри в системных логах операционки. За момент до shutdown он что-то пытается завершить и не может скорее всего.
    Ответ написан
    4 комментария
  • Как лучше хранить журнал в долгосрочной перспективе?

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

    Техническая часть. Очевидно что нужна еще одна таблица. С датой аудита. С реквизитами пользователя который делал бизнес-операцию. И две версии данных. "До" и "после" изменения. Данные можно хранить в денормализованном формате (XML или Json) для простоты схемы.
    Ответ написан
    4 комментария
  • Какова надёжность хеширования в "открытой" среде?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Меня интересует насколько быстро будет "взломан" пароль "My_sUper passw0rd", хешированный с помощью одного из алгоритмов доступных в PHP (sha512, ripemd320, whirlpool, tiger192,4 и haval256,5)


    Можно консультроваться с популярными базами Rainbow Tables просто на предмет того поддерживается
    ли нужный тип хеша и какова максимальная длинна ключа. Вот для 9-символьного ключа SHA1 нужно качать
    690 Gb базу alpha-numeric хешей а для вашего 17 символьного скорее всего таких таблиц не существует.

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

    Тоесть хорошая рекомендация в наше время - делать волшебное слово длинее чем 12 символов. И построение
    фразы должно быть таким чтобы поиск по справочникам был тоже бесполезен. Ваш ключ также содержит
    пробел и это делает применение алфавита alpha-numeric тоже бесполезным. Нужно альфа-нумерик + space.
    А таких таблиц я не видел.
    Ответ написан
    Комментировать
  • Arduino в python какие плюсы и минусы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Смотря какие задачи ставить. Обычно для написания прототипов программ (POC, MVP) или просто для
    теста какой-то технологии Python очень выгодно подходит. Пока джависты и дот-нетчики раскачиваются
    и обдумывают типы и шаблоны разработки - питонщик может быстро слепить что-то работающее.
    Ответ написан
    2 комментария
  • Насколько актуально наличие двух ОС на одном ПК в целях безопасности?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Условно, если я вдруг подцеплю вирус на винде, сможет ли он проникнуть на вторую ОС (линукс)?

    Если ты не будешь монтировать линуксовые разделы под Windows - то вирус их не увидит.

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

    Твой сценарий на самом деле не очень понятен. Если просто хочешь работать в Линуксе - то и работай.
    А так - придумал себе лишних хлопот.
    Ответ написан
    3 комментария
  • Внешний диск нужно периодически подключать для сохранности информации?

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

    Но слава богу для HDD ничего такого делать не надо. Ну я вообще не знаю таких требований. Для лент стриммера - ХЗ вроде тоже ничего не надо. Там только есть пожелание хранить в сейфе в темноте в прохладном влажном воздухе. Производитель гарантирует там до 15 лет. Вообще стриммерная кассета - рекорды бъет по гарантируемым параметрам. Ни компакт диск ни флешка пока тами не могут похвастаться.

    Насчет SDD. Я думаю смысл тут какой-то есть. Тут надо конечно копать в технологию. Там их целый список.
    Но все на полевых транзисторах как на ячейках памяти. Транзистор - штука аналоговая. Никаких единичек
    и нулей не умеет. Умет регулировать затвор. Как кран крутить на трубе. Сильнее-слабее.
    Если состояние полевого транзистора со временем уплывает куда-то в сторону - то ему нужна регенерация.
    Надо его считать и снова записать то аналоговое значение которое соотвествует цифровому. Например для
    000 - три битика будет соответсоввать одно а для 111 - другое. Короче 8 уровней получается.

    Как работает регенерация - ХЗ. Я тут не знаю. Пускай специалисты расскажут но это по идее периодический
    процесс. Как джоб. И ему очевидно нужна энергия.
    Ответ написан
  • Как использовать декартовое произведение между двумя запросами?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как всегда автор не указывает тип DBMS. В некоторых есть такой либеральный синтаксис что
    можно просто писать

    Oracle:
    SELECT * FROM tab1, tab2
    и это будет фактически работать как cross join. А в некоторых надо явно писать.

    SQL-92
    SELECT * FROM tab1 CROSS JOIN tab2
    Ответ написан
    1 комментарий
  • Контрольные хеш суммы и zip архив из одинаковой папки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Там похоже дата создания файла сохраняется.

    $ unzip -l -v opengl.zip  | head
    Archive:  opengl.zip
     Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
    --------  ------  ------- ---- ---------- ----- --------  ----
    13049256  Stored 13049256   0% 2005-05-18 17:19 a814c96e  OpenGL/AdbeRdr602_rus.exe
          42  Stored       42   0% 2004-05-04 03:00 9dd0d91b  OpenGL/Autorun.inf
           0  Stored        0   0% 2006-02-03 18:02 00000000  OpenGL/Catalog/
           0  Stored        0   0% 2006-02-03 18:04 00000000  OpenGL/Catalog/1070801/
        4242  Stored     4242   0% 2005-12-07 16:05 c1c0e4a3  OpenGL/Catalog/1070801/index.htm
      162399  Stored   162399   0% 2005-12-07 16:09 fcb2cedb  OpenGL/Catalog/search.html

    Проверь какие у тебя даты.
    Ответ написан
    Комментировать
  • Как создать массив из типов данных в си?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для того чтобы это работало в духе ООП, все типы должны иметь базовый тип.

    Для функциональщины - нужно иметь абстрактный тип Any и коллекции типов которые - суть
    подтипы Any. И функцию с pattern matching которая просто кастомизирует size() и прочие
    функции. Короче почти ручная работа.

    Задача интересная и мне кажется что она реально не решаемая в рамках чистого языка С.
    Но если использовать кодо-генерацию (транспилляцию) то можно просто как-то автоматизировать создание
    такой логики. Но будет ли это языком С или вообще чем-то другим - большой вопрос.
    Ответ написан
    Комментировать
  • Как записать ошибки с консоли в txt файл?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как-то так
    $ python3 app.py 2>err.log >out.log
    Ответ написан
    Комментировать
  • Насколько безопасен способ входа на сайт по коду из email?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Email коды не считаются безопасными в наше время. Факторы аутентификации должны быть разные. Желательно - разные физические устройства. Телефон. Планшент. RSA-token генератор.

    Автор на самом деле задает хитрый и лукавый вопрос.
    Хочу максимально упростить вход пользователей на сайт

    и этот вопрос противоречит целям и задачам которые идут ниже.

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

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Тут вместо цепочки if можно switch-case использовать.

    @Override
        public void notification(Event event) {
            if (event.type() == EventType.REDRAW_REQUEST) {
                printField(event.field());
                return;
            }
    
            if (event.type() == EventType.BOMB_OPENED) {
                System.out.println("You opened bomb. Game failed");
                printField(event.field());
            }

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Троичное кодирование активно использовалось в системах связи. Это код ЧПИ (чередование полярности импульсов). Но в современных сетях типа Ethernet используется манчестерское кодирование (двоичный код) которое предотрващает дрейф постоянного напряжения и поэтому такая хитрая программная реализация позволила не использовать ЧПИ. Еще есть целая куча программных и аппаратных схем оптимизации каналов связи но я уже это все и забыл.

    Машинка Сетунь насколько я понимаю давно умерла и интерес к ней может быть чисто музейный.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как сделать поиск максимально производительным? Что использовать? Асинхронность? Многопоточность?

    Оптимизация запроса к БД начинается с того что вы выделяете сет активных запросов которые важны для вас.
    Для каждого из них строите план исполнения запросов
    EXPLAIN [ ANALYZE ] [ VERBOSE ] ......
    Потом с этим планом приходите к специалисту (или сюда) и спрашиваете что надо улучшить в
    тексте запроса или в таблице или в индексе чтоб было быстрее.

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

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    На малинке можно поднять домашнюю страницу Васи Пупкина. Сложно назвать это хостингом в современном
    понимании этого слова. Хостинг - это и вычисления. И базы данных.
    Ответ написан
  • Как лучше\проще реализовать работу с серийными номерами\лицензиями чтобы не особо пиратили?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно изготовить такой USB-брелок который содержит важный функционал. Без которого приложение - бесполезно.
    Типа аппаратное решение задачи в железе. Тогда получается что вы продаете софт + аппаратуру установка которой очень легкая. Но при этом пиратить и копировать такое решение невозможно.
    Ответ написан
    Комментировать