• Как установить chat-gpt на компьютер?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Судя по разговорам чят-жпт слишком дорогой в обслуживании. Там пол-лимона в день уходит на аренду оборудования в датацентре. Сомнительно что у кого-то дома стоит эквивалентное железо.
    Ответ написан
  • Библиотека для индексации документов Golang?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Когда-то давным давно использовали logrotate. Эта утилита просто дробила лог на дневные и часовые
    и прочие доли. Это позволяло искать быстрее. Если ты заранее знаешь что событие произошло например
    за последние сутки а не за последние 10 лет к примеру. Но logrotate может не работать под Windows.

    Коробочного решения для твоего вопроса я не знаю. Кроме Elastic ничего не приходит в голову.

    Есть еще программный продукт Splunk. Но я его никогда не использовал поэтому советовать не буду. Почитай сам.

    Вообще тебе нужен разработчик. Я думаю что дешевле всего трекать отдельные логи по событию event:login к примеру. Я так делал для сужения поиска. Для библиотек log4j это конфигурируется на уровне приложения.
    Там как-то добавляется appender + rule.
    Ответ написан
    Комментировать
  • Зачем нужны class в Python?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Классы удобны когда все функции объединяются общим контекстом. Например подключение к БД.
    Или класс - клиентское окно где можно рисовать графику. Можно кодить и без классов на голых
    функциях (такое тоже практируется) но тебе придется одним параметром всегда передавать
    контекст.


    Использование классов (объектов) для хранения состояния - это признак зрелости исходного кода.
    Ответ написан
    Комментировать
  • Как повысить уровень создания проектов на чистом php?

    mayton2019
    @mayton2019
    Bigdata Engineer

    Тем не менее сейчас я столкнулся с тем, что на собеседованиях начинают спрашивать что серьезного доводилось делать на чистом php - без фреймворков и мои ответы на их вопросы касательно парсеров, скиптов для обмена данными остаются неубедительными. Даже дальше кадровиков иногда дело не уходит.

    Еще спрашивюат какие патерные проектирования используешь, придерживаешься ли принципов Solid?

    Мне кажется что за 9 лет ты уже достаточно получил опыта чтобы проходить собеседования. Просто ты - неуверенный. Тебе надо овладеть риторикой и просто базовыми умениями убеждать собеседника.

    Очень часто рекрутеры слушают не твои ответы а считывают твой уровень уверенности.
    Эти чортовы засранки - настоящие психологи. И они обучены распознавать лузеров и всяких мамкиных
    вайтишников.

    Шаблоны проектирования... Темя душная и нудная. Способна убить любой энтузиазм. Тебе не надо их знать
    все. Все - никто не знает. Прочитай про 3-4 штуки и попробуй узнать знакомые. Например singleton - достаточно
    известный шаблон и почти все разработчики всегда его использовали только не знали об этом. Или пул объектов.
    Например везде где есть базы данных - он используется. Или фабрика. Да я и сам их не знаю. Надо будет
    почитать - почитаю. Но для собеса - выучи хотя-бы классификацию. Они там разбиты по категориям
    как порождающие, поведенческие и так далее. Как в химии например. Я химию не знаю но примерно
    догадываюсь что есть кислоты и щелочи. Что действие их взаимо-нейтрализующее.

    А сейчас я не только ради прохождения собеседований, но и ради повышения скилла хотел бы углублённо погрузиться в написание кода без фреймворков. Но как к этому подойти? Не писать .же бложег или интернет-магазин на чистом php? А если даже и напишу, то где гарантия, что это было сдлано путёво с использованием нужных патернов и соблюдением принципов Solid?

    Нет нет это - чепуха. И это тебе не надо. Никто этот код все равно смотреть не будет (вообще никогда
    сцуко не смотрят).

    Главный совет. На собеседовании ты должен непрерывно говорить. Как оратор с трибуны. Тебя
    должны остановить когда - достаточно. Но если ты сказал 2 предложения и замолчал - это выглядит
    как будто ты не знаешь или не уверен в себе.

    Для проверки - закажи тестовое собеседование у друзей. Пускай они тебя поспрашивают. И запроси
    фидбек. Пускай они честно ответят что не понравилось. Записывай все пункты. Повторяй учебное
    собеседование до тех пор пока все будут довольны.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Попробуй так

    print implode(sqr(-1, -2, 15));

    UPD: +implode
    Ответ написан
  • Надежны ли показания контрольных хеш сумм?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть ли вероятность что если два одинаковых файла имеют отличия то контрольные хеш суммы будут одинаковые или иметь отличие в 1 символ ?

    Все современные криптографические хеши обладают свойством типа "эффект лавины" когда
    случайное изменение 1 бита входного текста вызывает изменение 50% битов хеша (или крипто-блока).

    В силу эффекта лавины такая ситуация невозможна для криптографических хеш-функций.

    Обычные контрольные суммы не тестируются на эффект лавины и не обязаны этому следовать.

    Может ли вирус во время вычисления хеш сумм подменять значения хеша ?

    Наука криптография изучает софистическую модель взаимодействия Алисы и Боба которые
    ведут переписку по незащищенному каналу который контролируется злоумышленником Кларком.
    И на этом пожалуй все. Никакие вирусы при этом не рассматриваются. Криптография предполагает
    что комьютер Алисы и Боба абсолютно полностью защищен и никаких снифферов или кейлоггеров
    или перехватчиков файлов там быть не может.


    Вирусы изучает инфо-безопасность и форензика уже с позиции анализа посмерного снимка.
    Тоесть когда уже событие случилось. И при этом у них и методы изучения и выводы и инструменты
    совсем другие. Криптография к этому моменту уже никому не интересна. Работа вируса отменяет
    сразу все аксиомы криптогарфии одним махом.
    Ответ написан
    Комментировать
  • Есть ли хорошие пошаговые туториалы проектов на С++ для новичков?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно С++ в вакууме не существует. Его учат сразу применительно к программированию UI под Windows,
    или к Unreal Engine, или к сетевому программированию под Linux/Unix. Или еще более специфичный
    сегмент - сетевое оборудование и микроконтрллеры. Это неизбежно.

    Особенно когда ты доходишь до дисковой подсистемы, сетей или мультизадачности - ты просто выходишь за рамки С++ и нужно разбираться во всем остальном. И мне кажется что в этом главный челлендж. Не сам язык а
    системная архитектура и прикладные фреймворки.

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

    P.S. С++ за 14 дней... - это завсегда можно найти.
    Ответ написан
    3 комментария
  • Как нарочно получить 500 ошибку?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если не на площадке а локально - то сделай себе простой сервер на Node или на Golang (там в 5 строчек делается)
    и в функции response укажи статус 500 ошибки.
    Ответ написан
  • Какая достичь максимальной скорости просмотра экрана?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для захвата видео с гарантий полосы пропускания есть специальное оборудование вот типа
    такого https://www.sz-sinowell.com/product/video-capture/

    Геймеры его покупают чтоб писать свои подкасты или трансляции игр делать.
    Ответ написан
    Комментировать
  • Как проверить в списке элементов типа string наличие двух одинаковых строк?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Использование любых циклов (for, foreach) нежелательно.

    Вот скажи что за душный у тебя тех-лид? Это надож такое требование придумать!!

    Вот насколько я помню квантовые компьютеры как-то работают без циклов. У них - другие
    свойства более сложные и труднообъяснимые. Но как-то они работают. Так что тебе дружище
    дорога либо в квантовую физику либо смирись с циклами.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    А сколько стран и сколько марок? Ну допустим стран 10 и марок 20. Декартово произведение
    по ним дает 200 выходов. Но нам столько не надо. Объективно их меньше.

    Я-бы обучал не сочетания всех со всеми а конкретные пары { country, model } которые есть в выборке. Я думаю
    что их будет не много.
    Ответ написан
    Комментировать
  • Как и где учить математику, если вкатываешься в нейросети?

    mayton2019
    @mayton2019
    Bigdata Engineer
    начал изучать построение нейросетей на Python и столкнулся с тем, что базы высшей математики, которую мне дали в учебном заведении не хватает.

    Все зависит от твоих собственных амбиций. Современные фреймворки машинного обучения не требуют
    от тебя знания тройных интегралов и систем дифуров. В простейшем случай ты - читаешь документацию.
    Настрашиваешь параметры (гипер-параметры) и наблюдаешь как идет процесс обучения). Где и в какой
    части этот фреймворк требует интегралов - непонятно. Вроде нигда. С амбициями дата-инженера
    тебе будет просто достаточно знать внешний API этих фреймворков.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    https://github.com/SteamRE/SteamKit

    Ну ты автор чудак еще тот. Go зачем-то сюда затащил...

    Дан дотнетовский фреймворк. И ищи бригаду дот-нетчиков.
    Ответ написан
    Комментировать
  • Может ли повториться хэш сумма?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Хеши бывают разной длины. От 8 бит до 512 бит. И в зависимости от сложности самой функции
    и от разрядности возможны такие ситуации что для разных файлов вдруг хеш совпадает.

    В криптографии отдельно изучают парадокс дней рождений (когда группа случайных людей порядка
    20 человек вдруг имеет 50% вероятность нахождения пары людей с одинаковой датой рождения
    вида MM/DD). Вобщем этот парадокс для криптунов - шибко важный и они носятся с ним везде
    и любят обсуждать применительно к атакам на шифры и ЭЦП.

    Кажется Брюс Шнайер предлагал свою метрику для ожидания коллизий в зависимости от длины
    ключа.

    В Java существовала атака на хеш-мап основанная на том что хеш-функция несовершеннаа
    и может давать коллизии.

    Для латиницы
    public static int hashCode(byte[] value) {
            int h = 0;
            byte[] var2 = value;
            int var3 = value.length;
            for(int var4 = 0; var4 < var3; ++var4) {
                byte v = var2[var4];
                h = 31 * h + (v & 255);
            }
            return h;
        }

    Насколько я понимаю ни к чему страшному атака не приводила. Просто хеш-мапа вырождалась
    в список и некоторые тайм-критичные системы (Tomcat/Jetty) могли тормозить на отдаче хедеров.
    Фиксилось это просто заменой бакетов хеш-табли на деревья при определенном условии. ТАм
    было что-то вроде - если длина цепочки в бакете больше чем константа - то генерировать дерево.

    Вобщем некоторые кибер-задроты не поленились и нашли такие строки которые дают одинаковые хеши.

    Некоторые хеш-функции (CRC-32) обладают интересными свойствами. На диапазоне целых до 4 млрд
    эта функция вообще дает 0 коллизий и точно отображает ключ в бакет. Кажется это свойства
    тех полиномов на базе которых CRC вообще строятся. (Насчет CRC я точно не уверен. Мой приятель
    этот факт проверял на С++).

    Я честно говоря считал что в хешах уже все известно но периодически их придумывают новые с разными
    свойствами. Вот для нужд биг-даты в 2008 был придуман Mur-mur https://en.wikipedia.org/wiki/MurmurHash

    И еще примерно 9 лет назад один чел создал хеш-функцию xxhash которая якобы супер-быстрая
    https://github.com/Cyan4973/xxHash но я не мерял. Такая себе функция-шустрик.

    Вобщем из свойств раздличают криптографические (SHA) (трудно создать коллизию) и вот эти вот шустрики
    которые летают как CPU и годятся для хешей но при этом ЭЦП на них строить не рекомендуется.
    Ответ написан
    Комментировать
  • На сколько безопасно дедуплицировать бэкапы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Боюсь что процесс дедупликации будет требовать ресурсов гораздо больше чем сам backup.

    Попробуй сам подумать какая асимптоматика будет у алгоритма поиска в одном файле фрагментов другого
    файла.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Женщина, некурящяя, нет детей и т.д

    В подобного рода заданиях совершенно невозможно сесть и написать ТЗ "от и до".
    Здесь практика и эксплуатация будет гораздо важнее всей реляционной теории или шаблонов разработки.
    Теория говорит что EAV подходит. Но практически в больших базах EAV не работает потому что он неудобен
    и работа с ним идет медленно
    .

    Практика применения DBMS уже отказалась от полной нормализации в классическом виде 3-4-5-6НФ
    и уже ей не следуют. Postgresql к примеру позволяет завести JSON поле и туда можно положить
    такие сложные атрибуты как
    пол = женщиа (феминистика)
    статус = вдова
    прицеп = 5 детей
    курит = нет
    любит бухнуть = да но по праздникам
    предпочтения в сексе = легкий БДСМ и вынос мозга мужчинам


    И эти атрибуты ПРОИНДЕКСИРОВАТЬ (!) средствами Postgres и искать гораздо быстрее чем по EAV.

    Возможные аномалии возникающие в следствие денормализации мы можем отдельно обсудить.
    Но 99% они решаются не технически а по бизнесу. Просто договариваемся что вот так и так дескыть
    переименовать атрибуты мы не можем. Принципиально невозможно но и пофиг. Задача не требует такого.
    Ответ написан
    Комментировать
  • Разработка ИИ для настольной карточной игры. Обучение?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Мне кажется что дешевле игру запрограммировать чем обучать ей бота.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Автор ты конечно читер еще тот. Codewars - это для самостоятельной работы.

    И после того как ты ее заканчиваешь - там открывается форум где можно обсуждать и сравнивать
    наилучшие решения.

    Вобщем зря ты сюда пришел.
    Ответ написан
  • Бьются файлы на ПК, какая может быть причина? Как исправить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В чем причина повреждений - трудно узнать. Тут нужен доступ к твоему десктопу и нужно сравнивать оригинал
    с поврежденной копией.

    Посмотри линуксовую утилиту par2 https://man.archlinux.org/man/par2.1.en и попробуй начать ее использовать.

    У меня есть архивы которым по 10-15 лет. И я их храню вместе с контрльными файлами
    которые генерит par2. Она исправляет одиночные поврежденные биты на всей поверхности файла.
    Насколько много или плотно - я точно не могу сказать. Тут надо ставить эксперимент. Вобщем - сам поразбирайся.
    Ответ написан
    Комментировать
  • Насколько реально создать качественное приложение/соц.сеть на блокчейне?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для соц-сети нужны мощные дисковые подсистемы. Чтоб посты сразу сохранялись.

    А блок-чейн требует медленного протокола подписывания транзакций. В варианте биткоина это лаг
    примерно в 10 минут.

    Вряд-ли вам понравиться сеть которая тупит 10 минут прежде чем пост будет опубликован.

    Или вы другое имели в виду? Тогда надо писать пояснительную записку. Или задание.
    Ответ написан