
2024-05-10
Перед каждым разработчиком рано или поздно встает вопрос проектирования системы. Ни для кого не секрет, что по-правильному нужно систему сначала спроектировать ( не в голове представить ), а уже потом начинать писать код. Но далеко не все разработчики сначала проектируют, а потом пишут. Наоборот - большая часть разработчиков в обычных среднестатистических компаниях обычно пропускают стадию проектирования и сразу приступают к разработке на привычном технологическом стеке, даже не думая ни о че
...Как только разработчик вырастает из уровня джуна и начинает погружаться в чудесные дебри архитектуры, проективарония, работы с БД чуть шире, чем CRUD - то часто начинает слышаться такая абревиатура, как ACID. На собеседованиях разработчиков так же могут спрашивать про этот набор требований. Давайте разберем, что же означает каждая из букв этой чудесной абревиатуры.
ACID - это перечень требований к разрабатываемой системе, который призван обеспечить сохранность и валидность наших дан
...Итак друзья. Ни для кого не секрет, что в php нет как таковой многопоточности в ее привычном представлении. Здесь многопоточность заменяют очереди, которые можно условно назвать "многопроцессность".
Для тех кто ни разу не сталкивался с очередями дам немного вводных. Очереди используются для асинхронного выполнения какой-либо логики в параллель с другими такими же процессами. В основном этот подход используется в высоконагруженных приложениях для обработки большого объема и
...Этот шаблон считается анти-паттерном!
Некоторые считают Локатор Служб анти-паттерном. Он нарушает принцип инверсии зависимостей (Dependency Inversion principle) из набора принципов SOLID. Локатор Служб скрывает зависимости данного класса вместо их совместного использования, как в случае шаблона Внедрение Зависимости (Dependency Injection). В случае изменения данных зависимостей мы рискуем сломать функционал классов, которые их используют
...Поведенческие паттерны проектирования ( Behavioral ) - определяют общие закономерности связей между объектами, реализующими данные паттерны. Следование этим шаблонам уменьшает связность системы и облегчает коммуникацию между объектами, что улучшает гибкость программного продукта.
Построить цепочку объектов для обработки вызова в последовательном порядке. Если один объект не может справиться с вызовом, он делегиру
...Ура! Я наконец-то дописал статью как собирать собственные бандлы на Symfony 6!!!
Статья про EasyAdmin всё ещё в процессе )))
Не, ну мне же надо на чем-то тестировать твиттер локальный...
Я тут еще много полезного буду выкладывать, так что заходите обязательно почитать.
Сайтик пока что в разработке - это далеко не окончательная версия - по сути это то что удалось слепить за 8 часов.
