Задать вопрос
  • Какой язык или технологию осваить после Java Spring framework?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Имеет смысл расти вширь. Тоесть изучать технологии виртуализации Docker/Kubernetes, сети, протоколы и особенности ОС linux (на которой я предполагаю все что ты пишешь будет работать). Имеет смысл понимать как работает тонкая диагностика linux чтобы решать performance issues. Я убежден что большинству Java-разрабов этого знания не хватает.

    Kotlin изучать я считаю не имеет смысла. JSP процессы улучшают Java язык таким образом что Kotlin не сильно будет отличаться в будущем.

    Scala - язык с очень высоким порогом входа и вряд-ли для микро-сервисов тебе что-то новое принесет. Это - скорее к BigData или к специфичным фреймворкам (Play). Ну ... или нужно быть очень сильным фанатом ФП чтобы разрабатывать на Scala то что вобщем-то и так прекрасно разрабатывается на Java.
    Ответ написан
    Комментировать
  • Как правильно сортировать файл?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не совсем ясно , чего хотел преподаватель.

    Но для сортировки больших массивов ( которые много крат превышают оперативку ) используется сортировка слиянием - merge sort.
    Ответ написан
    Комментировать
  • Как перевести файл CSV на английский язык?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Здесь по сути есть две задачи. Одна - техническая. Это извлечение слов из CSV. Ее надо обсуждать отдельно. И другая - более гуманитарная (я считаю). Перевод. Хороший перевод требует специального словаря и человека который проверит качество перевода.

    Вобщем задание тянет на нехилые деньги. Поэтому - не в хабр. А в площадку фриланса.
    Ответ написан
    Комментировать
  • Что это за кэши L1 типа I и D?

    mayton2019
    @mayton2019
    Bigdata Engineer
    I - это кеш инструкций. По сути - кеш твоего бинарного кода.
    Ответ написан
    Комментировать
  • Как переделать код под ООП?

    mayton2019
    @mayton2019
    Bigdata Engineer
    ООП предполагает что в задаче есть некая сущность. Объект. И у него должны быть методы. Что происходит в данной задаче? Пользователь вводит x, потом размер массива. Потом сам массив. После этого делаются какие-то манипуляции с массивом. И после этого массив распечатывается на экран. Где тут ООП? Я не знаю! Я чорт возьми не пойму где здесь ООП.

    Вобщем скажи своему преподавателю что здесь нет смысла вводить ООП. Код достаточно хорош и концептуален в том виде как он записан. И надо не забывать про принципы KISS/YAGNI которые никто не отменял.
    Ответ написан
    Комментировать
  • Реальная ли в jvm многопоточность?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Проверить это можно так. Запускаем jvm-процесс который создает 1000 потоков но не сразу а постепенно. Смотрим в linux top процессов и если количество процессов (потоков) растет то мы получаем доказательство того что jvm-theread линейно связан с числом linux-processes (threads).

    В windows ЕМНИП один процесс включает в себя от 1 до бесконечности вычислительных потоков.
    В linux процесс и поток отличаются опциями разделения ресурсов. Тоесть что по сути опциями безопасности. Например потоки шарят разделяемую память а процессы - не шарят никогда.
    Ответ написан
    Комментировать
  • Что значит описать встретившуюся геометрическую фигуру и определить положение точки в этой фигуре?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Задача решается довольно просто. Это булевы операции над углами и окружностями.
    В данной задаче сложностью является следующие вопросы
    1) Как ЗАДАНА окружность?
    2) Как задан угол?
    3) Как задан квадрант? Или прямая. Или полу-плоскость.
    После того как мы узнаем это - сможем легко описать цветовую область. Например голубой сегмент окружности описывается как:
    - пересечение окружности с полу-плоскостью
    или
    - пересечение двух полу-плоскостей
    Ответ написан
  • Почему сайт отклоняет запросы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    У тебя - задержка 0.5 секунды. Поставь формулу exponential backoff. Тоесть следующая задержка
    в случае неудачи будет 1 секунда. Потом 2, 4, 8 e.t.c. До тех пор пока HTTP код c 429 не перейдет
    в статус 200(201)
    Ответ написан
    Комментировать
  • Существует ли ещё статья с понятным объяснением про нейронные сети?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Существует ли ещё статья с понятным объяснением про нейронные сети?

    Вряд-ли такая статья существует. Есть книга Саймона Хайкина на 1000 страниц. Это полный курс.

    Они очень лаконично и понятно объясняли их устройство, что было удивительно и крайне приятно.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Проверить что внутри строки - нечто похожее на число - это одна задача. Ее можно сделать регуляркой. А сделать кастинг его к int/long/float/double - это другая задача.

    Некоторые числа бывают слишком большие и не влезают даже в long (64) и некоторые вещественные могут иметь множитель 10 в степени 310 и это не лезет в double. Мне сложно такое представить но теоретически пользователь может такое ввести.

    Какую задачу решает автор? Что будет дальше происходить с введенным числом?
    Ответ написан
  • Что лучше всего использовать при работе с данными?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сразу ремарка. Большие данные предполагают такой кейс что они не влезают в ваш ноутбук.
    Это некая стартовая точка от которой вопрос интересно изучать. Если влезли - значит данные не большие.
    Обычная БД. Я рекомендую установить вам локально Postgres или MySQL и загружать туда все что надо
    и там делать любые анализы. Если данные полу-структурированы - то попробуйте использвать spark-shell.
    Это позволяет обработать логи, текстовые файлы, json-lines e.t.c. Настройка spark-shell потребует
    от вас определенных знаний Java. По крайней мере в части памяти.

    Есть явно легаси инструменты которые были созданы во времена Hadoop. Их много.
    - sqoop, hadoop, hdfs. Ими тоже можно пользоваться но по перформансу они уже
    слабее чем например spark.

    Если ваши данные уже в облаке - то вы будете сильно ограничены в инструментах. Обычно амазон
    предлагает свой aws-cli + UI. Microsoft - az.

    И отдельно DataBricks предлагает консольные тулы dbfs/databricks. Но пользоваться ими не очень удобно.
    По крайней мере в том виде как они есть сегодня. Я пользуюсь их web-версией UI.
    Ответ написан
    Комментировать
  • Какой язык лучше выбрать для ETL процессов?

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

    Microsoft предлагает решение под названием https://adf.azure.com/en/ Azure Data Factory.

    Данная платформа поддерживает много языков. Ну Scala/Python/SQL/R точно работают. Databricks кластер
    просто является одной из фич данной платформы.
    Ответ написан
    Комментировать
  • Стоит ли читать Философия Java в переводе на русский язык?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Если это Брюс Эккель - то я читал ее в 2013 году. Тогда хорошо зашла. Но я не знаю насколько книга актуальна для современной Java. После того как сообщество перешло на такой бешеный темп создания релизов - то книги стали устаревать быстрее.
    Ответ написан
    6 комментариев
  • Что не так с первичным ключом в Базе Данных?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Это sequence. Последовательность. Это - как туалетная бумага. Использованные номера можно выкинуть. Зачем их повторно брать? У вас же нет желания из мусорного ведра тягать грязные бумажки?
    Ответ написан
    Комментировать
  • Как можно без сторонних библиотек быстро и кроссплатформенно прочитать или записать некоторый кусок байтов с диска или на диск?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Проще всего с этим работать на линуксе. Эта операционка отображает все диски на блочные устройства /dev/* и позволяет с ними работать просто как с очень большими файлами.

    Разумеется права суперпользователя тебе пригодятся. Механизмы безопасности никто не отменял. В Windows тоже есть аналог для таких устройств.
    Ответ написан
    Комментировать
  • Сколько всего ip адресов в глобальном интернете?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Реально можно использовать чуть меньше 2 млрд адресов
    IPv4. Фактически последние IP-blocks были распределены много лет назад.
    Сейчас только за счет NAT и серых адресов в ротации абоненты и получают в аренду
    ардеса.

    Новые адреса можно добыть только забрав их номера у корпораций которые в свое время
    нахватали много.
    Самой большой долей адресов владеет США.

    По IPv6 не скажу. Не знаю.
    Ответ написан
    3 комментария
  • Как работает автогенерация плейлистов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я-бы не спешил обзывать это явление искусственным интеллектом. Может быть просто кластеризация?
    Ответ написан
    3 комментария
  • Можно как-то в чем-то (под Ubuntu) посмотреть визуально коммиты [и ветки] в хронологическом порядке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Сложно говорить о хронологии, когда люди делают коммиты в оффлайне, в разных часовых поясах и со сбитыми внутренними часами. Задачка блин для Эйнштейна.

    Я-бы предложил рассматривать не хронологию а топологию. Это более корректно. Коммиты - это орграф. DAG. И у него есть последовательность действий над бранчами.
    Ответ написан
    1 комментарий
  • Как сделать auto increment колонку, которая увеличивается относительно другой колонки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По виду это похоже на троичную систему счисления. Ее можно получить просто пересчитывая нормальный sequence. Пишу на псевдокоде.

    create table ПочемуАвторНикогдаНеПишетНазваниеТаблиц (
       id sequence,
       class_id int GENERATED ALWAYS AS (id / 3),
       student_id int GENERATED ALWAYS AS (id % 3)  
    );
    Ответ написан
    Комментировать
  • Как соотносятся между собой mysql и mariadb?

    mayton2019
    @mayton2019
    Bigdata Engineer
    почему при работе в командной строке я продолжаю подключаться через mysql -u -p

    MariaDb поддерживает тот-же сетевой протокол что и MySQL.
    Ответ написан
    Комментировать