ExBB Community ExBB Community
 Сайт проекта ExBB Общение объединяет!
Войдите на форум при помощиВойти через loginza
 Чат на форуме      Помощь      Поиск      Пользователи     BanList BanList


 Страниц (3): « 1 [2] 3 »   

> Без описания
yura3d
Отправлено: 4 сентября 2009 — 17:12
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353





Александр Михалицын пишет:
Видел, что у некоторых участников форума стоит мой мод, но поставить ссылочку они конечно не догадались... Эх.. Огорчение

Ну во-первых, в условиях использования данного мода нет ни слова о необходимости установки ссылки на сайт автора, из этого следует что установка ссылки дело добровольное и не стоит по этому поводу обижаться. Во-вторых, я был бы готов поставить ссылки и на других своих проектах, была бы у этого мода поддержка кеширования подсвеченного кода, без кеширования парсинг большого объёма кода не лучшим образом сказывается на производительности Огорчение Ну и в-третьих чисто дружеский совет - нужно заниматься больше совершенствованием движка и разработкой модов. Составлять правила и модерировать - тоже нужно, но некоторыми определёнными действиями можно вызвать только негатив пользователей, и ссылку на Ваш сайт тогда они точно не поставят. С другой стороны (сужу по своему опыту), люди ценят, когда им реально помогают, стоит только взяться за решение чьей-либо проблемы или за написание востребованного мода
 
 
Александр Михалицын
Отправлено: 5 сентября 2009 — 06:45
Post Id


Администратор
Super Member


Покинул форум
Сообщений всего: 723
Дата рег-ции: Февр. 2009  
Репутация: 42





yura3d,
Цитата:
Ну во-первых, в условиях использования данного мода нет ни слова о необходимости установки ссылки на сайт автора

Именно. Не вижу смысла кого-то заставлять. Просто это говорит о умении людей благодарить.

Цитата:
этого мода поддержка кеширования подсвеченного кода

В разработке, я ведь говорил уже.

Цитата:
Ну и в-третьих чисто дружеский совет - нужно заниматься больше совершенствованием движка и разработкой модов.

Надо, но это надо нам с тобой вместе делать, а ты свои наработки не выкладываешь... Огорчение
 
 
RomAndry
Отправлено: 5 сентября 2009 — 07:14
Post Id


Пользователь
Newbie


Покинул форум
Сообщений всего: 33
Дата рег-ции: Июнь 2009  
Откуда: Ukraine
Репутация: 6




Я поставил мод на форум, тестируем под нагрузкой, есть некоторые замечания - правлю переодически. Не много всеже тяжелый код, эксперементирую, как есть время.

Кстати ссылка на ExBB стоит в копирайтах.
 
 
Александр Михалицын
Отправлено: 5 сентября 2009 — 07:16
Post Id


Администратор
Super Member


Покинул форум
Сообщений всего: 723
Дата рег-ции: Февр. 2009  
Репутация: 42




RomAndry,
Цитата:
Кстати ссылка на ExBB стоит в копирайтах.

Она тут не причем. Сайт ексББ и мой сайт это разные вещи.
(Добавление)
Так, добавил поддержку кеша в мод. Версия 1.1.0. См. первый пост.

Эффективность кеширования -- высочайшая. Провел тестирование на очень объемном коде, время генерации 2.5 секунды, после перезагрузки странички (тоесть когда кеш на стороне сервера уже создался), время генерации 0.1 секунды... Улыбка
Обновлена библиотека Geshi. Подмигивание
(Добавление)
Цитата:
Во-вторых, я был бы готов поставить ссылки и на других своих проектах, была бы у этого мода поддержка кеширования подсвеченного кода

Ставь, Юр. Ха-ха Ха-ха Ха-ха Сделал кеширование. Подмигивание
 
 
yura3d
Отправлено: 5 сентября 2009 — 18:56
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




RomAndry пишет:
Кстати ссылка на ExBB стоит в копирайтах.

Поскольку ссылка на наш форум поддержки прописана через редирект, формально процитированное утверждение неверно

