Даёшь 200 хитов в секунду на голой апаче!
Плагин тестирован на кучке сайтов, стабилен.
Требования:
PHP 5.3. На меньших версиях не тестировался. Если протестируете, отпишите, поправлю.
Понимание PHP кода, т.к. потребуется поправить index.php. И, в случае чего заглянуть в логи апачи.
Более подробно на странице плагина: http://lenta.iadlab.ru/iklk-wp-plagin/
Ещё один фейл. Нужно было в DropBox исключить субдиректорию из синхронизации (сорцы веб сайта, но была папка media, в которой 100500 файлов).
Моё решение было: сменить овнера на папку. Поставить www-data, и выдать права 700. Жестко, но работает =)
Сегодня, наткнулся в консольном DropBox на команду exclude. общий синтаксис следующий:
dropbox exclude add ~/Dropbox/пыщ-пыщ/media/
а вапще:
ignores/excludes a directory from syncing dropbox exclude [list] dropbox exclude add [DIRECTORY] [DIRECTORY] ... dropbox exclude remove [DIRECTORY] [DIRECTORY] ...
Змеиная ферма состоит из мини-зоопарка змей, около 30-40 видов. И собственно представления, где змеелов уворачивается от укусов змей. Зрелище не для слабонервных, в первых рядах страшновато =)
Укус пободной змеи гарантирует массу ништяков, но только в течение 15-20 минут (зависит от массы тела), затем общение с Буддой.
Демонстрация яда у змеи, это одна из тех, что участвовала в представлении. Из этого яда затем готовятся лекарственные настойки.
А у некоторых, хоть и яд не столь опасен, есть зубы толщиной с палец.
Шоу змей было весьма динамичное.
Атмосферу подогревали, периодически кидая из мешка, из которого доставали змей — куски каната =)
На пару девушек, специально, уронили удава, держа его за голову и хвост =)
Около 30 минут постоянного напряжения. Обязательно посетите.
Шатаюсь с виртуалками по разным ноутбукам и есть такие, что не суппортят аппаратную виртуализацию.
Шо же мне делать то, как запустить любимый x64 линупс в виртуалбоксе на таком железе?
Или вапще запустить как-нить?
Думаю читателям будет интересно, что IAD, кроме того, чтобы постить лыбдыбры, кое-что сделал для улучшения экологии планеты сайтостроителей.
Напоминаю, что есть uneval.com — мой сервис проверки PHP кода на вредоносные конструкции.
А теперь 5 копеек, почему не следует вставлять свеже-скачанный PHP код(тему, плагин, и.т.д.) сразу на сайт:
1. Там может быть бэкдор(PHP код дающий полноценный shell на ваш сервер, хостинг, VDS). Получив такой доступ можно просмотреть, изменить(если права позволяют) любой файл сайта. И файлы других Ваших сайтов. Это позволит использовать Ваши сайты в своих целях, или просто сломать их, или поместить мелкую трудно-отлавливаемую ошибку, изведя жертву до нервного срыва. =)
2. Разместить код в тему сайта, который будет отображать ссылки только поисковым роботам(клоакинг). Средства тёмного SEO.
3. Украсть/изменить информацию сайта.
Ранее писал о безопасности: Бэкдор с триггерах субд, WordPress, eval.
В общем, юзайте мой сервис uneval.com
Задача: Добавить в коллекцию страниц (pages), документ только в том случае, если ещё нет документов со значением ‘url’ равным вставляемому значению. Избежать дублирования страниц.
Условие: максимально быстро.
Решение:
1. Создаём уникальный индекс на коллекцию. поле ‘url’ с удалением дублирующихся.
2. Делаем bulk insert:
$pages — массив документов, для помещения в колекцию.
‘safe’=>false — игнорировать ошибки операции (в нашем случае, дублирование ‘url’ с документами в коллекции)
//Формируем массив из кучи документов $pages[]=array ( 'url'=>$url, 'site_id'=>$site->_id, 'need_load'=>true ); ... $mongo->pages->batchInsert($pages, array('safe'=>false));
По моим тестам, массив из 10-20 тысяч документов вставляется за пару секунд(думаю вся коллекция находится в памяти, данных не много)
Сегодня 2 весёлых примера.
1. логический или (or).
Задача: Найти пользователей, у которых возраст менее 20 лет, и тех, у которых возраст не заполнен.
Постановка задачи: т.к. mongodb является schema-free СУБД, то наличие нашего поля age не является обязательным. Запрос должен выглядеть(на языке логики) следующим образом: age<20 or age is null
Проблема: на php адаптере mongodb запрос or должен выглядеть следующим образом:
'$or'=>array(условие1, условие2)
При этом:
уловие1 = 'age'=>array('$lte'<=20) уловие2 = 'age'=>array('$exists'=>false)
php, успешно заменит элемент массива с индексом ‘age’ из условие1 на, значение из условие2.
Решение:
завернём условие1 и условие2 в дополнительный массив:
$where=array ( '$or'=>array ( array ( 'age'=>array ( '$lte'=>20, ) ), array ( 'age'=>array ( '$exists'=>false ) ) ) );
Стенфорд и Беркли на днях начинают обучение по ИТ направлениям. http://www.cs101-class.org/hub.php
Множество вкусных курсов.
Записался на Human-Computer Interaction , Software Engineering for Software as a Service (saas), Machine Learning , Design and Analysis of Algorithms I , Game Theory .