slavegirl

slavegirl
Рейтинг
401
Регистрация
25.06.2012
Должность
Разбойница
О, Slavegirl, прекрасное созданье. Хмельной сосуд ума и обаянья. Невинный взгляд, порочная душа… В любви — рабыня, в жизни — Госпожа!

Эсминец,

«Бритва О́ккама» (иногда «лезвие Оккама») — методологический принцип, получивший название от имени английского философа-номиналиста Уильяма Оккама. В кратком виде он гласит: «Не следует множить сущее без необходимости» (либо «Не следует привлекать новые сущности без крайней на то необходимости»). Этот принцип формирует базис методологического редукционизма, также называемый принципом бережливости, или законом экономии.

Порой принцип выражается в словах «То, что можно объяснить посредством меньшего, не следует выражать посредством большего».

Зачем код из 1-2 строчек раздувать до использования планировщика заданий?

Никаких утечек памяти в iMacros на данный момент не было замечено, он может работать неделями / месяцами / пока свет не выключат.

Alex-top:
Подскажите код. :)

Например, так:


<?php

$Now = getdate();
if ($Now['minutes'] < 30)
echo 'Text';

?>

В PHP изначально это можно сделать, без планировщика заданий типа cron.

Еще можно с помощью Javascript анализировать локальное время и отображать/скрывать нужный участок текста (если текст не секретный, конечно, и его можно передать на клиентскую сторону). На одном из своих сайтов я так аудио-плеером управляю: если у пользователя день - в плейлисте танцевальная музыка, если ночь - чилаут.

Chukcha:
slavegirl, здесь мы видим только вершину айсберга, и только потому, что нам ее показали. И ты просишь нас рассказать о подводной части даже не упомянув о ней.

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

Благодарю всех участников темы, Ваши советы оказались для меня очень полезными. А именно:

1. Преобразование результата работы javascript-функции md5() к "сырому" бинарному виду.

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

Но тему, думаю, стоит оставить открытой. Так как еще не было ответа на вопрос, действительно ли у разных частей MD5-хэша одной длины одинаковая вероятность коллизий. Этот ответ важен для тех, кому приходится сокращать MD5-хэш путем усечения (важно знать, какую половину выгоднее оставлять: первую или последнюю).

Ayavryk:
Вполне может что встроенная в броузер БД даст прибавку намного больше чем в 2-3. Ввод-вывод самая ресурсоемкая вещь.

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

Chukcha, нет смысла переносить проект на другой язык и делать полную реорганизацию. Все прекрасно работает уже полтора года. Просто пришло время небольшой доработки и, следовательно, мелких оптимизаций.

Менять платформу, подключать БД я начну, будучи уверенной, что данные действия повысят общую эффективность минимум в 2-3 раза. Долго объяснять, но просто вся работа уже настроена под iMacros. На замену всего с нуля уйдет слишком много времени, и оно того не стоит.

Только что вспомнила, что с Javascript я уже работаю более 1,5 года (в одном из предыдущих сообщений написала, что менее года). Вот время быстро летит...

Ayavryk, идеальных [универсальных] решений не бывает никогда. Разработка любого алгоритма почти всегда зависит от ситуации, в которой он будет применяться. В моем случае сохранение 5-6 Мб кэша в текстовом файле(ах) намного проще и выгоднее, чем установка и дополнительная растрата ресурсов на MySQL. Был бы размер данных 100 и более Мб, я бы не раздумывая использовала базу данных.

Chukcha, все верно. Экономия всего 0.5 секунды на одной итерации скрипта увеличит общую эффективность проекта более чем на 10%. Другими словами, на данный момент скрипт обрабатывает 100 тыс. входящих сообщений в сутки. После оптимизации работы с кэшем он сможет обрабатывать около 110 тыс. сообщений. Направление основной оптимизации уже выбрано - это разбиение общего кэша на более мелкие файлы. По возможности будет реализована работа с хэшами в бинарном виде, по предложенному уважаемым siv1987 варианту.

megallodon, попробуйте плеер от http://uppod.ru/

При отображении нескольких плееров на странице их работу можно контролировать с помощью AJAX:


Uppod.AJAX

Скрипт отключает работающий плеер, при запуске другого.

Как это работает: в тело страницы включается .js файл, который анализирует все подключенные плееры и контролирует их работу. Файл включается в шапку документа стандартным образом (внутри head)
Всего: 3716