Сергей Шлоков

Сергей Шлоков

С нами с 31 января 2013; Место в рейтинге пользователей: #3
Сергей Шлоков
09 августа 2022, 17:10
+2
В параметрах сниппета отключи кэш
{'!pdoSitemap' | snippet : [
   ...
  'cache' => false
]}
Сергей Шлоков
07 августа 2022, 10:12
0
Саш, ну ты же понимаешь, что делает Ctrl+F5?

Для сравнения, создай html файл (скопируй исходник основной страницы) в корне сайта и сравни заголовки ответа сервера в том и другом случае. Возможно, у тебя установлен какой-нибудь модуль для управления заголовком Last-Modified? Обычно, сервер в этом случае отвечает кодом 304.

от статичный чанк
{include 'scripts.tpl'}
как то кешируется.
Инструкция include никогда не кэширует чанк. Открой кэш страницы и посмотри, что у тебя указано в поле _content.
Сергей Шлоков
07 августа 2022, 08:49
+1
За это отвечает веб-сервер.
Сергей Шлоков
07 августа 2022, 08:47
0
Хех, рассказываешь про Ctrl+F5, а лезешь в настройки MODX.

У тебя проблема с кэшированием браузера, вот и разбирайся с ним — смотри заголовки веб-сервера, которые отвечают за кэширование — всякие там cache-control, expires, pragma…
Сергей Шлоков
24 июля 2022, 12:52
0
Прямо на страницу. Семён, насколько я знаю, даже модификатор dump добавляет в шаблонизатор. Т.е. можно и в шаблоне вызывать.
Сергей Шлоков
24 июля 2022, 06:32
+3
Для обычных хостингов можно использовать функцию dump из библиотеки modHelpers. Она использует тот же пакет var_dumper от Synfony, что и Ray из топика. Через неё также можно выводить любые данные с возможностью сворачивать/разворачивать как на видео выше.
Сергей Шлоков
23 июля 2022, 15:39
+4
Крутая вещь! Плюсую! Разработка на MODX становится более взрослой и современной. Хотя Джейсон мне как-то ответил, что MODX это CMS и не нужно тянуть в него фишки из фреймворков. Ребята из MODX LLC ещё те спецы по отбиванию желания работать на MODX. К сожалению.
Сергей Шлоков
12 мая 2022, 16:49
+1
JWT обычно используют для API. Если тебе нужно использовать его на сайте, то пихай его в куки. Можно использовать пакет jwtSession.
Сергей Шлоков
12 мая 2022, 09:06
+1
Изучаю эту технологию и честно говоря, на мой взгляд, это очень небезопасная система.
Web — это вообще небезопасная сфера.

Какую бы документацию не читал, везде встречаю фразу типа — даже если у вас украдут токен, то он позволит пользоваться сервисом не долго.
А если у тебя украдут авторизационную куку?

Не говоря уже о том, что большинство разработчиков не ставят время жизни в 10 минут, а ставят 12 часов а то и больше
Честно говоря, сомневаюсь в твоей оценке. Уверен, есть такие разработчики, но их количество резко сокращается с увеличением опыта. Особенно, когда они узнают про refresh token.

кто то даже хранит их (access token) в базе
Наверно это те же «спецы».

Изобретаю механизм межсерверной аутентификации.
Пополняешь список велосипедостроителей? Есть уже готовые стандарты — OAuth2 и OpenID Connect. Первый — это протокол авторизации. Второй — это надстройка над первым для аутентификации. Он позволяет использовать единый логин (SSO) для сервисов. Для всех языков есть библиотеки.
В id токене ты можешь хранить информацию о пользователе (его id, email или телефон). По нему ты можешь получить пользователя из БД, которого в крайнем случае ты можешь заблокировать. Это один из вариантов.
Кроме того, авторизационный сервер хранит access_token для клиента.

В комментарии всё не опишешь. Но в инете много информации по этому вопросу. Странно задавать его здесь.
Сергей Шлоков
02 мая 2022, 09:10
+3
1. Переопределить настройку для переноса всего кэша
$modx->setOption('cache_path', 'новый путь к папке кэша');
2. Для более тонкой настройки расширить менеджера кэша, в котором изменить метод modCacheManager::generateResource, чтобы переопределять cacheKey ресурса. По-умолчанию он имеет значение «contextKey]/resources/[id]». Можно указать свой типа «web/$siteName/resources/$obj->id». $siteName определяете сами.
Сергей Шлоков
01 мая 2022, 06:23
+1
В оф. репозитории последняя версия pdoTools 3.0.0-beta от декабря.
Сергей Шлоков
30 апреля 2022, 21:41
0
Почему pdoTools отмечен крестиком? Указанные замечание датированы мартом 2021 года. Но я полгода назад выпустил адаптированную версию для MODX3. Стукни Марку, чтоб поправил.
Сергей Шлоков
28 апреля 2022, 06:44
0
Алексей выше правильно написал. Простые теги pdoTools заменяет значениями средствами PHP без парсинга.

