![]() |
Соционический форум SOCIOCLUB.ORGСоционика и психософия (психе-йога) |
Соционический форум SOCIOCLUB.ORG » Развитие проекта и технические вопросы » Технические улучшения |
![]() |
| <<Назад Вперед>> | Страницы: 1 2 Модераторы: Kath, srez | Печать |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Профиль | Игнорировать
NEW! Сообщение отправлено: 3 августа 2006 13:22 Сообщение отредактировано: 3 августа 2006 13:25
Про, разберись, пожалуйста с RSS-потоками, чтобы они выводили автора и дату. http://www.webmascon.com/topics/technologies/9a.asp http://blogs.law.harvard.edu/tech/rss Кстати, я добавил наши RSS в блоги Яндекса. |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
И еще - я добавил на сайт RSS ru_socionics, но он на UTF-8 и потому выводится кракозябрами - ты можешь его настроить? Т.е.: - или добавить распознавалку кодировки - или привести твои потоки к UTF |
| 4X_Pro
Здешних мест хозяин
Философ и Воин Интернета ТИМ: ЛИИ ("Робеспьер") ПЙ-тип: нет Откуда: Москва, Перово Всего сообщений: 7614 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Стандарт, описанный в первой и второй ссылках, друг другу противоречит: в одном автор называется <dc:creator>, а в другом: <author>. То же самое и с датой публикации: <pubDate> и <dc:date>. Я сейчас сделал и так и так, посмотрим, что из этого выйдет. Написать определение кодировки — вряд ли получится, а вот перекодировать вывод в UTF-8 вполне могу. |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Профиль | Игнорировать
NEW! Сообщение отправлено: 15 августа 2006 20:02 Сообщение отредактировано: 15 августа 2006 20:06
Про, я подкорркетировал index.php: выделил отдельный языковой файл для промежуточной страницы (smartinfo.php) [128]и убрал второй шаблон [275]комментарии там стоят |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Про, я создал папку "lib", в которую стал переносить специализированные функции, чтобы они грузились только по мере надобности. |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Профиль | Игнорировать
NEW! Сообщение отправлено: 17 августа 2006 2:21 Сообщение отредактировано: 17 августа 2006 2:24
А, в идеале, надо будет сделать так, чтобы корневой файл (index.php) определял модуль, который будет выводить (согласно строке запроса) и исходя из этого подгружал соответствующие функции, языковой файл и определенный шаблон. Таким образом мы избежим загрузки ненужных кусков кода. Согласен? |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Это будет плавный переход к третьей версии, где функции, лежащие в "lib", позже будут оформлены в виде классов. |
| Gram
Участник
ТИМ: Не типирован ПЙ-тип: нет Откуда: БГ Всего сообщений: 14 Ссылка Дата регистрации на форуме: 16 авг. 2006 |
XXXX Pro написал: одном автор называется <dc:creator>, а в другом: <author>. То же Дык это в разных версиях rss по-разному. Делать и так и так противоречит спецификации.. |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Профиль | Игнорировать
NEW! Сообщение отправлено: 17 августа 2006 18:56 Сообщение отредактировано: 17 августа 2006 19:01
Так же придеживаться стандарту MVC: Изначально MVC |
| Gram
Участник
ТИМ: Не типирован ПЙ-тип: нет Откуда: БГ Всего сообщений: 14 Ссылка Дата регистрации на форуме: 16 авг. 2006 |
Кстати, очень удачный шаблон проектирования приложения. |
| 4X_Pro
Здешних мест хозяин
Философ и Воин Интернета ТИМ: ЛИИ ("Робеспьер") ПЙ-тип: нет Откуда: Москва, Перово Всего сообщений: 7614 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Удалил закрывающие </td> </tr> (по стандарту HTML 4 они, оказывается, не обязательны) из основных стилевых файлов, в итоге, по идее, должен немного уменьшиться объем страниц. |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
XXXX Pro написал: Удалил закрывающие </td> </tr> (по стандарту HTML 4 они, It`s good! |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Профиль | Игнорировать
NEW! Сообщение отправлено: 18 августа 2006 12:57 Сообщение отредактировано: 18 августа 2006 13:01
занимаюсь вовсю созданием новой темы (предназначенной для переезда).. ![]() создал глобальную переменную: $GLOBALS['style_img']='src="styles/'.$GLOBALS['inuser']['st_file'].'/img/';теперь вместо <imgможно писать <img <?=$GLOBALS['style_img']?>rss.png"> |
| 4X_Pro
Здешних мест хозяин
Философ и Воин Интернета ТИМ: ЛИИ ("Робеспьер") ПЙ-тип: нет Откуда: Москва, Перово Всего сообщений: 7614 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Полностью переписал механизм аутентификации, чтобы снизить нагрузку на БД, а также уменьшить объем cookies (что повлияет на размер даных, передаваемых в каждом запросе со стороны клиента — экономия примерно почти в 1 Kb). Если у кого-либо возникнут проблемы со входом на форум или редактированием профиля, то обращайтесь ко мне либо в ICQ, либо пишите на Email, указанный в профиле (второй способ — надежнее). |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Профиль | Игнорировать
NEW! Сообщение отправлено: 28 августа 2006 10:44 Сообщение отредактировано: 28 августа 2006 10:47
А сколько же пользователей на сайте? Наверное, многие из вас видели такую модную фишку как "Сейчас на сайте 126 человек, из них в чате 89". Если нет, то поставить счетчик от SpyLog вы можете легко увидеть, сколько человек находится на вашем сайте. Вот и я решил сам реализовать такую функцию у себя на сайте http://ancient.dax.ru и вот к чему пришел... Протокол HTTP в принципе не позволяет определить количество посетителей одновременно находящихся на сайте. Почему это так я объяснять не хочу, но можете мне поверить на слово. Следовательно, приходится придумывать какой-то искусственный метод. Первое что нам понадобится это база данных (в моем случае это MySQL). В этой БД нам нужна таблица с двумя полями username и time CREATE TABLE session (Далее приступим к написанию самого скрипта, вернее одной единственной функции. Итак, function online() {Алгоритм очень прост. Идентифицируем каждого пользователя и заносим время его прихода на страницу. Определяем время, через которое пользователь будет считаться покинувшим сайт. Вот и все. Теперь пояснения по коду. Первым делом мы получаем адрес удаленного пользователя (REMOTE_ADDR) и определяем время, через которое будем считать пользователя покинувшим сайт. mysql_query("DELETE FROM session Этой строкой удаляем все просроченные записи. $result = mysql_query("SELECT Выбираем из БД поля, для которых REMOTE_ADDR пользователя совпадает с уже зафиксированным. if ($row = mysql_fetch_array($result)) {Если такие записи в таблице есть, то обновляем, заносим новое время захода на страницу, если нет - добавляем новую запись. $result = mysql_query("SELECT Считаем из базы количество записей - это и будет количество посетителей на сайте. Источник: http://ancient.dax.ru |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 | |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Профиль | Игнорировать
NEW! Сообщение отправлено: 28 августа 2006 11:01 Сообщение отредактировано: 28 августа 2006 11:05
Сессии PHP. Часть 6. Блокировки: файлы, БД, хитрости. Работа с данными сессии кажется очень простой - открыл, прочел, записал, закрыл. Но если пользователь, не дожидаясь окончания работы предыдущего запроса, пошлет еще запрос, то у этих параллельно работающих скриптов может возникнуть конфликт с данными сессии. Например, первый скрипт прочел данные, второй тоже, первый записал данные, второй перезаписал поверх. Т.е. данные, которые записал в сессию первый скрипт, будут потеряны - второй скрипт ничего о них не знал. Такая ситуация может быть критичной. Для борьбы с этим нужно делать взаимную блокировку скриптов. Это аналогично параллельным процессам, обращающимся к одному и тому же ресурсу и использующим блокировки для временного запрета доступа к этому ресурсу. Рассмотрим вопрос подробнее. Блокировки файлов. Для блокирования файла воспользуемся рекомендательной блокировкой - flock(). Рекомендательной она называется потому, что работает только в том случае, если все программы, обращающиеся к файлу, будут ее использовать. Программу, которая не будет использовать flock(), блокировка никак не коснется. Рекомендательная блокировка имеет ряд ограничений: может не работать на некоторых сетевых файловых системах (т.е. хранить файлы с данными сессий следует на локальном диске), она не поддерживается на старых файловых системах (FAT). Подробнее читайте здесь: http://www.php.net/manual/ru/function.flock.php . Вот модифицированные функции обработчика из 4-ой части статьи. Блокировки в БД. Добавим в таблицу session (см. 5-ую часть статьи) поле locked. CREATE TABLE sessions(Модифицированные функции из 5-ой части: $lock_time_max используется для обработки ситуации, когда скрипт, заблокировавший строку, по какой-либо причине не разблокировал ее. Выбирать его следует исходя из максимального времени работы скрипта (без учета ожидания блокировки в функции session_read()). Думаю, для большинства задач достаточно 10 секунд. $lock_try_timeout - время между попытками заблокировать строку. Я выбрал 0.25 секунды (значение 250000). $lock_tries - число попыток. Величина ($lock_tries * $lock_try_timeout) должна быть не меньше $lock_time_max - чтобы ожидание не было напрасным. Хитрости. Как видно из приведенного кода, вариант с файлами значительно меньше и проще, но БД работает быстрее, и управлять удобнее. Кроме того, сервер БД может находиться на другом компьютере. Чтобы сократить время, в течение которого строка находится в заблокированном состоянии, после обновления данных сессии следует выполнить функцию session_write_close(). Это уменьшит ожидание для параллельного запроса и снизит вероятность ситуации, когда из-за медленно работающего скрипта параллельный скрипт не смог дождаться своей очереди и умер. При старте сессии PHP проверяет допустимость идентификатора - он может содержать только латинские буквы и цифры. Т.е. необходимости в дополнительном контроле нет. Роман Чернышов (RXL) 27.05.2006 Источник: http://club.shelek.com/viewart.php?id=268 |
| 4X_Pro
Здешних мест хозяин
Философ и Воин Интернета ТИМ: ЛИИ ("Робеспьер") ПЙ-тип: нет Откуда: Москва, Перово Всего сообщений: 7614 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Оффтопик: А вот про INSERT IGNORE я не знал... Полезная штука, если я правильно понял, что она делает А вообще, у приведенных методов есть один существенный недостаток (с точки зрения нашего форума): DELETE выполняется каждый раз, а при большой нагрузке это нежелательно (будет сильно фрагментироваться сессионная таблица). А вот для вывода списка присутствующих я тоже собирался сделать примерно такой же механизм... |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
XXXX Pro написал: А вот про INSERT IGNORE я не знал... Полезная штука, если я http://forum.shadrinsk.net/vie...ote=viewre sult&sid=fbc3bec2e593b53be4fadb42592aa67c http://www.mysql.ru/webboard/i...mp;page=81 |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
XXXX Pro, оформи обновленный файл в 'lib/'. Сегодня. |
| 4X_Pro
Здешних мест хозяин
Философ и Воин Интернета ТИМ: ЛИИ ("Робеспьер") ПЙ-тип: нет Откуда: Москва, Перово Всего сообщений: 7614 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Сделано. |
| Brand
Участник
Серый Комбинатор ТИМ: Не типирован ПЙ-тип: нет Откуда: Санкт-Петербург Всего сообщений: 247 Ссылка Дата регистрации на форуме: 2 июня 2006 |
XXXX Pro написал: Сделано. Отлично! |
| 4X_Pro
Здешних мест хозяин
Философ и Воин Интернета ТИМ: ЛИИ ("Робеспьер") ПЙ-тип: нет Откуда: Москва, Перово Всего сообщений: 7614 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Внимание! Сегодня вечером (ориентировочно с 23:00 до 2:00) форум может быть недоступен всвязи с переходом с PHP 4 на PHP 5. |
| 4X_Pro
Здешних мест хозяин
Философ и Воин Интернета ТИМ: ЛИИ ("Робеспьер") ПЙ-тип: нет Откуда: Москва, Перово Всего сообщений: 7614 Ссылка Дата регистрации на форуме: 2 июня 2006 |
Ну вот, переход прошел благополучно (причем, что довольно необычно, это сделали буквально за 20 минут, и обошлось без дополнительных писем в техподдержку). У кого какие впечатления относительно скорости работы форума — стало быстрее или медленнее? |
| aRT
Долгожитель форума
ренегат ТИМ: Не типирован ПЙ-тип: ЛВЭФ Всего сообщений: 5443 Ссылка Дата регистрации на форуме: 5 фев. 2007 |
по-моему стало немного быстрее. хотя мне и до этого скорость нравилась. отлично! |
| <<Назад Вперед>> | Страницы: 1 2 Модераторы: Kath, srez | Печать |
Соционический форум SOCIOCLUB.ORG » Развитие проекта и технические вопросы » Технические улучшения |
![]() |
| Вы не можете отправлять сообщения Вы не можете создавать темы Вы не можете голосовать в опросах Вы не можете создавать опросы | Вы не можете редактировать свои сообщения Вы не можете прикреплять к сообщениям файлы Вы не можете модерировать раздел Вы не можете видеть IP-адреса |
| 1 посетитель просмотрел эту тему за последние 15 минут |
| В том числе: 1 гость, 0 скрытых пользователей |