Задать вопрос
  • Обучение C++ на Linux, VS code?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Порядок обучения может быть разный. Но начинать с С++ очень тяжело если до этого у тебя вообще никакого опыта не было. Многие новички прогорают на строках, указателях и ручном менеджменте памяти.

    Английский сегодня надо знать обязательно на уровне чтения документации. Без этого вообще безсполезно ходить в It. Вся новая документация про языкам и фреймворкам будет на английском. Ждать переводов - бесполезно и неконструктивно.

    Пойдёт ли вообще альтернатива Visual Studio Code для обучения?


    Да Visual Studio вполне себе пойдет.

    UPD: Обновил
    Ответ написан
    1 комментарий
  • Подходит ли ноутбук для машинного обучения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Краткий ответ - да подходит. Голосуйте за мой ответ. Он - верный. Я гарантирую это.
    Ответ написан
    7 комментариев
  • Что такое шаблон консольного приложения и что он в себя включает?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не хватает тегов в вопросе. Это относится к конкретному языку программирования. Например в С++ шаблон такой. В Rust - другой. В golang - третий.

    Обычно консольное приложение - не создает окон. Обычно оно в себя включает обработку консольных аргументов. Например если юзер печатает "--help" вторым аргументом - то приложение печатает справку по командам. И обычно (99%) приложение оперирует потоком вывода (STDOUT) для облегчения взаимодействия с другими CLI приложениями.

    Например когда вы делаете cat (concatenate)
    $ cat file1.txt file2.txt > union.txt
    и "птичкой вправо" выводите сцепление двух файлов в новый файл.

    Еще приложение может в качестве input читать STDIN и еще может в случае ошибки возвращать
    ненулевые коды возврата. Это - полезно чтобы CLI приложение интегрировать с bash скриптами
    и проверять был ли успешен последний вызов.
    Ответ написан
    Комментировать
  • Почему могут не сохраняться новые данные в базу postgre?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Забыл сделать commit.
    Ответ написан
    Комментировать
  • TypeScript без Javascript?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Скорее всего нельзя. Дело в том что Runtime-система все равно зависит от JS и будет тебе выдавать JS-ные ошибки и ты должен в них разбираться не взирая на TypeScript.
    Ответ написан
    4 комментария
  • Как создать функцию которая может принимать любые типы переменных?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    В полной мере union-типы реализованы в Scala. Поэтому тебе надо сменить язык чтобы работать
    на таком уровне выразительности своей идеи.

    Например вот функция которая конвертит дату-время для строки или для лонг-типа.
    def convertTime(time : String | Long) : String = 
      ....


    В Java есть вариант - передать базовый типп Object и в теле функции проверять instanceOf и делать
    соотв. conditions или паттерн матчинг по типу.
    String convert(Object object) {
       ......
    }

    Вобщем все варианты требуют явного перечисления логики которую ты хочешь сделать.

    Или ты хотел как-то "схитрить" и не писать логику?
    Ответ написан
    Комментировать
  • В чем можно хранить около триллиона значений key=>value?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Давайте прикинем объем который понадобится. Что такое триллион?
    Это 12 нулей. Или 1 000 000 000 000 элементов. Какая у нас data-row?
    8 + 64 символов типа ASCII (байт подходит чтоб покрыть все символы).
    Итого 72 байта на строку. Там можно еще поужимать биты в байтах но только
    сложность повышает а большой пользы для дела не дает. Пускай будет ASCII == 1 байт.

    Вобщем такой расчет

    72000000000000 байтов на весь сегмент данных когда таблица загружена.
    Или 65 терабайт. А сколько магнитных блинов надо прикупить? Возьмем популярный магнитный
    Western Digital Purple 10TB 7200rpm 256MB WD102PURZ 3.5" SATA III при цене 290$
    Порядка 7 штук надо. Вобщем готовте котлету денег 290$ * 7 = 2030$

    По поводу DBMS. Да key-value здесь подходит. Можно начинать с LevelDb или RocksDb но у них
    расход дисковой памяти на 1 строчку может быть больше чем я посчитал. Я ведь считал эконом-эконом
    вариант в виде бинарного типизированного файла где все записи строго по 72 байта. Сколько именно
    захватит РоксДб или ЛевлДб - чорт его знает. Вряд-ли документация об этом что-то говорит.
    Но берите 1% датасета. Загружайте
    и аппроксимируйте сколько выйдет после полной прогрузкуи. Это - надежный способ оценки.
    Ответ написан
    12 комментариев
  • Что значит O(1)?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут - проще объяснить применительно к конкретным языкам разработки и технологиями. Например время доступа к элементу хеш таблицы Java (HashMap) оценивается как O(1). Тоесть время всегда постоянное и не зависит от прочих условия типа размера таблицы. А если у нас вместо хеш-таблицы - красно-черное дерево (TreeMap) - то тогда время доступа оценивается как O(log n). Тоесть логарифмически зависит от размера данных в дереве.

    Считается что O(1) лучше чем O(log n). Но этот тезис действует на объеме данных близком к бесконечности. На малых объемах структуры - неразличимы или могут менять свои свойства в зависимости от разных начальных условий (были ли в кеше L1/L2/L3 до этого уже прочитанные данные).
    Ответ написан
    5 комментариев
  • Как можно ускорить запрос или какой индекс использовать?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну во первых смысл неправильный. У тебя - взаимоисключающие предикаты. Поэтому надо использовать OR.
    Уже написали выше про это.

    Попробуй так. Должно быть быстрее.

    SELECT * FROM data WHERE name LIKE "Иван%";

    И построй индекс по name. А лидирующий метасимвол % лучше не ставить т.к. это отключает
    возможность использования классическийх B-Tree индексов.
    Ответ написан
    Комментировать
  • Файловая система на диске без разделов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В вопросе звучат два вопроса.
    1) Нормально ли использовать primary partitions вместо extended. Ответ - да нормально.
    2) Как под Windows прочитать этот раздел. Моё имхо - лучше этого не делать. Если вам
    нужен какой-то обмен данными - то лучше отформатируйте под Fat32 например.
    Или вообще откажитесь от использования Windows и пользуйтесь Linux-файловыми
    системами без ограничений. В противном случае ситуация выглядит как некое необоснованное
    "чудачество" автора.
    Ответ написан
    1 комментарий
  • Bsd-socket. Почему бесконечное чтение при http запросе?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Скорее всего отправитель перестал что-то отправлять. Это не ошибка. Это нормальное состояние сокета. Обрабатывайте на прикладном уровне содержимое потока. Если это http-response то там есть хедеры и длина и прочее и содержимое (XML/Json).
    Ответ написан
  • Как полностью перенести всё содержимое с одного FTP сервера на другой с сохранением прав?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вобщем у меня подобная задача стояла пол-года назад. Для облачного диска. Но я ее порешал по другому.
    Ftp не понадобился. Но если что- смотри утилиту lftp. И там в скриптах у нее есть команда mirror.

    ~$ lftp --help
    Usage: lftp [OPTS] <site>
    `lftp' is the first command executed by lftp after rc files
     -f <file>           execute commands from the file and exit
     -c <cmd>            execute the commands and exit
    .....
    Ответ написан
    Комментировать
  • Как в SQLITE вывести все строки содержащие определённые слова, независимо от их расположения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если три части ФИО отсортировать как массив из 3 элементов - то будет одинаковая последовательность.
    Вот так и искать можно.
    Ответ написан
    4 комментария
  • Как найти фильмы с 3д эффектом?

    mayton2019
    @mayton2019
    Bigdata Engineer
    В торрент-трекерах я находил несколько разных технологий под 3Д. В 2000х были фильмы для цветового разделения (красно-зеленых очков). Есть фильмы для очков VR.

    Вобщем в форуме трекера есть тематические ветки где выкладывают именно такие фильмы. Можно там поискать.
    Ответ написан
    Комментировать
  • Будут ли какие-то лаги в игрушках с nvidia + intel?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Лучше наверное купить XBox или Playstation.
    Ответ написан
    Комментировать
  • В какой последовательности лучше учить паттерны проектирования?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как говорят "дорога ложка к обеду".

    Design patterns надо учить применительно к вашему проекту. Вот как они у вас возникают в проекте - так и учите.
    И никакой учитель или теоретик все равно не знает где оно у вас полезно а где - оверинжинеринг.

    Не забывайте про YAGNI/KISS.
    Ответ написан
    Комментировать
  • Где и как подтянуть теорию по некоторым темам Java Core?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    По Multithreading
    "Что выведет следующий фрагмент кода"

    Это - самый плохой класс задач на мультипоточку. Я видел много таких. Большинство из них основаны на Race Conditions и бывало и такое что негативный эффект не воспроизводится хотя и ожидается в задаче. А не воспроизводится по тесяче причин. По другой операционке или по другой версии JDK/JRE. Вобщем что
    выведет код
    нужно выкинуть и заменить его на какой-то модульный тест да и еще и под нагрузкой. И беря
    во внимание комплексность самого вопроса я-бы не стал такое выводить например в собеседования. Так
    можно и мидла макнуть головой в сортир. Попробуйте распознать в коде например задачу обедающих
    философов. Я готов спорить на коньяк что если вы никогда не слыхали - то не распознаете подвох.

    Где и как подтянуть теорию Multithreading(М). Ответ - нигде. Самый лучший вариант - начать писать много кода
    с мультипоточкой и наблюдать. Очень многие эффекты книги не объясняют. И 99% новичек нигде не прочитает
    про разницу между использованием synchronized и atomic.

    Вобщем берите код с нагрузкой и наблюдайте.
    Ответ написан
    2 комментария
  • Spring boot 2.7+Tomcat9+.war: как вынести зависимости WEB-INF/lib в отдельный пакет?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Тебе проще всего разбить своей проект на 2 проекта. Первое это нужные jar-библиотеки log4j, postgres jdbc, jackson и сделать просто упаковку их в один артифакт. И второе - это основной код который зависит от этих библиотек.

    Связь между проектами можно организовать через maven repository.
    Ответ написан
    Комментировать
  • Какие библиотеки надо поизучать, чему научиться и тд для того, что бы зарабатывать и какие знания для этого нужны?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Django, NumPy, Scrapy

    Перечислены 3 библиотеки которые имеют очень разное назначение. У них пожалуй общее - это язык разработки.
    А предметная область настолько разная что копать все 3 сразу не имеет смысла. Тоесть это похоже на желание
    знать сразу квантовую физику, физику тепла и физику радиопредающихз устройств. Вы будете
    распыляться и выгорите раньше чем добъетесь успеха. А заниматься надо тем что есть в вакансиях
    в вашем городе.
    Ответ написан
    3 комментария
  • Как сделать выборку ещё не связанных записей?

    mayton2019
    @mayton2019
    Bigdata Engineer
    OUTER JOIN позволяет выбрать даже те записи которые не сджойнились слева или справа.
    В таком случае левая или правая таблица заполняется NULL значениями но все ключи
    присуствуют в результирующей выборке.
    Ответ написан