FFCMS.RU 
Fast flexibility content management system
1.Введение 
FFCMS - быстрая, расширяемая система управления содержимым 
сайта. Система написана на php и использует mysql в качестве хранилища 
данных. 
FFCMS предназначена для упрощения разработки и наполнения 
ваших веб-сайтов: с помощью системы могут быть реализованы как 
простые сайты-визитки так и сложные интернет-порталы. 
К основным достоинствам системы можно отнести: 
● Быстрота и удобство работы 
● Минимальное потребление ресурсов 
● Поддержка расширенной мультиязычности 
● Возможность расширения функциональных особенностей с помощью 
расширений для системы.
2.Интерфейсы системы 
2.1. Интерфейс пользователя 
Данный интерфейс является 
реализацией взаимодействия 
сайта с пользователем. 
Именно данный интерфейс 
увидят пользователи, которые 
посетят ваш сайт. Интерфейс 
пользователя является одним из 
основных типов интерфейса. 
Системное название 
интерфейса пользователя - front. 
PIC 1. Интерфейс пользователя
2.Интерфейсы системы 
2.2. Интерфейс установщика 
Данный интерфейс является 
системным интерфейсом 
установщика системы FFCMS - он 
позволяет устанавливать и 
обновлять систему вашего сайта. 
Данный интерфейс 
предназначен для администрации 
и технического персонала, которые 
управляют веб-сайтом и следят за 
его техническим состоянием. 
Системное имя интерфейса - install 
PIC 2. Интерфейс установщика
2.Интерфейсы системы 
2.3. Интерфейс администратора 
Данный интерфейс является 
основным для администратора или 
модератора сайта и позволяет 
управлять содержимым сайта и его 
настройками. 
Интерфейс 
администратора позволяет 
редактировать содержимое, 
отображаемое в интерфейсе 
пользователя. 
Системное название 
данного интерфейса - back. 
PIC 3. Интерфейс администратора
2.4. API интерфейс 
Данный интерфейс является 
техническим, не видимым для 
пользователя или администратора и 
позволяет реализовывать 
различные модели взаимодействия 
по принципу REST API, в частности - 
AJAX взаимодействие и 
взаимодействие с удаленными 
сервисами. 
Интерфейс поддерживает 
взаимодействие 2х направлений - 
front и back(в зависимости от 
взаимодействующего интерфейса). 
PIC 4. API интерфейс 
2.Интерфейсы системы
3.Управление сайтом 
Управлять содержимым вашего сайта вы можете с помощью 
интерфейса администратора (см. п. 2.3). 
После установки системы FFCMS на ваш сайт - авторизуйтесь и 
перейдите в админ панель: 
На главной странице админ панели вы увидите общую информацию о 
состоянии вашего сайта и системы в целом.
Так же вам будет доступно 2 административных меню: 
Данное меню позволяет управлять функциями быстрого доступа, просмотра 
сайта и выхода из административной панели. 
Данное меню является основным и позволяет управлять 
системой и ее расширениями. Краткая характеристика: 
1. Система: настройки, файлы, дампы, антивирус, обновления 
2. Модули: управление модулями системы 
3. Компоненты: управление компонентами системы 
4. Хуки: управление хуками системы 
Все функциональные особенности системы FFCMS предоставлены 
в виде расширений - компонентов, модулей, хуков а так же 
вспомогательных apicallback и crontask. 
В совокупности они реализуют функции статических страниц, 
новостей, обратной связи и другие возможности. 
3. Управление сайтом
Системные настройки в административной панели сгруппированы по типу их 
принадлежности к тем или иным настройкам: 
3. Управление сайтом 
➔ Основные: адрес сайта, шаблон, язык, 
время, ЧПУ, мултиязычность, отладка 
➔ SEO: заголовок, описания, ключевые слова 
для главной страницы сайта 
➔ Токены и кэш: время файлового 
кэширования, время длительности сессии 
➔ Файлы: допустимые форматы, размер, 
размеры для изображений 
➔ Почта: настройки отправки почты, smtp 
➔ База данных: подключение к базе данных - 
host, user, password, database, prefix 
➔ API: в данный момент только ключ для 
сервиса yandex.translate API
С помощью файлового менеджера вы можете управлять всеми файлами, 
которые были загружены на ваш сайт: 
В качестве файлового менеджера используется СПО elFinder, который в графическом режиме 
позволяет удобно управлять вашими файлами - создавать, копировать, удалять или перемещать 
между директориями, а так же управлять директориями сайта - создавать, копировать, 
переименовывать и перемещать. 
Работа с файловым менеджером возможна при условии наличия прав записи на /upload/. 
3. Управление сайтом
Системный антивирус позволяет проверить директорию сайта на наличие 
подозрительных объектов в системе, которые могут угрожать безопасности. 
Однако следует помнить - что антивирус лишь проверяет соответствие хэш-сумм файлов 
оригинальному образу и наличие в них потенциально небезопасных функций: shell_exec, exec, eval, 
passthru, system, popen & curl_exec. 
Однако вы всего можете добавить файлы или 
директории в исключения антивируса. 
3. Управление сайтом
С помощью функции “Резервирование” вы всегда сможете сделать резервную 
копию файлов и базы данных вашего сайта. 
Всего лишь одним нажатием на кнопку для вас будет создана резервная копия всех файлов и базы 
данных вашего сайта, после чего резервная копия будет сохранена в директорию /backup/ с 
указателем даты созданной копии. 
Мы рекомендуем вам делать резервные копии вашего проекта не реже раза в неделю и загружать 
на ваш компьютер. 
3. Управление сайтом
С помощи функции “Обновления” вы можете следить за актуальностью версии 
FFCMS на вашем сайте а так же за актуальностью установленных расширений. 
При выходе новых версий системы вы всегда сможете обновить ваш сайт при помощи удаленной 
загрузки обновленного дистрибутива. Вы так же сможете обновлять расширения от сторонних 
разработчиков, в случае если данные расширения будут поддерживать алгоритм обновления, 
предусмотренный в системе FFCMS. 
Вы как и ранее сможете обновлять систему и загрузкой нового дистрибутива поверх, если вдруг 
автоматическое обновление будет неудачным. 
3. Управление сайтом
При помощи меню “Модули”, “Компоненты”, “Хуки” вы можете управлять 
расширениями на вашем сайте. 
При помощи данных функций вы можете управлять расширениями - просматривать их возможности, 
функции управления, включать, отключать и устанавливать новые расширения в системе. 
Интерфейс управления каждым расширением реализует его разработчик, поэтому некоторые 
расширения могут не обладать таковыми функциями. 
3. Управление сайтом
4.Расширения системы 
В системе FFCMS предусмотрено 5 типов расширений: 
➢ Компоненты - генерация содержимого сайта в зависимости от 
внутреннего URI запроса. 
➢ Модули - работа с шаблонными позициями 
➢ Хуки - реализация методов взаимодействия между расширениями 
системы, сторонним кодом и сервисами. 
➢ ApiCallback - реализация простых REST API для взаимодействия 
внутри и вне системы. 
➢ Cron - реализация дополнений к расширениям, которые позволяют 
выполнять задания по расписанию (Cron task).
Основные различия между модулями и компонентами в системе FFCMS продемонстрированы на 
изображении ниже: 
В данном случае при обращении по URI 
/feedback/ был вызван компонент 
feedback(обратная связь), содержимое 
которого расположено в блоке 
{{ content.body }}. 
Но на данной странице так же работает 
и модуль - tag_cloud(облако тегов) - 
который контролирует шаблонную 
позицию, если его работа не исключена 
на данном URI. 
Таким образом на странице может быть 
сколько угодно модулей и лишь один 
компонент, контролирующий ту или 
иную позицию, чаще всего - {{ 
content.body }}. 
Важно запомнить - что системный роутер инициирует вызов компонента в зависимости от заданного URI, а модуль 
вызывается повсеместно(или по правилу роутинга для модуля). 
В данном случае системный роутер обратился к классу com_feedback_front (com_feedback_front::getInstance()->make()) 
при обработке URI страницы. 
4. Расширения системы
В свою очередь в отличии от модулей и компонентов системные хуки не имеют явного метода вызова 
- они лишь реализуют возможности взаимодействия. Наглядным примером такого взаимодействия 
есть вызов хука “captcha” для отображения защитного изображения и валидации введенных данных. 
Это локальный пример для ранее рассмотренного компонента “feedback” - компонент 
взаимодействует с хуком “captcha” для отображения защитного изображения(->show()) и проверки 
валидности ответа пользователя(->validate(response)). 
4. Расширения системы
Как мы уже ранее говорили ApiCallback позволяют создавать подобия REST API взаимодействия без 
использования представлений(шаблонов html разметки, в данном случае). Apicallback расширение 
реализует отображение данных по своему усмотрению, без использования стандартного 
шаблонизатора и синтаксиса TWIG. 
Ярким примером взаимодействия с ApiCallback является добавление комментария на сайте - по логике AJAX идет 
отправка текста на Apicallback взаимодействия и возвращается результат обработки - текст добавленного 
комментария. 
4. Расширения системы
В свою очередь “cron” расширения могут выступать в качестве дополнений к модулям, компонентам 
или хукам и выполнять особенности “тяжелых” запросов удаленного или локального взаимодействия. 
Все cron запросы инициируются любым пользователем сайта, который загружает те или иные 
страницы сайта. 
При загрузке каждой странице выполняется “звонок” по средствам фонового GET запроса на инициализирующий 
алгоритм Cron расширений, который выполняет необходимые задания, в случае если время их повторения истекло. 
Таким образом мы “убиваем” сразу 2 зайца: 
● Нет необходимости добавлять cron-задачу в вашу операционную систему 
● Сайт, который не посещают пользователи не нуждается в обновлении данных в текущий момент и ресурсы 
4. Расширения системы 
системы не будут израсходованы напрасно 
Вы конечно можете добавить вызов /api.php?cron=1 в системный вызов cron-задач (путем wget) однако для этого нет 
крайней необходимости. 
Cron расширения рекомендуется реализовывать для долгих по времени выполнения алгоритмов - к примеру, загрузке 
или взаимодействия с удаленными хранилищами данных, обновление которых не обязательно в режиме реального 
времени.
5.Заключение 
Если вас заинтересовала информация о системе мы рекомендуем вам 
ознакомиться со следующими материалами: 
1. Официальный сайт 
2. Документация 
3. Форум поддержки 
4. Каталог расширений 
Благодарю вас за внимание! 
11.10.2014 Пятинский Михаил, zenn1989@gmail.com

