TiA

Рейтинг
116
Регистрация
12.06.2009
awilum:
SMF - один из лучших и популярных форумных движком а то и самый лучший! Хотя вам с вашим стажем кодера DLE видимо неизвестно про другие более популярные и лучшие движки.

С SMF 2 я знаком около двух лет. Еще со времен бет. Модули под эту штуку писал, шаблоны с нуля создавал, писал свою реализацию SSI, модули для интеграции форума с Joomla 1.5, модули для интеграции Joomla с форумом... С форумом SMF знаком хорошо.

awilum:
А как там дела с популярностью вашей CMS ? уже выше показатели ?

Она разрабатывается для собственных проектов и в паблик скорей-всего не попадет.

Может со временем уделю день, перепишу модель, упрощу логику подгрузки компонентов, модулей и выпущу урезанную версию, которая работает только на файлах. По приколу так :D

awilum:
TiA вернулся)))) о да))) у девелоперов SMF мало опыта)) Куда им до вас)))

SMF - та еще какашка. Есть у меня довольно крупный форум на этом поделии. Недавно приходилось переписывать функционал перехода к сообщениям в теме. То как это реализовано в том форуме я не иначе как "феерически" назвать не могу. SMF - это вообще веселый форум...

На данный момент их форумных движков мне наибольше Xen Foro нравится. Чистенько все, красиво. Вот еще остатки Zend-а выпилят - вообще сказка будет. Также понравился форум товарища dlepro_com - LogicBoard. В код не заглядывал, но внешне неплохо.

jmas:

1. SQL-linke БД
2. Поработать с файловой структурой (потому что, извините, в конфигах хранить функции - это не в какие ворота)
3. Отделить функциональность админки от плагинов (потому что тогда уже совсем непонятно что же такое "плагин", а что админка, что модуль и т.д.)
4. Переход к ООП или хотя бы к статическим классам и автолоадеру
5. Вы там еще с хуками не запутались? Хуки это хорошо, но нужно знать меру.

К этому всему нужно самостоятельно прийти, через опыт, а его у нашего "девелопера" мало. Код CMS это подтверждает.

Со временем придет понимание когда лучше использовать SQL, почему нельзя в конфигах хранить функции, зачем разделять функциональность, в чем прелесть ООП и для чего нужен автолоадер. Может даже с опытом поймет для чего паттерны нужны.

awilum:
А то. Школото движок DLE для школото Хареков, которые крякают, чтобы делать свои школото сайты. Фак сколько же говна по всему инету на этом DLE.

DLE хоть и какашка, но работает, при чем очень быстро. Здесь нужно отдать разработчикам должное.

Основная проблема DLE - это грязный код и связанные с этим дыры в плане безопасности, а также проблемы с обновлениями.

WebAlt:
DLE Forum это и есть сторонний скрипт, не имеющий ни какого отношения к самому двигу.

DLE Forum - это модуль форума, который использует компоненты движка DLE. Сам по себе форум унылый.

Куда лучше смотриться LogicBoard.

jmas:
@TiA, спасибо, запамятовал про б-деревья... Нужно матчасть подучить

Попутно эту статью можно глянуть http://habrahabr.ru/blogs/sql/102785/

Там более подробно по индексам.

jmas:
А вообще вам больше в пиарщики нужно двигать...

Не нужно. Знал бы человек толк в PR, то здесь бы такого срача небыло бы и близко ;)

awilum:
ткни пальцем

Пожалуйста:


/**
* Get the available pages.
*/
function getAvailablePages() {

$pages_array = array();

$current_page = lowLoader(getParams());
$pages_list = listFiles(TEMPLATE_CMS_DATA_PATH.'pages/','.xml');

// Order by title, author, date
$order_by = 'date';
$order = 'ASC';

$count = 0;
foreach ($pages_list as $file) {
$data = getXML(TEMPLATE_CMS_DATA_PATH.'pages/'.$file);

if(isset($data->parent)) {
$c_p = $data->parent;
} else {
$c_p = '';
}

if ($c_p != '') {
if($current_page == $c_p) {
$parent_data = getXML(TEMPLATE_CMS_DATA_PATH.'pages/'.$c_p.'.xml');
$pages_array[$count]['title'] = $data->title;
$pages_array[$count]['slug'] = $data->slug;
$pages_array[$count]['parent'] = $data->parent;
$pages_array[$count]['sort'] = $data->$order_by;
}
}

$count++;
}

$pages = subval_sort($pages_array, 'sort', $order);

if(isset($pages)) {
include 'templates/frontend/AvailablePagesTemplate.php';
}

}

Сначала собирается список всех файлов, а потом каждый из них считывается и парсится функцией getXML. Дальше этот весь массив сортируется и выводится в виде списка URL.

