• Не отключается питание ноутбука, в чем может быть проблема?

    kostia256
    @kostia256 Автор вопроса
    В общем откатился до ядра 4.14.
    Тестил ядра 4.19, 5.4, 5.6, 5.7, на них отключение питания не рабоает =(
    Ответ написан
    Комментировать
  • Как написать запрос к таблице с внутренней связью?

    kostia256
    @kostia256
    id;name;parent
    1;alex;0
    2;mary;1
    3;alice;1
    4;hoover;2

    Преобразуйте в 2 таблицы вида:
    id;name
    1;alex
    2;mary
    3;alice
    4;hoover

    parent_id;element_id
    1;2
    1;3
    1;4
    2;4


    Список всех родителей для элемента 4:
    SELECT * FROM `people` WHERE `id` IN (SELECT `parent_id` FROM `people_tree` WHERE `element_id` = 4)

    Список всех детей для элемента 1:
    SELECT * FROM `people` WHERE `id` IN (SELECT `element_id` FROM `people_tree` WHERE `parent_id` = 1)


    Для удобства можно добавить к таблице `people` поля level и position, и получать детей либо родителей на любое количество уровней вложенности. А position для позиционирования элементов на каждом уровне для каждого родителя.
    Ответ написан
    Комментировать
  • Как исключить списочные разделы из индексирования поисковиками?

    kostia256
    @kostia256
    С другой стороны может понадобиться сканирование списков(вопрос-ответ, комментарии и т.д.) и при этом избежать этой свистопляски со страницами. Логика тут простая, если я показываю список вверх тормашками(т.е. от новых записей к старым), то и страницы в url я тоже должен перевернуть.
    Правда не очень эстетично получается, если пользователь нажимает в пагинации на первую страницу, а в url ему ?page=42 подставляется, и наоборот, нажимает на последнюю, а в url ?page=1. Но зато всё всегда на своем месте.
    Ответ написан
    Комментировать
  • Как правильно организовать авторизацию в node.js?

    kostia256
    @kostia256
    Стоит понимать что принцип авторизации везде одинаков.
    1. Идентификация (проверка существование пользователя по login)
    2. Аутентификация (проверка пароля)
    3. Авторизация (проверка прав доступа)
    Сохраняете информацию о пользователе в сессии достаточную чтобы миновать этапы 1 и 2, и сразу переходить к этапу 3. Соответственно когда умирает сессия нужно повторно произвести все шаги авторизации.
    Ответ написан
    2 комментария
  • Как использовать ORM в данном случае?

    kostia256
    @kostia256
    Про laravel не в курсе, но можно в WHERE прописать условие `payments`.`entity_type` = 'salary', не обязательно в ON. Сам сталкивался с такой проблемой на днях в другом фреймворке.
    Ответ написан