Статьи

Автор:Игорь Тельменко

Flexbox

Flexbox — это более современный способ располагать блоки на странице, чем плавающие блоки (float-ы), созданный именно для этих целей. Не смотря на то, что он не известен так широко, как float-ы, данный подход уже не новый, появился еще в 2011 году. По версии сайта caniuse его поддерживают все современные браузеры.

Прочитать больше

Автор:Игорь Тельменко

Docker с Apache и php 5.3

В продолжение темы развертывания окружения с php 5.3 соорудил вариант на docker. Прошу любить и жаловать — проект docker-grandpa-php.

Этот вариант более легковесен, чем вариант с vagrant.

Для работы требуются установленные docker и docker-compose.
Прочитать больше

Автор:Игорь Тельменко

Виртуальная машина с Apache и php 5.3

Разработчики всегда стараются идти в ногу со временем. Однако часть работающих и приносящих прибыль проектов, к сожалению, остаются на старом стеке технологий. Таких, например, как Apache и php 5.3.

Новые дистрибутивы Linux, к сожалению, уже не имеют в своих репозиториях такой старой версии php как 5.3. Готовые сборки docker для php разработчиков, такие как Laradock, тоже не поддерживают столь старые версии. Что же делать, если необходимо поднять окружение разработчика для таких проектов?
Прочитать больше

Автор:Игорь Тельменко

Модули Laravel

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

В Laravel имеется такое решение как пакеты. Штатная штука и ее вроде бы можно использовать для модульности. Но для каждого пакета нужно будет очень много настроек прописывать вручную. Весь код лежать в packages/имя пакета/src … и выглядеть как нечто сторонее. Метод рабочий, но он, скорее, для подготовки пакетов, которые будут использоваться в других проектах.
Прочитать больше

Автор:Игорь Тельменко

Laradock

Laradock — это готовая сборка образов Docker для разаработки php-приложений на Laravel. В то время, как Homestead использует виртуальную машину, Laradock использует все плюсы Docker.

Эта статья — короткая инструкция по поднятию Laradock на host-машине с Linux Mint (Debian, Ubuntu).
Для начала вам необходимо установить Docker CE и Docker Compose. Затем можно приступать к шагам, описаным в статье.
Прочитать больше

Автор:Игорь Тельменко

Docker Compose

Docker Compose — это инструмент, который позволяет запустить несколько контейнеров Docker одной командой. Также он упрощает процессы управления Docker-контейнерами (настройка связей и объемов внутри контейнеров, запуски закрытие). Прочитать больше

Автор:Игорь Тельменко

Webpack

Webpack — это сборщик модулей современных JavaScript приложений (в принципе любых веб приложений, у которых есть JavaScript часть). Когда он обрабатывает ваше приложение, то рекурсивно собирает граф зависимостей, которые требуются каждому модулю вашего приложения. Затем упаковывает все эти модули в небольшое число склеек (bundles), которые и грузятся  в браузер.

Для сборки веб приложений webpack заменит собой grunt, gulp (системы организации задач) и bower (пакетный менеджер клиенской части). Однако, так как у grunt и gulp область применения иная и не ограничивается сборкой, то в ряде случаев webpack можно и нужно встроить в задачи, контролируемые этими системами. Прочитать больше

Автор:Игорь Тельменко

Gulp

Gulp — это тоже система организации задач, такая же как и grunt, но появилась позже него. Gulp так же устанавливается как npm пакет.

Базовые отличия в этих двух системах следующие: Прочитать больше

Автор:Игорь Тельменко

Grunt

Grunt — это система организации рутинных задач, которые делает веб разработчик. Примеры таких задач — минификация кода, компиляция, запуск юнит-тестов, линтинг.

Задачи, которые необходимо автоматизировать прописывается командами в специально файле Gruntfile.js. После чего с помощью команды grunt <имя задачи> можно выполнить любую задачу (последовательность команд). Часто используемую задачу (например сборку всех js и css файлов) можно сделать задачей по-умолчанию и запускать просто командой grunt. Прочитать больше

Автор:Игорь Тельменко

Promise

Promise (промисы) — удобный механизм организации асинхронного кода.

Предположим нам необходимо в JavaScript коде совершить обращение к серверу и с полученными результатами обратиться к серверу еще раз и получить новую информацию, а с этой информацией еще раз. И все эти запросы к серверу мы хотим сделать асинхронными.

Чтобы нам понадобилось при этом. Несколько вложенных двуг в друга callback-функций (обработчиков). Такой код стал бы плохочитаемым. Так же, на бы хотелось иметь обработку ошибок. Для этого пришлось бы добавлять callback-функции и для ошибочных ситуаций. Для решения этой проблемы и существуют промисы. Прочитать больше

Автор:Игорь Тельменко

Vue multiselect

Для некоего проекта понадобился компонент multiselect, который бы подгружал варианты асинхронно и отображал бы выбранные варианты строкой. Тоесть нечто подобное, что есть у WordPress при прикреплении тагов к заметке. Прочитать больше

Автор:Игорь Тельменко

Npm

Npm — это пакетный менеджер Node.js. Файл package.json содержит в себе информацию о зависимостях вашего приложения в части пакетов Node.js. Множество современных инструментов для разработки веб-приложений устанавливаются через данный менеджер пакетов (webpack, grunt, gulp, bower …). Прочитать больше

123