Задать вопрос
  • Как подключать внешний SSD?

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если с другом хочестся "шпилить в контру" - то для этого ничего не нужно. Только кросс-овер ethernet кабель.

    А если строить сеть по правилам строительства сетей - то надо получить в свое распоряжение блок IP
    адресов. Выделить их своим клиентам. И подключиться в мировой стек мирового интернета.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если ты начинающий - то лучше написать работающее приложение. А архитектура должна быть мотивированной.
    Вот в книжках по шаблонам проектирования так и пишут дескыть motivation.

    А если на пустом hello world делать архитектуру - то оно выглядит как-то странно. И принцип KISS/Yagni
    никто не отменял. И бритву Оккама.
    Ответ написан
    2 комментария
  • Ошибка fasm ELF64 error: undefined symbol '_start', как мсправить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот тут опечатка.

    satrt:
    Ответ написан
    Комментировать
  • Как удалить символ разделителя из значений?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Люди разные в хабр приходят. И я сходу не могу понять уровень вашей подготовки. И от этого
    сильно зависит то какие советы вам давать. Вроде-бы у вас в вопросах мелькает MYSQL, тоесть
    вы по крайней мере вкурсе что это и SQL-запрос вас не испугает. Тут есть два варианта.

    1) Попробуйте загрузить этот CSV файл в MYSQL и далее командами UPDATE поубирать лишние символы
    в полях и потом обратно сохранить в CSV файл. Для этого есть коробочные технологии. Тут описано
    https://dev.mysql.com/doc/refman/8.1/en/mysqlimpor...

    2) Если за день-два не получится - то ищите программиста.
    Ответ написан
    Комментировать
  • Как хранить и обрабатывать отображение Id на адрес узла в кластере?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Смысл рафта в том чтобы выбрать лидера. Как только лидер выбран - можно пересылать всех
    клиентов на его IP адрес как в балансировщике. В этом случае все клиенты будут видеть единую
    табличку свойств. Как в зукипере.

    Больше в рафте никакого смысла нет.

    Поэтому безразлично к какому узлу подключается клиент.
    Ответ написан
    Комментировать
  • Windows: как нескольким процессам принимать данные с одного UDP порта?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Вот я так делал. Это работает под Linux. Только процесс который прослушивает UDP сокет
    должен подняться первым. А потом уже можно поднимать торрент клиент к примеру
    и они будуд разделять этот сокет. В обратном порядке - не сработает.
    sockfd = socket(AF_INET, SOCK_DGRAM, 0);
        if (sockfd < 0) {
            perror("Error creating socket");
            exit(1);
        }
    
        int reuse = 1;
    
        if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse)) < 0) {
            perror("Error setting socket option");
            exit(1);
        }
    
        server_addr.sin_family      = AF_INET;
        server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
        server_addr.sin_port        = htons(atoi(sin_port));
    
        if (bind(sockfd, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0) {
            perror("Error binding socket");
            exit(1);
        }
    Ответ написан
    Комментировать
  • Какую базу данных посоветуете для решения проблемы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну... SQLIte это простая DBMS, расчитанная на однопользовательскую работу и короткий тип
    транзакций (OLTP).

    Для много-пользовательской нужен посредник. Его можно называть connection pool или как будет
    угодно, но он должен быть в одном экземпляре чтобы эксклюзивно работать с БД с а с другой стороны
    предоставлять много-пользовательский доступ к самому себе. Тоесть к посреднику. Таким образом
    проблема уходит из SQLite и приходит в ваш язык программирования.

    Дальше я вопросительно смотрю на вас и жду что вы, автор расскажете о том что у вас за язык и как
    вы вообще программируете.
    Ответ написан
    3 комментария
  • Почему не выпускают процессоры на архитектуре виртуальной машины Java?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Ну... это противоречит идее Java. Платформа ведь создавалась чтобы быть общим знаменателем для десятков аппаратных платформ для встраиваемой бытовой техники. Такая была идея по крайней мере.

    И практика платформ показала что поменять софт в 1000 раз дешевле чем поменять оборудование.

    UPD: Вот вики описывает 6 попыток реализовать Java-процессор в железе
    https://en.wikipedia.org/wiki/Java_processor (3 исследовательских и 3 коммерческих продукта)
    надо читать и разбираться что они сделали.
    В каком статусе? Используется щас или нет?
    Ответ написан
    4 комментария
  • Какие ЯП предпочтительны для написания приложения + сайта для знакомств и почему именно они?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебе рано еще делать такие сайты. Попробуй пройди какие-то курсы веб-разработки.
    Сейчас советовать технологии нет смысла. Их очень много. Это будет целая матрица названий
    с разными свойствами и разной кривой обучения. Ты только запутаешся.

    Начни с изучения PHP/HTML/JavaScript. Потом у тебя появится видение того как делать.

    Подпишись на youtube каналы где технические лиды и архитекторы соц-сетей показывают
    свой стек технологий и рассказывают как они там оптимизировали и зачем. Для кругозора.
    Ответ написан
    3 комментария
  • Как в RabbitMQ обработать все сообщения а затем удалить очередь и закрыть соединение?

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

    Единственный разумный выход - если producer создает специальное сообщение-терминатор
    которое как-бы сигнализирует что все дескыть конец.
    Ответ написан
    Комментировать
  • Не выводится ничего в VS code на Java?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Скорее всего мелькает быстро и терминал закрывается. Попробуй так

    System.out.println("Whatsup?");
    System.in.read();
    Ответ написан
    Комментировать
  • Scratch задание Алгоритмика, как решить?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Насколько инфантилен стал программист. Чтоб заставить его думать - нужно показывать спецэффекты.
    Ответ написан
    Комментировать
  • Если в Linux операции с файлами в пределах потока блокирующие, то как тогда работают БД?

    mayton2019
    @mayton2019
    Bigdata Engineer
    как тогда работают БД?

    Пускай Ораклисты меня поправят но по моему DBMS Oracle не использует потоки. По крайней мере
    на уровне терминологии и документации все составные части Oracle - это процессы PMON, SMON, DBW...
    И пользовательские сессии тоже представлены процессами. По крайней мере отстрел пользовательских
    сессий через orakill / kill тоже привязан архитектуре процессов.

    или у БД своя файловая система?

    Да Oracle может использовать ФС ext3/4 например или работать поверх технологии ASM (это 2-в-1 и менеджер
    томов и кластерная ФС) но мне кажется что к сути вопроса это не относится.

    По старой памяти у меня в голове крутится параметр FILESYSTEMIO_OPTIONS, он отвечает за тип I/O
    операций которые DBMS будет использовать. Там кажется ASYNC, DIRECT и их комбинации. Вобщем
    почитай тоже по этому вопросу.
    Ответ написан
    Комментировать
  • FTP или BEGET? Спасите, что не так?

    mayton2019
    @mayton2019
    Bigdata Engineer
    К протоколу FTP данная проблема вообще не имеет отношения. Собственно он свою задачу выполнил.
    Трафик отдал. Но дисковое хранилище внезапно откатилось взад. У нас такое было когда мы покупали
    в одном банке RedHat виртуалки для работы программистов. И было такое что в течение дня ты работаешь.
    Не успел закоммитить. И на следующий день получаешь - "день сурка". Все файлы как будто вернулись во
    вчерашний день.

    Пишите письма в техподдержку BEGET. Прикладывайте скриношты и логи. FileZilla тут скорее всего не поможет
    т.к. она является таким-же ftp клиентом как и консольный ftp к примеру.

    Вы пишете что мучаетесь 3 года? Вот это терпение! За это время вы просто могли попробовать
    альтернативный хостинг в пилотном режиме и просто убедиться что проблема откатов файлов исчезла.

    В it так часто бывает. Иногда не стоит тратить миллиарды усилий на доказательство наличия бага.
    Можно просто поменять условия и баг исчезнет.

    Резко поменять. Еще резче. Вот такая вот она - инженерия современного It.
    Ответ написан
    2 комментария
  • Где хранить 1ТБ видео?

    mayton2019
    @mayton2019
    Bigdata Engineer
    К VPS можно подключить блочное хранилище. Если это у AWS или Azure то там даже есть разные
    тарифы и разные гарантии по скорости там и доступу.

    Вот один индюк хвастается https://www.youtube.com/watch?v=VnO3Lz7Qr0U
    как он ловко подключает себе к Амазонской EC2-шке одно блочное устройство.
    Вам только нужно выбрать магнитный драйв и подешевле. Если речь идет о фильмах то тут SSD не важен
    и обычный HDD норм пойдет.

    UPD:
    Ответ написан
    Комментировать
  • Как найти минимальный ограничивающий параллелепипед?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я не уверен что стоит вообще искать идеальное решение. Особенно для 800 точек. Задача
    пахнет комбинаторной со всеми вытекающими.

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

    Для малого числа точек (8) можно построить выпуклую оболочку. И попробовать прикладывать
    первую грань параллелепипеда к каждой грани выпуклой оболочки. А оставшиеся грани мы можем
    получить вращением параллелепипеда до тех пор пока bounding volume не будет минимален.
    Учитывая дискретность выпуклой оболочки, поворот тоже может быть дискретным. Например там
    проверить штук 20 углов. Вот как-то так.
    Ответ написан
    2 комментария
  • Как написать свой сериализатор/десериализатор Java?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я вот так делал. Работает быстрее чем стандартная сериализация. Но есть задача.
    Ты сам должен реализовать сохранение всех полей класса во внешний файл
    (ObjectOutput). Можно через операции над байтами.

    Еще сложнее реализовать чтение. Т.к. нужно различать неинициализированные
    состояния полей. Например у студанта есть дата рождения но имя еще не задано.
    Тоесть надо придумать как в файл писать признак null для поля name.

    public class Student implements Externalizable {
        
        private String name;
        private LocalDate birthday;
    
        @Override
        public void writeExternal(ObjectOutput out) throws IOException {
            // TODO:
        }
    
        @Override
        public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
            // TODO:
        }
    }


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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как в такой схеме реализуются связи?

    Обычно в игровой логике избегают использования SQL систем из-за unpredictable времени
    отклика. Тоесть если в финансовой системе вы можете подождать секунд 5 или минутку
    обработки транзакций то внутри игры игрок быстро заскучает и выйдет из игры.

    Поэтому в играх обычно используют NoSQL системы (наподобие RocksDb, Cassandra)
    но в них доступ идет только по ключу. Key-Value и никакие JOINS не работают.

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

    Поэтому твой вопрос по сути - это квест. Типа пойдешь на право - перформанс потреяшь
    или пойдешь налево - вырастет денормализация и аномалии в БД.
    Ответ написан
  • Как в переменную окружения CLASSPATH добавить сторонние классы?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    В каждой ide есть свои способы подключения артифактов. Я чаще использовал maven-based project.
    И чтоб добавить кастомную зависимость я ее устанавливал в локальный maven folder.

    $ mvn install:install-file ....

    И после этого библиотека была видна как group:artifact:version coordinates.
    Ответ написан
    3 комментария