Pull to refresh
0
0
Руслан @rharunzade

User

Send message

Создание дизайна Landing Page

Reading time 11 min
Views 241K


Landing Page – (далее по тексту Целевая страница) – одностраничный сайт, построенный таким образом, чтобы обеспечить сбор контактов максимального количества целевых посетителей и максимальную конверсию в контексте его использования.

При разработке целевых страниц можно столкнуться с двумя главными проблемами, которые могут привести разработчика в ступор или серьезно повлиять на конечный результат не в лучшую сторону. Первая проблема – тупой «продающий» контент. Вторая проблема – отстойное оформление. Крайне редко встречаются целевые страницы, которые имеют хорошее содержание и выглядят достойно. Чаще всего целевые страницы представляют собой унылый шлак.

Так научимся же создавать качественные и красивые целевые страницы. Разобьём урок на 3 части. Содержание, Оформление и Практика.
Читать дальше →
Total votes 50: ↑32 and ↓18 +14
Comments 47

Золотой ключик от Google Adwords — Памятка по (за)ведению кампаний

Reading time 9 min
Views 5.1K
imageAdWords, сервис контекстной рекламы от корпорации неравнозначия Google, ещё не так хорошо приживается на российском рынке. Рядового пользователя-держателя небольшого интернет-магазинчика, набитый словно бабушкин пирожок черникой на областной станции, интерфейс сразу отпугивает. Да и проблемы с русской морфологией, а также неудобство расчёта месячного бюджета рекламной кампании, для мало-мальски среднечастотных запросов обычно перерастающее в невозможность, зачастую служат разочарованием начинающего предпринимателя и основанием для окончания знакомства с сервисом на самой ранней стадии. Агентства относятся к AdWords более лояльно и даже с пониманием, но всё равно жалуют не часто. Тут против них играют неудобства при расчёте без НДС, платный API и, конечно же, отсутствие агентских комиссионных от Google. Но всё-таки, если ещё и учесть поисковых партнёров Google (тот же Mail.ru), кусок от аудитории предлагается достаточно приличный, чтобы его полностью игнорировать.

Хотя клиентов, соглашающихся вести рекламу в AdWords, раза в 3-4 меньше, чем в Яндекс.Директ, наше рекламное агентство всё равно научилось ценить эту систему контекстной рекламы и мы стараемся быть в курсе всех её нововведений. А благодаря недавнему звонку от агентского консультанта Google, по-крайней мере, я смог более структурировано определить необходимые основы для заведения новой рекламной кампании в AdWords и правки существующей, основы, которые могут существенно увеличить Ваш CTR, конверсии, а соответственно и прибыль.

Предлагаю этот полезный материал и вам...
Total votes 38: ↑37 and ↓1 +36
Comments 13

Расширение функционала телевизоров LG и оскал корейского капитализма

Reading time 5 min
Views 152K
image
Небольшая заметка о том, как исследовались прошивки для телевизоров LG, о том, что удалось добиться, какие проблемы встретились на пути и как обстоят дела сейчас. О реакции на всё происходящее корпорации LG, решившей попросту перешагивать через законы.
Читать дальше →
Total votes 146: ↑140 and ↓6 +134
Comments 123

Оперативная реакция на DDoS-атаки

Reading time 4 min
Views 51K
Один из ресурсов, за которым я присматриваю, вдруг стал неожиданно популярным как у хороших пользователей, так и у плохих. Мощное, в общем-то, железо перестало справляться с нагрузкой. Софт на сервере самый обычный — Linux,Nginx,PHP-FPM(+APC),MySQL, версии — самые последние. На сайтах крутится Drupal и phpBB. Оптимизация на уровне софта (memcached, индексы в базе, где их не хватало) чуть помогла, но кардинально проблему не решила. А проблема — большое количество запросов, к статике, динамике и особенно базе. Поставил следующие лимиты в Nginx:

на соединения
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn perip 100;

и скорость запросов на динамику (fastcgi_pass на php-fpm)
limit_req_zone $binary_remote_addr zone=dynamic:10m rate=2r/s;
limit_req zone=dynamic burst=10 nodelay;

Сильно полегчало, по логам видно, что в первую зону никто не попадает, зато вторая отрабатывает по полной.

Но плохиши продолжали долбить, и захотелось их отбрасывать раньше — на уровне фаервола, и надолго.

Сначала сам парсил логи, и особо настырных добавлял через iptables в баню. Потом парсил уже по крону каждые 5 минут. Пробовал fail2ban. Когда понял, что плохишей стало очень много, перенёс их в ipset ip hash.

Почти всё хорошо стало, но есть неприятные моменты:
— парсинг/сортировка логов тоже приличное (процессорное) время отнимает
— сервер тупит, если началась новая волна между соседними разборками (логов)