More Related Content

PPT
Eleanor
PPTX
Оранжевый - новый синий: Как портировать Chrome Extension в Firefox Extension
PDF
VMware vSphere 5 - обзор новых возможностей (RUS)
PPTX
Enterprise flex pure mvc, slides, russian
PPT
Eleanor CMS
PPT
CMS Site Index
PDF
Первые шаги после установки WordPress
PPTX
Web deployment
Eleanor
Оранжевый - новый синий: Как портировать Chrome Extension в Firefox Extension
VMware vSphere 5 - обзор новых возможностей (RUS)
Enterprise flex pure mvc, slides, russian
Eleanor CMS
CMS Site Index
Первые шаги после установки WordPress
Web deployment

What's hot (9)

PPT
[JAM 1.1] Symfony (Alexei Yanochkin)
PPT
PDF
Apache2
PDF
Архивы в Java
PDF
Миграция Web-проекта в облако. И.Гальцев.
PPTX
Planning SharePoint 2010 Backup and Recovery (Russian)
PPT
Seopult мастеркласс 1 - восстановление сайта после взлома
PPTX
Эволюция BackDoor.Flashback
PDF
Installation guide
[JAM 1.1] Symfony (Alexei Yanochkin)
Apache2
Архивы в Java
Миграция Web-проекта в облако. И.Гальцев.
Planning SharePoint 2010 Backup and Recovery (Russian)
Seopult мастеркласс 1 - восстановление сайта после взлома
Эволюция BackDoor.Flashback
Installation guide
Ad

