Задать вопрос
  • Как правильно разрабатывать гибкую клиент серверную архитектуру и делать клиент серверные игры на Godot?

    mayton2019
    @mayton2019
    Bigdata Engineer
    По игровым технологиям тут нечего добавить. Все выглядит вполне себе норм.

    По поводу Mongo. Я-бы предложил ее заменить на что-то другое. Монга хороша для проектов
    где изначально не известна схема документа и надо грузить все что есть и как есть.
    При этом через некоторое время есть риск получить просто свалку документов где никто
    не знает схему данных. Или будет несколько параллельно живущих вариантов схем что
    само по себе не лучше.

    Если вы точно знаете схему (вы разрабатываете игру и весь игровой мир, инвентарь и локации)
    то вы точно знаете что у вас будет где лежать. Вообще для игр лучше брать любую key-value
    для которой есть API/ABI. Они все подходят.
    Ответ написан
  • Существуют ли технологии блокировки записи с экрана в веб-технологиях?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Заблочить запись экрана технически невозможно. До тех пор пока пользователь глазами видит
    содержание - его все таки можно записать. Продаются устройства для HDMI видеозахвата.
    Геймеры часто их используют для записи своих "шедевров" прохождений и прочее.
    Ответ написан
    Комментировать
  • Как понять, что никто не пользуется моей Таблицей в данный момент?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Возможно где-то открыт второй браузер или вкладка.
    Ответ написан
    Комментировать
  • Как ускорить UPDATE MySQL?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Проверте что построен индекс по полю time_last_login
    Ответ написан
  • Может ли выйти из строя компьютер?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Отвертка - это инструмент специалиста. В быту - надо пользоваться корпусом и кнопкой.
    Для этого кнопки специально и создавались. Тыкая отверткой в пины и промахиваясь, обычный пользователь
    со временем повредит лак и поверхность платы и внешний вид будет затертый
    и риски получить трещины и повреждения будут выше.
    Ответ написан
    Комментировать
  • Как выполнить поиск по зашифрованому контенту?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Поисковой индекс можно также шифровать как и контент.

    Современные базы данных поддерживают симметричное шифрование.
    Есть технологии для шифрования целых дисков (Veracrypt, Bitlocker).
    Ответ написан
  • Вывод битых символов кириллицы в консоли?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Автор покажи что у тебя показывает
    chcp
    или
    echo $LANG
    И проверь что кодовая страница текстового файла совпадает с ожидаемым.
    Вобщем это скорее всего и будет ответ на твой вопрос.
    Ответ написан
  • Почему экраны имеют разрешения не кратны степени 2? Почему 1080, а 1024, если вместо умножения на 1080, можно сдвинуть 10 байт?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я думаю что причин две.

    Первое - это медленный рост быстрой оперативной памяти для видяшек.
    Trident 512k была кажется у меня второй видяшкой. И цифры в конце пишут сколько было
    у нее на борту. Вот. И чтобы удвоить разрешение по двум осям - память нужно умножить на 4.
    Я думаю что на то время (1997 кажется) это было технически не возможно. Или дорого.

    Вторая причина - ЭЛТ мониторы. У них разрашение было низкое. В топике
    выше правильно писали - что это были почти телевизоры. И типичный телевизор 90х
    (по стандарту Secam) имел заявленное число строк 625 а по горизонтали - там... сложно было точно посчитать.
    Аналоговый сигнал ибо. А типичный монитор (у меня Samsung) был с заявленным разрешением в
    паспорте 1024х768 пикселов но в этом режиме он как-то натужно работал и мерцал и
    я чаще его использовал в 800х600 - там с кадрами было как-то для глаз приятнее.

    Тоесть техника того времени не могла себе позволить скачкообразно поднять в 2 раза
    разрешение (железная матрица внутри ЭЛТ) и техника не могла учетверить память на видяшках.

    Уже в эпоху 4К и 8К мы наблюдаем рост разрешения но при этом оно тоже не удваивается
    а просто умножается на коэффициентик. И это правильно потому что домашняя сеть
    тоже не может поднять траф 4х чтобы вы смотрели спорт каналы в ультра-ХД или как-там его.
    Ответ написан
    Комментировать
  • Почему возникает ошибка: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: Index -1 out of bounds for length 3?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Ты думал что это функция которая исполняется каждый раз?

    boolean y = x>=0;

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тебя может ожидать неудача. Во первых mp4 это не звуковой файл а контейнер. Тоесть надо смотреть
    что у него внути. Это шаг первый. Допустим внутри находится mp3. Во вторых длина mp3 семпла или
    чанка не знаю как он называется может быть вообще не кратной секунде (например 28 милисекунд)
    и ты не выровняешь эти чанки строго под 10 с. В третьих тебе надо еще надо смиксовать видео
    и аудио дорожки снова. Еще одна проблема. Вобщем странное желание и лучше от него избавиться.
    Не всегда такой перфекционизм нужен.

    Как в анекдоте про уролога.
    Ответ написан
  • Как автоматизировать процесс установки программ на 1000 компьютерв?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Лет 20 назад делали так. Создавали 1 эталонную машину. Потом с помощью Acronis копировали ее образ
    диска. И потом сисадми с DVD или с флешки ставил этот образ на все машины. Финальный шаг - перебивал
    ключи лицензии.

    Не знаю работает ли такой трюк сейчас но в игровых клубах и под Windows-XP это вполне себе работало.
    Ответ написан
  • Как работает информационная розетка?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Посмотри на то как к тебе заходит интернет в дом. Это может быть коаксиальный ТВ кабель
    с модемом. С другой стороны - розетка RJ45. Или сразу в дом заходит витая пара с таким-же
    RJ45 (только не розетка а коннектор). Удлини ее закрепи на стене.

    А вообще лучше обращаться к провайдеру. У него есть и специалисты и инструмент.
    Самостоятельно ... боков напорешь.. Перепутаешь с другой розеткой...
    Ответ написан
    Комментировать
  • Как называется подпрограмма внутри массива?

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

    Посмотри среди структурных шаблонов проектирования
    https://refactoring.guru/ru/design-patterns/struct...

    Но не всякая фантазия должна иметь свое название в каталоге науки.
    Ответ написан
    Комментировать
  • Как в numpy максимально быстро изменить структуру данных в массиве?

    mayton2019
    @mayton2019
    Bigdata Engineer
    CUDA это хорошо. Вот еще Питончик. Прошу прощения за scala-style. Рука машинально typetags пишет...
    from PIL import Image
    import numpy as np
    
    img : PIL.PngImagePlugin.PngImageFile = Image.open("pic-001.png")
    
    if img.mode != 'RGB':
      img = img.convert('RGB')
    
    img_data : np.ndarray = np.array(img)
    
    width : int  = img_data.shape[0]
    height : int = img_data.shape[1]
    
    dest_data : np.ndarray = np.zeros((width, height), dtype=np.uint32)
    
    for y in range(0, height):
      for x in range(0, width):
        pixel : np.ndarray = img_data[x,y]
        color : int = pixel[0] << 16 + pixel[1] << 8 + pixel[2]
        dest_data[x,y] = color
    Ответ написан
    Комментировать
  • Как разогнать процессор на ноутбуке с линукс?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Добро пожаловать в мир зеленой повестки и тотальной экономии ресурсов.
    Все ноутбуки можно снабжать приставкой *ЭКО. Они - троттлят. Они имеют
    слабый резерв по радиатору. Они - исторически не создавались для вычислительных
    задач. И ничего вы здесь не зделаете. Максимум - вы можете разобрать их. Достать
    материнку - и собрать из нее десктоп с водяным охлаждением.

    Если у вас вычисления - купите себе нормальный десктоп.
    Ответ написан
    3 комментария
  • Есть ли языки/нотации для записи бизнес-логики?

    mayton2019
    @mayton2019
    Bigdata Engineer
    "x + y < z"

    То что вы хотите - это не язык бизнес-логики а обычная блок-схема алгоритма или
    диаграмма использования.

    Формализировать/Унифицировать запись

    Вы должны задать себе вопрос для кого это делается. Кто будут те люди, которые обязаны
    будут по должностной читать эти вещи. Соберите с них фидбеки. Я вообще не уверен
    что у них с этим проблема. Может они вам скажут что им такое не надо и проблема в другом.

    Посмотрите еще графический стандарт BPML (Business Process Modeling Language).
    Посмотрите также обычные Activity Diagram, Use-Case Diagrams из рисовалок UML.
    Ответ написан
    2 комментария
  • Может ли python конфликтовать с amd?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Предположительно у тебя минорные версии Питона и библиотек прыгнули вверх после переустановки.

    Для стабилизации environment в питонах есть 2 инструмента.
    - conda https://anaconda.org/anaconda/conda
    - venv https://python.land/virtual-environments/virtualenv

    Оба хорошие. Воспользуйся ими.
    Ответ написан
  • Можно ли использовать в wasm загрузку dll библиотеки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Здесь перечислены языки, которые могут являться источниками кода для WebAssembly

    https://webassembly.org/getting-started/developers...

    и вашего кейса среди них нету.
    Ответ написан
  • Как обработать sql-дамп bash-скриптом[sed,awk]?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Дружище. Тебе не надо этот дамп обрабатывать. Загрузи его в любую БД (SQLite, postgres) и там одной
    командой сделай нужное отбеливание.

    Игры с sed/awk обычное не нужны при работе с БД. Достаточно самой БД.

    Исключение может быть только в том случае если ты делаешь лабу и преподаватель тебе
    специально назначил такие ограничения. Типа изучаем консоль линукс и обработку текста.
    Ответ написан
    1 комментарий
  • Какие БД используют крупнейшие торговые сети для хранения заказов?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я полагаю, что такие магазины сохраняют всё, например в postgres или greenplum, а затем передают в аналитические базы (или пишут параллельно), типа в кликхаус или oracle?


    XX век прошел под флагом реляционных СУБД. Вокруг них строились все системы.
    Для любой банковской системы БД - абсолютная царица дизайна. Именно от нее шло
    техническое задание. От базы а не от Хибернейта и синтетических таблиц как щас.
    Таблицы любили. Вокруг них строили красивые теории. Модели. EAV. Подгоняли
    аппарат алгебры (Эдгар Кодд со своими формочками).

    В появлением NoSQL и стриминговых систем - пришлось всем признать что реляционка
    исчерпала возможность линейного роста. У Майкла Стоунбрейкера есть статья где
    он меряет БД под нагрузкой и доказывает что треть ресурсов CPU просто сгорает
    в блокировках и защелках и прочих механизмах синхронизации.

    Какой софт использует розничная торговля - сложно сказать. Там будет десяток систем которые
    работают просто всместе как Grid. Например сообщения от кассовых аппаратов и платежных
    систем могут в первую очередь падать в JMS/MQ систему. А уже потом процесситься и ложиться в
    БД операционного дня. И по проишествии периода - сливаться Warehouse и в BigData
    Есть еще вариант что в аналитику сразу попадают данные со стриминга. Я такое видел.
    И это не последняя часть стека. Аналитика в свою очередь является источником для всяких
    BI, витрин данных. ОЛАП-кубиков и прочее что любят смотреть и показывать на презентациях.
    С красивой инфографикой.

    Что использует Магнит - чорт его знает. Это можно поискать по всяким конференциям. Но само
    знание или название продуктов вам ни о чем не скажет. Если они используют допустим
    Kafka+Clickhouse - из этого не следует что вам это пригодится.

    Были странные архитектурные решения. Uber например пытался выжать максимальные мощности
    из Postgres и не смог. Перешел на MySQL. Видимо им было достаточно MyISAM и брали лишь
    только те фичи что надо.

    Facebook строил Rocksdb (Key-Value) с очень сильной оптимизацией по диску. Там уже было
    не R+Tree а другой тип дерева. Тоже видимо у конторы так "пригорело" что им надо было
    штучную NoSQL делать.

    СБЕР по слухам строил на Apache Ignite прослойку между Ораклом и клиентами потому что Оракл
    не справлялся с нагрузками. Впрочем я не могу это нигде доказать. Просто слышал в разговорах
    архитекторов. И это очень штучное и очень деликатоное решение. Другим оно может вообще не подойдет.
    Нужно много думать о механике инвалидации кешей.

    Хедж фонд BridgeWater строит свои хранилища ассетов на базе Amazon S3. Реально эти ребята пихают
    в С3 все что можно. И в этом есть своя стратегия. S3 стоит дешево. И масштабируется. Дешевле чем DBMS.

    Также, я думаю, что множество магазинов могут быть обслуживаться отдельными кластерами, чтобы работа всей сети не остановилась, если какая та БД выйдет из строя?

    Эту задачу тоже можно решать на разных уровнях. Мне нравится решение от Cassandra. Там все
    таблицы имеют 1-2 реплики. И убить всю систему в целом в принципе невозможно пока последний
    датацентр стоит. Но Кассандра платит за это отказом от consistency и вообще она считается не-реляционкой.
    Хотя базовый диалект SQL поддерживает. Фактически она - умный NoSQL c хорошим сетевым протоколом
    обхода сбоев и конфликтов. Кажется Netflix ее активно использует.

    Вобщем можно дизайнить системы по разному усиливая одни части и ослабляя другие.
    Это как тот треугольник дешево-медленно-дорого но в углах стоят разные качества. Например
    CAP-свойства систем. Или приоритеты. Тебе что важно. Быстро записать в БД платеж? Но при этом
    чтение оперативных данных потребует лагов. Или наоборот писать медленно зато чтоб все по ящичкам
    и по коробочкам лежало да и еще в разных копиях и вариациях.
    Ответ написан
    10 комментариев