Слава нації
#StandWithUkraine

Роман Теличко

Блог з програмування, оптимізації та адміністрування систем

Перепост: Чек-лист вёрстки. Что можно отдавать клиенту, а что надо переделывать

// 22 Лютого, 2011 | 2211 переглядів

Вы PM. Как узнать – готова ли вёрстка к реальному использованию?
Вы заказчик. Как убедиться, что работа выполнена качественно?

Когда я стал тим-лидом, а позже PM, передо мной стала задача проверять вёрстку наших проектов. Нужно было выработать формальные, легкопроверяемые критерии, соответствие кода которым, должно было давать некую гарантию, что не будет факапов и ни клиент, ни программеры не сказажут потом “WTF?”.

Клиенту неважно насколько красив ваш код, но ему важен результат. Качественный код нужен фирме, т.к. он надёжней и в будущем его будет легче поддерживать.

Требования должны были быть такие, что соблюсти их легче, создавая качественную вёрстку, а не говнокод. Я составлял такой чек-лист в течении полутора лет. За последние полгода в него не добавилось ничего. Значит самое главное учтено.

Читати далі…

Перепост: Сборник советов и фактов по оптимизации PHP-скриптов

// 26 Січня, 2011 | 320 переглядів

Одним из основных критериев успешности любого интернет-ресурса является скорость его работы и с каждым годом пользователи становятся всё более и более требовательными по этому критерию. Оптимизация работы php-скиптов — это один из методов обеспечения скорости работы системы.
В этой статье я бы хотел представить на суд общественности свой сборник советов и фактов по оптимизации скриптов. Сборник собирался мною достаточно долго, основан на нескольких источниках и личных экспериментах.
Читати далі…

Перепост: Защита от DDOS атаки случайными аргументами при помощи Nginx

// 20 Вересня, 2010 | 311 переглядів

Я встретился с новым типом ботнета. Если старый долбил только в главную, то новый действует иначе. Он посылает множество запросов вида
GET someurl/?t1555ss5326=5326,
где someurl — найденный ботом php скрипт.
Но если атакуемый сайт поддерживает ЧПУ, то такие запросы к нему должны отсутствовать в принципе. ЧПУ сейчас является стандартом де-факто, по этому можно смело отрезать такие запросы, логируя IP ботов.
Для этого очень удобен nginx, и его переменная is_args, которая имеет значение “?”, если в URI идут аргументы. Базовая конструкция выглядит так:

if ($is_args = "?") { 
    return 444; 
}

Очень просто и красиво, правда?
Вот как выглядит LA после включения этой защиты:
load average: 1.50, 3.09, 6.96
Текущий ботнет из ~20000 зомби, делают 5-8k одновременных запросов.

Оригинал: https://habrahabr.ru/blogs/infosecurity/104601/

Самый короткий код для определения IE (ниже IE8)

// 9 Січня, 2010 | 98 переглядів

Выглядит так

-[1,]

Пример использования

if( -[1,] )
{
    alert('Not IE!');
}

IE выдаст ошибку после запятой из за того что в хэше, где используется сочетание ключ-значение в отличие от массивов, не будет найден очередной ключ.
И выдает “null” или “undefined”, а минус перед массивом преобразует это в число.
У нормальных браузеров таких проблем нет.

Перепост: Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

// 20 Вересня, 2009 | 1002 переглядів

Введение

С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.

Читати далі…