Skip to content

Базовые знания для Backend-разработчиков (PHP)

Notifications You must be signed in to change notification settings

Flagstudio/basics_backenders

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 

Repository files navigation

Базовые знания для backend-разработчиков

Минимальные знания

PHP

  • Типы данных, константы, суперглобальные переменные
  • Массивы и операции с ними
  • POST, GET и другие типы запросов
  • Области видимости
  • Классы и объекты. Модификаторы доступа
  • Замыкания
  • Static, Abstract классы
  • Interfaces
  • Traits
  • ключевые слова $this, self, static
  • Namespaces, Autoloading
  • Composer (install, update, require), Semver
  • Магические методы
  • Виды ошибок, различия (fatal, warning, notice, deprecated). Exceptions
  • Конфигурация PHP и php-fpm, раширения PHP. Консольные команды PHP (-m, --ini, -i и тд)

Реляционные СУБД

  • Синтаксис SQL
  • Вложенные запросы, JOIN-ы
  • Типы данных
  • Ключи
  • Индексы
  • Транзакции
  • Нормализация БД (первые 3 формы)
  • SQL-инъекции
  • ORM

Паттерны программирования

  • ООП
  • MVC
  • SOLID
  • Шаблоны проектирования
    • Singleton
    • Observer
    • Factory
    • Strategy
    • Facade
    • Adapter

Laravel

Расписать...

Laravel Nova

  • Resources

WordPress

  • Структура темы
  • Структура БД
  • Custom Post Types
  • Advanced Custom Fields (+ ACF local json)
  • Таксономии
  • Мета-данные
  • Хуки, фильтры
  • wp-query

Git

  • Настройка игнорирования
  • Знать что такое ветка и тэг и зачем они нужны. Знать GitFlow
  • Умение коммитить. Сквошить коммиты, делить, амендить
  • Не коммитить лишнего: логи, большие файлы, секреты, локальные настройки, директории пакетов (node_modules, vendor) и так далее
  • Умение осматривать репозиторий. Осматривать и сравнивать ветки, коммиты, тэги. Сравнить две ветки по длине, два коммита по коду.
  • Уметь переписывать историю, знать когда это можно делать а когда нет. Интерактивный ребейз, все флаги команды git reset.
  • Уметь не только merge, но и rebase, cherry-pick и revert. Уметь решать конфликты.
  • Знать разницу между pull и fetch
  • Уметь работать с несколькими привязанными репозиториями
  • Умение работать со связанными ветками. Просматривать, связывать.
  • Понимание, что такое master и origin/master.

Docker

  • Понимать что такое image и что такое container
  • Уметь push pull обрразов. Смеотреть их историю, коммитить.
  • Знать синтаксис Dockerfile и контекст
  • Уметь работать с контейнерами: ps, inspect, log, bash (вход в конйтенер)
  • Знать что такое volume и как его можно прокинуть в контейнер
  • Знать как прокинуть порты в контейнер
  • Знать синтаксис Docker Compose и понимать что это такое. ПОнимать что такое службы Compose
  • Уметь обратиться из одного контейнера docker-compose к другому (через Compose DNS)
  • Уметь работать со службами Compose: up, ps, restart, down, logs и тд

Linux

  • Уметь навигироваться по файловой системе. Вывести последние измененные файлы, найти в проекте файл с заданным вхождением, вывести логи в интерактивном режима и отгрепать их
  • Уметь манипулировать файлами mv, rm, cp, scp
  • Уметь просматривать процессы. Сколько процессов сейчас запущено для PHP, сколько ресурсов потребляет пользователь www, сколько свободно SWAP-памяти
  • Уметь работать с символическими ярлыками, PATH, alias
  • Уметь работать с ключами SSH
  • Уметь администрировать PHP. Просмотр установленных расширений PHP, найти какой php.ini используется, понять какой бинарник PHP используется в терминале, а какой на вебе

Полезные материалы

PHP

Обязательно к прочтению из книги (см. пункт выше):
  • Глава 1 Принципы работы Интернета стр. 43 (Полностью)
  • Глава 2 Интерфейс CGI и протокол HTTP стр. 60 (Полностью)
  • Глава 3 CGI изнутри (стр. 72)
  • Не обязательно: Язык C (стр. 72)
  • Установка PHP в Linux (Ubuntu) (стр. 109)
  • Запуск встроенного сервера (стр. 109)
  • Файл hosts (стр. 110)
  • Вещание вовне (стр. 110)
  • Конфигурирование PHP (стр. 111)
  • ЧАСТЬ II. ОСНОВЫ ЯЗЫКА PHP (стр. 113) Полностью исключая (Глава 12 Генераторы стр. 237)
  • ЧАСТЬ III. СТАНДАРТНЫЕ ФУНКЦИИ PHP (стр. 249)
  • Глава 14 Работа с массивами (стр. 279)
  • Глава 17 Права доступа и атрибуты файлов (стр. 342)
  • Глава 19 Работа с датой и временем (стр. 363)
  • ЧАСТЬ IV. ОСНОВЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ (стр. 421 Полностью)
  • Глава 31 Работа с HTTP и WWW (стр. 585 Полностью)
  • Глава 34 Управление сессиями (стр. 622 Полностью)
  • Глава 37 Работа с СУБД MySQL (стр. 666 Полностью)
  • Глава 42 Стандарты PSR (стр. 785 Полностью)
  • Глава 50 Код и шаблон страницы (стр. 895 Полностью)
  • Глава 54 Система контроля версий Git (стр. 996 Полностью)

Laravel

Базы данных

Laravel Nova

WordPress ACF

About

Базовые знания для Backend-разработчиков (PHP)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published