Программирование

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

В серии скринкастов по разработке проекта на Slim и React мы полностью завершили реализацию аутентификации OAuth 2.0 на стороне бэкенда со многими нюансами, которые стоит учитывать. Получился интересный плейлист из пяти записанных и удобно смонтированных эпизодов:

В нашей серии скринкастов мы ранее затронули практики непрерывной интеграции и доставки. И при рассмотрении этих CI/CD философий вместо классического подхода Feature Branches с созданием отдельных Git-веток для фич мы рассказали об альтернативном подходе Trank Based Development для скрытой разработки новой функциональности в основной Git-ветке. И в этом недавнем эпизоде мы применили это на практике.

Провели ленивый импровизированный стрим на общеполезные темы. Чем неудобен в разработке процедурный код и код без разделения. Какие сложности предметной области обнаруживаются при анализе бизнеса. Про сходства и различия фреймворков. Про использование интерфейсов и классов провайдеров для конфигурирования приложения и для организации гибкой модульности.

Мы с вами сочинили много кода в проектах, где мы активно пользуемся контейнером внедрения зависимостей. Многие статьи рассматривают только внедрение сервис-контейнера, но не рассказывают о практиках написания самих сервисов. Об этом мы подробно расскажем в следующей части. Но перед этим нужно договориться об используемой в будущем терминологии и определиться с понятием сервиса. Поэтому сегодня рассмотрим, чем сервисы отличаются от других вещей в программном коде.

Пригласили выступить на митапе про фреймворки и инструменты PHP на тему выбора инструмента для разработки Enterprise-проектов. Доработал свой доклад о RAD и дополнил слайдами. Сравнил несколько подходов по степени осознанности программирования.

На дебютном январском BeerPHP SPB Meetup #1 выступил с рассказом о своём опыте избавления от легаси-кода и обновления фреймворка в проекте. Про эволюционное переписывание, внедрение автоматизации тестирования и деплоя. О том, что помогало обновлению и что мешало.

После нашего отчёта о конференции по разрешению организаторов публикую запись своего доклада на PHP Russia про важность разделения кода и инкапсуляции бизнес-логики в сервисах и сущностях.

Пополним рубрику ответов на вопросы. Недавно пришло письмо с вопросом по мотивам нашей серии по PSR-7, на который родился большой ответ. В качестве вопроса хотел привести цитаты, но для целостного понимания письмо с письменного разрешения автора привожу почти целиком...

Пригласили на интервью в Hexlet. Провели философский и немного программистский расслабленный вебинар про фриланс, предпринимательство, фреймворки, работу и обучение.