Main Contents

+1

April 9, 2008 by Scratch

Честно говоря, я никогда бы не подумал, что меня может постичь та же участь… Я имею ввиду спамокомментарии.

Если вы не знаете что это такое — вы счастливый блоггер. Потому что рано или поздно в любой блог пробираются они — спамеры.

Суть этого проста — берем любой блог (желательно популярный), и оставляем там комментарий, что-то вроде “Спасибо за инфу” или “пиши еще”, или даже банальное “+1″. И — что главное — в комментарии проставляется ссылка на рекламируемый сайт.

В результате сайт получает лишнюю ссылку, а спамер — немного (обычно — очень немного) денег за свой нелегкий труд.

Я далеко не первый и не последний блоггер, которого эта участь постигла. Вот, например, у Алексея Новикова эта тема раскрыта уж очень хорошо. И даже придуман плагин, который сейчас идет в бета-версии (и я собираюсь его поставить — трепещите, спамеры). Хотя у меня, как у не особо популярного блоггера (какой там Top1000? :) ) таких комментариев не собо много, но все равно — надо бы попробовать.

И ведь дело не в том что люди ставят свои ссылки на комментарии — собственно, можно было бы убрать поле “url” из формы, и никаких проблем, но это ведь не решение — мне самому интересно, что же комментаторы пишут в своих блогах, поэтому ссылки я оставлю… Но когда человек ссылается не на свой сайт, и даже не на сайт, к которому он имеет какое-то отношение, а на сайт какой-то левой конторы, просто потому что ему заплатили…

И я даже не против того, что люди получают деньги за работу. На здоровье! Но не в моем блоге.

PS. Забавнее всего было вступать в переписку с такими комментаторами. Я просто пишу “Здравствуйте, так-то и так-то, не могли бы вы подтвердить что вы являетесь автором сайта на который ссылаетесь”… Если бы вы видели, какие наезды идут в ответ…

Filed under: Блог | Comments (7)

Моя борьба с SVN

April 6, 2008 by Scratch

Как вы уже знаете, я пользуюсь виртуальным выделенным серваком от FirstVDS. У меня стоит Апач (версии 2.2), и, для ускорения работы со статическим контентом (то есть картинками, CSS-ами и прочими js-никами), установлен NGNIX.

Все было бы хорошо, пока я не решил поднять на этом же сервере SVN.

(more…)

Filed under: Deep Internals | Comments (4)

Блог Помощи

March 25, 2008 by Scratch

Хорошему человеку нужна помощь.

UPD: Марина уже дышит без помощи аппарата — http://helpmarina.com/

Filed under: Блог | Comments (0)

Site is under maintenance

March 16, 2008 by Scratch

Да, именно такую надпись обычно вывешивают при переездах, модификациях и просто недоступности сайта.

Вы спросите, к чему это я? К тому, что мой блог благополучно переехал на новый хостинг.  Причем, все оказалось совсем не так страшно, как я предполагал.

(more…)

Filed under: Блог | Comments (5)

Проблема технологий, или “Самурай без меча подобен” (часть 2)

March 10, 2008 by Scratch

Если есть часть первая, то должна быть и часть вторая. Я уже рассматривал эту тему в одном из предыдущих постов, и получил очень интересные комментарии…

(more…)

Filed under: Блог | Comments (2)

PHPSESSID, и как с ним бороться.

February 13, 2008 by Scratch

Язык PHP имеет встроенные функции для работы с сессией. Но даже банальная работа с сессией имеет свои подводные камни. Возьмем, к примеру, PHPSESSID. Эта переменная используется для того, чтобы указать, какой id сессии нужно использовать. Да, многие разработчики отключают использование этого параметра вообще (то есть, используется только cookie), но если этот параметр включен…
(more…)

Filed under: Tips and tricks | Comments (4)

Проблема технологий, или “Я пишу в блокноте” (часть 1)

February 12, 2008 by Scratch

Думаю, не только я встречаю временами на форумах заявления  “Я пишу в блокноте!” в ответ на вопрос о редакторе для PHP (html, js, других языков). Судя по всему, эта фраза, как и люди, которые ее пишут, будет существовать вечно. И я решил разобраться, почему же все таки некоторые “товарищи” кричат направо и налево, что они пишут в блокноте.

Я нашел этому несколько причин, которые проявляются не только в области программирования.

(more…)

Filed under: Блог | Comments (8)

Память против скорости, или почему иногда стоит использовать serialize

January 31, 2008 by Scratch

Сразу хочу заметить, что все описанное ниже было получено методом черного ящика. Я не смотрел исходник PHP, я не знаю как устроены массивы в этом языке; все описанное — только предположения, которые я выдвигаю. Впрочем, именно эти предположения помоги мне справиться с одной весьма нетривиальной ошибкой.

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

< ?php 
// This script runs more than 30 secs. 
set_time_limit(0); 
$test = array(); 
for ($i=0; $i&lt;40000; $i++) { 
  $test[$i] = array(); 
  for ($k=0; $k&lt;5; $k++) { 
    $test[$i][$k] = array(); 
    for ($j=0; $j&lt;5; $j++) { 
      $test[$i][$k][$j] = $i+$k+$j; 
    } 
  } 
} 
// So, array will contain 
// 40000 * 5 * 5 integers (1000000 elements)  
 
// And sleep to have time to 
// see memory usage in Task Manager 
sleep(100);  
 
?>

Как вы думаете, сколько будет занимать полученный массив $test() в памяти?

(more…)

Filed under: Deep Internals | Comments (3)

Сам себя не похвалишь…

January 25, 2008 by Scratch

Решил пройти Мамбовский тест. Вот что получилось:

Filed under: Блог | Comments (2)

Xdebug — для тех, кому не хватает vardump-а.

January 23, 2008 by Scratch

var_dump() — эта функция знакома большинству программистов, пишущих на php, которые переросли стадию HelloWorld. Любой более-менее сложный проект требует отладки и проверки работы — для чего используются функции наподобие var_dump, print_r, var_export… Некоторые программисты даже наловчились использовать echo, хотя на это бывает страшно смотреть.
Но, как обычно бывает, встроенных средств отладки (а также самописных библиотек) начинает не хватать. Те разработчики, которые перешли на PHP с языков вроде C, страдают от нехватки удобных и мощных средств отладки. Я, например, долго писал на BorlandC++, и отсутствие профайлера и дебаггера в PHP меня дико расстраивало.
Для того, чтобы восполнить этот пробел, придумали программу (а точнее, подключаемое дополнение) XDebug.

(more…)

Filed under: Tips and tricks | Comments (3)