Нужно было придумать как быстро добавлять нарушителей в черный список. Сначала была идея написать/дописать модуль к Nginx + демон, который будет ipset-ы обновлять. Можно и без демона, но тогда придётся запускать Nginx от рута, что не есть красиво. Написать это реально, но понял, что нет столько времени. Ничего похожего не нашёл (может плохо искал?), и придумал вот такой алгоритм.

При привышении лимита, Nginx выбрасывает 503-юю ошибку Service Temporarily Unavailable. Вот я решил на неё и прицепиться!

Для каждого location создаём свою страничку с ошибкой
error_page 503 =429 @blacklist;

И соответствующий именованный location
location @blacklist {
    fastcgi_pass    localhost:1234;
    fastcgi_param   SCRIPT_FILENAME    /data/web/cgi/blacklist.sh;
    include         fastcgi_params;
}

Дальше интересней.
Нам нужна поддержка CGI-скриптов. Ставим, настраиваем, запускаем spawn-fcgi и fcgiwrap. У меня уже было готовое для collectd.

Сам CGI-скрипт
Читать дальше →
Total votes 57: ↑50 and ↓7 +43
Comments 50

Пара полезных команд, которые могут пригодиться при DDoS и не только

Reading time 3 min
Views 81K
В моем случае, в качестве frontend сервера, стоит nginx и формат access-лога имеет вид:

log_format main '$remote_addr — $remote_user [$time_local] "$host" "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" -> $upstream_response_time';

Что на выходе дает что-то вроде такой строки:

188.142.8.61 — - [14/Sep/2014:22:51:03 +0400] «www.mysite.ru» «GET / HTTP/1.1» 200 519 «6wwro6rq35muk.ru» «Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.191602; .NET CLR 3.5.191602; .NET CLR 3.0.191602» "-" -> 0.003

1. tail -f /var/log/nginx/nginx.access.log | cut -d ' ' -f 1 | logtop

