Основы работы с терминалом linux

Здесь привожу краткий перечень основных требуемых комманд для работы в терминале linux с файлами и папками. Перечень представленный здесь не велик, но все же позволяет выполнять основные опперации. За каждое действие отвечает своя комманда (читай программа) которая зачастую имеет приличный перечень параметров и опций, но не нужно учить их наизусть, в процессе использования все быстро запоминается.

Читать далее «Основы работы с терминалом linux»


BITRIX Простой компонент

С собеседования пришла задача реализовать компонент на CMS 1-С Битрикс. Сразу скажу, до этого с данной системой дела не имел, поэтому могу в чем-то и ошибаться. Система состоит из ядра и модулей, расширяющих его функционал до уровня корпоративного портала с мессенджерами, таскерами и даже распознаванием лиц.  Основная идея битрикс, как CMS, строится на основе разделения контента на статический и динамический. Все страницы сайта являются статическими, то есть физическими файлами на сервере. Зачастую структура папок этих страниц совпадает со структурой меню сайта. Динамика сайта реализована через универсальные типы – инфоблоки(подключаемые отдельным модулем). Они позволяют добавлять в систему бизнес-сущности (например, продукты, статьи и т.д.), а затем уже контент менеджер создает экземпляры этих сущностей (заполняя каталог продуктов). Инфоблоки подразделяются по типу предоставляя большую гибкость по созданию контента. Сами инфоблоки на страницы выводятся с помощью компонентов — мини-приложений, отвечающих за формат вывода инфоблоков. В битрикс из коробки уже заложено большое количество компонентов, при необходимости их можно кастомизировать или создавать свои собственные. Компоненты бывают простыми и комплексными. Например, простой компонент выводит краткую информацию о товаре на карточку. Комплексный компонент позволяет связать несколько простых, например, вывести карточки товаров и компоненты верхней и нижней пагинации.

В итоге, получаем следующую структуру:

Читать далее «BITRIX Простой компонент»


Шаблон проекта для верстки

 

В процессе работы укомплектовалась конфигурация для верстки сайтов. Здесь выкладываю свой gulpfile.js ( в последнее время пользуюсь только Gulp). Ну, и для удобства, шаблон проекта полностью доступен на github.
Читать далее «Шаблон проекта для верстки»



Паттерны проектирования в метафорах

 

На данный момент статей о паттернах проектирования в сети предостаточно. Эта статья — попытка расставить все по местам (велком метод Фейнмана). Я постарался просто описать паттерны в метафорах, не погружаясь в реализацию. Да, я не заявляю, что все метафоры придумал самостоятельно. В большинстве случаев это примеры куда более компетентных авторов. Так же, привожу для удобства ссылки на википедию — основной источник информации. 

Итак… Паттерны проектирования — это методы применения принципов ООП для решения определенных задач. Паттерны не предлагают конкретной реализации, и поэтому могут быть реализованы на различных языках программирования. Главное, чтобы была поддержка ООП на уровне языка. Как следствие, применение паттернов за счет абстракций помогает сделать код более независимым.
Читать далее «Паттерны проектирования в метафорах»



Настройка контейнера docker для разработки и тестирования WordPress

Немного о контейнеризации

Вопрос о применении контейнеризации возникает когда необходимо в быстром порядке развернуть веб-приложение на сервере, или обеспечить одинаковые условия на стадиях девелопмент и продакшен (исключить вариант — «А у меня все работает»). Кроме того, посредством контейнеризации можно разворачивать на одном сервере разные версии среды исполнения, например, хостинг приложений с разными версиями php, mysql.

Сам принцип контейнеризации отличается от виртуализации(когда в основной системе устанавливается виртуальная требующая соизмеримых ресурсов). Контейнеры разворачиваются на ядре основной системы — хоста, поэтому требования к «железу» значительно ниже. Контейнеры позволяют изолированно разворачивать компоненты системы включая в содержимое контейнера только то, что требуется. Сами контейнеры строятся на основе образов (images) которые представляют собой оболочку для компонентов. Например образ Apache, Mysql, php используется для контейнера на котором можно разрабатывать веб приложение.
Читать далее «Настройка контейнера docker для разработки и тестирования WordPress»