0.00
Рейтинг
0.73
Сила

Новый механизм сессий

В SVN обновил механизм пользовательских сессий. Теперь сессии хранятся в отдельной таблице и содержат данные о последней дате активности пользователя и его IP. Это позволит снять нагрузку с запроса на получения списка онлайн юзеров, который раньше приходилось делать ко всей таблице пользователей.
Также появилась новая фишка — теперь сессия авторизованного юзера обновляется в БД не при каждом запросе к сайту, а с интервалом в 10 минут. Т.е. каждый раз она сохраняется в кеше и каждые 10 минут сбрасывается в БД. Это позволит избавиться от большого числа UPDATE запрос при значительном онлайне пользователей, что должно сказаться на производительности, особенно у обладателей MyISAM, т.к. это engine полностью лочит таблицу при записи в неё.
Надеюсь на вашу помощь в тестирование этого нововведения :)

ЗЫ Забыл добавить, т.к. обновление в БД происходит минимум раз в 10 минут, то при отображении списка онлайн юзеров возможна погрешность в сортировке, которая составляет примерно 10 минут

Авто анонс

Задумался о добавлении возможности создания анонса. Полез в код… Оказывается, в ливстрит есть все, что нужно для создания анонса! Максу респект!

Но просто добавить новое поле в форму добавления топика мне показалось мало. Точнее я передумал. =)))

Вместо ручного добавления анонса решил сделать авто обрезание текста топика. Варианта три:

1) Отрезать определенное количество символов и тупо ставить троеточие.
2) То же самое, но до первого пробела. В этом случае целостность слов сохраняется.
3) То же самое, но до первого знака окончания строки. :)

Первый тупой и простой никому давно не интересен, поэтому расскажу, как сделать второй и третий.

Читать дальше →

Разберемся с robots.txt

Поскольку эта тема ещё не поднималась, решил обсудить ее здесь и развеить в первую очередь свои сомнения, а затем сохранить тему для потомков :)

Итак, для новичков: robots.txt это файл который кладется в корневую папку вашего сайта и служит для дачи указаний поисковым ботам (google, yandex, rambler...), что можно индексировать, а что нет. Если эту опцию не настроить, то могут возникнуть проблемы, допустим пользователь перешел через запрос к вам на сайт, но попал на страницу где есть несколько топиков (страницп блога, страница с тегами...), а ему нужен один конкретный топик, не увидя искомое, может просто покинуть страницу.

Читать дальше →

Добавление функционала поиска.

Для тех, кому очень нехватает функционала поиска начинаем тестирования функционала «поиск пользователей» (извините за каламбур :) ) при помощи Сфинкса.

шаблон пока стандатный. в ToDo добавить дату регистрации, пол, а также «добавить в друзья» и «написать ЛС»

Ищет по логину и Настоящему имени пользователя. Подозреваю, что запрос к базе неоптимизированный, если кто-нибудь поможет с оптимизацией, буду рад. Крон работает по схеме: раз в час топики, раз в 10 минут комментарии, раз в 5 минут пользователи. Также хочу добавить, хост с каналом 256Кбит/с в обе стороны с ограничением в 10 гигов и отсутствующим кэшем, так что лишний раз лайвстритэффект устраивать не стоит :)

Если все пойдет гладко (и что самое главное: если это хоть кому то нужно), то вечером 11 числа выложу в модули, либо передам Максиму aka ort, для включения в основной функционал livestreet.

вобщемто хватит прелюдий, тестируем altmusic.ath.cx/search больше недоступно.

ЗЫ. также хочу сказать спасибо Vilz и eXtravert за помощь в предварительном тестирование и отлове багов. и за всю остальную помощь:)
UPD: к сожалению в связи с выходом версии 0.3 приходится переделывать + занимаюсь оптимизацией запроса к базе. ждем в ближайшие пару дней с бонусом)
UPD2: Наконец то добил поиск по блогам.
UPD3: Ссылка на модуль livestreet.ru/addons/22/

LiveStreet как платформа для модулей

На основе определенного опыта выношу свои предложения по оптимизации LiveStreet под решения сторонних разработчиков.
Вот как сейчас выглядит инструкция по установке модуля галерея: docs.google.com/Edit?id=d4jv5mv_529dgshs5d2

А хочется чтобы инструкция заканчивалась на распаковании архива:) Мои предложения как этого добиться:

Читать дальше →

поддомены в LiveStreet для юзера

в Router.class.php
было

protected function __construct() {
		$this->LoadConfig();

		if (get_magic_quotes_gpc()) {
			func_stripslashes($_REQUEST);
		}

		$sReq=preg_replace("/\/+/",'/',$_SERVER['REQUEST_URI']);
		$sReq=preg_replace("/^\/(.*)\/?$/U",'\\1',$sReq);
		$sReq=preg_replace("/^(.*)\/\?.*$/U",'\\1',$sReq);

		self::$sPathWebCurrent = DIR_WEB_ROOT."/".$sReq;

		$aRequestUrl = ($sReq=='') ? array() : explode('/',$sReq);
		for ($i=0;$i<SYS_OFFSET_REQUEST_URL;$i++) {
			array_shift($aRequestUrl);
		}
		self::$sAction=array_shift($aRequestUrl);
		self::$sActionEvent=array_shift($aRequestUrl);
		self::$aParams=$aRequestUrl;
		}

стало

Читать дальше →

Перевод движка на английский

Перевожу движок на английский (btw, кто-то еще пытался?). Нашел достаточное количество строк, не вынесенных в language file (russian.php) + список пожеланий на исправление по проекту в целом.
Будет полезно тому, кто решит сделать сеть на английском. Поехали.
Читать дальше →