Новости 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

Перевод и публикация интервью с Joomla евангелистом на греческом портале Joomla

Перевод и публикация интервью на греческом портале Joomla 🇬🇷

Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉

Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции. Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉

До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊

Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью.

Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент.

🌐 Оригинальное интервью (на английском)
🇬🇷 Интервью на греческом портале (joomla.gr)

Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

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

kav

  • Захожу иногда
  • 121
  • 0 / 0
Доброе время суток,

Недавно в мое распоряжение поступил сайт на котором есть база компаний (http://ufib.com.ua)
Меня попросили заменить одну строчку данных, я зашел в базу через phpmyadmin, так как другова пути там меня что то нету, и там меня ждала подстава, вся инфа в непонятной кодировке


а на сайте все отображается нормально
есть ли какая возможность получить нормальный вид букв для редактирования
*

OVSite

  • Захожу иногда
  • 127
  • 5 / 2
Какая кодировка указана в базе ?
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
utf8_general_ci
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
когда входишь в phpmyadmin он спрашивает про кодировку. Там у тебя стоит "Русский (windows-1251)", выбери "Русский (UTF-8)"
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
когда входишь в phpmyadmin он спрашивает про кодировку. Там у тебя стоит "Русский (windows-1251)", выбери "Русский (UTF-8)"

Та вроде стоит Русский (UTF-8)
*

era

  • Администратор
  • 1588
  • 392 / 5
  • В туалете лучше быть пользователем, чем админом.
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
не вижу. Выход нажмите и при входе выберите язык, не трудно ведь.

А меня при входе не спрашивает, так как phpmyadmin открывается из страницы управления хостингом, и принудительно выйти я не могу, нет такой кнопки
*

jem777

  • Завсегдатай
  • 1666
  • 119 / 2
Язык - Language : что там есть в списке?
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Просто перечисление всех языков на которых может говорить админка
*

Kverde3

  • Захожу иногда
  • 239
  • 19 / 3
PhpMyAdmin на хостинге же расположена? Можно в техподдержке спросить, должны помочь.
*

kav

  • Захожу иногда
  • 121
  • 0 / 0
Я сейчас просмотрел другие таблицы и там все нормально показывает.

Данные в эту таблицу вносятся скриптом из csv файла

код скрипта:

Код
<?php
if(!empty($_GET)) extract($_GET);
if(!empty($_POST)) extract($_POST);
$today = date("Ymd");
$t=date("H:i:s");
$ip = getenv ("REMOTE_ADDR");
$ref = getenv ("HTTP_REFERER");
$uri = getenv ("REQUEST_URI");
$host = getenv ("HTTP_HOST");
$agent = getenv ("HTTP_USER_AGENT");
$fp = fopen ("access.log", "a");
fputs($fp,"$today|$t|$ip|http://$host$uri|$ref|$agent\n");
fclose($fp);

?>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Украинская Федирация Индустрии Безопасности</title>
<meta name="robots" content="index, follow" />
<script src="http://www.ufib.com.ua/includes/js/joomla.javascript.js" type="text/javascript"></script>
<link rel="shortcut icon" href="http://www.ufib.com.ua/favicon.ico" />
<meta http-equiv="Content-Language" content="ru"/>

<link href="http://www.ufib.com.ua/templates/paranoia_no_right/css/template_css.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table width=890 align=center>
<tr>
<td colspan=2>
<img src="http://www.ufib.com.ua/templates/paranoia_no_right/images/top_header.jpg">
</td>
</tr>
<tr>
<td>

<?php
$link = mysql_connect("localhost", "", "")
    or die("Could not connect");
    mysql_select_db ("ufibsite",$link) or die ("Could not connect database");

$sql="DELETE FROM `catalog` WHERE 1=1";
$result = mysql_query($sql, $link);
if (!$result) {  die("query failed: ".mysql_error());  }

$row = 0;
$povtor=array(0,11,12,13,14); // nomera povtor yacheek

$fp = fopen ("catalog.csv","r");
while ($data = fgetcsv ($fp, 1000, ";")) {
    $row++;
    if ($row<2) { continue; }
    $num = count ($data);

$tzbvalue=str_replace("'","=",$data[3]);
$brandsvalue=str_replace("'","=",$data[7]);


$values=" VALUES ( '$tzbvalue', '$data[4]', '0', '$data[6]', '$data[0]', '$data[12]', '$data[9]', '$data[2]', '$data[13]', '$brandsvalue', '$data[14]', '$row', '$data[11]', '$data[10]');";
   $sql="INSERT INTO `catalog` ( `tzb`,         `objects`,     `ufib`,  `rubrikator`,   `name`    ,     `url`      ,    `region`   ,    `usluga`  ,     `logourl`,      `brands`,       `detalno`,      `id` ,   `telfax`   ,   `adres`) $values";

echo "$sql <br><hr>";

    $result = mysql_query($sql, $link);
    if (!$result) {  die("query failed: ".mysql_error());  }
else { echo "$row added"; }
echo "<br>";
$lastdata=$data; // dlya obedinennyh yacheek
} //while
fclose ($fp);
mysql_close($link);

?>

</td>
</tr>
</body>
</html>
« Последнее редактирование: 26.08.2010, 14:34:34 от kav »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как сделать появление случайных картинок из пяти разных категорий?

Автор Katy93

Ответов: 2
Просмотров: 2902
Последний ответ 03.05.2021, 21:34:20
от sivers
Как сделать бэкап сайта

Автор egorovv

Ответов: 8
Просмотров: 7885
Последний ответ 06.06.2020, 12:09:43
от SeBun
Как сделать отображение третьего и далее уровней меню?

Автор Hloja_Blimm

Ответов: 12
Просмотров: 2204
Последний ответ 24.11.2017, 15:12:04
от Hloja_Blimm
Как сделать категорию в виде таблицы с настраевыми колонами?

Автор nagav

Ответов: 10
Просмотров: 2054
Последний ответ 24.10.2016, 08:37:27
от vipiusss
Проблема с кодировкой utf-8

Автор Battlemouse

Ответов: 2
Просмотров: 1595
Последний ответ 17.05.2016, 12:22:04
от sergant055