Позволяет получить общую картину: распределение уникальных IP, с которых идут запросы, кол-во запросов с одного IP и т.д.
Самое ценное — что все это работает в режиме реального времени и можно мониторить ситуацию, внося какие-либо изменения в конфигурацию (например просто забанить ТОП 20 самых активных IP через iptables или временно ограничить географию запросов в nginx через GeoIP http://nginx.org/ru/docs/http/ngx_http_geoip_module.html).
Читать дальше →
Total votes 105: ↑101 and ↓4 +97
Comments 21

Хостинг: продолжайте делать то же самое, вас уже съели

Reading time 5 min
Views 44K
imageМы не очень любим провокационные заголовки, но если вы работаете в индустрии хостинга, то вам будет интересно узнать, что увидели мы в Parallels, изучая тенденции хостинга по всему миру (включая российский). А увидели мы, что традиционный рынок стремительно завоевывают нетрадиционные провайдеры типа Digital Ocean и Linode, пока большинство наших и западных хостеров продолжает сидеть ровно и делать то, что работало 10 лет назад.
Под катом – разная статистика, информация к размышлению для тех из вас, кто хочет развивать свой хостинг-бизнес. И мы будем рады обсудить в комментариях ваше собственное (даже радикально противоположное) мнение.

Читать дальше →
Total votes 108: ↑87 and ↓21 +66
Comments 139

Практические рекомендации: устраняйте неполадки, используя команду 'Top' в Linux

Reading time 8 min
Views 89K
Сейчас мы работаем над новой фичей нашего сервиса мониторинга, для того чтобы можно было мониторить не только внешние параметры сервера, но и внутренние, такие как загрузку системы, состояние жестких дисков, оперативной памяти и других. В процессе разработки мы натолкнулись на полезную статью, которая рассказывает о параметрах системы которые можно получить с помощью системной команды top, перевод этой статьи мы представляем вашему вниманию.

Load average может представлять собой непростой для понимания показатель производительности сервера. В этой статье мы попытаемся дать некоторое представление о том, что означают те величины, которые можно найти в выводе команды «top» и в других linux-командах. В статье, также объясняются параметры специфичные для виртуального хостинга, которые обычно не отображается в стандартном выводе команды top.
Читать дальше →
Total votes 59: ↑46 and ↓13 +33
Comments 30

Как я делал идеальный медиапроигрыватель из Apple TV

Reading time 5 min
Views 108K
Хочу рассказать как я делал для себя медипроигрыватель на базе старой Apple TV первого поколения. Получилось устройство полностью подходящее под мои требования.


Читать дальше →
Total votes 91: ↑81 and ↓10 +71
Comments 113

Памятка пользователям ssh

Reading time 13 min
Views 1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8 +344
Comments 148

Приводим иконки Скайпа к общему стилю системы

Reading time 2 min
Views 21K
В интерфейсе каждой операционной системы существует такое понятие, как область уведомлений.

Там присутствуют различные индикаторы и переключатели, например, индикатор громкости. Большинство индикаторов следуют рекомендациям, но только не Скайп. Таллинские Редмондские программисты настолько суровы, что имеют своё мнение о том, как должны выглядеть их иконки в панели индикаторов. Впрочем, одной строки кода достаточно, чтобы привести их иконки в соответствие.

Иконка скайпа до и после
Читать дальше →
Total votes 29: ↑17 and ↓12 +5
Comments 10

LVM — это просто!

Reading time 4 min
Views 611K
Собственно, хочется просто и доступно рассказать про такую замечательную вещь как Logical Volume Management или Управление Логическими Томами.
Поскольку уже давно пользуюсь LVM-ом, расскажу что он значит именно для меня, не подглядывая в мануалы и не выдёргивая цитаты из wiki, своими словами, чтобы было понятно именно тем кто ничего о нем не знает. Постараюсь сразу не рассказывать о всяческих «продвинутых» функциях типа страйпов, снапшотов и т.п.
Читать дальше →
Total votes 58: ↑54 and ↓4 +50
Comments 75

GPL панель управления сервером Vesta

Reading time 3 min
Views 70K


Сейчас уже сложно сказать, когда именно я начал работу над вестой. Если считать первые скрипты добавления виртуальных хостов в апач, то это был 2007 год. Получается 5 лет тому назад. Помню тогда на работе состоялся примерно такой диалог:
— Ты решил написать свою панель управления?
— Ага, ведь cPanel это ужас, Plesk хоть и лучше, но сильно дорогой. Да и вообще у меня уже почти все готово
— Хм… для того чтобы просто приблизиться к сPanel тебе потребуется минимум 2 года

Не помню, что тогда ответил, но фразу про то, что почти все готово, я повторял еще не раз. Сейчас еще я хочу рассказать что готово в версии 0.9.7
Читать дальше →
Total votes 68: ↑65 and ↓3 +62
Comments 101

Борьба с DDoS глазами Highload Lab

Reading time 15 min
Views 72K
O трендах и тенденциях в DDoS-атаках рассказывает создатель Highload Lab и сети фильтрации трафика QRATOR Александр Лямин. Интервью мы брали еще в начале года, но изменилось пока немногое



DDoS-атаки появились на заре интернета. Знакомство с ними для меня лично началось во время проекта IT Territory в 2003 году, когда игра только стартовала. Она имела достаточно агрессивную рекламную кампанию, в ответ на которую тут же прилетел DDoS от конкурентов. Скажу честно, я растерялся. Больше всего из-за того, что компания, которая оказывала хостинг-услуги, не просто не смогла, а не пожелала бороться с атакой. Ее представители сказали, что это не их проблема.
Читать дальше →
Total votes 175: ↑160 and ↓15 +145
Comments 108

Собственный Dynamic DNS

Reading time 3 min
Views 90K
Иногда необходимо прописать DNS для компьютера с динамическим IP адресом. Простым путем для этого являются сервисы по типу dyndns, описанные в недавнем топике Связываем домен и динамический IP. Иногда такой подход работает достаточно плохо.

Напрмер в моей ситуации, провайдер иногда меняет мой публичный IP адрес. Это иногда случается обычно раз в несколько месяцев. Кроме того, мой домашний компьютер перезагружается крайне редко. За это время сервис dyndns, которым я пользовался ранее успевал пару раз прислать мне оповещения о неактивности с целью отключить «неиспользуемый» аккаунт. Перейти на вручную прописываемую DNS зону также не получается, потому что иногда адрес все же меняется. Причем обычно об этом узнаешь когда нужен доступ к домашнему компьютеру здесь и сейчас.

Для реализации описываемого метода понадобится сервер в интернете с DNS сервером bind на нем. А так же доменная зона, субдомен которой мы будем выделять для нашего компьютера. Описывается вариант с подключением Linux-компьютера к Linux-серверу. Для использования других операционных систем понадобится почитать мануалы и модифицировать некоторые шаги.
Читать дальше →
Total votes 42: ↑35 and ↓7 +28
Comments 21

Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install

Reading time 5 min
Views 170K
К написанию сей заметки меня сподвигло то, что я устал делать развёрнутые замечания на эту тему в комментариях к статьям, где в качестве части инструкции по сборке и настройке чего-либо для конкретного дистра предлагают выполнить make install.
Суть сводится к тому, что эту команду в виде «make install» или «sudo make install» использовать в современных дистрибутивах нельзя.

Но ведь авторы программ в руководствах по установке пишут, что нужно использовать эту команду, возможно, скажете вы. Да, пишут. Но это лишь означает, что они не знают, какой у вас дистрибутив, и дистрибутив ли это вообще, может, вы вступили в секту и обкурилисьчитались LFS и теперь решили под свою хтоническую систему скомпилять их творение. А make install является универсальным, хоть и зачастую неправильным способом это сделать.

Читать дальше →
Total votes 385: ↑339 and ↓46 +293
Comments 185

Взаимодействие bash-скриптов с пользователем

Reading time 4 min
Views 145K
Любой приказ, который может быть неправильно понят, понимается неправильно (Армейская аксиома)

Редкий скрипт лишен необходимости общения с пользователем. Мы ожидаем, что программа (утилита) будет выполнять то, что нам от нее хочется. Следовательно, нужны инструменты влияния на них, да и программа сама должна объяснить, как продвигается ее работа.
Данным топиком я хочу рассмотреть несколько способов взаимодействия bash-скриптов с пользователем. Статья рассчитана на новичков в скриптинге, но, надеюсь, люди опытные тоже найдут что-нибудь интересное для себя.
Итак, приступим...
Total votes 89: ↑87 and ↓2 +85
Comments 48

Шортики — короткие и смешные, или как мы готовили сайт к Хабраэффекту

Reading time 7 min
Views 3.1K


Намба 0: Вступление

Однажды, задумчиво листая башорг, я вдруг понял, что большинство цитат довольно длинные и очень часто их просто лень читать. В наш век всеобщей спешки — на это уходит много времени. Таким образом родился новый формат: Шортики (от английского слова Short — короткий). Шортик — это короткая (из одного-двух предложений) шутка, жестко ограниченная 255 символами (чтобы не повадно было).

Как раз в этот момент я хотел подучить программирование и искал несложную задачу. Сайт я накидал довольно быстро — за пару вечеров, рассказал о нем коллегам по работе и паре знакомых в IRC, и собирался уже о нем забыть, как вдруг обнаружил, что за два дня сайт посетило 500 человек, из которых чуть ли не треть подписалась на RSS. Стало понятно, что концепция людям понравилась. Немного прилизав сайт внешне, я решился показать его Хабрасообществу — Шортики — короткие и смешные, прошу любить и жаловать.

P.S. Учитывая то, что это не совсем стартап (проект пока некоммерческий, да и «стартап» — слишком громкое слово для моей поделки), приобретенная за годы пребывания на сайте хабрасовесть не позволила мне написать нетехническую статью. Поэтому, под катом вас ждет занимательная история о том, как мы готовили Шортики к Хабраэффекту.

Читать дальше →
Total votes 230: ↑193 and ↓37 +156
Comments 205

Знакомство с Symfony 2

Reading time 7 min
Views 101K
Выход Symfony 2 показался мне достаточно веской причиной чтобы наконец-то найти время и посмотреть что же из себя представляет один из самых популярных PHP-фреймворков в мире. Своё знакомство с ним я и описал в данной заметке. Так как это мой первый опыт работы с Symfony буду рад если заметите какие-то ляпы или недочёты и сообщите мне о них.
Читать дальше →
Total votes 50: ↑40 and ↓10 +30
Comments 28

Видеоуроки по Python от Khan Academy

Reading time 1 min
Views 14K
Некоммерческая организация Khan Academy начала публиковать микролекции по языку программирования Python для начинающих. Первый урок посвящён написанию простой программки вычисления факториала с использованием цикла.



P.S. Khan Academy специализируется на массовом образовании. С 2006 года её основатель Салман Хан записал более 2300 микролекций в области науки и математики. По данным на июнь 2011 года, у канала Khan Academy на YouTube зафиксировано около 64 млн просмотров.

Khan Academy на YouTube
Total votes 67: ↑63 and ↓4 +59
Comments 28

Расширяем Emacs своими руками

Reading time 4 min
Views 4.9K
Статья о умелом использовании Emacs моего коллеги, желающего стать хабраГражданином, и наблюдать НЛО. Пожалуйста инвайт на d.klykvin@гмайл.ком

Однажды я открыл для себя игру Годвилль, где герой живёт сам по себе,
и подпинывать его надо когда самому будет не лень. Но, спустя n-ное
количество недель, мне надоело открывать браузер чтобы посмотреть
самочувствие моего героя, и я решил написать расширение для emacs,
которое будет само лезть в сеть и выводить интересующую меня
информацию.
Наверняка эта статья будет неинтересна гуру emacs, но для первых шагов
может пригодиться
Читать дальше →
Total votes 41: ↑32 and ↓9 +23
Comments 13
1

Information

Rating
Does not participate
Location
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Registered
Activity