Run jQuery in Chrome Console

I’ve run into numerous situations where I need to loop through data on a website that I do not own (typically API documentation) so that I can reformat it and make it usable.  For example, AWS Route 53 includes a list of top-level domains (TLDs) in a page with related […]

Laravel class-based Macros

Laravel Macros are a clean way to add pieces of functionality to classes you don’t own (core Laravel components) and re-use them in your projects. It was first introduced in the 4.2 version but it was only recently that I discovered the ability to define class-based macros. So, this is […]

Какая разница между .gitkeep и .gitignore

Пустой файл .gitkeep необходим в случае если необходимо добавить в git пустую директорию (по другому просто не получится —  git это не позволяет)Причем подойдет любой файл с любым расширением. Просто .gitkeep это общепринятое соглашение о наименовании, а не git фича.Файл .gitignore позволяет задать исключения для репозитория.Его как привило размещают в […]

Выбор PHP фреймворка: Laravel глазами Symfony разработчика

Фреймворк — это некий скелет структуры проекта, предоставляющий реализованный функционал «из коробки». Данный функционал позволяет решать наиболее типичные задачи при разработке. Архитектура фреймворка может как реализовывать некий собственный набор паттернов, так и представлять собой реализацию отдельных общеизвестных паттернов. Архитектура Laravel строится вокруг популярного в последнее время принципа Inversion of Control […]

Заглянем под капот Doctrine 2

Пожалуй, я не совру, если скажу, что в экосистеме Symfony наиболее часто используемой ORM является Doctrine. Поэтому изучение этой библиотеки крайне важно для Symfony-разработчика. В данной статье предлагаю заглянуть «под капот» этого Мустанга в мире ORM-ок и выяснить, на базе каких абстракций и паттернов построена эта библиотека. Когда я впервые […]

Попросили проверить код, на что смотреть нужно?

Цель данных рекомендаций — снижение сложности восприятия, поддержки, тестирования и расширения кода, написанного разными авторами; она достигается путём рассмотрения серии правил и ожиданий относительно написания 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&center=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 — это то, о чём еще сказано недостаточно в рамках фреймворка. Они реально мощные и полезные. За последние год-два я не создал ни одного проекта, где бы не использовал макросы. Если описывать макросы кратко, то это способ расширения метода класса, но без использования наследования, а через замыкание. […]