Задать вопрос
  • Как реализовать UML диаграмму для javaScript?

    mayton2019
    @mayton2019
    Bigdata Engineer
    моей игре нет классов, а компонент всего один. Как для необъектового javascript кода создать наглядную диаграмму, которая по смыслу будет чем то похоже на UML, или как вообще можно наглядно показать структуру кода схематично?


    Отсуствие классов в современном коде - это нормально. Мы живем в эпоху мульти-парадигменности когда языки не обязаны декларировать классы а могут начинаться с функций. А вместо сущностей использовать анонимные классы (tuples) или кортежи как наборы полей в передаваемых параметрах и просто массивы примитивов.

    Отсутствие UML диаграмм в проекте - это тоже нормально. Я редко встречал проекты покрытые документацией именно в части чертежей, блок-схем всяких драконов и прочих ГОСТов. Более того. Современный ритм разработки и техники Scrum/Agile говорят что рабочий код важнее чем документация. Я с этим до конца не согласен но так оно есть в нашей реальности.

    Чтобы помочь тебе в твоем вопросе - надо посмотреть код. В игре (2д) всегда есть двумерные координаты (Positions), или всякие геометрические фигуры (Bounding Box, Rectangles), ресурсы (картинки и звуки) и их можно описать через классы. Это потребует некоторой переделки твоего кода. Но возможно после этой переделки твой код станет читабельнее.

    P.S. UML диаграмм на самом деле очень много. Там не только классы и компоненты. Есть еще очень полезные диаграммы последовательностей (sequence). Конечные автоматы. Реляционные диаграммы (БД). Схемы деплоймента и прочее.
    Ответ написан
    Комментировать
  • Общий доступ к данным хранимым в MySql?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Если говорить о pet-проектах то нагрузка там маленькая. MySQL можно поднимать локально или в локальном докере.

    Реальная потребность во внешнем хостинге обычно идет от реальных задач. Тоесть от задач которые приносят деньги. И поэтому обсуждать бесплатные хостинги с негарантированной полосой - нет смысла. Они все равно будут хуже чем платные. Это мой опыт работы с Amazon. Все бесплатное - нихрена не работает. Не поддерживается. А если ищете поддержки - начинайте платить.
    Ответ написан
    Комментировать
  • Как удалить в notepad++ определённые вещи?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Не надо ничего в Nodepad делать. Загрузи это в базу и как-раз
    7 и 8 колонки будут хранить то что тебе надо.
    Далее - экспортируй в текст.
    Ответ написан
  • Как добавить текстовый документ в формате .doc в репозиторий git?

    mayton2019
    @mayton2019
    Bigdata Engineer
    git скорее всего рассматривает doc-формат как бинарный файл. Поэтому трекинг текстовых изменений
    скорее всего не будет поддерживаться. В этом смысле doc будет как dll файл или картинка.

    Но если отказаться от Word и использовать github markup language или какие-то другие языки разметки (Confluence) то можно свести эту задачу к трекингку markup-изменений.
    Ответ написан
    Комментировать
  • Как отменить запрос пароля в Ubuntu?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Все что пишут выше по поводу безопасности - правда. Есть best practices и им надо следовать.

    Когда мне надо сделать какие-то действия от суперпользователя и многократно - я запукаю bash
    $ sudo bash
    и работаю сколько надо. Потом только главное не забыть закрыть эту консоль. И промпт еще стоит
    поменять так чтоб различать несколько терминалок.
    export PS1="root> "
    Ответ написан
    3 комментария
  • Какова синтаксическая ошибка MySQL?

    mayton2019
    @mayton2019 Куратор тега Java
    Bigdata Engineer
    Наверное не value а values
    INSERT INTO books (title, author, price, quantity) values
    Ответ написан
  • Как исправить ошибку упаковки в UE4 unkown error?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут - какие-то стремные буквы.
    C:\Users\etuhv\OneDrive\�"�?��?�?��?�'�<\Unreal Projects\Kiwis_Toy_Store\Intermediate\Build\Win64\Kiwis_Toy_Store\Shipping\Core\SharedPCH.Core.h.pch

    Может кодировка кривая. Переименуй в латиницу.
    Ответ написан
  • Как реализовать поиск в postgresql с Sequelize, в котором будет поиск в ячейке по словам в различном порядке?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Нужно найти такие строки, в которых будет и 'one' и 'two', не зависимо от порядка

    Это задача на full text search. Начни читать отсюда

    https://www.postgresql.org/docs/current/textsearch...
    Ответ написан
    Комментировать
  • Как починить решение капчи?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Обычно при работе с распознаванием картинок не используют точное равенство пикселов. Картинка может
    быть отрегулирована по яркость/контраст/гамма. И это сбивает такие компараторы.

    А цвета сравнивают по цветовой дистанции. Тоесть насколько далеко один цвет отстоит от другого в цветовом кубе
    например. Функция какого-то такого вида

    def colorDistance(r1,g1,b1, r2,g2,b2) -> int :
       return .....


    Для сравнения картинки с картинкой можно использовать аналогичный прицнип. Скалярное произведение
    всех пикселов. Вот. И сравнить с известными образцами. В теории это можно назвать однослойным нейроном
    (или 0-слойным) в зависимости от определений.
    Ответ написан
    1 комментарий
  • Работа с рисованием в Qt. Почему не получается рисовать после оператора if?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Тут может быть две разные проблемы. Может чек-боксики не работают. Попробуй так. Будет рисоваться?
    painter.setPen(....);
    painter.drawRect(10,10,200,200);
    painter.drawLine(0,0,200,200);

    Или стиль рисования линии такой невидимый что ее не видно.
    Ответ написан
  • При завершении работы экран ноутбука выключается, а система работает и начинает нагружаться. В чём причина?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Посмотри в системных логах операционки. За момент до shutdown он что-то пытается завершить и не может скорее всего.
    Ответ написан
    4 комментария
  • Как лучше хранить журнал в долгосрочной перспективе?

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

    Техническая часть. Очевидно что нужна еще одна таблица. С датой аудита. С реквизитами пользователя который делал бизнес-операцию. И две версии данных. "До" и "после" изменения. Данные можно хранить в денормализованном формате (XML или Json) для простоты схемы.
    Ответ написан
    4 комментария
  • Какова надёжность хеширования в "открытой" среде?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Меня интересует насколько быстро будет "взломан" пароль "My_sUper passw0rd", хешированный с помощью одного из алгоритмов доступных в PHP (sha512, ripemd320, whirlpool, tiger192,4 и haval256,5)


    Можно консультроваться с популярными базами Rainbow Tables просто на предмет того поддерживается
    ли нужный тип хеша и какова максимальная длинна ключа. Вот для 9-символьного ключа SHA1 нужно качать
    690 Gb базу alpha-numeric хешей а для вашего 17 символьного скорее всего таких таблиц не существует.

    И это все работает для без-солевого пароля. Если вы изначально в вашей системе добавляли SALT к каждому
    паролю - то это делает применение сгенерированных таблица невозможным.

    Тоесть хорошая рекомендация в наше время - делать волшебное слово длинее чем 12 символов. И построение
    фразы должно быть таким чтобы поиск по справочникам был тоже бесполезен. Ваш ключ также содержит
    пробел и это делает применение алфавита alpha-numeric тоже бесполезным. Нужно альфа-нумерик + space.
    А таких таблиц я не видел.
    Ответ написан
    Комментировать
  • Arduino в python какие плюсы и минусы?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Смотря какие задачи ставить. Обычно для написания прототипов программ (POC, MVP) или просто для
    теста какой-то технологии Python очень выгодно подходит. Пока джависты и дот-нетчики раскачиваются
    и обдумывают типы и шаблоны разработки - питонщик может быстро слепить что-то работающее.
    Ответ написан
    2 комментария
  • Насколько актуально наличие двух ОС на одном ПК в целях безопасности?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Условно, если я вдруг подцеплю вирус на винде, сможет ли он проникнуть на вторую ОС (линукс)?

    Если ты не будешь монтировать линуксовые разделы под Windows - то вирус их не увидит.

    Здесь можно еще долго спорить на тему какие умные вирусы бывают но с моей точки зрения вирусы
    бьют сразу в слабое место (шифруют файлы и поселяют майнеров и троянов) и не заморачиваются
    поиском скрытых partitions.

    Твой сценарий на самом деле не очень понятен. Если просто хочешь работать в Линуксе - то и работай.
    А так - придумал себе лишних хлопот.
    Ответ написан
    3 комментария
  • Внешний диск нужно периодически подключать для сохранности информации?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Батя в юности увлекался радиолюбительством. Остался от увлечения катушечный мафон. Юпитер называется. Там такая процедура была - периодически надо было катушки перематывать с одной сторны в другую. Это чтоб предотвратить эффет намагничивания соседних витков ленты на соседние. Эффект проявлялся в виде такого эха или опережающего звука.

    Но слава богу для HDD ничего такого делать не надо. Ну я вообще не знаю таких требований. Для лент стриммера - ХЗ вроде тоже ничего не надо. Там только есть пожелание хранить в сейфе в темноте в прохладном влажном воздухе. Производитель гарантирует там до 15 лет. Вообще стриммерная кассета - рекорды бъет по гарантируемым параметрам. Ни компакт диск ни флешка пока тами не могут похвастаться.

    Насчет SDD. Я думаю смысл тут какой-то есть. Тут надо конечно копать в технологию. Там их целый список.
    Но все на полевых транзисторах как на ячейках памяти. Транзистор - штука аналоговая. Никаких единичек
    и нулей не умеет. Умет регулировать затвор. Как кран крутить на трубе. Сильнее-слабее.
    Если состояние полевого транзистора со временем уплывает куда-то в сторону - то ему нужна регенерация.
    Надо его считать и снова записать то аналоговое значение которое соотвествует цифровому. Например для
    000 - три битика будет соответсоввать одно а для 111 - другое. Короче 8 уровней получается.

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

    mayton2019
    @mayton2019
    Bigdata Engineer
    Как всегда автор не указывает тип DBMS. В некоторых есть такой либеральный синтаксис что
    можно просто писать

    Oracle:
    SELECT * FROM tab1, tab2
    и это будет фактически работать как cross join. А в некоторых надо явно писать.

    SQL-92
    SELECT * FROM tab1 CROSS JOIN tab2
    Ответ написан
    1 комментарий
  • Контрольные хеш суммы и zip архив из одинаковой папки?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Там похоже дата создания файла сохраняется.

    $ unzip -l -v opengl.zip  | head
    Archive:  opengl.zip
     Length   Method    Size  Cmpr    Date    Time   CRC-32   Name
    --------  ------  ------- ---- ---------- ----- --------  ----
    13049256  Stored 13049256   0% 2005-05-18 17:19 a814c96e  OpenGL/AdbeRdr602_rus.exe
          42  Stored       42   0% 2004-05-04 03:00 9dd0d91b  OpenGL/Autorun.inf
           0  Stored        0   0% 2006-02-03 18:02 00000000  OpenGL/Catalog/
           0  Stored        0   0% 2006-02-03 18:04 00000000  OpenGL/Catalog/1070801/
        4242  Stored     4242   0% 2005-12-07 16:05 c1c0e4a3  OpenGL/Catalog/1070801/index.htm
      162399  Stored   162399   0% 2005-12-07 16:09 fcb2cedb  OpenGL/Catalog/search.html

    Проверь какие у тебя даты.
    Ответ написан
    Комментировать
  • Как создать массив из типов данных в си?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Для того чтобы это работало в духе ООП, все типы должны иметь базовый тип.

    Для функциональщины - нужно иметь абстрактный тип Any и коллекции типов которые - суть
    подтипы Any. И функцию с pattern matching которая просто кастомизирует size() и прочие
    функции. Короче почти ручная работа.

    Задача интересная и мне кажется что она реально не решаемая в рамках чистого языка С.
    Но если использовать кодо-генерацию (транспилляцию) то можно просто как-то автоматизировать создание
    такой логики. Но будет ли это языком С или вообще чем-то другим - большой вопрос.
    Ответ написан
    Комментировать