Виртуальная машина с 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 — это система организации рутинных задач, которые делает веб разработчик. Примеры таких задач — минификация кода, компиляция, запуск unit-тестов, линтинг.

Задачи, которые необходимо автоматизировать прописывается командами в специально файле 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 …).

Читать далее

Node.js

Node.js — это программная платформа на C++, которая транслирует JavaScript в машинный код, расширяя область применения данного языка далеко за границы веб-браузеров. Node.js может взаимодействовать с устройствами ввода-вывода и обращаться к сторонним библиотекам. Некоторое время его называли серверным JavaScript. Он может выполнять роль веб-сервера, но на этом его сфера применения не заканчивается. Десктопные оконные и мобильные приложения, программирование микроконтроллеров, сборка веб-приложения (в рабочем окружении веб-разработчика).

Читать далее

Таблицы Vue.js. Часть 1: ratiw/vuetable-2

При создании кабинетов администратора для веб-приложений часто необходимы динамические таблицы. В мире jQuery как минимум есть DataTables и jqGrid. Но так как jQuery в последние годы стремительно теряет нишу занимаемую им ранее в веб-приложениях (frontend), то появилась потребность узнать что же есть подобного для современных библиотек и фреймворков.

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

Читать далее