Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1

pdoParser против modParser

Третьего дня Сергей Шлоков провёл новый тест скорости работы парсера MODX и шаблонизаторов Fenom и Smarty.

До Smarty мне дела нет, но с итоговыми выводами, что никакой разницы в скорости между синтаксисом MODX и Fenom не видно, я категорически не согласен.



Итак, что нужно прояснить. У оригинального парсера MODX modParser есть две, на мой взгляд, фундаментальные проблемы:

Во-первых, каждый тег при разборе превращается в PHP объект modTag и в нём запускается метод process. То есть, если в чанке указан просто [[+id]], то MODX вместо обычной замены его через str_replace будет создавать новый объект и парсить.

Во-вторых, из-за своей рекурсивной природы, MODX выполняет все условия в чанках. Он просто не знает, во что могут превратиться эти условия на пятой, например, итерации. Причём делает он это изнутри наружу.
То есть, если вы прячете какой-то кусок оформления для вывода только нужным пользователям за условиями в чанке — именно этот кусок и будет первым делом разобран, а потом MODX решит, нужно ли его выводить, когда проверит условие с юзером. Народ придумывает разные костыли для обхода этого момента, чтобы парсить только нужное, типа [[![[+user:is=`admin`:then=`auth`:else=`guest`]]]].
Василий Наумкин
26 апреля 2022, 08:11
modx.pro
793
+27

Используем Vesp в MODX

Привет, друзья, давно не виделись!

Прошло уже больше года, как я перестал активно работать с MODX и погрузился в работу с более современными технологиями: Vue, Eloquent и т.д.

Со временем написал и потихоньку развиваю свой фреймворк Vesp, на котором делаю все текущие проекты. Тем не менее, текущий работодатель компания Pixmill не собирается прощаться с MODX, поэтому и мне переодически приходится с ним работать.

В понедельник поступила задача написать функционал для отправки поздравительных открыток постояльцам пансионата: родственник заходит на сайт, грузит фотографию, пишет текст послания, проверяет и сохраняет. А сотрудники заведения печатают открытку и дарят её пожилому человеку.
Василий Наумкин
16 января 2022, 14:54
modx.pro
948
+20

Почему AjaxForm использует сессии?

Всем привет, давно не виделись!

Переодически почитываю новости на сайте и вот увидел ветку комментариев про хранение данных в сессии.

Казалось бы, совершенно заслуженный камень в мой огород, как автора дополнения. Зачем использовать сессии для ajax сниппетов, ведь сама по себе эта технология сессий не требует? Так-то оно так, но в мире MODX всё несколько сложнее.
Василий Наумкин
04 августа 2021, 10:03
modx.pro
2 265
+20

Завершение работы с MODX

Не знаю, заметили вы или нет, но из обещанного на 2020 год я так ничего и не сделал. Пытался, садился что-то делать много раз.
Больше чем на половину даже сделал новый modx.pro на Vue, но и там вдохновение закончилось как только понял, что сам им пользоваться уже не буду. Больше не прёт, увы.

Думаю что всё, что я мог сделать для MODX, уже сделал. Соответственно, пора перестать страдать фигней и просто уйти.

Поэтому в течение 2х месяцев, до 2021 года, нам нужно разобраться с кое-какими вопросами.
Василий Наумкин
05 ноября 2020, 13:22
modx.pro
4
2 836
+58

Деплой проекта на сервер из Github

При разработке проектов локально есть необходимость выгружать изменения на сервер. Просто взять и выгрузить всё сразу недостаточно, обычно нужно еще запустить какие-то скрипты, вроде обновления зависимостей и миграций.

Когда мне в очередной раз надоело это делать руками, я решил как-то автоматизировать процесс. Полез искать варианты в интернет, где нашёл множество готовых сервисов на любой вкус. Но большинство из них платные и требуют не всегда простой настройки.
Плюс, я не горю желанием пускать кого угодно на свой сервер в терминал, даже с очень ограниченными правами.

