Задать вопрос
  • Как правильно сделать структуру базы данных?

    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
    Ответ написан
    Комментировать
  • Как обойти задержку кэширования новости и сразу же получить ее с сервера?

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

    Бери сведенья с телеграм канала напрямую.
    Ответ написан
    Комментировать
  • Как с одного компа подключиться к другому?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Иметь возможность запускать игры, пока другой работает на этом компе?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    С точки зрения современного инфо-беза логин + пароль - уже не танцуют.
    Сейчас - основной упор на безопасность - это многофакторка. И время сессии
    желательно как можно меньше. Например 15 минут. В кабинетах банков так уже делают.

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

    Кроме того сами методы многофакторки рандомно меняются. Банк для авторизации
    входа может позвонить голосом. Чтоб подтвредить. Может попросить ввести число
    с генератора в MSAuth/Okta/Duo. Или приложить палец к сканеру отпечатков.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я пока студент, перешёл на второй курс.

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

    Нет ничего хуже самозванца. Согласен?
    Ответ написан
    Комментировать
  • Почему в linux подобных системах нет привычных установщиков программ?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот привык я к ШИНДОВС, а в ней программы устанавливаются через *.msi или *.exe файлы.

    Да ты - старый дед! :) Все админы и девопсы при использовании Windows ставят себе пакеты через
    "шоколядку" (chocolatey) https://chocolatey.org/

    Вот как я себе ставил поддержку zip в консоли

    PS C:\Windows\system32> choco install zip
    Chocolatey v2.2.2
    Installing the following packages:
    zip
    By installing, you accept licenses for the packages.
    Progress: Downloading zip 3.0... 100%
    
    zip v3.0.0 [Approved]
    zip package files install completed. Performing other installation steps.


    Вот привык я к ШИНДОВС...

    Я кстати очень не одобряю твою культурную апроприацию к Linux-сообществу (ЛОР и прочее). Только
    они имеют моральное право говорить Маздай, Шишдовс и так далее. А ты - типичный
    виндузятник.

    Ты в этом случае выглядишь как фрайер в камере который пытается косить под вора в законе.
    Понимаешь?
    Ответ написан