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

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

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
2 часа назад
0
Конечно, старичкам трудно осваивать что-то новое, им бы внуков понянчить.

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

Во время разработки сайта это кеширование вообще не имеет смысла, достаточно нажать в браузере ctrl+f5 и весь кеш браузера слетел.
А еще лучше использовать webpack-dev-server, которому ничего и нажимать не надо, он в реальном времени отображает все изменения из IDE.

На продакшине даже если и пришлось вносить какие то доработку в верстку или стили
То просто выгрузил все изменения из IDE и запустил npm run build. Чтобы не ошибиться и не забыть что-то нажать в админке.

Еще недавно я так же вручную менял версию, но всё время выходило вот так:

И теперь это уже автоматизировано.

В 95 процентов случаев веб разработчики делают довольно простые проекты
Но бывает и наоборот, когда разработчик продолжает развиваться и делает всё более сложные проекты.
Василий Наумкин
2 часа назад
+1
Просто обнови pdoTools еще раз
Василий Наумкин
Сегодня в 06:19
+1
Насколько я понимаю, посмотреть время изменения всегда будет быстрее, так как оно пишется в inode файловой системы, для этого даже не нужно читать сам файл.

Но и у файла можно читать не всё содержимое, а первые 100 байт, например. В любом случае, речь идёт о микросекундах.
Василий Наумкин
Вчера в 12:25
+4
Так можно, конечно, но сниппет будет дёргаться и проверять файл на каждой странице — нафига это надо? Вариант с системной настройкой как-бы кэширует эту работу.

В принципе, можно вызывать и сниппет кэшированным
<link rel="stylesheet" href="[[version?input=`public/template/css/styles.css`]]" type="text/css"/>
<script src="[[version?input=`public/template/js/scripts.min.js`]]" type="text/javascript"></script>
Систаксис MODX пропишет результат работы прямо в кэш страницы, и удалит при общем сбросе кэша.

Всё работает, все довольны.
Василий Наумкин
Вчера в 11:35
+3
Только сейчас увидел
$today = date("d-m-Y");
$today = trim(preg_replace('/[^0-9]+/', ' ', $today));
$today = str_replace(' ', '', $today);

Замени на
$today = date("dmY");

Это ж как нужно не читать документацию, чтобы такие велосипеды городить?!
Василий Наумкин
Вчера в 11:05
+1
Клиенты кэш редко сбрасывают, если вообще сбрасывают.
Ты же вроде для всех пишешь, а не только для себя.
Решение должно быть универсальным.

Плюс, в моем варианте дата указывается в формате день/месяц/год.
Это, как раз-таки, минус. Потому что посетитель сможет увидеть только одну правку файлов в день.
Василий Наумкин
Вчера в 10:56
0
Еще один любитель обновляться, не читая анонсы и changelog. Зачем вы это вообще делаете, если вас не интересует, что именно изменилось?
&noPreciseMSFilters=`1`
modx.pro/news/17738
Василий Наумкин
Вчера в 10:53
0
То есть, даже если ничего не поменялось, а просто сбросили кэш — то юзер перекачивает файлы заново? Как-то это не очень логично.
Лучше уж тогда своим PHP скриптом вставлять в настройку не текущую дату, а дату изменения файлов, или считать их хэш. Чтобы все файлы качались только когда хоть один из них изменился.

Ну а совсем уж идеальный вариант — собирать скрипты и стили через npm и уже там добавлять хэш каждому файлу, автоматически. Чтобы юзер качал только изменённые, а не все.
Василий Наумкин
Вчера в 07:12
0
Вроде да, только оно.

Но мне это решение показалось тяжеловатым.
Василий Наумкин
Вчера в 07:09
0
Вот зачем ты вообще обновляешься, если не читаешь ни анонсов, ни changelog? Просто, чтобы желтая кнопочка в админке не горела?

modx.pro/news/17738
Василий Наумкин
Вчера в 06:31
0
По всей видимости, элитный браузер Safari не может прожевать печенек суммой более 4 килобайт.


Увы, это решение пользователям Safari подойдёт только при строжайшем контроле, сколько именно данных пишется в сессию.
Василий Наумкин
24 марта 2019, 17:01
0
Ну а MODX юзера всё равно будет из БД грузить, не важно, как сессии работают.

Так что, тут можно не переживать.
Василий Наумкин
24 марта 2019, 16:25
0
У него же есть время выдачи. Просто считаешь невалидными все токены юзера, выданные до такой-то даты. Саму дату можно в профиль юзера прописать, который на сервере.

Банится юзер так же на сервере. Office, например, автоматически проверяет, не заблокирован ли юзер, и если что выкидывает его через logout процессор.
Василий Наумкин
24 марта 2019, 15:59
0
Только если ты называешь ошибкой систему кэширования ресурсов MODX.
Василий Наумкин
23 марта 2019, 17:15
0
Добавь в начало страницы
{$_modx->lexicon->load('core:default')}
Василий Наумкин
22 марта 2019, 11:32
+1
Одинарные же не причинят никакого вреда?
Евгений уже не раз доказывал, что при должной фантазии — причинят. Типа напихать пробелов там между ними, или еще чего, чтобы парсер на последней итерации всё соединил и запустил.

В общем, я лучше перестрахуюсь, чем буду выводить красивые скобочки.
Василий Наумкин
22 марта 2019, 11:09
+3
Правильно, всё-таки, проблемы решать — а не просто удалять сообщения о них.
Василий Наумкин
22 марта 2019, 09:46
0
Значит, помочь тебе не получится.
Василий Наумкин
22 марта 2019, 09:02
0
В логах нужно искать ошибку 502

То что ты здесь показал .- это не ошибки вовсе.