Balancer: Все сообщения за 15 Ноября 2006 года

 
ПнВтСрЧтПтСбВс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

Balancer

администратор
★★★★★
Abaddon> Ну по идее аптайм на лаги влиять не должен :)

А на практике обычно виляет. И, как бы, далеко не у меня одного :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
** Сообщение с ограниченным доступом **

Balancer

администратор
★★★★★
Клапауций> Взлистал Owner's manual - есть у него строковые переменные! Может мы о разных Касиях говорим?

Возможно. Надо бы покопаться. Но в те времена была только одна серия Casio с Бейсиком и дизайн которой был взят для МК-85. И вот строковой переменной (кстати, в единственном числе - я про длинноразмерную, а не про семисимвольные без нормальных операций над ними) там не было. Как и графики, перепрограммируемого символа и ещё всякой фигни :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Клапауций> Зачем такая избыточность?

Нет там никакой избыточности.

1. Процессор прекрасно вписался по производительности и энергопотреблению. Ну и что, что мощный - сейчас, вон, в КПК тоже уже по 625МГц ставят, хотя для большинства применений хватает ARM 206МГц. Я уже молчу про офисные дектопы с core Duo :)

2. Процессор был не какой-то никому непонятной хренью, а унифицированным по интерфейсу и системе команд с самой массовой на тот момент архитектурой. Эдак, можно сказать, что современные КПК на ARM-архитектуре тоже, мол, слеплены "из того, что было", против MIPS и SH3, популярных в предыдущие годы :) Я уже молчу про вымершие Моторолы.

3. Введение более мощного процессора позволило увеличить функционал машинки - те же дополнительные команды :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Серокой> Перестали превьюшки показываться. У меня по крайней мере. (

Ребята, давайте за практику возьмём конкретной ссылокой комментировать. Желательно - прямо на постинг. А то приходится уйму времени тратить на поиск или тестовые топики.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
A.1.> http://balancer.ru/forum/punbb/viewtopic.php?pid=961735#p961735 ссылку на тему двухлетней давности - а по ней выбрасывает на главную страницу форума.

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

Сохранение ссылок независимо от движка и т.п. - это одна из первоприоритетных задач :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Paladin> Да главное ето отписаться по теме ;) :D

Дык, это... Все пчёлы носили в улей мёд, и только одна, самая маленькая и вредная - дёготь :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Fakir> А как теперь репу ставить тем, у кого жаба-скрипт не работает?
Fakir> Нет ли обходного пути, через ссылочки, типа как с выставлением штрафов? :)

http://balancer.ru/user/{user_id}/reputation/
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
А.Л.> чья репутация зависит от 4х значной цефиры, но как ее к никам привязать я не знаю ;)

Наведись хотя б на ссылку на профиль участника - увидишь :)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Abaddon> Отдельный виртуальный хост, тогда .htaccess из вышестоящих каталогов читаться не будет.

Не покатит. Речь-то о виртуальной подсистеме. Конкретно - о Trac'е :D
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

Balancer

администратор
★★★★★
Только что на коммерческом хостинге встала задача пару страниц положить в файловую систему.

Было сделано такое решение (время работы - минут 10 с обдумыванием, написанием и отладкой :D ).

Общий принцип
- CMS в самом конце всех проверок и обработок, если ни один модуль не взялся за отображение страницы, выводит страницу стандартным методом с помощью модуля handlers/post/80-pages.php. Он извлекает стандартный набор данных через DataBaseHTS->get(uri, key_name) и скармливает его Smarty-шаблону.
- Есть возможность вставить свои перехватчики, подменяющие стандартные функции извлечения данных. Собственно, это на сегодня самый популярный способ написания модулей и плагинов. Вешаем на заданные URI или их группы наши функции, которые возвращают требуемые значения. Чаще всего для регистрации своих методов используется функция hts_data_prehandler_add(uri_regexp, key_name, function) или hts_data_prehandler_add(uri_regexp, array(key1_name => func1, key2_name => func2, ...)), где в качестве function могут быть как имена функций, так и конкретные значения (функция регистрации "интеллектуальная").
- Перед вызовом handlers/post/80-pages.php пропишем наш файл, скажем, 70-й по порядку загрузки, который для нужной URI проверит наличие нужных данных и, если они есть в файловой системе, повесит обработчик чтения данных, который вернёт содержимое файлов в качестве значений.
- На уровне файловой системы реализация будет совсем примитивной, в нужном каталоге положим файлы key_name.txt, содержимого которых и будет считываться. Если key_name - массив (как parent или child), то одна строка - одна запись массива.

Вот, что получается. handlers/post/70-pages_on_fs.php:
code php
  1. <?
  2.         register_handler('!^http://([^/]+)(.*)!', 'handler_pages_on_fs');
  3.  
  4.         function handler_pages_on_fs($uri, $m)
  5.         {
  6.                 $hts = &new DataBaseHTS();
  7.  
  8.                 $parse = $hts->parse_uri($uri);
  9.  
  10.                 if(!file_exists($parse['local_path']."source.txt"))
  11.                         return false;
  12.  
  13.                 foreach(split(' ', 'source title nav_name template') as $key)
  14.                 {
  15.                         $file = $parse['local_path'].$key.".txt";
  16.                         if(file_exists($file))
  17.                                 hts_data_prehandler_add("/".preg_quote($uri)."/", $key, create_function('$uri, $m', "return ec(file_get_contents('$file'));"));
  18.                 }
  19.  
  20.                 foreach(split(' ', 'parent child') as $key)
  21.                 {
  22.                         $file = $parse['local_path'].$key.".txt";
  23.                         if(file_exists($file))
  24.                                 hts_data_prehandler_add("/".preg_quote($uri)."/", $key, create_function('$uri, $m', "return file('$file');"


Дальше »»»
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

в начало страницы | новое
 
Поиск
Поддержка
Поддержи форум!
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru