Новости Joomla

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях

👩‍💻 Человек на GitHub ускорил Joomla в 600 раз на объёме 150к+ материалов в 1700+ категориях. На старте его сайт на Joomla 3 вообще не смог обновиться на Joomla 5. Пришлось делать экспорт/импорт материалов. Проделав всё это он запустил-таки этот объём данных на Joomla 5. Тестовый скрипт грузил 200 материалов из этого объёма всего за 94 секунды ))) А главная страница с категориями грузилась 20 секунд. Добавив индекс для таблицы

#__content

CREATE INDEX idx_catid_state ON #__content (catid, state);
он сократил время загрузки категорий до 1 секунды. Затем наш герой решил поковырять SQL-запрос в
ArticleModel, который отвечает за выборку материалов. И решил заменить тип JOIN на
STRAIGHT_JOIN для категорий.
// ->from($db->quoteName('#__content', 'a'))->from(    $db->quoteName('#__content', 'a')    . ' STRAIGHT_JOIN ' . $db->quoteName('#__categories', 'c')    . ' ON ' . $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))// ->join('LEFT', $db->quoteName('#__categories', 'c'), $db->quoteName('c.id') . ' = ' . $db->quoteName('a.catid'))
Что сократило загрузку 200 материалов из 150к с 94 секунд до 5. К слову сказать, боевой сайт на Joomla 3 крутится на 12CPU 64GB рамы. А все манипуляции с кодом он делает на базовом 1CPU 1GB сервере и замеры скорости даны именно для базового сервера. Но это всё в дискуссии, хотя в идеале должно вылиться в Pull Requests. Мы - Open Source сообщество, где никто никому ничего не должен. Джунгли. Но человек ищет пути оптимизации Joomla и предлагает решения. Если оказать поддержку и предложить помощь хотя бы с тестированием самых разнообразных сценариев, то возможно эти улучшения смогут войти в ядро. Пусть не быстро, пусть через несколько лет, пусть не все, но войдут. Достаточно предложить руку помощи и приложить немного усилий.
Дискуссию на GitHub можно почитать здесь.@joomlafeed#joomla #community #php

0 Пользователей и 1 Гость просматривают эту тему.
  • 25 Ответов
  • 1545 Просмотров
*

zxvorobey

  • Захожу иногда
  • 81
  • 2 / 0
Сбербанк на своей форме оплаты, которая у меня через wrapper работает поставил вот такой код

@media (max-width: 420px)
body {
    min-width: 380px;
    box-sizing: border-box;

И теперь в мобильной версии сайта форма вылезает за рамки мобилки.

Вопросы:

Можно ли изменить чужой CSS (в своем wrapperе естественно)?
Меня бы устроило так:

@media (max-width: 420px)
body {
    min-width: 300px;
    box-sizing: border-box;



Можно ли сказать мобильнику чтоб не сжимал сайт более чем на 400 пикселей.

Проблемы живут тут http://xn----8sbciia6ahsidnpbdyu4fuc.xn--p1ai/platnye-uslugi.html
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
@media (max-width: 420px)
body {
    min-width: 300px !important;
    box-sizing: border-box;

И в любое ваше CSS. Будет считаться главным. Попробуйте.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

zxvorobey

  • Захожу иногда
  • 81
  • 2 / 0
так должно быть, да?


@media (max-width: 420px) {
#body {
    min-width: 300px !important;
    box-sizing: border-box;
  }
}
 
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
да.

и должно быть подключено по идее <meta name="viewport" content="width=device-width, initial-scale=1">

и непонятно, почему сбербанк пользуется обрезанным @media/
логичнее было бы @media screen and

@media screen and (max-width: 420px) {
#body {
    min-width: 300px !important;
    box-sizing: border-box;
  }
}

А ещё , если точнее от и до :

@media screen and (max-width: 420px) and (max-height: 600px)

или так к примеру:

@media (min-width: 420px) and (max-width: 600px)

тут долго можно играться max и min.

Спойлер
[свернуть]

ТС, тут целая наука и таблица вариантов, но вам должно подойти выше написанное.
« Последнее редактирование: 25.12.2016, 22:19:05 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
vipiusss, через wrapper, это значит через iframe...
Создание сайтов, шаблонов, помощь в решении проблем.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
vipiusss, через wrapper, это значит через iframe...

ну div хоть в чём, он же на сайте!
я например так fontawesome .fa меняю !important  и недавно делал виджет из уптолике.
создаю тот же класс в CSS с принудиловкой.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Нет, на содержимое фрейма это не подействует.
Создание сайтов, шаблонов, помощь в решении проблем.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Нет, на содержимое фрейма это не подействует.
Тогда извините, не прав.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

zxvorobey

  • Захожу иногда
  • 81
  • 2 / 0
Нет, на содержимое фрейма это не подействует.

так выходит что я не смогу сменить CSS и всегда в мобильной версии у меня будет вылезать поле оплаты за края? Может как то масштабировать это все можно?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
где у вас что вылазит? http://prntscr.com/dnyqp4
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

zxvorobey

  • Захожу иногда
  • 81
  • 2 / 0
где у вас что вылазит? http://prntscr.com/dnyqp4

Это тестовая ссылка. В не тестовой по мимо лого визы и мастеркарт добавили лого системы мир и сss стиль min-width: 380px. 
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
пишите значит сбербанку. в противном случае счастливые владельцы телефонов с меньшим количеством пикселей передвигаются по воздуху из одного места в другое как многослойный строительный материал, изготавливаемый путём склеивания специально подготовленного шпона, над административным центром региона Иль-де-Франс :)