Александр Михалицын
Реализация кеширования - это очень хорошо. Однако, судя по исходнику, кроме создания кешированной копии подсвеченного кода и в дальнейшем проверки её наличия со считыванием кода из файла, больше по кешированию ничего не сделано. А что делать в случае, если тема, в которой было много исходного кода, была удалена? Или, к примеру, если мне понадобится немного изменить опубликованный ранее код, соответственно изменится его MD5-хеш и будет создан новый файл с кешем, что в этом случае делать со старым? Нужно продумать систему управления кешем, чтобы при удалении тем/сообщений, изменении кода в сообщениях соответственно и удалялись или обновлялись кешированные данные. В противном случае кеш очень быстро замусориться неактуальными данными, которые (что самое обидное) занимают довольно много места на сервере

Александр Михалицын пишет:
Ставь, Юр. Ха-ха Ха-ха Ха-ха Сделал кеширование. Улыбка

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

Мне кажется, принцип хранения кеша подсвеченного кода нужно реализовать по-другому и у меня есть 2 варианта предложения реализации

Первый в виде файловой структуры (структуры папок) кеш/раздел/тема/сообщение. Например, для темы с id=1 в разделе с id=2 будет создана папка highlight_code_cache/forum2/topic1, внутри которой будут создаваться файлы вида 123456789.php, где 123456789 - id сообщения, в каждом из подобных файлов будет храниться кеш для всего подсвеченного кода, имеющегося в данном сообщении. В дальнейшем управлять таким кешем просто, скажем, если мы удаляем тему, то не нужно парсить её сообщения, заного вычислять MD5-хеш всех встречающихся в ней вставок кода, достаточно просто удалить папку highlight_code_cache/forum2/topic1. Тоже самое справедливо и при удалении отдельных сообщений, или даже целых разделов. При этом необходимо реализовать своего рода период действия кеша, чтобы по истичении 1-2 дней с момент создания кеша код перекешировался (это на случай обновления библиотеки geshi и т.п.)

Второй вариант - сохранить уже имеющуся сейчас систему кеширования, но вынести список всех кешированных файлов в отдельный файл произвольного доступа. Тогда можно написать отдельный скрипт, который будет запускаться кроном через определённые промежутки времени и пробегаться за один запуск по некоторой части файлов кеша, сравнивая время последнего доступа к файлу (см. fileatime()) и удаляя давно невостребованный кеш. Принцип действия прост, при парсинге кода мы вычисляем его MD5-хеш, создаём кеш и помещаем MD5-хеш кода (а этот хеш есть имя файла кеша) в список файла произвольного доступа. Далее скрипт чистки запускается кроном, считывает некоторую часть списка (это важно - считывать именно часть списка, поэтому я упоминаю файл произвольного доступа, сериализацию здесь применить нельзя, тут скорее нужно применить метод, аналогичный сохранению структур в бинарные файлы на Си), сравнивает даты последнего доступа к ним и при необходимости удаляет. Можно в принципе дату последнего обращения к файлу кеша также хранить средствами скрипта (это я к тому, что на некоторых серверах и файловых системах использование fileatime() невозможно). Вариант со связкой opendir() + readdir() и подобные им не рассматриваем, т.к. при таком переборе во-первых значительно расходуются ресурсы, а во-вторых довольно сложно перейти в произвольную часть списка файлов, до которой не дошла проверка в предыдущий раз

У каждого варианта свои преимущества и недостатки, высказывайте своё отношение к ним и предлагайте свои идеи Улыбка
 
 
Александр Михалицын
Отправлено: 6 сентября 2009 — 09:42
Post Id


Администратор
Super Member


Покинул форум
Сообщений всего: 723
Дата рег-ции: Февр. 2009  
Репутация: 42




yura3d,
для того, чтобы реализовать то, о чем написал ты, придется переписать парсер ББкодов...
Реализовать парсер ББКодов на этапе ПОСТИНГА, а не только на этапе ВЫВОДА.
Тогда моим модом пользоваться будет невозможно. Растерялся Ведь установив мой парсер ббкодов, им придется отказаться от всяких там спойлеров, и пр. ерунды. Улыбка Так что боюсь до второй версии, что-то подобное писать смысла нет.
 
 
yura3d
Отправлено: 6 сентября 2009 — 11:18
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




Александр Михалицын
Не знаю причём здесь парсинг на этапе постинга, вполне возможно ограничиться только этапом вывода. Конечно для 1-го варианта понадобится ещё и небольшая правка функций модераторских действий, но настолько небольшая, что она не выходит за рамки обычного мода. Для 2-го же варианта вообще не нужно ковыряться в скриптах, достаточно самую малость модернизировать твой вариант для реализации чистки кеша через крон
 
 
Александр Михалицын
Отправлено: 6 сентября 2009 — 11:25
Post Id


