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

    • Tutorial


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

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

    Так научимся же создавать качественные и красивые целевые страницы. Разобьём урок на 3 части. Содержание, Оформление и Практика.
    Читать дальше →
  • Золотой ключик от Google Adwords — Памятка по (за)ведению кампаний

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

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

      Предлагаю этот полезный материал и вам...
    • Расширение функционала телевизоров LG и оскал корейского капитализма

      image
      Небольшая заметка о том, как исследовались прошивки для телевизоров LG, о том, что удалось добиться, какие проблемы встретились на пути и как обстоят дела сейчас. О реакции на всё происходящее корпорации LG, решившей попросту перешагивать через законы.
      Читать дальше →
    • Оперативная реакция на DDoS-атаки

      Один из ресурсов, за которым я присматриваю, вдруг стал неожиданно популярным как у хороших пользователей, так и у плохих. Мощное, в общем-то, железо перестало справляться с нагрузкой. Софт на сервере самый обычный — 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-скрипт
      Читать дальше →
    • Пара полезных команд, которые могут пригодиться при DDoS и не только

        В моем случае, в качестве 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).
        Читать дальше →
      • Хостинг: продолжайте делать то же самое, вас уже съели

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

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

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

          Load average может представлять собой непростой для понимания показатель производительности сервера. В этой статье мы попытаемся дать некоторое представление о том, что означают те величины, которые можно найти в выводе команды «top» и в других linux-командах. В статье, также объясняются параметры специфичные для виртуального хостинга, которые обычно не отображается в стандартном выводе команды top.
          Читать дальше →
        • Памятка пользователям ssh

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

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

            Оглавление:
            • управление ключами
            • копирование файлов через ssh
            • Проброс потоков ввода/вывода
            • Монтирование удалённой FS через ssh
            • Удалённое исполнение кода
            • Алиасы и опции для подключений в .ssh/config
            • Опции по-умолчанию
            • Проброс X-сервера
            • ssh в качестве socks-proxy
            • Проброс портов — прямой и обратный
            • Реверс-сокс-прокси
            • туннелирование L2/L3 трафика
            • Проброс агента авторизации
            • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
            Читать дальше →
          • Приводим иконки Скайпа к общему стилю системы

              В интерфейсе каждой операционной системы существует такое понятие, как область уведомлений.

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

              Иконка скайпа до и после
              Читать дальше →
            • LVM — это просто!

                Собственно, хочется просто и доступно рассказать про такую замечательную вещь как Logical Volume Management или Управление Логическими Томами.
                Поскольку уже давно пользуюсь LVM-ом, расскажу что он значит именно для меня, не подглядывая в мануалы и не выдёргивая цитаты из wiki, своими словами, чтобы было понятно именно тем кто ничего о нем не знает. Постараюсь сразу не рассказывать о всяческих «продвинутых» функциях типа страйпов, снапшотов и т.п.
                Читать дальше →
              • GPL панель управления сервером Vesta



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

                  Не помню, что тогда ответил, но фразу про то, что почти все готово, я повторял еще не раз. Сейчас еще я хочу рассказать что готово в версии 0.9.7
                  Читать дальше →
                • Борьба с DDoS глазами Highload Lab

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



                    DDoS-атаки появились на заре интернета. Знакомство с ними для меня лично началось во время проекта IT Territory в 2003 году, когда игра только стартовала. Она имела достаточно агрессивную рекламную кампанию, в ответ на которую тут же прилетел DDoS от конкурентов. Скажу честно, я растерялся. Больше всего из-за того, что компания, которая оказывала хостинг-услуги, не просто не смогла, а не пожелала бороться с атакой. Ее представители сказали, что это не их проблема.
                    Читать дальше →
                  • Собственный Dynamic DNS

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

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

                      Для реализации описываемого метода понадобится сервер в интернете с DNS сервером bind на нем. А так же доменная зона, субдомен которой мы будем выделять для нашего компьютера. Описывается вариант с подключением Linux-компьютера к Linux-серверу. Для использования других операционных систем понадобится почитать мануалы и модифицировать некоторые шаги.
                      Читать дальше →
                    • Хочется взять и расстрелять, или ликбез о том, почему не стоит использовать make install

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

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

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

                          Любой приказ, который может быть неправильно понят, понимается неправильно (Армейская аксиома)

                          Редкий скрипт лишен необходимости общения с пользователем. Мы ожидаем, что программа (утилита) будет выполнять то, что нам от нее хочется. Следовательно, нужны инструменты влияния на них, да и программа сама должна объяснить, как продвигается ее работа.
                          Данным топиком я хочу рассмотреть несколько способов взаимодействия bash-скриптов с пользователем. Статья рассчитана на новичков в скриптинге, но, надеюсь, люди опытные тоже найдут что-нибудь интересное для себя.
                          Итак, приступим...
                        • Шортики — короткие и смешные, или как мы готовили сайт к Хабраэффекту



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

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

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

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

                            Читать дальше →
                          • Знакомство с Symfony 2

                            Выход Symfony 2 показался мне достаточно веской причиной чтобы наконец-то найти время и посмотреть что же из себя представляет один из самых популярных PHP-фреймворков в мире. Своё знакомство с ним я и описал в данной заметке. Так как это мой первый опыт работы с Symfony буду рад если заметите какие-то ляпы или недочёты и сообщите мне о них.
                            Читать дальше →
                          • Видеоуроки по Python от Khan Academy

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



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

                              Khan Academy на YouTube
                            • Расширяем Emacs своими руками

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

                                Однажды я открыл для себя игру Годвилль, где герой живёт сам по себе,
                                и подпинывать его надо когда самому будет не лень. Но, спустя n-ное
                                количество недель, мне надоело открывать браузер чтобы посмотреть
                                самочувствие моего героя, и я решил написать расширение для emacs,
                                которое будет само лезть в сеть и выводить интересующую меня
                                информацию.
                                Наверняка эта статья будет неинтересна гуру emacs, но для первых шагов
                                может пригодиться
                                Читать дальше →