Viewers also liked (8)

PPTX
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
PDF
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
PPT
Тиражные решения и готовые интернет-магазины на платформе «1С-Битрикс»
PDF
Андрей Юткин. Media Picker — to infinity and beyond
PPTX
TechLeads meetup: Евгений Потапов, ITSumma
PDF
TechLeads meetup: Макс Лапшин, Erlyvideo
PDF
TechLeads meetup: Алексей Рыбак, Badoo
PPTX
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Кортунов Никита. Как ускорить разработку приложений или есть ли жизнь после P...
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
Тиражные решения и готовые интернет-магазины на платформе «1С-Битрикс»
Андрей Юткин. Media Picker — to infinity and beyond
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Макс Лапшин, Erlyvideo
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Ad

Similar to FFCMS - вводная для пользователя (20)

PDF
Managing thousands of servers at OK.RU
PPTX
Управление тысячами серверов в Одноклассниках. Алексей Чудов.
PPT
“КП” в интернете (Александр Ромашин, Вячеслав Малютин)
PDF
Современные платформы (фреймворки) разработки веб- приложений на PHP
PDF
Chudov
PPTX
Управление облачной инфраструктурой
PPS
Magento performance
PDF
Техническая разработка сайтов
PDF
техническая разработка сайтов(2)
PPT
Eleanor
PPTX
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
PDF
Современная система управления порталом для создания сервисов в интернет ново...
PPTX
Hosting for forbes.ru_
PPT
распределенная архитектура Lamp приложений петр зайцев
PDF
Как не положить тысячи серверов с помощью системы централизованного управлени...
PDF
Как не положить тысячи серверов с помощью системы централизованного управлени...
PDF
Вадим Мадисон "Опыт разработки через микросервисы"
PDF
защита Web приложений f5 cti
PDF
Л9: Взаимодействие веб-приложений
PDF
2 Постановка целей и выбор CMS
Managing thousands of servers at OK.RU
Управление тысячами серверов в Одноклассниках. Алексей Чудов.
“КП” в интернете (Александр Ромашин, Вячеслав Малютин)
Современные платформы (фреймворки) разработки веб- приложений на PHP
Chudov
Управление облачной инфраструктурой
Magento performance
Техническая разработка сайтов
техническая разработка сайтов(2)
Eleanor
Системный администратор Vkontakte. Как? / Антон Кирюшкин (Vkontakte)
Современная система управления порталом для создания сервисов в интернет ново...
Hosting for forbes.ru_
распределенная архитектура Lamp приложений петр зайцев
Как не положить тысячи серверов с помощью системы централизованного управлени...
Как не положить тысячи серверов с помощью системы централизованного управлени...
Вадим Мадисон "Опыт разработки через микросервисы"
защита Web приложений f5 cti
Л9: Взаимодействие веб-приложений
2 Постановка целей и выбор CMS

