• Нужно ли делать таблицу для ролей с foreign key или простое переназначение по string?

    delphinpro
    @delphinpro
    frontend developer
    Разве не проще и отпимизированее просто перезаписывать колонку в таблице юзеров с ролями?

    В этом случае у юзера может быть только одна роль. Если для вашей системы этого достаточно, то ок.
    Но иногда пользователи могут иметь несколько ролей. А у каждой роли могут быть свои наборы разрешений. Тогда заводят несколько таблиц
    users
    roles
    permissions
    role_user
    permission_role
    permission_user (опционально)

    Между ними настраивают соответствующие связи, как на уровне БД для сохранения целостности данных (FK), так и на уровне приложения (отношения many-to-many) для манипуляции этими сущностями.
    Для оптимизации набор разрешений для ролей и пользователей может кэшироваться.

    Для дополнительной информации гуглите про контроль доступа на основе ролей (RBAC).
    Ответ написан
    1 комментарий
  • Как реализовать синхронный просмотр видео с возможностью поставить на паузу один кадр для всех зрителей?

    ddv88
    @ddv88
    Binance Futures
    Очевидно управление плеером через сокеты, а не через события в интерфейсе.
    Вот от этого начинай плясать https://github.com/socketio/socket.io
    Ответ написан
    Комментировать
  • Как жить начинающему ui/ux дизайнеру?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    ВОДА: Так как дизайн как таковой не имеет четкого разделения по критерию знаний, которые можно легко проверить на собеседовании, основной упор при найме строится на опыте и портфолио (что не так важно для тех же программистов или девопс). Плюс в вашем случае вы ищете удаленную работу, при абсолютном отсутствии опыта, причем это касается не столько именно дизайна, сколько работы в команде, что еще сильнее сужает возможность выбора вас как кандидата. С вами просто гораздо сложнее работать, так как условный вася, с абсолютно такими же скилами, но сидящий в офисе, и учится в разы быстрее и фидбэк получает мгновенно, а не 2 раза в неделю, когда тимлид просматривает кто чего сделал и раздает плюшки и плюхи.

    СУТЬ: Есть два стула варианта, и оба они... ну, не супер, имхо.
    1) Фигачить на фрилансе за репу, пока портфолио не будет выглядеть как у спеца с серьезным опытом, то есть 20-30 серьезных работ, время за работой +- год-два, тогда можно пробовать удаленку искать с бОльшим шансом на успех. Так же можно попробовать влиться в галеру на фриланс бирже, денег не много, зато опыт обычно качается достаточно быстро, единственный минус - много е*ут и мало платят.
    2) Устроиться в любую оффлайн контору, и вообще то это самый надежный способ. Понимаю что не в каждой локации это реально, но даже если в городе 1 компания, надо пробовать устроиться туда, опыт оффлан работы сравнивать просто не с чем, это +200% буст в росте скила и профитная запись в резюме. Если контор 2-3 идеально поработать во всех, так как разнообразие подхода к работе в разных конторах никто не отменял. Как вариант со звездочкой - релокэйт в более обитаемые места и устройство на работу там. Студенчество перевести в заочку и фигачить в крупном населенном пункте - тоже профитный путь.

    В целом, задача получить удаленку в текущих реалиях тоже может сработать, но профита с нее меньше. Продолжайте слать резюме, и не игнорируйте объявления где ищут сеньеров/мидов, вполне возможно что раз они ищут спецов, вы тоже где-нибудь сбоку пригодитесь. Сразу пишите в каких областях вы не тянете и что умеете, и пишите что готовы на работу стажером. Возможно сработает, многие завышают требования в вакансиях, ну чисто потому что гладиолус.
    Ответ написан
    1 комментарий
  • Как сделать так, чтобы Grid сетка занимала высоту элемента?

    Ankhena
    @Ankhena Куратор тега CSS
    Нежно люблю верстку
    align-self: start;
    либо
    align-items: start;



    Но если контента в правом столбце будет больше, чем в левом, то нужно добавить еще один налево.
    Вот так
    Ответ написан
    4 комментария
  • Экранирование специальных символов внутри регулярного выражения для javascript?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Для регекспа генерируемого из строки можно делать так:
    strRegexp = strRegexp.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
    Ответ написан
    Комментировать
  • Экранирование специальных символов внутри регулярного выражения для javascript?

    function escapeRegExp(string){
      return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
    }

    https://developer.mozilla.org/en/docs/Web/JavaScri...
    Ответ написан
    Комментировать