RSS Записей | RSS Комментариев
Ядоблог - Stay upwind

Архив за января, 2012

И правда, что не браузер?

января 31, 2012 | Комментариев нет

Плагин правильного кеширования для WordPress

января 30, 2012 | Комментариев нет

Даёшь 200 хитов в секунду на голой апаче!

Плагин тестирован на кучке сайтов, стабилен.

Требования:

PHP 5.3. На меньших версиях не тестировался. Если протестируете, отпишите, поправлю.

Понимание PHP кода, т.к. потребуется поправить index.php. И, в случае чего заглянуть в логи апачи.

Более подробно на странице плагина: http://lenta.iadlab.ru/iklk-wp-plagin/

 

 

DropBox, исключить субдиректорию из синхронизации

января 28, 2012 | Комментариев нет

Ещё один фейл. Нужно было в 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] ...
DropBox IAD

Тайланд, день 2, Змеиная ферма

января 26, 2012 | 1 Комментарий

к хронологии отпуска

Змеиная ферма состоит из мини-зоопарка змей, около 30-40 видов. И собственно представления, где змеелов уворачивается от укусов змей. Зрелище не для слабонервных, в первых рядах страшновато =)

Укус пободной змеи гарантирует массу ништяков, но только в течение 15-20 минут (зависит от массы тела), затем общение с Буддой.

Демонстрация яда у змеи, это одна из тех, что участвовала в представлении. Из этого яда затем готовятся лекарственные настойки.

А у некоторых, хоть и яд не столь опасен, есть зубы толщиной с палец.

Шоу змей было весьма динамичное.

Атмосферу подогревали, периодически кидая из мешка, из которого доставали змей — куски каната =)

На пару девушек, специально, уронили удава, держа его за голову и хвост =)

Около 30 минут постоянного напряжения. Обязательно посетите.

Эпический фэйл

января 26, 2012 | 3 Комментариев

Шатаюсь с виртуалками по разным ноутбукам и есть такие, что не суппортят аппаратную виртуализацию.

Шо же мне делать то, как запустить любимый x64 линупс в виртуалбоксе на таком железе?

Или вапще запустить как-нить?

Проверяй плагины и темы любимого WordPress, перед вставкой на сайт.

января 25, 2012 | 2 Комментариев

Думаю читателям будет интересно, что IAD, кроме того, чтобы постить лыбдыбры, кое-что сделал для улучшения экологии планеты сайтостроителей.

Напоминаю, что есть uneval.com — мой сервис проверки PHP кода на вредоносные конструкции.

А теперь 5 копеек, почему не следует вставлять свеже-скачанный PHP код(тему, плагин, и.т.д.) сразу на сайт:

1. Там может быть бэкдор(PHP код дающий полноценный shell на ваш сервер, хостинг, VDS). Получив такой доступ можно просмотреть, изменить(если права позволяют) любой файл сайта. И файлы других Ваших сайтов. Это позволит использовать Ваши сайты в своих целях, или просто сломать их, или поместить мелкую трудно-отлавливаемую ошибку, изведя жертву до нервного срыва. =)

2. Разместить код в тему сайта, который будет отображать ссылки только поисковым роботам(клоакинг). Средства тёмного SEO.

3. Украсть/изменить информацию сайта.

Ранее писал о безопасности: Бэкдор с триггерах субд, WordPress, eval.
В общем, юзайте мой сервис uneval.com

Ответ Кабану

января 25, 2012 | 1 Комментарий

MongoDB, bulk(batch) insert

января 23, 2012 | Комментариев нет

Задача: Добавить в коллекцию страниц (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 тысяч документов вставляется за пару секунд(думаю вся коллекция находится в памяти, данных не много)

MongoDB, NoSQL IAD

MongoDB, логический or (или)

января 23, 2012 | Комментариев нет

Сегодня 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
      )
    )
  )
);
MongoDB, NoSQL IAD

Последний шанс. Знания даром.

января 22, 2012 | Комментариев нет

Стенфорд и Беркли на днях начинают обучение по ИТ направлениям. 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 .

 

© 2010 Ядоблог. Все права защишены.
Powered by Лаборатория Яда. Написать администратору