FFCMS - вводная для пользователя

  • 1. FFCMS.RU Fast flexibility content management system
  • 2. 1.Введение FFCMS - быстрая, расширяемая система управления содержимым сайта. Система написана на php и использует mysql в качестве хранилища данных. FFCMS предназначена для упрощения разработки и наполнения ваших веб-сайтов: с помощью системы могут быть реализованы как простые сайты-визитки так и сложные интернет-порталы. К основным достоинствам системы можно отнести: ● Быстрота и удобство работы ● Минимальное потребление ресурсов ● Поддержка расширенной мультиязычности ● Возможность расширения функциональных особенностей с помощью расширений для системы.
  • 3. 2.Интерфейсы системы 2.1. Интерфейс пользователя Данный интерфейс является реализацией взаимодействия сайта с пользователем. Именно данный интерфейс увидят пользователи, которые посетят ваш сайт. Интерфейс пользователя является одним из основных типов интерфейса. Системное название интерфейса пользователя - front. PIC 1. Интерфейс пользователя
  • 4. 2.Интерфейсы системы 2.2. Интерфейс установщика Данный интерфейс является системным интерфейсом установщика системы FFCMS - он позволяет устанавливать и обновлять систему вашего сайта. Данный интерфейс предназначен для администрации и технического персонала, которые управляют веб-сайтом и следят за его техническим состоянием. Системное имя интерфейса - install PIC 2. Интерфейс установщика
  • 5. 2.Интерфейсы системы 2.3. Интерфейс администратора Данный интерфейс является основным для администратора или модератора сайта и позволяет управлять содержимым сайта и его настройками. Интерфейс администратора позволяет редактировать содержимое, отображаемое в интерфейсе пользователя. Системное название данного интерфейса - back. PIC 3. Интерфейс администратора
  • 6. 2.4. API интерфейс Данный интерфейс является техническим, не видимым для пользователя или администратора и позволяет реализовывать различные модели взаимодействия по принципу REST API, в частности - AJAX взаимодействие и взаимодействие с удаленными сервисами. Интерфейс поддерживает взаимодействие 2х направлений - front и back(в зависимости от взаимодействующего интерфейса). PIC 4. API интерфейс 2.Интерфейсы системы
  • 7. 3.Управление сайтом Управлять содержимым вашего сайта вы можете с помощью интерфейса администратора (см. п. 2.3). После установки системы FFCMS на ваш сайт - авторизуйтесь и перейдите в админ панель: На главной странице админ панели вы увидите общую информацию о состоянии вашего сайта и системы в целом.
  • 8. Так же вам будет доступно 2 административных меню: Данное меню позволяет управлять функциями быстрого доступа, просмотра сайта и выхода из административной панели. Данное меню является основным и позволяет управлять системой и ее расширениями. Краткая характеристика: 1. Система: настройки, файлы, дампы, антивирус, обновления 2. Модули: управление модулями системы 3. Компоненты: управление компонентами системы 4. Хуки: управление хуками системы Все функциональные особенности системы FFCMS предоставлены в виде расширений - компонентов, модулей, хуков а так же вспомогательных apicallback и crontask. В совокупности они реализуют функции статических страниц, новостей, обратной связи и другие возможности. 3. Управление сайтом
  • 9. Системные настройки в административной панели сгруппированы по типу их принадлежности к тем или иным настройкам: 3. Управление сайтом ➔ Основные: адрес сайта, шаблон, язык, время, ЧПУ, мултиязычность, отладка ➔ SEO: заголовок, описания, ключевые слова для главной страницы сайта ➔ Токены и кэш: время файлового кэширования, время длительности сессии ➔ Файлы: допустимые форматы, размер, размеры для изображений ➔ Почта: настройки отправки почты, smtp ➔ База данных: подключение к базе данных - host, user, password, database, prefix ➔ API: в данный момент только ключ для сервиса yandex.translate API
  • 10. С помощью файлового менеджера вы можете управлять всеми файлами, которые были загружены на ваш сайт: В качестве файлового менеджера используется СПО elFinder, который в графическом режиме позволяет удобно управлять вашими файлами - создавать, копировать, удалять или перемещать между директориями, а так же управлять директориями сайта - создавать, копировать, переименовывать и перемещать. Работа с файловым менеджером возможна при условии наличия прав записи на /upload/. 3. Управление сайтом
  • 11. Системный антивирус позволяет проверить директорию сайта на наличие подозрительных объектов в системе, которые могут угрожать безопасности. Однако следует помнить - что антивирус лишь проверяет соответствие хэш-сумм файлов оригинальному образу и наличие в них потенциально небезопасных функций: shell_exec, exec, eval, passthru, system, popen & curl_exec. Однако вы всего можете добавить файлы или директории в исключения антивируса. 3. Управление сайтом
  • 12. С помощью функции “Резервирование” вы всегда сможете сделать резервную копию файлов и базы данных вашего сайта. Всего лишь одним нажатием на кнопку для вас будет создана резервная копия всех файлов и базы данных вашего сайта, после чего резервная копия будет сохранена в директорию /backup/ с указателем даты созданной копии. Мы рекомендуем вам делать резервные копии вашего проекта не реже раза в неделю и загружать на ваш компьютер. 3. Управление сайтом
  • 13. С помощи функции “Обновления” вы можете следить за актуальностью версии FFCMS на вашем сайте а так же за актуальностью установленных расширений. При выходе новых версий системы вы всегда сможете обновить ваш сайт при помощи удаленной загрузки обновленного дистрибутива. Вы так же сможете обновлять расширения от сторонних разработчиков, в случае если данные расширения будут поддерживать алгоритм обновления, предусмотренный в системе FFCMS. Вы как и ранее сможете обновлять систему и загрузкой нового дистрибутива поверх, если вдруг автоматическое обновление будет неудачным. 3. Управление сайтом
  • 14. При помощи меню “Модули”, “Компоненты”, “Хуки” вы можете управлять расширениями на вашем сайте. При помощи данных функций вы можете управлять расширениями - просматривать их возможности, функции управления, включать, отключать и устанавливать новые расширения в системе. Интерфейс управления каждым расширением реализует его разработчик, поэтому некоторые расширения могут не обладать таковыми функциями. 3. Управление сайтом
  • 15. 4.Расширения системы В системе FFCMS предусмотрено 5 типов расширений: ➢ Компоненты - генерация содержимого сайта в зависимости от внутреннего URI запроса. ➢ Модули - работа с шаблонными позициями ➢ Хуки - реализация методов взаимодействия между расширениями системы, сторонним кодом и сервисами. ➢ ApiCallback - реализация простых REST API для взаимодействия внутри и вне системы. ➢ Cron - реализация дополнений к расширениям, которые позволяют выполнять задания по расписанию (Cron task).
  • 16. Основные различия между модулями и компонентами в системе FFCMS продемонстрированы на изображении ниже: В данном случае при обращении по URI /feedback/ был вызван компонент feedback(обратная связь), содержимое которого расположено в блоке {{ content.body }}. Но на данной странице так же работает и модуль - tag_cloud(облако тегов) - который контролирует шаблонную позицию, если его работа не исключена на данном URI. Таким образом на странице может быть сколько угодно модулей и лишь один компонент, контролирующий ту или иную позицию, чаще всего - {{ content.body }}. Важно запомнить - что системный роутер инициирует вызов компонента в зависимости от заданного URI, а модуль вызывается повсеместно(или по правилу роутинга для модуля). В данном случае системный роутер обратился к классу com_feedback_front (com_feedback_front::getInstance()->make()) при обработке URI страницы. 4. Расширения системы
  • 17. В свою очередь в отличии от модулей и компонентов системные хуки не имеют явного метода вызова - они лишь реализуют возможности взаимодействия. Наглядным примером такого взаимодействия есть вызов хука “captcha” для отображения защитного изображения и валидации введенных данных. Это локальный пример для ранее рассмотренного компонента “feedback” - компонент взаимодействует с хуком “captcha” для отображения защитного изображения(->show()) и проверки валидности ответа пользователя(->validate(response)). 4. Расширения системы
  • 18. Как мы уже ранее говорили ApiCallback позволяют создавать подобия REST API взаимодействия без использования представлений(шаблонов html разметки, в данном случае). Apicallback расширение реализует отображение данных по своему усмотрению, без использования стандартного шаблонизатора и синтаксиса TWIG. Ярким примером взаимодействия с ApiCallback является добавление комментария на сайте - по логике AJAX идет отправка текста на Apicallback взаимодействия и возвращается результат обработки - текст добавленного комментария. 4. Расширения системы
  • 19. В свою очередь “cron” расширения могут выступать в качестве дополнений к модулям, компонентам или хукам и выполнять особенности “тяжелых” запросов удаленного или локального взаимодействия. Все cron запросы инициируются любым пользователем сайта, который загружает те или иные страницы сайта. При загрузке каждой странице выполняется “звонок” по средствам фонового GET запроса на инициализирующий алгоритм Cron расширений, который выполняет необходимые задания, в случае если время их повторения истекло. Таким образом мы “убиваем” сразу 2 зайца: ● Нет необходимости добавлять cron-задачу в вашу операционную систему ● Сайт, который не посещают пользователи не нуждается в обновлении данных в текущий момент и ресурсы 4. Расширения системы системы не будут израсходованы напрасно Вы конечно можете добавить вызов /api.php?cron=1 в системный вызов cron-задач (путем wget) однако для этого нет крайней необходимости. Cron расширения рекомендуется реализовывать для долгих по времени выполнения алгоритмов - к примеру, загрузке или взаимодействия с удаленными хранилищами данных, обновление которых не обязательно в режиме реального времени.
  • 20. 5.Заключение Если вас заинтересовала информация о системе мы рекомендуем вам ознакомиться со следующими материалами: 1. Официальный сайт 2. Документация 3. Форум поддержки 4. Каталог расширений Благодарю вас за внимание! 11.10.2014 Пятинский Михаил, zenn1989@gmail.com