Ответы пользователя по тегу Веб-разработка
  • Как эффективно хранить canvas попискельно в БД с последующим отображением?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    Я сделал бы несколько иначе, сохранял в бд примерное следующее:

    1. кто, когда и как рисовал
    userID - идентификатор пользователя
    timeStamp - временная метка
    point - координата мышки

    2. информация о смене инструмента рисования (кисточки) и настроек инструмента
    userID - идентификатор пользователя
    timeStamp - временная метка
    toolType - тип инструмента (кисточки)
    toolSettings - JSON строка с параметрами инструмента(цвет, размер и т.д.) (у разных кисточек могут быть свои, уникальные наборы параметров, поэтому систематизировать не выйдет, и поэтому JSON строка)

    Имея такие записи в 2-х таблицах получим:
    - в большинстве случаев гораздо меньший объем сохраняемой информации
    - возможность undo как для своих действий, так и для действий других пользователей
    - возможность в последствии отобразить не только результат совместного творчества, но и сам процесс
    - возможность отключать на холсте с результатом как художества отдельных пользователей так и результат применения отдельных инструментов

    ЗЫ: от себя добавлю, что для этой задачи в том виде как ее описал я больше подойдут noSQL базы, в которых можно будет обойтись одной коллекцией и несколькими типами записей:

    1. запись о смене инструмента
    {"action": "changeTool",  userID: "xxxxxxx",  timeStamp: 0000000000000, toolType:"pen"}


    2. запись об изменении параметров инструмента
    {"action": "changeToolSettings",  userID: "xxxxxxx",  timeStamp: 0000000000000, setings: {
        тут у каждого инструмента что-то свое, общими наверно будут только цвет и размер
    }}


    3. запись об пути мазюкания инструментом
    {"action": "path",  userID: "xxxxxxx", path:[
        {timeStamp: 0000000000000, "x": 0, "y": 0},
        {timeStamp: 0000000000000, "x": 0, "y": 0},
        {timeStamp: 0000000000000, "x": 0, "y": 0},
        {timeStamp: 0000000000000, "x": 0, "y": 0},
        ....
    ]}
    Ответ написан
  • Как скачать озвучку со страницы?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    gogle chrome -> F12 -> а затем как на картинке
    6105d6a3a64e3799731104.png

    Если же хочется автоматизации, то качаете утилиту wget и затем с ее помощью качаете сайт целиком. Для этого используете команду:
    wget -r -k -l 7 -p -E -nc https://wooordhunt.ru/
    после выполнения которой (скачка займет весьма много времени) у вас будет локальная копия сайта в папке wooordhunt.ru. А в папке wooordhunt.ru/data/sound/ будет лежать озвучка всех слов встречающихся на сайте
    Ответ написан
    7 комментариев
  • Как можно защитить верстку?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    Вот еще вариант. запускаете сайт локально, и через тимвювер или аналоги предоставляете доступ к рабочему столу.
    Ответ написан
    7 комментариев
  • Как запретить кеширование данных, полученных через API?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    можно сделать многоразовый токен с ограниченным сроком действия скажем в минуту, выдавайте его по запросу авторов, обновляйте его если страница с авторами открыта раз в минуту, при запросе книг автора - передавайте этот токен и проверяйте его на действительность
    Ответ написан
  • Как сохранять изменения при перезагрузке страницы (vanilla JS)?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    можно хранить состояние в локалсторадже, вот пример для хранения состояния чекбоксов.


    По аналогии так можно хранить состояние чего угодно.

    Так-же можно хранить состояние в:
    1. IndexedDB
    2. В БД на своем сервере.
    3. В онлайн сервисах типа firebase
    4. В Cookie (если не очень много)
    5. Можно даже хранить состояние в таких сервисах как Pastebin, или любых других, позволяющих запостить сообщение/залить файл для длительного хранения без ввода капчи, но это уже изврат))))
    Ответ написан
    5 комментариев
  • Вопрос по html?

    lastuniverse
    @lastuniverse
    Всегда вокруг да около IT тем
    Да, можете. Решение сильно зависит от используемого веб сервера. Например, если вы используете node.js с express.js то вы можете в роутере или обработчике смотреть запрос, и если он заканчивается на /site определять нужный файл по остальной части пути и отдавать его в ответ на запрос. Но должен вас предупредить, что такое решение не является нормальной практикой, и в последствии может создать ряд проблем.
    Ответ написан
    1 комментарий