Администратор
Super Member


Покинул форум
Сообщений всего: 723
Дата рег-ции: Февр. 2009  
Репутация: 42




yura3d,
Цитата:
Не знаю причём здесь парсинг на этапе постинга

Эмм. А как ты предлагаешь контролировать изменение содержимого тега [code]?
 
 
yura3d
Отправлено: 6 сентября 2009 — 11:25
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




А по поводу 2-ой версии форума не совсем понял, причём она здесь. Для неё проблема с кешированием подсвеченного кода будет такой же, как и в случае с файловой версией (возможно, в двойке будет кеширование на базе класса обработки бб-кодов, но окончательного варианта этого класса пока нет). И решив эту проблему сейчас, далее будет меньше работы
 
 
Александр Михалицын
Отправлено: 6 сентября 2009 — 11:26
Post Id


Администратор
Super Member


Покинул форум
Сообщений всего: 723
Дата рег-ции: Февр. 2009  
Репутация: 42




yura3d,
Цитата:
, в двойке будет кеширование на базе класса обработки бб-кодов,

Именно.

Поэтому я и не писал еще чего-то большого и сложного для этой версии, ибо уже не вижу в этом смысле. Двойку писать надо... Улыбка
 
 
yura3d
Отправлено: 6 сентября 2009 — 12:02
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




Александр Михалицын пишет:
Эмм. А как ты предлагаешь контролировать изменение содержимого тега [code]?

При первом просмотре отредактированного сообщения открывается файл с кешем (как следует из 1-го предложенного мной варианта, для каждого сообщения будет отдельный файл с кешированным подсвеченным кодом, для 2-го же варианта вообще не имеет смысла отслеживать изменения). В данном файле уже будут храниться MD5-хеши ранее кешированного кода, и нам останется только сравнить сравнить старые и новые вставки кода, и если код очередной вставки не изменялся - её кеш сохраняем, если изменился, старый кеш удаляем и новый сохраняем. Таким образом этап постинга вообще не затрагивается, причём для обоих предложенных мной вариантов

Александр Михалицын пишет:
Поэтому я и не писал еще чего-то большого и сложного для этой версии, ибо уже не вижу в этом смысле.

Смысл есть хотя бы потому, что многие наработки для файловой версии впоследствии можно будет без проблем применить и для ExBB 2.0. И не важно, осуществляется кеширование на уровне класса обработки бб-кодов или на уровне мода, общие принципы и методы реализации всё равно во многом сойдутся ко 2-м предлагаемым мной выше вариантам

Александр Михалицын пишет:
Двойку писать надо...

Так я ведь не закрывал раздел для разработчиков ExBB 2.0, пожалуйста, предлагайте свои наработки. Я в ближайшее время выложу там полностью переписанную с нуля и отлаженную основу ядра новой версии. К сожелению, не все проблемы (особенно касаемо применения UTF-8 в новой версии) решены, и свободного времени не хватает, но если у нас будет реально команда, то мы гораздо быстрее решим многие вопросы разработки, чем я буду это делать в одиночку (одному мне, если честно, это и не нужно)
 
 
Александр Михалицын
Отправлено: 7 сентября 2009 — 06:59
Post Id


Администратор
Super Member


Покинул форум
Сообщений всего: 723
Дата рег-ции: Февр. 2009  
Репутация: 42




yura3d,
Цитата:
При первом просмотре отредактированного сообщения открывается файл с кешем (как следует из 1-го предложенного мной варианта, для каждого сообщения будет отдельный файл с кешированным подсвеченным кодом, для 2-го же варианта вообще не имеет смысла отслеживать изменения). В данном файле уже будут храниться MD5-хеши ранее кешированного кода, и нам останется только сравнить сравнить старые и новые вставки кода, и если код очередной вставки не изменялся - её кеш сохраняем, если изменился, старый кеш удаляем и новый сохраняем. Таким образом этап постинга вообще не затрагивается, причём для обоих предложенных мной вариантов

Ок. Сделаю. Улыбка

Цитата:
Смысл есть хотя бы потому, что многие наработки для файловой версии впоследствии можно будет без проблем применить и для ExBB 2.0. И не важно, осуществляется кеширование на уровне класса обработки бб-кодов или на уровне мода, общие принципы и методы реализации всё равно во многом сойдутся ко 2-м предлагаемым мной выше вариантам