foxi:
а в каком варианте взаимодействия с файлом будет меньше чем в 1,5-2 раза? Вроде как не извращаться, а так и выйдет.

Здесь вопрос больше не в том, что в 1.5-2+ раза больше памяти надо. Если страничек немного, то это вполне еще терпимо, но когда их сотни...

awilum:
А то тролли отвлекают и отвелекают.

От чего отвлекают? От закидывания какашками других CMS в других темах и на других сайтах? :D

Есть ведь поговорка: "Если вы живете в стеклянном доме, не бросайтесь камнями".

jmas:
Хм, странно зачем использовать XML, если можно спокойно работать с SQLite. А так если нужен простейший JOIN приходиться кучу файлов лопатить.

Какое SQL? awilum хочет изобрести свой движок базы данных. Даже имя уже есть - XMLDB :D

jmas:
А SimpleXML чудо тормознутое.

Мягко говоря тормознутое. Чем больше файлов - тем сильней тормоза. Если файлов больше 100-1000 начинается полный песец. Это ведь нужно сначала их всех считать, потом КАЖДЫЙ файл декодировать из XML, потом некоторые данные проверить и результаты скинуть в отдельный массив. Потребление памяти в данном случае как минимум удвоенный объем всех файлов. Процессорного времени тратится тоже много. Это ведь нужно перелопатить огромные массивы данных.

В базах данных для ускорения поиска информации используются B-Tree индексы. Я уже молчу о том, что там есть кеши запросов, кеши индексов, не нужно заниматься XML декодированием, да и написано все на С. В результате простая выборка по 200К записей производится за 0.001 - 0.1 сек в зависимости от параметра запроса. Если выборка по индексу и/или активен кеш - на порядки быстрее.

jmas:
В нормальной БД сначала рассчитывается позиция элемента

Для этого и придумали B-tree индексы ;) На порядки ускоряет поиск.

awilum:
предлагаешь переписать в классы ?

Как минимум. Потом то все аккуратно по папочкам и файлам распределить, написать автозагрузчик...

awilum:
Скорость генерации страницы: ~ 0.030

Один из моих сайтов на DLE 9.3 (главная страница):


<!-- DataLife Engine Copyright SoftNews Media Group (http://dle-news.ru) -->

<!-- Время выполнения скрипта 0,00869 секунд -->
<!-- Время затраченное на компиляцию шаблонов 0,00181 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,00031 секунд -->
<!-- Общее количество MySQL запросов 1 -->
<!-- Затрачено оперативной памяти 1,63 MB -->
<!-- Для вывода использовалось сжатие gzip -->
<!-- Общий размер файла: 33872 байт После сжатия: 9474 байт -->

DLE хоть и какашка, но чертовски быстрая.

awilum:
Конь в вакууме от TiA Google PR = 0

Template CMS от Awilum Google PR = 3

Это к чему?

Вы уже более чем достаточно сказали, чтобы сложилось вполне адекватное представление о вас и о вашем поделии. Работайте над CMS пока летние каникулы.

awilum:
Да, лучшая CMS в своей категории.

:D

Вопросов больше не имею, как говориться. С вами и вашей CMS все предельно понятно.

awilum:
Tia задрал. Не трахай мне мозги. Этот же код у меня и работе есть в одном проекте. Щас еще скажи и про subval sort функция которая тоже применяется у меня работе в рабочем проекте. Че может ГС У меня с роботы проект сперли. Меня не волнует твое мнение по этому поводу. Ты такой разработчик как с меня скрипач. Уже поржал над предыдущем твоим постом. Нафига клиентская оптимизация и прочие лулзы. Мне важно лишь мнение Криса по этому вопросу. И он уже сказал его.

Какой автор - такая и CMS. Тыкать будете в свой код. Материться там же. Вас в детстве разве не учили элементарной культуре общения?

Сходство на самом деле между Get Simple и Template CMS есть. Скорей-всего Template CMS писалась на основе Get Simple с различными изменениями. Можно хотя бы взглянуть на порядок символов в примере выше. Это ж нужно додуматься так через ж фильтровать данные.

awilum:
Меня не волнует твое мнение по этому поводу.

Судя по коду вашей CMS, вас вообще ничего не интересует.

awilum:
Ты такой разработчик как с меня скрипач. Уже поржал над предыдущем твоим постом.

Школьник детектед. Это многое объясняет.

awilum:
Ах да . Много cms видел ТИА ? Посмотри этот код еще в них. Да уж наверное в других системах ассемблером фильтруют, чтобы никто не подумал что сперли.

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

Совет на будущее: вместо тупой рекламы своего поделия на форумах занимайтесь самой CMS. Там работы непочатый край. В нынешнем виде CMS на уровне между УГ и Г. Если вам указывают на очевидные ошибки, то их нужно исправлять.

Всего: 800