А потом я наткнулся на ранее неизвестные мне возможности Git — его хуки.
Василий Наумкин
01 октября 2020, 11:54
modx.pro
12
7 376
+19

Отказ от поддержки modx.com

Не хочу писать эту заметку, но нужно информировать общественность.

Все вы знаете, что дела у MODX идут ни шатко, ни валко. 3й версии нет, активность сообщества на нуле, новых дополнений почти не выходит.

Для координации основных разработчиков еще во времена моей работы в Нидерландах (а может и раньше) был создан закрытый чат в Slack, где обсуждались всякие вопросы о будущем системы. Так вот, вчера меня из него исключили без объяснения причин.



Конечно, я не был там особо активен, но вот так просто взять и выкинуть — это перебор. Возможно конечно, что чат и вовсе закрыли, но у нормальных людей принято о подобном предупреждать.
Василий Наумкин
19 сентября 2020, 05:07
modx.pro
3 829
+19

Телеграм чат Vesp.pro

Привет, друзья!

2020 очень сложный год, но я не перестаю работать на своей новой системой Vesp, про которую уже писал не раз, и не два.

До полноценного релиза нужно еще сделать очень много, но я уже зарегистрировал домен vesp.pro (пока что он редиректит прямо сюда), и создал одноимённый телеграм-чат.

Заходите в гости, задавайте вопросы по современной веб-разработке, я постараюсь отвечать.
Василий Наумкин
09 августа 2020, 17:57
modx.pro
1
1 385
+17

Знакомимся с Vesp Core

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



Что я и сделал на github.com/bezumkin/vesp-core, теперь осталось рассказать, как его использовать.
Василий Наумкин
29 июня 2020, 08:03
modx.pro
15
2 207
+32

Платные дополнения Sterc уходят в Open Source

Получил на почту анонс с просьбой перевести и разместить у нас тут.

Вот, размещаю, и перевожу как могу. Для начала оригинал:
On August 1st, 2020 all premium MODX Extras created by ​Sterc​ will be free. We have
decided to stop with paid MODX plugins so we can focus on our core-business. This is of
course creating awesome websites and web applications based on MODX and especially
MODX3.

This decision will offer other developers in the MODX community to improve our extras even
faster, as you are used to with our free extras. This also means that we may hire (remote)
MODX developers to work on these extras or ​MODX3​ itself, because we highly value those
two things and we feel they should continue to be improved. Open source doesn’t mean all
work has to be done free of charge. Where some people can offer development resources
by offering their talents and time, other people can fund them. Let’s speed up innovation
together!
Василий Наумкин
29 мая 2020, 15:56
modx.pro
5
1 623
+27

Работаем на MacOS с Valet Plus

Привет, друзья!

Многие знают, что я всегда был против локальной разработки, и предпочитал использовать виртуальную машину с настоящим GNU/Linux, где всё работает точно так же, как и на хостинге. Никаких XAMPP, WAMP и прочих Denwer.

Но недавно меня познакомили с Valet Plus, и как-то очень уж он мне понравился. Внимание, Valet работает только на MacOS, поэтому дальше стоит читать исключительно обладателям этой ОС.

Итак, Valet Plus, это улучшенная версия обычного Laravel Valet, которым я ни разу не пользовался. Смысл в том, что вам на компьютер устанавливаются PHP, Nginx, DnsMasq и MySQL, а потом постоянно работают в фоне. И когда вы добавляете новый сайт, он просто сразу начинает работать по адресу типа new-project.test. Не нужно править /etc/hosts и колдовать с настройками Nginx, всё работает само.

И самое важное, что работает точно так же, как и на хостинге, потому что MacOS — это Unix-совместимая система, очень похожая на GNU/Linux и FreeBSD, которые крутят 99% всех shared-хостингов. И вы устанавливаете нормальные версии сервисов для неё, а не какие-то специально приготовленные.
Василий Наумкин
28 мая 2020, 07:10
modx.pro
5
2 902
+21