Задать вопрос
  • Доказано ли, и можно ли сжать произвольные данные до 20 байтов к примеру?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В 4 байта можно втиснуть 4 миллиарда состояний. Или в терминах игровой индустрии - возможно создать процедуральный генератор миров или локаций где из одного целого числа можно создать 4 млрд миров. Но качество самих миров будет скорее всего плохое. Как раз по причине этих жалких четырех байтов. У нас не будет детального контроля над ландшафтом и другими свойствами мира. Согласитесь иметь 32 переключателя или 4 регулятора по 250 уровней (как угодно смотреть на это) - это маловато.

    По поводу обратной задачи. Всё будет зависеть от формы как представлены исходные данные. Но мне кажется что делать такой архиватор безсмысленно. Достаточно просто грамотно сохранить тот мир который нарисовал дизайнер миров. В игре kkreiger достаточно лаконично в 64 килобайта была втиснута Quake-подобная локация.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Наверное имелось в виду целочисленное деление для длинных чисел.

    Python 3.8.10 (default, Mar 15 2022, 12:22:08) 
    [GCC 9.4.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 
    >>> 1090246098153987172547740458951748 // 36028797018963968
    30260408016957373


    В обычных языках программирования первое число уже не влезает в разрядную сетку double/long поэтому его даже трудно инициализировать. Взял ради примера Python3. Он вроде понимает arbitary precision.
    Ответ написан
    Комментировать
  • Оптимальное хранение данных в БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    EAV и JSON в филдах решают одни проблемы но подкидывают новых.
    Ответ написан
    Комментировать
  • На сколько правильно разбить один запрос на три более маленьких?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да что за ВУЗ и что за преподаватель такие задачки ставит? ОС написать... Капец.

    Может это не ОС а просто tech-demo графического режима? Просто на ОС семестра не хватит.
    Ответ написан
  • Как можно максимально себя анонимизировать в сети?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Никак нельзя. Провайдер по запросу спецслужб предоставляет IP-адреса и время выхода в сеть.
    Ответ написан
  • Попадает время в промежуток между двумя time или нет?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут надо сначала смысл разобрать. Вот как ты себе понимаешь что магазин открылся в 22.00 а закрылся в 5.00 ?
    Закрылся в 5.00 утра следующего дня? Работал всего 7 часов. Это один кейс. А другой кейс - если свапнуть время - то получается что работал 15 часов. Выводы? Свапать нельзя никак.

    А вот когда смысл проверки мы поймем - тогда можно и код писать. В крайнем случае - хранимую функцию написать.
    Ответ написан
  • Как сделать чтобы строка не вставлялась в БД, если не соблюдается формат поля?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно в продуктовых системах загрузка данных идет в 2 этапа.
    1) Грузят данные в специальные сырые таблицы (staging area). Грузят без первичных ключей и без проверок вообще. Вот как есть. С мусором и с битыми кодировками.
    2) Запускают специальные процедуры (раньше хранимки) а сейчас - процессы в application которые гоняют все-все бизнес-валидации и загружают то что есть в продуктовые таблицы (бизнес-факты). А по всем битым данным формируют отчёт. Типа не удалось загрузить сто тыщ телефонов.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для проверки свойств карты я-бы использовал представление кода карты как битовое число. Биткарта.
    К примеру - карты делятся на красные и черные масти. Это один бит. Далее цвета делятся на трефы, пики
    и т.п. Еще один бит. Тоесть двумя битами от 00 до 11 мы полностью кодируем масть. И ранг карты в игре
    (он может менятся в зависимости от вида игры) можно закодировать еще четырьмя битами. Итого шесть бит.
    Плюс еще отдельно остается джокер как карта универсал. Для нее можно ввести один бит масти как признак
    того что масть игнорируется например. Итого 7 бит. Такой код карты удобно сортировать например или представлять различные проверки условий.
    Ответ написан
    2 комментария
  • Как в блокчейне постоянно проверяется корректность транзакций?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут вообще не нужна никакая регулярка. Обычный императивный цикл будет более supportable. Тем более что формат этого торгового сообщения настолько простой насколько может быть например простой http-протокол.

    Разделители - переводы строк и двойные переводы строк. Красота.
    Ответ написан
  • В чем особенности ОС для квантовых компьютеров?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дело в том что квантовый комьютер (КК) не является машиной Фон-Неймана. Тоесть у него нету как таковой памяти, процессора и шины ввода-вывода. Вернее сказать память есть. Но она настолько не похожа на классические ячейки что для нее пока еще не придумали классификации.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не указал предыдущий опыт работы. Вот - главная причина.
    Ответ написан
    6 комментариев
  • Обязательно ли кабель должен быть проведён к роутеру через модем или использование модема необязательно?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В настоящее время модем уже не нужен. Это морально-устаревшие технологии 2000х годов когда интернет пускали по сетям телефона или по коаксиальному кабелю телевидения. Вот для таких стеков и ставился модем. Более того. Такие квази-телевизорные сети работали очень хреново (у меня был максимум 25 мегабит) и еще и асимметрично. Тоесть скорость в upload была раз в 10 медленнее чем в download.

    Сейчас вне нормальные провайдеры домашнего инета тянут ethernet (витая пара) до каждой квартиры. А модемы остались только у ваших бабушек.
    Ответ написан
    4 комментария
  • Если JPG с компрессией 85% пересохранить еще раз с компрессией 85%, качество ухудшится?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если обсуждать конкретно приложение ACDSee то чорт его знает. Вообще JPEG кодек управляется большим набором параметров (progressive, chroma subsampling) и это всё идет вне самого параметра сжатия.

    Я думаю что после десятка пережатий картинка должна достигнуть некого стационарного состояния (аттрактор типа) и после этого уже не изменятся. Но достигать этого состояния явно не стоит.

    А к автору возникает здравый вопрос. Для чего собственно надо что-то пережимать? В мире и так много электроэнергии тратится впустую. Майнинг крипты и прочее. Зачем еще добавлять безсмысленного нагревания атмосферы?
    Ответ написан
    Комментировать
  • В чем разница между программистом и пентестером?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я-бы сказал что пен-тестер - это должность весьма экзотическая. Кто тут в топике сидит? Готов спорить что все кто ни попадя и девопсы и PM-ы и тестировщики.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не совсем понятно о каких гарантиях тут идет речь. Когда база создается с нуля (таблицы еще пустые) то после создания таблиц (или во время создания) делаются contstraints которые описывают связи между таблицами и реакцию на delete/update. Типа

    .... CONSTRAINT `child_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `parent` (`id`) ON DELETE
      RESTRICT...;


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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Есть европейский закон или право. Право быть забытым ( https://en.wikipedia.org/wiki/Right_to_be_forgotten ) или еще вариант GDPR.
    На основании его гражданин может попросить google или другие поисковые системы удалить сведенья о нем при поиске и поисковик обязан эти данные добавить в такой-себе стоп-лист чтоб не гуглилось никогда. Как быстро они этот запрос отработают - я не знаю. И действует это кажется для Европы.

    Для РФ вряд-ли кто-то будет рассматривать такое обращение. Но можно попробовать.
    Ответ написан
  • Как изучать машинное обучение?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Машинное обучение это вообще не про Python. Это больше к мат-статистике и обработке больших данных.
    Задачи - классификация, регрессия и кластеризация e.t.c.. Алгоритмов и названий очень много. Некоторые из них могут повторяться в вариациях или иметь неточные русские переводы.

    Фреймворк Apache Spark имеет следующий классификатор алгоритмов: https://spark.apache.org/docs/latest/ml-guide.html
    Ignite - вот такой : https://ignite.apache.org/docs/latest/machine-lear...

    По поводу Python или Scala. Знающие маш-обучение таких вопросов вообще не задают. Для специалистов язык - вообще не имеет значения. Язык в данном контексте это как приложение калькулятор или spreadsheet. Это вспомогательный инструмент. Собственно эта наука вообще не про программирование. А про наблюдение глазами за процессом обучения и корректировку мета-параметров.

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

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если-бы cor были полями класса тогда через рефлексию наверное можно. Но это - путь в никуда.

    По уму надо было изначально cor делать массивом.
    Ответ написан
    Комментировать