Понедельник, 29 Декабрь 2008
В git, в отличии от hg, менять commits местами очень легко и просто. Достаточно сказать
git rebase -i HEAD~3
где вместо HEAD~3 указать коммит с которого начинаем править дерево. Дальше откроется в редакторе текстовый файл с деревом, правя который можно, в том числе, и поменять коммиты руками.
Да, намного приятнее чем в hg ☺
Переодически в блогах и интернетах вижу обвинения разных email хостингов, что они раздают адреса своих клиентов спамерам. Поверьте, им это делать даже не надо!
Для примера возьмем один из самых популярных хостингов почты. У него есть сайт с фотографиями, вот на примере его мы и научимся проверять, а есть ли такой email или нет.
Открываем ссылку http://foto.хостинг.ru/домен/sasha. У этого пользователя есть фотографии и мы их видим. Мы можем сделать вывод что адрес sasha@домен есть. Теперь открываем ссыку http://foto.хостинг.ru/домен/masha, и нам говорят что «у пользователя нет ни одного фотоальбома», соотвественно пользователь masha@домен тоже есть. А теперь открываем http://foto.хостинг.ru/домен/kjfjksdjflk и видим «данная страница не найдена на нашем сервере», соотвественно мыла нет. Да, для простоты выдают еще соотвествующие кода (200 на первые две ссылки и 404 на последнюю). Даже качать страницы не обязательно, эти кода и по HEAD отдают ☺
А вы говорите продают…
Вторник, 16 Декабрь 2008
Ковыряюсь с libxml2. Впечатления от нее странные, но кое-как работать можно. От ее реализаци xpath сталол грустно как-то совсем.
А есть альтернатива, а?
Суббота, 13 Декабрь 2008
Представляю патч который реализует комманды for
и endfor
.
Представляю патч который добавляет в nginx две функции
ngx_str_t *ngx_http_ssi_get_variable(ngx_http_request_t *r, ngx_str_t *name,
ngx_uint_t *key);
ngx_str_t *ngx_http_ssi_set_variable(ngx_http_request_t *r, ngx_str_t *name,
ngx_uint_t *key, ngx_str_t *value);
и возможность получать доступ к ssi перменным через $ssi_name
.
Четверг, 4 Декабрь 2008
Сегодня днем, мне один человек пожаловался что хорошо бы сделать публичный интерфейс к «добавлению переменных в ssi» в nginx. Как ответ на вопрос и появился этот пост.
Продолжая описывать и выкладывать свои «фичи» для nginx, я не мог пропустить is_bot.