Code Monkey home page Code Monkey logo

roadmap-php-developer's Introduction

Дорожная карта (roadmap) бета-версия

  • Начальный этап:
    • Сперва изучения основнова стека, это - HTML, CSS, Javascript (основы) и PHP
    • Изучения базы данных (MySQL), синтаксис SQL и CRUD-операции
    • Практика. Создание своих проектов.
    • Изучить базовое понятие HTTP, HTTPS, TCP/UDP
    • Изучение начального ООП, понятие синтаксиса
    • Изучение Composer и Packagist
    • Изучение GIT
    • Владения базовыми командами из консоли
  • Начально-средний:
    • Изучение фреймворка Laravel/Symfony
    • Создание проекта с использованием фреймворка и разных пакетов. Или перевод старых проектов на фреймворк
    • Регулярные выражения
    • Базовая защита от взлома: XSRF, XSS, etc
    • Изучение продвинуто базу данных
      • Joins: Inner join, left join, right join
      • Умение спроектировать базу данных
      • Связи между таблицами
      • Защита от SQL-инъекции
      • Отличие Timestamp от Datetime
      • Составление и оптимизация SQL запросов
      • Индексирование
      • Нормализация и денормализация
      • Транзакции и их уровни
      • ER-diagrams
      • N+1 Problem
      • Nested sets, materialize path etc
    • Более глубокое изучение PHP/ООП:
      • DI
      • Генераторы: yield и т.д
      • DI-Container
      • IOC
      • SPL-библиотеки
      • Автозагрузка классов
    • Рефакторинг кода старых проектов с использованием DI-Container, не использование фасадов
    • Изучение нереляционной базы данных: Redis/Memcache
    • Профилирование запроса с помощью Xdebug
    • Иметь понимание об CI/CD-процессах
    • Перейти на Linux (Ubuntu, Arch, Manjaro и в конце arch i3 :))
    • Изучение побочных вещей:
      • REST API
      • JWT-технология
      • Swagger
      • Postman или аналоги
      • OAuth
      • Git flow
      • Обработка задач в фоне
      • supervisord
      • cron
      • systemd
    • Изучения тестирования в PHP. Интеграционные тесты, функциональные - PHPUnit, пирамида тестирования
  • Cредний уровень:
    • Изучение анализаторов в PHP: CodeShiffer, Psalm
    • Пройти PSR
    • Изучение паттернов проектирования
    • Тестирование
      • Основы тестирования, виды тестирования
      • PHPUnit
      • Integration Testing
      • Function Testing
    • Прикрутить тесты к проектам. Практика
    • Изучение базы данных углубленно:
      • Агрегация
      • Оконные функций
      • Подзапросы
      • План выполнения запроса
      • Временные таблицы
      • Хранимые процедуры
      • Триггеры
    • Изучить Docker, базовое владение с docker-compose.
    • CI/CD, Jenkins, Kubernetis (необязательно)
    • Перевод проектов на Docker, настройка CI/CD
    • Изучение ООП углубленно:
      • Закон диметрии
      • Low coupling и High Cohesion
      • Контракты, контрактное программирование
      • SOLID
      • DRY
      • KISS
      • YAGNI
      • PSR-стандарты и т.д
      • GRASP
      • Пакетные принципы
    • Доработка проектов с использованием углубленного ООП: SOLID, low coupling & high cohesion и т.д
    • Изучение паттерн проектирования (снова): простые паттерны, архитектурные паттерны и т.д
    • Изучение основ алгоритмов и структура данных
      • Очереди, стек, деревья и т.д
      • эффективные алгоритмы
      • временная и пространственная сложность
      • O-нотация.
    • Изучения архитектуры:
      • DDD
      • Clean Architecture
      • Читаешь много книг про архитектуру, стримы Соера, смотришь доклады
    • Попытки написания по TDD
    • Изучение RabbitMQ
    • Изучение высоконагруженные приложения
  • Высокий уровень:
    • Изучить другой язык программирования: GO
    • Изучение микросервис
    • Изучение высоконагруженных систем: репликация, шардирование и т.д (Читаем кабанчика)
    • Многопоточность, ассинхронность и т.д, все что будет затрагиваться в новом языке, изучить
    • Дальше буду дорабатывать этот список

Изучить другой язык программирования для расширения кругозора (JavaScript, Python, GO, Rust и т.д)

А и еще самое главное: прокачивайся и в других сферах, программирование не единственная вещь в мире

Полезные ссылки:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.