Из вроде не упоминавшихся, но вполне кошерных вариантов на практике вполне годных (вместо извращений с хитрыми выборками, индексами строящимися по 2 часа и т.д.).
Отдельная таблица с ID, состоящая только из них. Будет сравнительно шустро. Основной бонус - не мучать основную таблицу индексами и выборками по ней. Побочный бонус - это будет маленькая таблица. Для полного кайфа в таблице можно создать поле с последовательными ИД и выбирать по ним.
Дальнейшее развитие решения - отдельный скрипт, который иногда создает эту таблицу, а потом на основе этой таблицы генерит нужные наборы случайных чисел и куда-нибудь складывает (откуда их потом уже и берет основной скрипт и удаляет после использования). Это позволит нагрузку вынести ее за пределы основной цмс (цмс будет летать, ну а скорость работы отдельного скрипта генератора кого волнует?), плюс работу скрипта можно зачедулить на время когда посетителей нет.
Следующий возможный этап это не уникальность рандома. Во многих случаях она не нужна. Тогда после генерации случайных наборов, достаточно не удалять их сразу после использования. Если речь идет про сайт с реальными пользователями, то вероятность повторения набора для отдельно взятого юзера достаточно мала и даже если она случится - ничего вроде как страшного. А в свободное время можно перегенерить наборы сгенеренных рандомов.
Нечто вроде
update gr set points_qty=( select count(bt_gr_point.point_id) from bt_gr_point where bt_gr_point.gr_id=gr.gr_idgroup by bt_gr_point.gr_id )
если исходить из того, что в таблице gr поле тоже gr_id называется, а если нет, то соответственно gr.gr_id подправить на нужное.
Если брать сферического коня в вакууме, то да. А вот с практической точки зрения бывают ситуации, когда выгоднее запускать несколько отдельных запросов. Например, большая таблица с индексами, где удаление (по понятным причинам) штука не быстрая. В таком разе или это будет большой подвисон или вообще вылет по каким-нибудь лимитам. Впрочем тут вряд ли об этом вопрос, просто мы к тому, что стоит ли так категорично?:)
Если функция вызывается много раз, реально много, то проблема скорее всего в том, что файл дергается много раз, а не в том что его перемешивают.
Поэтому
function ra($f) {static $yoyo=array();if(!isset($yoyo[$f])) { if(file_exists($f)) $yoyo[$f]=file($f); else $yoyo[$f]=false; }if($yoyo[$f]===false) return false;return $yoyo[$f][mt_rand(0,sizeof($yoyo[$f])-1)];}
А если в файле еще и много строк, тогда есть смысл хранить кэш в базе, в отдельной таблице, возможно memory типа.
Востребованность будет это к гадалке не ходи. Человек по природе своей любит халяву и рекламу вида "ничего не умея подними свой интернет магазин и начни зарабатывать на сапе прямо сейчас".
Однако лично нам немного не ясно на какую конкретно ЦА Вы рассчитываете? Как основную? У Вас какой-то "программерский" подход - возможность того, возможность сего, но главного в посте не видно - для кого именно это?
Кстати, все знакомые блондинки кому нужно представительство в интернете просто недоумевают зачем им сайт, есть же страница в контакте, туда можно залить все данные и фото, очень удобно. Если эта логика Вас не испугала, тогда можете подумать о создании приложения фконтакте к своему конструктору:)
Нрод.ру и укоз опять же намного проще, чем Вы здесь изобразили. Просто не все в принципе видят смысл в сайте.
Вот кто этот странный человек, которому нужно размещать сапу в интернет-магазине? Интернет магазин без раскрутки смысла не имеет. Сапу на нулевом сайте размещать смысла нет. Сайт для компании подразумевает что компания может обратиться в недорогую фирму. Красивое объявление - для него не нужен отдельный сайт, его надо подавать туда, где эти объявления уже есть - директ или сландо там, автору наконец. Сайт визитка - вот тут уже интереснее, но... те же сервисы бложеков вполне юзабельны юзабельны, новостная лента есть, публиковать бложек можно, дизайн можно сменить, куда проще-то еще? И получается как-то непонятно.
Это случаем не Б..(или аналоги). от p... с этого форума ? Если да, то выглядит красиво, но это как с дизайном от брендовых художников. Выглядит красиво, использовать невозможно:) Так что если Вы хотите создавать нечто функциональное и что можно будет использовать, это одно... если что-то красивое, то это что-то другое. Но вот в каком из вариантов у Вас будет больше клиентов - это большой вопрос.
Да нет, похоже ситуация более глобальная чем может показаться.
За отзывами особо не следили и не увлекались этим, но сейчас глянули, осталось 3 из где-то 12. При чем у 10 корреспондентов проблем нет никаких, операции между ними были и не раз, отзывы были как старые так и новые, достаточно внятные, БЛ тоже от мала до велика, накруток не было, мы даже ответных не ставили. Странно.
Из приятных бонусов обратили внимание - теперь можно посмотреть архив своих отзывов, включая удаленные:)
Пошуршали по "интернетам". Похоже ВМ собирается удалять старые отзывы и уже удаляет.
И положительные и отрицательные. Что ИМХО совершенно ужасная идея.
а) Положительные удалять зачем? Если раньше было видно что один успешно работает с 2005 года, а другой с 2010 и можно было делать выводы, то теперь финишь. Они будут в одинаковом положении, хотя это явно не так, время успешной работы имеет значение.
б) Отрицательных удаление вообще кошмар! Неактуальные "-" отзывы можно было раньше убрать по запросу. Но теперь даже актуальные будут удаляться (уже посмотрели пару примеров). Оставляли "-" отзывы на мошенников, минимум 2 удалены, спрашивается в чем смысл? Киданул, подождал месяц, оппа - чистенький.
Очень странное нововведение, очень надеемся что откатят.
Советуем воспользоваться сервисом http://service.nalog.ru:8080/ что бы нарисовать квитанцию для оплаты. Понятно что оплачивать будете через ИБ, но по крайней мере будете четко знать что и где надо писать и как заполнять, исходя из итоговой квитанции.
Имхо, "для дома для семьи" (с), если уж выбирать что-то, то выбирать гладкоствол (не по улице же носить, а "домой воры забрались"). Благо его легально можно купить в совке даже гражданскому, в отличии от АПС (сейфы и справки решаемый вопрос). И убить им по неосторожности (при умении владеть) в общем сложнее, чем травматикой (которая куда-нибудь не туда попадет и привет), и на потенциального вора психологически лучше подействует чем травматика, да и на охоту можно съездить:)
В практическом применении травматика это лоторея. Сработает/не сработает, попадешь/не попадешь, убьешь на фиг/разозлишь только/остановишь и так далее. Собственно опыт народа изложенный на форумах об этом и говорит, у всех сильно разные результаты.
p.s.: Кстати, тут многие говорили о превышении необходимой самообороны, а разве не отменили это? Вроде несколько лет назад что-то такое говорилось. В законы лень лезть проверять:-\
Странно, третья страница, а никто не упомянул plimus.com
Относительно недешево, но учитывая что прием денег вполне легальный (с точки зрения платежной системы), очень душевно. Для вывода денег - привязывается пионеровская (payoneer.com) карта. Да, есть задержки при выводе (вывод 15 числа денег накопленных до 1 числа), да рефунды безусловные (что в общем почти везде так), но суппорт без особых задвигов и работает.
Отличная возможность принимать paypal или кредитки находясь в совке. Приятным бонусом идет достаточная беспалевность метода с точки зрения советской налоговой.
Наиболее кошерный вариант для крупных проектов.
Смотря какую задачу Вам надо решить, мод_реврайт действительно многое может, но ... в большинстве случаев лучше "гнобить" этим скрипт:)
Далеко ходить не надо.
а) На сайте урлы вида site.ru/abazaba.html , это можно решить количеством правил в .хтаккесс равным количеству разных страниц *.html, или... одним редиректом на *.html Много правил не кул по любому. Так что лучше кидать на скрипт.
б) Нередко на сайт приходят по урлу вида (угадайте почему?:) ), мод_реврайт в жизни не осилит понять куда должна привести эта ссылка.
в) Любимый аргумент тех, кто использует сложные правила мод_реврайта типа cat/1.html кидает на index.php?op=cat&id=1, а cop/2.html кидает на index.php?op=cop&id=2 . Казалось бы круто? Но зачем? Ведь результат идет все равно на index.php, скрипт все равно запускается, но при мод_реврайте правила разделяются на 2 места и теряется универсальность. Так что лучше кидать на скрипт.
Фактически "тонкие" правила мод_реврайта нужны только для очень ограниченного количества ситуаций, и ЧПУ к ним вряд ли относится. Можете привести хоть один нормальный пример ЧПУ (ЧеловекоПонятныхУрлов, т.е. не вида ID.html), который при соразмерном количестве страниц на сайте можно реализовать чисто на мод_реврайте, с учетом пунктов А, Б, В выше?