Задать вопрос
  • В чем преимущества процессов над потоками?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Непонятно зачем в теме вопроса добавлено уточнение про GIL. Это специфика Python?

    Добавлю что понятие процесса и потока может уж очень сильно отличаться в разных средах. Процесс в Erlang/OTP - это по сути актор который существует в сильной изоляции от всего остального мира и шарит память с другими процессами только через систему месседжей. Поток в Java - вообще не мапится в поток операционной системы.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Бесполезно учить АСМ в вакууме. Он - тоже часть экосистемы программирования железа и сетей. Если у вас например есть performance issue и требуется глубокий анализ того как С++ сгенерировал код и почему - тогда вам дорога в АСМ. Если такой задачи не стоит - то знания асма будут не нужны вообще.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Чтобы просто почитать память процесса - ему можно послать сигнал SIGQUIT и он должен ссыпать самого себя в дамп файла. Это законный метод. Программист пытается понять state процесса.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если компиллятор глотает оба варианта и тесты проходят - то я-бы взял просто первый вариант.

    Там меньше букв.
    Ответ написан
    3 комментария
  • Какой open source проект написан на труъ Си++?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Полностью согласен с необоснованностью претензий. Те кто делали код-ревью и отметили что код слишком сишный должны писать конкретные code-review points и аргументировать почему здесь надо затащить классы и ООП. Есть масса продуктов (git) написанных на С и ни у кого не возникает вопросов из серии почему мало ООП. Сколько надо ООП на квадратный метр? Килограмм?

    Нет смысла также кидаться в гитхаб и искать там правильные TrueЪ примеры. Там тоже не боги горшки обжигают. Кроме того С++ - это не только ООП, это мультипарадигменный язык. Тоесть там будут где надо виртуальные вызовы а где надо лямбды или процессор шаблонов и только богу известно почему автор решил здесь так или эдак.
    Ответ написан
  • Как в Linux создать 1 том из двух дисков?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для новичка лучше не использовать LVM. Помимо того что это легаси софт она еще и не самостоятельый. Все равно нужно затаскивать конкретные файловые системы. Это создает определенную путацицу и вообще - правильно использовать утилиты lvcreate/vgcreate/pvcreate и не напортачить при этом - большое искусство. Готов спорить что с 1 раза ничего не выйдет.

    +1 к btrfs.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Замер i/o это хитрая штука. Тут недостаточно просто программирования. Нужно знать что ОС обычно берет на себя часть функций по управлению (планировщики) вводом-выводом и кеширование.

    Тоесть если ты будешь тестить свои программы в порядке 1->2 то вторая будет иметь фору в виде прогретого дискового кеша. И нужно делать хотябы -4-6 экспериментов чередуя 1->2->1->2 несколько раз и собирать кумулятивное время для каждого приложения и потом брать арифметическое среднее.

    Данный класс Timer в таком виде не нужен. Он слишком прост и его можно заменить в коносли на вызов

    $ time yourapplication

    В качестве улучшений таймера я-бы сделал StopWatch. Это таймер который можно вызывать несколько раз и он будет кумулятивно считать время между begin-end и выводить его в конце. Так можно мерять интересующие фрагменты кода которые работают только с диском и игнорировать например вычисления с CPU.
    Ответ написан
    Комментировать
  • Какие сообщества, рассылки, форумы и чаты по HPC, BigData, Data Analysis и другим высокопроизводительным задачам вы знаете?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Каналы в телеге можно глянуть

    https://t.me/hadoopusers
    https://t.me/apache_spark
    https://t.me/devsp

    Есть еще куча групп в ЛинекдИн и Фейсбуке. Но насколько я понимаю в РФ они зобанены.

    Очень удивило наличие у вас вопроса по IRC-каналам. Удивлен что вообще кто-то это использует.
    Ответ написан
    Комментировать
  • Как обновить spark-core что бы убрать уязвимость log4j?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для перехода с Log2j на вторую версию есть мигрейшен гайд https://logging.apache.org/log4j/2.x/manual/migrat...

    Еще покажите полностью dependency:tree начиная с корня. Старый логгер log4j еще может быть транзитивной зависимостью от тысяч других библиотек (hadoop например) и выкорчевать его из проекта совсем - может быть нетривиальной задачей.

    По поводу угроз которые были обнаружены в Log4j я-бы не сильно парился. Для современного биг-дата приложения которое запускается в контейнерах я думаю что угрозы нет. Если инициатива выкорчевывания библиотек исходит не от вас а от других людей - то неплохо-бы от них получить какое-то обоснование зачем все это делать и как много человеко-часов вы согласитесь вообще на это потратить.
    Ответ написан
    Комментировать
  • Как установить 0760 права на файл в java через smb?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Если искать документацию по протколам SMB/CIFS то все дороги ведут в Microsoft.
    А у Microsoft вроде-бы нет концепции файловых битовых масок rwx. У них - больше ACL.
    Ответ написан
    Комментировать
  • Мне необходимо выбрать тему диплома, связанную с BIG DATA, e-commerce. Какую лучше взять?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У гугла есть открытые учебные датасеты. Можно их посмотреть. Там и графика. И финансовая информация.

    По поводу терабайтов в открытом доступе. Я не находил. В рамках студенческой дипломной работы трудно будет найти бесплатное облако или кластер который будет способен перемалывать терабайты за доступное время. Поэтому я-бы не ставил упор на объём.

    Но можно найти гигабайты. Географические базы. https://www.openstreetmap.org/
    Там есть данные по 40 гигабайт в XML формате. География - кстати очень интересная тема.
    Особенно если данные географии накладывать на какие-то другие. Экология там... ковид. И прочее.
    Ответ написан
    Комментировать
  • При увеличении датафрейма таблица становиться пустой, как решить эту проблему?

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

    df.count()
    Ответ написан
    Комментировать
  • Порекомендуйте подходящую базу данных?

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

    В идеале - реплицировать все данные в другую БД с другой геометрией таблиц или вообще в систему другого типа.

    Любая современная биг-дата будет дешевле по стоимости владения по сравнению с DBMS.
    Ответ написан
    Комментировать
  • Как сгенеририовать СЛАУ (система линейных алгебраических уравнений) больших размеров?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для хранения матрицы 10000 на 10000 в формате double вам понадобиться кусок памяти порядка 800 Мб.
    И это только для хранения исходных данных. А если нужно будет искать всякие определители и обратные матрицы
    то сложно себе представить сколько дополнительной памяти будет нужно.

    Если курсовая затрагивает разреженные матрицы (это где много дырок или областей без данных) - то можно
    посмотреть в сторону сжатых матриц. Не знаю как щас а в 90-е была куча библиотек для этого дела.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    В науке и технике используются логарифм и экспонента. Только надо подобрать коэффициенты.
    Результат сохраняет монотонность. Но малые значения усиливаются а большие ослабляются.

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

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Да что за преподаватель такие задачи придумывает? Неужели не мог что-то полезное выдавить? Наверное нужно поменять ядрос ОС. Перекомпилировать по сути. Задача КМК нетривиальная для какой-то лабы. Тут - скорее можно получить кучу новой побочки даже не дойдя до решения лабы. Вобщем проще занести деньги на кафедру.
    Ответ написан
    Комментировать
  • Почему возникает ошибка Bad Base64?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Если говорить языком фактов то в кодировке Base64 нельзя использовать символ "_", а можно только от буквы A до символа "/" в диапазоне ASCII. Где и как оказался символ подчеркивания - непонятно.
    Ответ написан
    Комментировать
  • Какие алгоритмы помехоустойчивого кодирования можно использовать для передачи зашифрованных сообщений?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно начинают с кодов Хемминга. Они - простые и исправляют 1 бит на блок.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Капс печатает логи ошибок здесь /var/log/cups
    Посмотри какие там последние события.
    Ответ написан
  • Почему клиент на Java не может подключиться к серверу (на сокетах)?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Тут - какая-то обще-системная ошибка, и сообщение java.net.ConnectException: Connection refused: connect
    совершенно не несет никакой информации где искать проблему. Давайте переведем задачу из плоскости Java в плоскость сетей и протоколов. Вобщем для начала надо подёргать порт снаружи используя утилиты telnet или netcat и далее уже смотреть по ошибкам.

    nc -w 3 -zv tester17.com 33333

    когда получишь сообщение : "Connection .... succeded!" - то можно возвращаться в Java кодинг.
    Ответ написан
    Комментировать