• Каков путь изучения основ программирования?

    criticalsomethoughts
    @criticalsomethoughts
    UI\UX Developer, Project Manager
    Если мы говорим о глобальном изучении программирования, не залезая в дебри ЯП, то - знания которые никогда не обесценятся и будут вам только на руку:
    1. Логическое мышление: книги по логике\алгоритмы
    2. Абстрактное мышление.
    3. Основной фундамент: Логика, теория множеств, дискретная математика
    Система счисления, алгоритмы, структуры данных
    Парадигмы: Декларативное, имеративное, логическое программирование
    Железо: Основная архитектура компьютера
    Софт: Сети, протоколы, ОС, компиляторы\интерпретаторы

    Все остальное добирается в процессе работы, или копания глубже вашей среды.
    Ну и конечно, как сказали выше, английский - святая святых, 70% информации(если не больше) - в англ. сегменте веба\книг
    Ответ написан
    Комментировать
  • Как правильно реализовать JWT в PHP?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    Сервер сверяет токен у пользователя и бд.

    нет, соль JWT как раз в самодостаточности, там хранится вся необходимая информация чтобы идентифициаровать пользователя + сигнатура чтобы проверить достоверность.
    В базе токен не хранится. Максимум секретный ключ для генерации сигнатуры.

    На сервере только сверить сигнатуру надо, для этого сервер генерируют свою из своего секретного ключа или вроде того. И если совпадают - значит всё ок.
    Ответ написан
    4 комментария
  • Nginx. sub_filter не работает с proxy_pass. Что не правильно?

    @vebmaster Автор вопроса
    добавил
    proxy_set_header Accept-Encoding "";
    заработало
    Ответ написан
    Комментировать
  • Работа с XML как с SQL. С помощью чего?

    pletinsky
    @pletinsky
    XQuery это более общий стандарт который включает в себя XPath.
    И насколько я понимаю он не умеет делать апдейты иксемеля. Обещают реализовать эту операцию в новой версии стандарта.
    Тут написано:
    The XML Query Working group is working on a facility to allow XQuery expressions to create and update persistent data.

    Вообще в языках программирования и фреймворках есть реализации Xml Query с возможностью апдейта.
    Ответ написан
    5 комментариев
  • Скрипт бэкапа (файлы + база) для cron?

    shambler81
    @shambler81 Куратор тега Linux
    #!/bin/sh
    #скрипт бэкапа баз данных
    ###########################
    #Создаем папку для архивов.  -p не ругается когда папка уже есь test проверяет есть ли папка  для чистых логов
    test ! -d /var/backup/mysql/`date +%Y` && { mkdir -p /var/backup/mysql/`date +%Y` ; }
    test ! -d /var/backup/mysql/last && { mkdir -p /var/backup/mysql/last ; }
    
    #прячем от умных, и так не зайдут но всеже.
    chmod 600 /var/backup/mysql
    chmod 600 /var/backup/mysql/last
    
    # делаем сам дапм файлов sql, свежинькие файлы лежат всегда в ней, очень удобно не нужно заходить в архивы и искать там вчерашние базы, и логируется.
    for i in `mysql -uroot -p**************** -e'show databases;' | grep -v information_schema | grep -v Database`; do mysqldump -uroot -p************** $i > /var/backup/mysql/last/$i.sql;done >> /dev/null 2>> /var/log/sqlbackup.log
    # Архивируем дамп, ну и логируем разумеется
    cd /var/backup/mysql/
    tar -czvf /var/backup/mysql/`date +%Y`/sqldump-`date +%Y-%m-%u`.tar.gz ./last >> /dev/null > /var/log/sqlbackup.log
    #(echo "Subject: Бэкап mysql  klondike-server завершен"; cat /var/log/sqlbackup.log;) | /usr/sbin/sendmail  viktor@7877796.ru
    ##################  Конец скрипта
    
    #  БЭКАП /etc  весит мало а нужна бывает очень сильно ;)
    test ! -d /var/backup/etc/ && { mkdir -p /var/backup/etc/ ; }
    DATE=`date +%F`;
    BACKUPPATH="/var/backup/etc";
    find $BACKUPPATH/ -mtime +60 | xargs rm -f; #удаляет предыдущие бэкапы старше 60 дней.
    tar -czvf "$BACKUPPATH/etc.$DATE.tar.gz" /etc/ > /dev/null 2> /dev/null;


    А вот бэкап файлов
    #!/bin/sh
    cd /var/www
    DATE=`date +"%Y-%m-%d"`
    LIST=`ls | grep -E ".*\.\w{1,4}"`
    
    #(echo "Subject: Бэкап 2 server начат"; cat /var/log/wput.log;) | /usr/sbin/sendmail  viktor@7877796.ru
    test ! -d /var/backup/site/`date +%Y`/`date +%m` && { mkdir -p /var/backup/site/`date +%Y`/`date +%m` ; }
    
     for ELEMENT in $LIST
        do
    
    tar -zcvpf /var/backup/site/`date +%Y`/`date +%m`/$ELEMENT-$DATE.tar.gz /var/www/$ELEMENT/web --exclude=backup --exclude=managed_cache --exclude=stats --exclude=resize_cache >> /dev/nool 2> /var/log/file_backup.err
    
        done
    
    #exit 0
    #find /var/backup/site/ -type f -mtime +750 | xargs rm -f; #удаляет предыдущие бэкапы стaарше 2 лет.
    #find /var/backup/site/ -type d -empty | xargs rm -r;


    А вот бэкап на фтп, с использованием wput - требует установить с репозитория.

    #!/bin/sh
    #Заливаем файлы на внешний сервер
    wput --limit-rate=3000K --timestamping --output-file=/var/log/wput.log /var/backup/mysql/ ftp://login:pass@host/data/server1/


    Ну и крон
    00 04 * * * nice -19 filebackup_wput >/dev/null 2 >> /var/log/syslog
    00 00 * * * nice -19 sqlbackup >/dev/null 2 >> /var/log/syslog
    Ответ написан
    Комментировать
  • Почему именно "root"?

    xEpozZ
    @xEpozZ
    Веб-разработчик
    Выписка из Вики
    The name root may have originated because root is the only user account with permission to modify the root directory of a Unix system
    Ответ написан
    Комментировать