Ну это смотря как писать... Если ядро писать по нормальному, то там надо будет все с нуля переписывать (все наработки), а если писать "чтоб просто работало", то да...
Но такая разработка не имеет практического интереса... Хочется написать не "еще один форум", а классный форум, с грамотным кодом и ПРАВИЛЬНЫМ применением ООП. Растерялся

Цитата:
Так я ведь не закрывал раздел для разработчиков ExBB 2.0, пожалуйста, предлагайте свои наработки. Я в ближайшее время выложу там полностью переписанную с нуля и отлаженную основу ядра новой версии. К сожелению, не все проблемы (особенно касаемо применения UTF-8 в новой версии) решены, и свободного времени не хватает, но если у нас будет реально команда, то мы гораздо быстрее решим многие вопросы разработки, чем я буду это делать в одиночку (одному мне, если честно, это и не нужно)

Эммм. Как так? Мы ведь даже еще не спроектировали ядро... Не разобрались какие классы будут... Какие паттерны проектирования будем применять и где... Не понял
 
 
1Bot
Отправлено: 13 февраля 2011 — 04:52
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 773
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 69




yura3d пишет:
в двойке будет кеширование на базе класса обработки бб-кодов, но окончательного варианта этого класса пока нет

Считаю, что кешировать в html нужно любое сообщение, если на форуме включены бб-коды. Увеличение объемов дисковой памяти под файлы форума в 2.5 раза будет компенсироваться скоростью генерации для просмотра из-за отсутствия парсинга.

Для повторного кеширования - либо редактирование, либо администратором запускается cron для отдельных форумов через админку. Кешировать в дополнительной структуре папок вида кеш/раздел/тема/сообщение.
 
 
yura3d
Отправлено: 13 февраля 2011 — 16:17
Post Id


Пользователь
ExBB Team
ExBB Developer
ExBB Mods Author


Покинул форум
Сообщений всего: 3394
Дата рег-ции: Февр. 2009  
Откуда: Минск, Беларусь
Репутация: 353




1Bot
Все сообщения подряд кешировать нет смысла. Возможно, рационально будет выделять темы, к которым наиболее часто происходит обращение, и применять данный принцип именно к ним. Некоторые возможности (ту же подсветку синтаксиса) можно реализовать средствами JavaScript, вообще не прибегая к затратной обработке сообщений сервером для каждого пользователя
 
 
1Bot
Отправлено: 18 сентября 2013 — 19:06
Post Id



Пользователь
Super Member


Покинул форум
Сообщений всего: 773
Дата рег-ции: Апр. 2009  
Откуда: Днепропетровск
Репутация: 69




Архив мода Подсветка синтаксиса языков программирования более не доступен по внешней ссылке http://systemnik.net.ru/highlighter_mod.zip, поэтому восстанавливаю его из своих "закромов" для желающих попробовать этот полезный мод.

Скачать файл: (для скачивания файла Войдите или зарегистрируйтесь)
Скачан раз: 32

(Отредактировано автором: 18 сентября 2013 — 19:06)

 
 
Страниц (3): « 1 [2] 3 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Модификации и дополнения »

> Похожие темы: Мод: Подсветка синтаксиса языков программирования
Темы Форум Информация о теме Обновление
Объединение файлов локализации в один
нужно ли собрать все языковые переменные в одном файле
Обсуждение Ответов: 4
Автор темы: Victor
5 октября 2010 — 20:26
Автор: igrok54
Мод: Подсветка ячеек в папках личного ящика (ЛС)
Модификации и дополнения Ответов: 3
Автор темы: viperrr
15 сентября 2009 — 09:10
Автор: Zeg
Подсветка новых тем в разделах..
давайте замутим?
Общие вопросы Ответов: 0
Автор темы: nikk
3 декабря 2012 — 20:27
Автор: nikk
Подсветка родительского раздела
при появлении нового сообщения в форуме.
Решение проблем Ответов: 0
Автор темы: Guyver
16 ноября 2014 — 21:39
Автор: Guyver
Подсветка синтаксиса
Решение проблем Ответов: 3
Автор темы: valualit
10 апреля 2012 — 21:08
Автор: NordWest
 



Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
 




Яндекс.Метрика   

Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0974]     [ ]