• Как нарисовать кривую Серпинского (см. ниже), не используя графические библиотеки, а '*' или слешы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Самый простой путь - рисовать эту картинку внутри матрицы (растр).
    А потом перевести элементы этой матрицы в псевдографику https://en.wikipedia.org/wiki/Box-drawing_character

    Но я тебе это не советую, потому что выглядит как сильно грубое разрешение.

    Рисование слешами или зведочками возможно. Но это ASCII art. Иногда выглядит красиво
    а иногда вообще нечитабельно.
    Ответ написан
    4 комментария
  • Как влияют инфракрасные обогреватели на ПК и оргтехнику?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Эти обогреватели греют в прямом направлении освещения. Тоесть если у вас техника стоит допустим
    под столом (системники) то ничего они не почувствуют.

    Вообще UFO обогреватели это очень временное решение и их ставят чтоб согреть людям спины.
    Ставить их стационарно в офис нет смысла. Маслянные оборгеватели будут эффективнее.
    Ответ написан
    2 комментария
  • Решил сделать свой пет-проект - игру, с использованием вебсоккетов, как лучше организовать неткод?

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

    Можно на сервер передавать твои клавиатурные нажатия. С высоким приоритетом. Сервер будет интерполировать
    и создавать свою модель мира попутно проверяя тебя чтоб ты там не сильно телепортировался далеко.

    И все игроки тоже должны получать координаты всех. Как-бы рассылкой.

    Кстати подумай над UDP. Понятное дело что в рамках websocket у тебя диапазон возможностей будет
    ограничен тем что дано. Но мне кажется что производительный игровой сервак должен делать TCP
    как-бы обязательной частью протокола. И далее если клиент поддерживает (провайдер пускает)
    то можно договориться (negotiation) на уровне софта о дополнительной рассылке по UDP каких
    то не шибко важных событий игрового мира.
    Ответ написан
    2 комментария
  • Почему после ассемблера учить Си легче?

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

    Но мне в общем кажется странным такая хронология изучения. Какой ВУЗ такое дает? Если вы до этого
    случайно знали Ассемблер - то это удивительный и исключительный факт. Насколько я знаю даже
    безопасники и системотехники не очень изучают asm. Я-бы сказал факультативно.
    Ответ написан
    Комментировать
  • Как подключать внешний 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:
    Ответ написан
    Комментировать