Задать вопрос
  • Нужна ли нам вся эта безопасность?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Intel vdt, Intel ppt, от Microsoft, Device Guard
    Microsoft, Device Guard
    Natural File Guard

    Невозможно в рамках одного ответа ответить на все это сразу. Эти все технологии слишком разные
    и слишком сложные по use-case.

    Я соглашусь что скорее всего для домашнего пользователя они не нужны. Можете спокойно выключать.
    По поводу Intel VD-t - это кажется опция виртуализации (улучшение работы Virtual Box)

    Более полный список опций безопасности по Интел находится здесь
    https://www.intel.com/content/www/us/en/security/h...

    почитайте для общего развития. Я думаю что они в целом интересны безопасникам
    в крупных организациях.
    Ответ написан
    Комментировать
  • Как правильно реализовать структуру данных для упаковки многомерного(кол-во измерений не известно сразу)массива в JSON / любой другой формат данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если размерности известны. Например 120 на 30 на 200 на 40 то такой гипер-кубик
    можно упаковать в обычный линейный массив. И он будет по длине равен 28800000 элементов.
    Таким образом любой многомерный массив укладывается в одномерный.
    Формула доступа будет достаточно простая. Почти тоже что и для матрицы.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это очень сложный вопрос и на него нет единого ответа.

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

    Найти сочетание железок при которым и дешево и хорошо - практически невозможно.
    Ответ написан
  • Как получить доступ до БД Azure Cosmos DB через IDE?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Устанавливай Visual Studio Code + Azure Database Extension
    Ответ написан
    Комментировать
  • Нужен ХОРОШИЙ rpc для языка Си, есть ли решения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Посмотри еще в Apache Thrift. Это не совсем RPC. Это скорее стандарт на универсальный
    обмен информацией между разными языками и платформами. Но у него в качестве
    примеров есть клиент-сервер на сокетах.

    На нем также описан стандарт файлового формата Parquet для bigdata.

    https://thrift.apache.org/
    Ответ написан
    Комментировать
  • Как хранить баланс пользователя в разных валютах?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Здесь медленным является скорее всего вычисление функции S.

    int S(int p, int q) {
        if (p == q) {
            return F(p);
        } else {
            return F(p) + S(p + 1, q);
        }
    }


    Вот для входных параметров p = 0 и q = 0xFFFF_FFFF например нам придется
    вращать пустой цикл 4 миллиарда раз (или 4 млр раз проваливаться в рекурсию)
    и все просто для того чтобы посчитать сумму

    F(p) + F(q)

    Можно убрать эти холостые вычисления и таким образом ускорить прохождение тестов.
    Ответ написан
  • Какие существуют методы сравнения качества изображения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я помню что в умных статьях, которые сравнивают алгоритмы сжатия типа JPEG/J2k/Lurawave
    часто приводили параметр PSNR (Peak signal-to-noise ratio) и на базе него пытались
    построить какие-то выводы. Период этих революций сжатия приходился примерно на 2000-е годы.

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

    В случае когда картинок много и мы не можем определить где оригинал то я-бы предложил
    смотреть спектры высоких частот. Где их больше - там и предположительно оригинал.
    Если с изображением работали (scale, фильтры) то обычно метрика высоких частот будет
    слабее выражена.

    Вобщем сравнивать вам придется не по 1 параметру а по вектору. Увы-увы... в наше современное
    время маш-обучения сравнение векторов это нормально. Так и должно быть.
    Ответ написан
    3 комментария
  • Linux на SSD рядом с Win10, на внешний HDD или виртуализация?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для некоторых задач разработки или работы с BigData можно использовать WSL
    https://learn.microsoft.com/en-us/windows/wsl/install

    Ситуация когда WSL с чем то у меня не справлялся - это обычно нехватка памяти или ядер CPU.
    А так... пока изучаешь есть весь тулсет, компилляторы gcc/clang и языки Python/Perl/Ruby.

    Еще из недостатков - некоторое усложнение маппинга файловой системы. Windows файлы
    будут видны через виртуальный путь типа /mnt/c/....
    Ответ написан
    Комментировать
  • Возможно ли взломать шифр Вернама на псевдослучайных числах?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если формула твоего ГПСЧ будет простая (типа последовательности) и если злоумышленник
    сможет отправлять свои открытые тексты то он выявит этот xor очень быстро.

    Вообще Керхгофс писал о том что секретность должна быть на 100% перенесена в тело ключа а не
    алгоритма. В этом - главный принцип криптографии. Мы исходим из предположения что злоумышленник
    знает код
    . Он его видел. Он - бывший ваш сотрудник. И если он увольняется то он уходит со всеми
    секретами в голове. И чтобы этого не было Керхгофс говорит - "окей мы не можем защитить код. Код - утекает
    в пространство известной информации. Но мы можем сделать замену кода (КЛЮЧА!) настолько быстрой
    и легкой
    что увольнение сотрудника не будет нам стоить очень дорого"

    Уволился сотрудник который имел доступ к секретам - перегенерируй все секерты заново и спи спокойно.
    Ответ написан
    Комментировать
  • Насколько отличается шифр Вернама через суммирование и xor??

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вернам - это бесконечно большой блокнот. Это не шифр, а скорее некая теоретическая концепция.
    Под капотом Вернам может использовать xor или подстановки (что в принципе взаимозаменяемо
    для известного алфавита).

    С практической точки зрения (https/ssl/tls) удобнее использовать блочные шифры с временным
    ключом который живет короткое время и потом генерируется заново.
    Ответ написан
  • Как скрестить ElasticSearch и MySQL?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В этом мало смысла потому как назначение Эластика - это делать быстрый поиск в не-структурированных
    (non-structured) данных таких как логи, дампы сетевого трафика или просто месседжи или текст.

    Назначение MySQL (процентов 99) это хранение реляционных данных. Тоесть данных где есть нормализация
    (1-2-3 НФ).

    И где... в какой части вы пересекаетесь - непонятно. Либо неправильно используется MySQL либо не там Эластик.
    Ответ написан
    2 комментария
  • C# и несколько CPU?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Во всех языках разработки в ThreadPool обычно есть ручной параметр количества threads,
    который можно установить самому. Это более правильно поскольку только разработчик
    знает природу запускаемых потоков. Например если это CPU-bound приложение то поток желательно
    мапить на физическое АЛУ а если это потоки другого рода I/O bound то их можно сделать побольше
    типа SetMaxThreads и задать столько сколько нужно исходя из задачи.
    Ответ написан
  • Почему не работает import java.util.Scanner?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    java.util.Scanner - начиная с версии 1.5.

    Надо проверить на какую версию среда настроена.
    Ответ написан
    Комментировать
  • Возможно ли соединить работающий java код и так же работающий скрипт python?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Самая простая интеграция - это pipe в Unix. Этому методу 100 лет в обед но обычно
    разработчики не помнят о нем.

    java app.jar | python3 app.py

    Из недостатков - это в одну сторону работает. Как MQ.

    Если запускается джоб на java который передает информацию к python-job то можно вызвать через
    ProcessBuilder. Здесь можно проверить код возврата и принять решение о том правильно
    ли Python отработал. Из недостатков - запуск процесса - не очень быстрое событие поэтому
    на высокую частоту не стоит расчитывать.

    Если взаимодействие - более быстрое и сложное типа RPC то тогда java может быть например REST
    клиентом а python - сервером.
    Ответ написан
    Комментировать
  • С чего начать изучать разработку приложений под Linux?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если ты хочешь программировать под Linux то тебе нужно знать функции ядра Linux.
    Это так называемые syscalls. Системные вызовы. Работа с файлами. С сокетами.
    С объектами мультизадачности (mutex). Языки могут быть любые но принципы
    будут примерно одинаковые.

    +Надо определиться с доменной областью. Вряд-ли вы будете писать системный софт.
    Системщиков вообще мало и пишут они очень узко. Скорее всего это будет что-то прикладное
    поэтому надо искать прикладные задачи и искать типичный профиль такой прикладной задачи.
    FastCGI приложение например там или ETL процесс или какие-то сетевые штуки. Ищите
    практические задачи. Иначе сам по себе вопрос потеряет смысл.
    Ответ написан
    8 комментариев
  • Можно ли создать базу данных на одной таблице?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да. Такие эксперименты были. Лет 5 назад когда был еще жив sql.ru, один человек продвигал
    модель т.н. квинтетов. Это таблица с 5 полями которая полностью описывала любую
    доменную область. Я к сожалению не могу нигде найти следов описания этой системы
    но возможно это оно https://cyclowiki.org/wiki/QDM . Читайте смотрите.

    Второе. В эпоху новых версий DBMS (Oracle/PG/MySQL) когда мы можем использовать
    JSON/XML внутри ячейки, сама идея EAV теряет смысл. Поле атомарно? Атомарно.
    Значит законы реляционной алгебры мы не нарушаем и JSON совершенно легальный
    тип для реляционок. Хотя лет 30 назад его использование было-бы кощунством
    в БД. Но это можно было списать на жесткую экономию ресурсов и чрезмерную
    математичность моделей Бойса-Кодда. Сегодня все используют JSON и нет никаких
    архитектурных доводов против. Поэтому создавайте NoSQL табличку где есть
    key и есть значение в виде либерального типа документа. Как делают MongoDb, CouchDb.
    И если связать их в иерархию то получится вполне себе те-же самые квинтеты.

    Про EAV лучше забудьте. Их любят преподаватели SQL и теоретики. Но практически EAV
    слишком медленно работает чтобы развивать его в бизнес-приложении или в промышленности.
    Мир тяготеет к упрощению. И поэтому JSON - это упрощение EAV. И работает быстрее.
    Ответ написан
    6 комментариев
  • Как выводить цифры числа слева направо?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Можно делать накопление числа в строку а потом в конце перевернуть ее

    >>> "".join(reversed("улыбок тебе дед макар"))
    Ответ написан
    1 комментарий
  • Почему начинает прыгать скорость торрента?

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

    Надо спросить почему канал между тобой и другими владельцами ресурса стал прыгать.
    Торрент здесь скорее всего непричем. А причем может быть провайдер, который регулирует
    (shaper) скорость к частным направлениям.

    Или причем могут быть условия. Вечернее время. Час наибольшей нагрузки. Другие
    пользователи роутера которые тоже в этот момент с тобой что-то качают.

    Вот иди и проверяй все эти версии.
    Ответ написан
    Комментировать
  • Как часто стоит открывать и закрывать соединение при записи в БД из Kafka?

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

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

    Я-бы еще этот вопрос рассмотрел в суточной нагрузке. Если например событие с кафки приходят
    от кассовых аппаратов то их надо обработать обязательно в течение дня. Тоесть БД должна быть
    открыта всегда. Ну а на ночь можно изменить режим работы косньюмеров и сделать их более
    вялыми и дать возможность ночным джобам поработать в БД спокойно.
    Ответ написан
    Комментировать