Laravel + Docker: наш успешный опыт использования

В статье пойдет речь о нашем опыте использования Docker для быстрой настройки масштабируемого dev окружения для web разработки. Я коротко расскажу о задачах, которые стояли перед нами и об инструментах, которые были выбраны для решения этих задач. Статья отмечена значком tutorial, потому что вы найдете в ней инструкцию по разворачиваю […]

CI для фронтенда: Gitlab, Traefik, Docker

В каждом уважающем себя проекте должны участвовать QA инженеры. Ежедневно перед ними будет стоять задача проверки выполнения задач в отдельных ветках. Очень часто процесс перехода на нужную ветку, сборки и тестирования занимает много времени, к тому же, локально не всегда возможно полностью воссоздать максимально идентичное боевому окружение.Цель данной статьи — […]

A different view on Dependency Injection in Laravel

Basically, instead of having your objects creating a dependency or asking a factory object to make one for them, you pass the needed dependencies into the object externally, and you make it somebody else’s problem. You make it somebody’s else’s problem to inject the dependencies of your class. In the […]

Calculating distance using MySQL

On a client project recently, we had to make it easy to filter database query results based on the distance between a user and an entity in our database. It’s easy to get overwhelmed in that context, worrying about the crazy amount of PHP calculations you’re going to have to […]

Поиск по географическим данным при помощи PostGIS

PostGIS — это географическая информационная система, или ГИС (geographic information system, GIS), реализованная в виде расширения к PostgreSQL. ГИС позволяет хранить пространственные или географические данные, такие, как точки, ломаные линии и полигоны, производить по ним эффективный поиск, а также выполнять с ними другие операции. В общем, можно написать убийцу Google […]

Обзор типов индексов Oracle, MySQL, PostgreSQL, MS SQL

В одном из комментариев здесь была просьба рассказать подробнее об индексах, и так как, в рунете практически нет сводных данных о поддерживаемых индексах различных СУБД, в данном обзоре я рассмотрю, какие типы индексов поддерживаются в наиболее популярных СУБД B-Tree Семейство B-Tree индексов — это наиболее часто используемый тип индексов, организованных […]

Retrieving the coordinates of the MySQL point type

39 Let’s say you store GeomFromText(‘POINT(32 -122)’) as a column called MY_POINT in a table called MY_TABLE. Getting the X coordinate (will return 32 in this example): SELECT ST_X(MY_POINT) as latitude FROM MY_TABLE; Getting the Y coordinate (will return -122 in this example): SELECT ST_Y(MY_POINT) as longitude FROM MY_TABLE; Important: […]

Тип данных POINT в MySQL

Не так давно передо мной стояла задача о необходимости хранить географические координаты (долготу и широту) в БД. Для этих целей в MySQL есть замечательный тип данных —  POINT. Он представляет собой структуру из нескольких полей. Кроме того, к этому типу можно (и даже нужно) применять встроенные функции. Именно эти функции […]

Простое управление ролям в Laravel с помощью Pivot

Большинству из нас не нужна сложная система управления доступов в наших приложениях. Мы хотим простую и гибкую систему, без излишеств. Что мы подразумеваем под «простой» системой? Допустим у вас в проекте есть команды, у команд есть владелец и участники. Мы хотим знать: кто владелец, у кого есть раширенные права, а […]

Comparing model equality in Laravel

Dropping in Laravel 5.3 is an easy way to compare if two model instances you’ve got represent the same record in your database. The new is() method checks to see if the model keys, table and connection names match up. if (auth()->user()->is($post->author)) { // The currently authenicated user is the […]