Чтобы не беспокоить почитателей Василия, который написал интересную статью, только совсем про другое, напишу на своём сайте, в чём Fenom проигрывает стандартному парсеру. Тогда сразу будет понятно, почему я говорю, что тест Василия синтетический.
Сергей Шлоков
26 апреля 2022, 22:23
0
Сергей, я считаю вполне обоснованным «недопонимание» со стороны Василия, мне бы тоже не понравился упрёк в мою сторон
Наверно ты прав. Думаю, будет правильнее удалить это. Статья чисто техническая. И не хотелось бы придавать ей какую-то эмоциональную окраску. И у меня нет никакого упрёка или претензий ни к Василию как к разработчику, ни к pdoTools. Многие из нас участвовали в совершенствовании этой библиотеки. Поэтому знаем все её преимущества. А Василий потратил огромное количество своего времени на её развитие. Только неблагодарный может предъявлять какие-то претензии. Я точно к таким не отношусь.

А недопонимание объясняется легко. К сожалению, у нас с Василием давно уже нет взаимопонимания. И уважительного отношения на личностном уровне. Но я от этого не страдаю. Уверен, и он тоже. И в дальнейшем я не планирую повышать нулевой уровень нашего общения.

И в конце статьи тогда стоило бы уточнить про предустановку pdoTools
А бывают сайты без pdoTools? Лендинги наверно? Но про них говорить смысла нет. Просто я в статье закрепил то, о чем много раз говорил и в чатах и комментариях в ответ на вопросы типа насколько быстрее будет работать сайт, если в карточке товара заменить синтаксис MODX на Fenom. В одном из своих последних комментариев тут я как раз и писал, что главная причина ускорения сайта — это pdoTools.

Многие разработчики сами замечают, что после замены ничего не изменилось по скорости. Как и на не заметил прироста на своём сайте. В этой статье я объяснил почему. Да и сам Василий в своём сегодняшнем посте тоже. Цифры для pdoParser до 100 чанков. Большинство сайтов (может даже 90%) использует пагинацию и даже 100 чанков парсить в цикле не будет. Не у всех на каждой странице сайта 890 комментариев.
Сергей Шлоков
25 апреля 2022, 21:25
0
Так, давайте проясним, чтобы не было недопонимания.
В статье я показал, что если у вас установлен pdoTools, не надо бросаться переписывать все на Fenom и менять [[pdoResources? ...]] на {'pdoResources' | snippet: [...]}, или [[++setting]] на {'setting' | config} ради выигрыша в скорости как советуют некоторые разработчики. Вы его не получите.

П.С. И, да, чанк я взял из теста (тот который с логикой), о чём и написал в начале поста.
Сергей Шлоков
24 апреля 2022, 11:55
0
Замечание принял. А кроме комментариев есть ещё примеры?

Или это только про удобство, а не скорость?
К самому тесту замечания есть? Я говорю про тест через сниппет в обычном режиме, в котором будут работать 99,9% разработчиков, а не через API.

П.С. Лично я считаю, что эти тесты искуссвенные. В боевом проекте, где куча чанков, сниппетов и т.д., цифры будут совершенно другие. Вот где интересно было бы погонять тесты.Но судя по отзывам разработчиков, которые меняли синтаксис, разницы особо не видно. Даже часто феном немного проседал.
Сергей Шлоков
24 апреля 2022, 11:32
0
Вспомнился роман Хейли «Колесо». Там создавали новую модель машины и на этапе тестирования возникла проблема — что-то с коробкой передач на определённой скорости. Стоимость доработки 5 долларов. Ерунда. Копейки по сравнению со стоимостью машины. Но разработчики отказались от этой идеи. Причина — планировалось выпустить около 1 миллиона экземпляров. А значит дополнительный расходы составили бы + 5 млн. долларов.

10 лишних запросов для небольшого сайта — плёвое дело. А для высоконагруженного может оказаться непозволительной роскошью.

Подход к кэшированию должен быть вдумчивым. Кэшировать всё подряд также не имеет смысла. Нужно думать об актуализации данных. Поэтому всегда нужно находить баланс. Для этого и нужны опытные разработчики. )
Сергей Шлоков
24 апреля 2022, 11:24
0
Читаем внимательно и до конца.
Сергей Шлоков
24 апреля 2022, 10:20
0
Прочитал про размер кэша. Твоё удивление от непонимания. Что такое кэш? Это статичные данные. Если у тебя кэш на феноме в 10 раз меньше, то есть повод задуматься — всё ли закэшировалось? Отсюда и лишние запросы к БД. Конструкция {include 'чанк'} никогда не кэширует чанк.

Просто с таким же успехом можно восхищаться пустой папкой кэша после того, как ты его отключишь.
Сергей Шлоков
24 апреля 2022, 10:12
0
Наверно поиском [[$ по таблицам контента, шаблонов и чанков. Или заюзать событие OnParse.