Цель данных рекомендаций — снижение сложности восприятия, поддержки, тестирования и расширения кода, написанного разными авторами; она достигается путём рассмотрения серии правил и ожиданий относительно написания PHP-кода. Слова «НЕОБХОДИМО» / «ДОЛЖНО» («MUST»), «НЕДОПУСТИМО» («MUST NOT»), «ТРЕБУЕТСЯ» («REQUIRED»), «НУЖНО» («SHALL»), «НЕ ПОЗВОЛЯЕТСЯ» («SHALL NOT»), «СЛЕДУЕТ» («SHOULD»), «НЕ СЛЕДУЕТ» («SHOULD NOT»), «РЕКОМЕНДУЕТСЯ» («RECOMMENDED»), […]
Как работает подход Unit of Work?
Unit of Work — это паттерн определяющий логическую транзакцию т.е. атомарную синхронизацию изменений в объектах, помещённых в объект UoW с хранилищем (базой данных).Если обратиться к исходному описанию этого паттерна у Мартина Фаулера — то видно что объект, реализующий этот паттерн отвечает за накопление информации о том какие объекты входят в […]
Список бесплатных сервисов для постороения маршрутов
http://www.yournavigation.org/ https://maps.openrouteservice.org/directions?n1=54.556137&n2=45.379028&n3=8&a=55.736389,37.595215,55.481966,46.972046&b=2&c=0&k1=en-US&k2=km&s http://map.project-osrm.org/?z=6¢er=49.788357%2C41.616211&loc=55.627996%2C37.727051&loc=43.130556%2C45.538330&hl=en&alt=0 https://router.project-osrm.org/route/v1/driving/37.72705078125,55.62799595426723;45.538330078125,43.13055565187361?overview=false&alternatives=false&steps=false
Заменяем User Story на Job Story
Раньше, я уже писал о проблемах с user story (пользовательскими историями). В те времена я считал, что лучше просто попросить команду обсудить предлагаемые изменения в продукте. Стратегия была хорошей, если команда оказывала помощь, а продукт был уже зрелым. Однако теперь я работаю с новой командой и создаю продукт с нуля. […]
Макросы в Laravel
Макросы в Laravel — это то, о чём еще сказано недостаточно в рамках фреймворка. Они реально мощные и полезные. За последние год-два я не создал ни одного проекта, где бы не использовал макросы. Если описывать макросы кратко, то это способ расширения метода класса, но без использования наследования, а через замыкание. […]
How to Inject New Docker Tag into Docker Compose File
If you follow best practices then you’re tagging each of your Docker images with a unique tag or version whenever it gets updated. These tags might be the git commit hash, a CI/CD Build number or any other value that is usually generated automatically during your build process. You might […]
Laravel – Custom pivot model in Eloquent
Sometimes you may wish to use custom pivot model when working with many-to-many relationships in Eloquent, in order to add some behaviour on top of the core features. There are a few things to consider before you start. First things first: belongsToMany relationship can presented as double hasMany + belongsTo […]
How to convert 1 to true or 0 to false upon model fetch
Use a double not: !!1 = true; !!0 = false; obj.isChecked = !!parseInt(obj.isChecked);
Сине-зеленый деплой
Я и мои коллеги всегда склоняем своих клиентов полностью автоматизировать процесс деплоя. Автоматизация помогает сократить количество конфликтов и задержек, которые возникают в процессе между «завершением» работы над программой и введением в эксплуатацию. Дэйв Фарли (Dave Farley) и Джез Хамбл (Jez Humble) заканчивают книгу «Непрерывная доставка» (Continuous Delivery) на эту тему. […]
How to subtract 12 hours 30 minutes from the MySQL from date field
DATE_SUB(`date`,INTERVAL ’12:30′ HOUR_MINUTE)