P.S. а в div с разрешенной горизонтальной прокруткой можно же iframe поместить?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Поместить можно, но iframe не наследовал размеры блока, как-то долго воевал с этой проблемой. Мне кажется проще через JS изменять размеры ифрейма
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
так а не нужно наследования. тело ифрейма будет размером 380px как и хотят этого разработчики сбербанка. но обрамляющий его div будет иметь прокрутку, и те юзеры, которые имею ширину меньше чем достаточно для показа без прокрутки, смогут прокрутить его и увидеть. через js можно поменять размеры iframe, но нельзя поменять размеры body в этом iframe
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Не проще тогда
Код
<iframe scrolling="auto | no | yes">...</iframe>
использовать
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
честно говоря не знаю :) может и проще :) я не знаю как добавляется iframe, и как регулируется высота.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

zxvorobey

  • Захожу иногда
  • 81
  • 2 / 0
так а не нужно наследования. тело ифрейма будет размером 380px как и хотят этого разработчики сбербанка. но обрамляющий его div будет иметь прокрутку, и те юзеры, которые имею ширину меньше чем достаточно для показа без прокрутки, смогут прокрутить его и увидеть. через js можно поменять размеры iframe, но нельзя поменять размеры body в этом iframe

Ну вот собственно я этот колхоз и хочу исправить. Может есть какое решение которое будет загружать фрейм в себя, и выдавать фрейм с измененными параметрами СSSов. Было бы круто. Я бы свой поисковик замутил в свободное время )))
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
когда найдете решение, обязательно сообщите разработчикам CORS. вам будет полагаться немалая премия за обнаружение уязвимости.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

zxvorobey

  • Захожу иногда
  • 81
  • 2 / 0
когда найдете решение, обязательно сообщите разработчикам CORS. вам будет полагаться немалая премия за обнаружение уязвимости.

Вы перегибаете палку. Достаточно написать скрипт который будет читать чужую страницу (код) и переводить ее в твой фрейм с заменой стилей разработчика на твои.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
да? т.е. вы думаете, что можно открыть исходный код, скопировать разметку формы, вставить себе на сайт, и принимать деньги как сбербанк? для этого давным давно придумана защита от подмены сессии. если сбербанк ей не пользуется (искренне сомневаюсь), то это конечно его проблемы. но в нормальных формах такое не прокатит. у вас даже отзыв отправить не получится, не то что деньги.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
;D
dmitry_stas, ну зачем вы сразу охладили пыл человека? Так ТС бы учился и учился на своих ошибках, а это лучший способ получить знание.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ага... а я вот блин на своих учился... :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Можно попробовать через Javascript - у меня получалось

Код: javascript
$(function(){
   var iFrameDOM = $("iframe#someID").contents();
   //Теперь мы можем использовать find() для доступа к элементам iframe:
   //например
   iFrameDOM.find(".message").slideUp();
});

JQuery обязательно
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
попробовать то конечно можно... в некоторых случаях даже нужно :) но работать это будет как правило только в случае когда родительское окно и ифрейм открыты с одного источника.

ТС в принципе верно сказал, единственный способ - это парсить целевую страницу и выводить ее уже как свою. просто что конкретно с формами тут накладываются другие ограничения. а конкретно с платежными формами - так это еще и нарушение УК, насколько мне известно. называемое фишинговая страница :) оно и логично, просто если бы не было таких ограничений, то продолжая мыслить в этом направлении, можно дойти и до того, что менять можно не только CSS, а и например перехватывать вводимые данные карты :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ProtectYourSite

  • Живу я здесь
  • 2368
  • 139 / 4
  • Безопасность вебсайтов
Очень сомневаюсь, что сбербанк не использует токены для предотвращения CSRF
Однако никто не запрещает менять аттрибуты iframe посредством того же Javascript
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Очень сомневаюсь, что сбербанк не использует токены для предотвращения CSRF
я тоже.

Однако никто не запрещает менять аттрибуты iframe посредством того же Javascript
безусловно. iframe это такой же элемент DOM как и все остальные. и он доступен для изменения. но вот его контент - в общих случаях нет.
« Последнее редактирование: 27.12.2016, 21:17:37 от Taatshi »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работает мобильная версия сайта

Автор jeans

Ответов: 4
Просмотров: 1394
Последний ответ 21.05.2025, 12:44:06
от jeans
Не удается поменять название почты в мобильной версии ((

Автор stitch808

Ответов: 7
Просмотров: 1516
Последний ответ 27.03.2025, 23:23:58
от azm1n
Разные меню для мобильной и для ПК версии сайта

Автор jimka

Ответов: 7
Просмотров: 1465
Последний ответ 24.03.2025, 20:03:01
от R31rus
Поменять порядок материалов

Автор tatyana34

Ответов: 3
Просмотров: 1015
Последний ответ 11.12.2024, 16:10:41
от nikolakovach8619
Множество несуществующих ссылок при обходе сайта роботом Яндекс

Автор goga_pgasovav

Ответов: 7
Просмотров: 1436
Последний ответ 10.12.2024, 18:44:25
от goga_pgasovav