Первый проект Hexlet

  1. Пошаговое выполнение проекта
    1. Создание каталога проекта
    2. Инициирование гит репозитория – git init
    3. Инициирование PHP проекта – composer init
    4. Создание каталога bin для исполняемх файлов
    5. Испольлзовать библиотеку PHP Cli Tools
    6. Запушить проект на github
    7. Загрузить пакет на https://packagist.org (эталонный PHP пакет, версионирование )
    8. Создание Makefile с командой install, выполняющей composer install
    9. Подключение репозитория к CodeClimate (сервис проверки качества кода)
    10. Добавить бейджики CodeClimate в readme git проекта
    11. Настройка редактора на соответствие стандартам (PSR-1, PSR-2, codesniffer)
    12. Подключить библиотеку PHP_CodeSniffer
    13. Добавьте в dev зависимости squizlabs/php_codesniffer
    14. В секции scripts добавить команду для запуска phpcs из установленных зависимостей
    15. Создать make задачу make lint, которая должна запускать: composer run-script phpcs — –standard=PSR12 src bin
    16. Подключить репозиторий к travis
    17. Настроить .travis.yml, так, чтобы он запускал make lint
    18. Добавить бейджики travis в readme git проекта
    19. Проверить проект по следующим пунктам
  2. Клонирование репозитория – git clone
  3. Основы Linux от основателя Gentoo (ссылка)
    1. FNS( Filesystem Hierarchy Standard ) дерево директорий
      1. / (корневая директория)
      2. /boot (статичные файлы загрузчика)
      3. /dev (файлы устройств)
      4. /etc (специфические для хоста конфигурационные файлы)
      5. /lib (основные разделяемые библиотеки и модули ядра)
      6. /mnt (точка монтирования для временных нужд)
      7. /opt (дополнительные пакеты ПО)
      8. /sbin (основные системные программы)
      9. /tmp (временные файлы)
      10. /usr (вторичная иерархия)
      11. /var (изменяемые данные)
    2. Поиск файлов
      1. which sense – есть ли программа в PATH) (which -a – показать все экземпляры программы в PATH)
      2. whereis – расширенная информация по программам
      3. Примеры find
        1. find /usr/share/doc -name README
        2. find /usr/share/doc -name README\*
        3. find /usr/share/doc -iname readme\* – поиск без учета регистра
        4. find /etc -iregex ‘.*xt.*’ – использование регулярных выражений
        5. find /usr/bin -name ‘*vim*’ -type l
          1. type b – (блочное устройство)
          2. type c – (символьное устройство)
          3. type d – (директория)
          4. type p – (именованый канал)
          5. type f – (обычный файл)
          6. type l – (символическая ссылка)
          7. type s – (сокет)
        6. find . -name \? –mtime -1 – модифицированые за последние 24 часа
        7. find . -name \? -mtime +0 – измененые до текущего 24-часового периода
        8. find . -name \? -daystart -mtime +0 -mtime -3 – -отсчет от текущего дня, а не от текущего времени
        9. find /usr/bin -type f -size -50c –  размер меньше 50 байт ( По-умолчанию, аргумент -size это количество 512-байтных блоков, но добавляя к опции суффикс, можно сделать вывод более понятным. Доступные суффиксы: b (512-байтные блоки), c (байт), k (килобайт), и w (2-байтные слова). Дополнительно, перед аргументом можно указать плюс («больше чем») или минус («меньше чем») )
    3. Руководство начинающего пользователя Linux
    4. Шебанг
    5. Ссылки к качеству программирования
      1. Don’t repeat yourself
      2. YAGNI
      3. KISS
      4. Магические числа: википедияурок на code-basics
      5. open/close принцип