• Ваши впечатления от использования меню?

    orlov0562
    @orlov0562
    bogette, у меня нету прокрутки, у меня нету верхнего меню. Есть надпись Warmth и три палки в правом углу. При нажатии, появляется меню в сайдбаре. Причем если клацать по этой кнопке с тремя полосками, то клики проходят через раз, работает странно.

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

    orlov0562
    @orlov0562
    AbaGardon, ну так открой оглавления книг java, c++, php и python и сравни. Вроде, это не сложно. Топ языков, находится тут
  • Как найти коллег для совместной разработки ПО?

    orlov0562
    @orlov0562
    novichek, тогда надо подтянуть знания в нужных областях, чтобы собрать что-то, о чем можно было бы рассказать. Базовая верстка осваивается за выходные, как и конструкторы по типу DroidScript. Ну, а если прям это совсем сложно, то можно сделать презентацию идеи в картинках, и начать вести блог про создание прототипа своими силами, типа того: https://habr.com/users/koito_tyan/posts/
  • Анализ логов сервера на Python. Зависает скрипт при logrotate, как бороться?

    orlov0562
    @orlov0562
    Еще можно в конфиге logrotate перезапускать нужный скрипт с помощью postrotate/endscript . Описание и примеры есть в справке. Например, так работает перезапуск php-fpm
  • Как сделать такой прогресс бар?

    orlov0562
    @orlov0562
    Обновил JSFiddle, смотри Javascript код. Нужно будет немного доработать уже под твою задачу, но идея думаю понятна - меняешь на нужную позицию через javascript (если страница перезагружается, то можно и прямо в css дописывать сдвиг на нужное кол-во процентов)
  • Присвоить id в обратном порядке?

    orlov0562
    @orlov0562
    Vitaliy Orlov, на самом деле и мой запрос, не корректно отработает на таком наборе данных
    INSERT INTO tmp 
      (id, color)
    VALUES 
      (1, 'green'),
      (21, 'red'),
      (3, 'blue'),
      (4, 'white')
    ;


    результат будет такой
    id	color
    ---------------
    21	green
    4	red
    3	blue
    1	white

    а должен быть такой
    id	color
    ---------------
    4	green
    3	red
    21	blue
    1	white


    для полноценного решения, надо ORDER BY id DESC заменить на DESC сортировку по номеру строки, а не полю id, тогда все будет работать как надо
  • Присвоить id в обратном порядке?

    orlov0562
    @orlov0562
    Привет,
    1) Не у всех есть MySQL 8
    2) Не выдаст корректный результат на наборе данных где id идут не по порядку, например
    INSERT INTO tmp 
      (id, color)
    VALUES 
      (1, 'зеленый'),
      (2, 'красный'),
      (10, 'синий'),
      (20, 'белый')
    ;

    или еще интересней
    INSERT INTO tmp 
      (id, color)
    VALUES 
      (1, 'зеленый'),
      (21, 'красный'),
      (3, 'синий'),
      (4, 'белый')
    ;
  • Дополнить код удаления файлов таймером отсчета?

    orlov0562
    @orlov0562 Куратор тега PHP
    it_pear_yurec,
    - сохраняешь в базу список файлов + метку времени, когда надо удалить
    - затем создаешь скрипт который выбирает из этой базы файлы которые пора удалять
    - этот скрипт запускаешь по расписанию, например каждый час или день - запуск делается с помощью планировщика задач, например Cron. Обычно в панели управления хостингом, есть интерфейс для его конфигурации.

    P.S. так же если, это просто кеш, который надо чистить через неделю, можешь использовать встроенные в ОС команды, для фильтрации файлов по времени создания/модификации. Вот пример для линукса
    /usr/bin/find /path/to/cache/* -mtime +7 -delete
  • Безопасное сохранение нового поста, laravel?

    orlov0562
    @orlov0562
    Алексей Уколов,

    Всё, я понял о чем спрашивает автор - я не внимательно читаю вопросы :)

    Я трактовал вопрос так: что будет если злоумышленник создаст у себя страницу на которой будет форма с автосабмитом отправляющая пост запрос с данными на endpoint как только на нее зайдет пользователь. Затем злоумышленник пригласит на эту страницу авторизованного админа. В таком случае запрос на endpoint будет выполнен с фиктивными данными и пройдет авторизацию (т.к. админ уже авторизован), а вот csrf токен соответствовать не будет, т.к. его не будет у злоумышленника. И в итоге сервер отклонит такой запрос.

    Про то, что речь идет о банальной авторизации и проверке ролей я даже не подумал и подразумевал что она и так есть.

    Ваш ответ заслуженно выбран решением :)
  • Безопасное сохранение нового поста, laravel?

    orlov0562
    @orlov0562
    Я имею ввиду не будет иметь CSRF токена админа, который обычно делают зависимым от сессии авторизованного пользователя. Т.е. у админа будет свой токен, а у пользователя свой. Даже если пользователь подставит токен админа, то он не пройдет валидацию на стороне сервера, т.к. в сессии будет лежать совсем другое значение.
  • Присвоить id в обратном порядке?

    orlov0562
    @orlov0562
    Максим Тимофеев, потому что "не трогайте", подразумевает изменения, а в исходном вопросе изменяется порядок значений только в колонке "id" :)

    На самом деле, я не придираюсь к словам, просто не пойму почему все решили, что ТС пытается измываться над PK, ведь вопрос совсем о другом?
  • Присвоить id в обратном порядке?

    orlov0562
    @orlov0562
    FanatPHP,

    Никаким.

    Способы сделать то, о чем спрашивает ТС есть, об этом я написал в ответе.

    .. что уникальный идентификатор..

    В вопросе нет информации, что это PK или поле с UNIQUE индексом. Надо линейку еще приметить к тем кто к существующим задачам условия додумывает :)

    если надо поменять порядок вывода, то и циферки надо перевесить

    Какой в этом смысл, ведь тут меняются id, а значения остаются те же? В твоем примере, надо вмести с циферками и названия цветов перевешивать, что достигается банальной сортировкой.
  • Не получаеться правильно спарсить с PHP Simple Dom Parser?

    orlov0562
    @orlov0562 Куратор тега PHP
    fomenko_alexandr, привет, уже точно не помню, но всего скорее там трудно выделить нужные для парсинга участки (т.е., это не относится к самой информации, а к коду страницы который там был)
  • Как открывать адрес в новой вкладке из строки адреса по нажатию Enter в Firefox 57?

    orlov0562
    @orlov0562 Автор вопроса
    Привет, спасибо за ответ! Тоже уже на этой версии и нашел эту настройку.

    P.S. Для тех кто придет из поиска, есть еще полезные настройки там же:
    browser.search.openintab - открывает новые вкладки из поля поиска
    browser.tabs.loadBookmarksInTabs - открывает новые вкладки для закладок
  • Какую использовать библиотеку для получения картинок из смайликов и emoji?

    orlov0562
    @orlov0562 Автор вопроса, куратор тега PHP
    Так и поступил :)

    P.S. Для тех кто нагуглит вопрос, можете почерпнуть идеи тут:
    https://github.com/orlov0562/ta-emoji
  • Как настроить grub для загрузки UEFI Windows 8?

    orlov0562
    @orlov0562 Автор вопроса
    Спасибо! Получилось, но не так просто как описано. Ниже опишу, для тех кто столкнется и нагуглит этот решение:

    При запуске, выдало ошибку
    The current session is in Legacy mode. Please reboot the computer, and use this software in an EFI session. This will enable this feature. For example, use a live-USB of Boot-Repair-Disk-64bit (www.sourceforge.net/p/boot-repair-cd), after making sure your BIOS is set up to boot USB in EFI mode.


    Действительно ubuntu была установлена как Legacy+GPT. Скачал указанный образ, записал на флешку через Unetbootin. В Gparted флешке поставил флаги: boot + esp. Загрузился с флешки, появился диалог, с указанием открыть терминал и выполнить пару команд. Сделал. Перезагрузился. В grub-е появились новые пункты по загрузке ubuntu и windows. Выглядят они так
    menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-a249b125-35b9-4a5f-b722-b9a18f318441' {
            recordfail
            load_video
            gfxmode $linux_gfx_mode
            insmod gzio
            if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
            insmod part_gpt
            insmod ext2
            set root='hd0,gpt2'
            if [ x$feature_platform_search_hint = xy ]; then
              search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  a249b125-35b9-4a5f-b722-b9a18f318441
            else
              search --no-floppy --fs-uuid --set=root a249b125-35b9-4a5f-b722-b9a18f318441
            fi
            linux   /boot/vmlinuz-4.4.0-116-generic.efi.signed root=UUID=a249b125-35b9-4a5f-b722-b9a18f318441 ro  quiet splash $vt_handoff
            initrd  /boot/initrd.img-4.4.0-116-generic
    }
    
    menuentry "Windows UEFI bootmgfw.efi" {
    search --fs-uuid --no-floppy --set=root B420-3CF8
    chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi
    }
    
    menuentry "Windows Boot UEFI loader" {
    search --fs-uuid --no-floppy --set=root B420-3CF8
    chainloader (${root})/EFI/Boot/bkpbootx64.efi
    }
    
    menuentry "EFI/ubuntu/mmx64.efi" {
    search --fs-uuid --no-floppy --set=root B420-3CF8
    chainloader (${root})/EFI/ubuntu/mmx64.efi
    }
    
    menuentry 'Windows Boot Manager (on /dev/sdb2)' --class windows --class os $menuentry_id_option 'osprober-efi-B420-3CF8' {
            insmod part_gpt
            insmod fat
            set root='hd1,gpt2'
            if [ x$feature_platform_search_hint = xy ]; then
              search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2  B420-3CF8
            else
              search --no-floppy --fs-uuid --set=root B420-3CF8
            fi
            chainloader /EFI/Microsoft/Boot/bootmgfw.efi
    }
    set timeout_style=menu
    if [ "${timeout}" = 0 ]; then
      set timeout=10
    fi

    Тут "B420-3CF8" и "hd1,gpt2" это UUID efi раздела созданного Windows, на втором диске (/dev/sdb)

    Загрузка ubuntu работает, загрузка windows работает.

    Но, почему-то произошли пару косяков в ubuntu:
    1) Удалилась запись монтирования райда в fstab. Поэтому, перед процедурой сделайте бэкап:
    sudo cp /etc/fstab /etc/fstab.bak
    2) Почему-то переименовался сетевой интерфейс, был enp14s0 стал enp16s0. Если интефейс сконфигурирован как static, то нужно поправить имя в /etc/network/interfaces
    3) Ссылка /etc/resolv.conf -> /run/resolvconf/resolv.conf была заменена на файл resolv.conf, пришлось вернуть ее обратно. На всякий случай советую также сделать бэкап resolv.conf ссылки/файла
    sudo cp /etc/resolv.conf /etc/resolv.conf.bak
    4) Из grub-а исчез пункт про memtest
    5) Был перезаписан файл /etc/default/grub, поэтому так же советую сделать его бэкап, если делали какие-то настройки там
    sudo cp /etc/default/grub /etc/default/grub.bak

    Так же советую если есть такая возможность, сразу стваить ubuntu в режиме UEFI, почитать про это можно на оф.сайте: https://help.ubuntu.com/community/UEFI
  • Как настроить grub для загрузки UEFI Windows 8?

    orlov0562
    @orlov0562 Автор вопроса
    1) дополнил вопрос, Ubuntu 16.04.4 LTS (Xenial Xerus)
    2) пробовал, не повезло
  • Как правильно перенаправлять пользователя на нужную версию сайта?

    orlov0562
    @orlov0562
    Александр, если у тебя для каждого поддомена свой язык, тебе hreflang не нужен вообще, ты язык и регион устанавливаешь глобально для домена в веб-мастере. С поддержкой не будет никаких проблем, если проект продуман изначально. Вопрос в другом, сколько придется пилить движок, чтобы была хорошая поддержка нескольких языков и возможности модификации для разных версий (например для снг добавить ВК виджет, а для US/EU Facebook). Возьмём, например, Wordpress - 10 поддоменов на 10 языках подготовить 30 минут, и можно раздавать региональным копирайтерам для работы. Разнести на 10 разных серверов = 30 минут или меньше. На, тоже самое, но на 1 сайте с структурой url = site.com/<lang>/* у тебя уйдет минимум неделя, если ты знаешь что и как пилить и где будут проблемы. Я за путь "чем проще и быстрее, тем лучше".