Задать вопрос
  • Как проверить в списке элементов типа 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
    Боюсь что процесс дедупликации будет требовать ресурсов гораздо больше чем сам 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 минут прежде чем пост будет опубликован.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    И насколько увеличит время выборки при тяжелых запросах.
    Также в базе будут храниться данные аналитики. Ориентировочно будет не менее миллиарда записей.


    Тут на 90% все будет зависеть от того какие запросы вы будете гонять. И да NoSQL можно использовать.
    Учитывая большую инерционность такой маркетинговой информации (емейл и домен почти никогда не переименовывается и редко удаляется) то можно делать две денормализованные таблички

    Emails-2-domains
    email         | domainlist
    user@site.com | [ google.com, yahoo.com, ..... ]


    Domains-2-emails
    И тут связи будут в обратную сторону. От домена к списку людей.
    Ответ написан
    Комментировать
  • Какую библиотеку выбрать для написания tcp сервера?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Поддержка сырых сокетов есть в любом современном языке программирования. Обсуждать здесь как-бы нечего.
    Сокеты встроены в язык.

    Но если между приложением и сокетами у тебя стоит нечто (например SOAP) то тогда обсуждать этот
    вопрос становится более интересно.
    Ответ написан
    3 комментария
  • Как запустить exe с сетевого диска?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Кажется если мы запускаем с локального диска - то мы вовлекаем Антивирус в процесс проверки
    приложения только 1 раз. После этого файл должен быть подписан подписью антивируса что все норм.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Никто этим не занимается. В современном мире есть 100500 способов виртуализации Python
    библиотек
    . Виртуалки, Докеры, Кубернетисы, И всякие анаконды, конды и прочее что можно
    в командной строке делать просто меняя PATH.
    Ответ написан
    Комментировать
  • Нужно ли писать суффиксы литералов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Во всех случаях мы описали тип слева. Тоесть задача типизации - выполнена.
    float a = 1.0f;
    unsigned int a = 10u;

    Я думаю что ничего дополнительно указывать не надо. В противном случае у code-reviewer
    это вызывает удивление и очередной WTF. Тоесть вам придется объяснять своему коллеге
    ДЛЯ ЧЕГО вы ввели в исходные код дополнительную информацию.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вообще после ковида ситуация для людей с особеностями - улучшилась. Бизнес потихоньку научился
    работать с удаленкой. Я даже думаю что те специальности которые раньше были ТОЛЬКО офисные
    (бухгалтерия) сейчас тоже научились удаленке.
    Ответ написан
    Комментировать
  • Как при сборки мусора и перемещении объекта, сохраняется корректность ссылок?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нету никаких указателей. Указатели - это терминология С++.

    Да GC обладает правом двигать объекты в памяти. Но это тебя не должно волновать.
    Ты работаешь в прарадигме managed memory.

    Тость НИКАКОЙ АДРЕСНОЙ арифметики ты не имеешь права использовать.
    Используй ссылки объекты и все будет норм.
    Ответ написан
    6 комментариев
  • Какие дорожные карты посоветуете для полного изучения линукса?

    mayton2019
    @mayton2019
    Bigdata Engineer
    для полного(или основ) изучения линукса? (Кибербезопасность)

    Вот ты чудак. Как же ее (кибербезопасность) можно полностью выучить если она каждый год меняется.
    Меняются угрозы. Софт обновляется. Безопасник - тот-же вечный студент. Учится на новых угрозах.

    А ты хотел взять Катахезис или Библию и вот так все одним махом прочитать?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот в один поток на сях. Только сам скомпилируй. 32 млн строк в секунду. Если писать в /dev/null

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    // habr.com : mayton2019 - 3 Sep 2023
    
    char *hex = "0123456789abcdef";
    char *buf;
    
    void streamer(int max_depth, int level, char *alphabet, int alphabet_size) {
       for(int i = 0 ; i < alphabet_size ; i++) {
          buf[level] = alphabet[i];   
          if ( level < max_depth ) {
            streamer(max_depth, level+1, alphabet, alphabet_size);
          } else {
            buf[level] = '\0';
            printf("%s\n", buf);
            break;
          }
       }
    }
    
    int main(int argc, char** argv) {
      buf = malloc(strlen(hex) + 1);
      streamer(16, 0, hex, strlen(hex));
      free(buf);
      return 0;
    }


    Вот как я мерял.
    gcc hex-gen.c -o hex-gen.exe && ./hex-gen.exe | pv -l -r > /dev/null
    [30.7M/s]
    [30.1M/s]
    [30.3M/s]


    Вот если писать в текстовый файл то скорость чуть медленнее. 24 млн строк за секунду.

    Вот. Проверяй данные. Что я нигде не ошибся.

    UPD: Лишний ноль убрал.
    UPD: +break добавил.
    Ответ написан
    Комментировать
  • Кто брал модели из Game guru(формат. X и .3ds), как их перевести в более распространённый формат под блэндер или 3д макс?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я слегка читернул и спросил всезнающего искусственного всезнайку. Вот что он ответил кратко:

    1. Open the 3DS File
    2. Export as FBX or OBJ
    3. Import into Blender
    Ответ написан
    Комментировать