Многие сталкивались с таким явлением как DDoS атака методом HTTP флуда. Нет, это не очередной туториал по настройке nginx, хочу представить свой модуль, работающий как быстрый фильтр между ботами и бэкэндом во время L7 DDoS атаки и позволяющий отсеивать мусорные запросы.
Пользователь
Техническое задание: как уберечь себя от ошибок и рисков
5 мин
22KЧто делать, если разработка ТЗ не самого сложного проекта занимает пару месяцев? Какие шаги при разработке ТЗ могут уберечь от рисков и ошибок? В данной статье мы рассмотрим проблему не содержания документа, а методологию его разработки.
+5
О чем не расскажет вендор: технические тонкости выбора ECM-системы
9 мин
5.8KВ предыдущей публикации мы описали различия между двумя типами программного обеспечения — системами управления документами и системами управления записями. Сегодняшняя публикация посвящена анализу очень важного практического вопроса: как выбрать систему, наиболее подходящую для решения конкретных задач конкретной организации. Сразу же отметим, что мы не собираемся склонить читателей к выбору какой-то определенной системы. Мы ставим перед собой задачу иного плана и хотим попытаться сформулировать методологические принципы, на основе которых можно подобрать необходимое программное решение.
В этой статье мы сознательно акцентируем внимание на моментах, о которых вендоры, как правило, предпочитают не говорить. А между тем от этих моментов напрямую зависит корректное функционирование системы и возможность ее использования для решения вполне конкретных практических задач.
В этой статье мы сознательно акцентируем внимание на моментах, о которых вендоры, как правило, предпочитают не говорить. А между тем от этих моментов напрямую зависит корректное функционирование системы и возможность ее использования для решения вполне конкретных практических задач.
+9
Документация jQuery UI на русском
1 мин
54KВ справочнике jquery.page2page.ru появилась документация jQuery UI. Помимо подробного описания каждого плагина, она содержит статьи о фабрике виджетов, с помощью которой можно создавать собственные подобные плагины, правилах темизации (оформления) виджетов UI, собственной системе позиционирования UI, а так же о расширенных анимационных эффектах, доступных при подключении jQuery UI к сайту. Ну и конечно же есть вводная статья с которой можно начать изучение jQuery UI.
Кроме этого, обновлена карта функций, в которую были добавлены методы с двух последних обновлений jQuery, а так же все плагины jQuery UI.
Кроме этого, обновлена карта функций, в которую были добавлены методы с двух последних обновлений jQuery, а так же все плагины jQuery UI.
+46
Виртуальный хостинг для Django (FreeBSD + Apache + mod_python / mod_wsgi)
8 мин
21KСоздавая новый проект на Django, ты в очередной раз лезешь изменять конфигурации своего web-сервера. И вроде бы ничего страшного, да только конфигурации ты меняешь уже чаще, чем выгуливаешь свою собаку. Как-то не правильно? Согласен (собака, думаю, тоже не возражает). Выход – виртуальный хостинг. Изучив пару статей в Интернете, ты забиваешь конфигурации своих сайтов в httpd-vhosts.conf. И какое-то время даже радуешься этому. Проходит время и на локальном хосте у тебя уже не два с половиной сайта, а десятки проектов (пусть даже небольших). И, открывая в очередной раз httpd-vhosts.conf, чтобы добавить какую-нибудь опцию, ты начинаешь думать «А был ли мальчик?», действительно ли ты создавал этот сайт? Ведь в такой окрошке из проектов уже нелегко что-либо отыскать. А если еще учесть, что половина проектов взаимодействует с web-сервером при помощи модуля mod_python, а другая – при помощи модуля mod_wsgi, например, тогда вообще становится грустно работать. Да и жить тоже становится грустно (а уж как ваша собака то у дверей грустит).
Тут я попробую рассказать, как сделать виртуальный хостинг более дружелюбным, а заодно и как настроить вышеупомянутые модули (mod_python и mod_wsgi).
Я не думаю, что открываю Америку своими соображениями на этот счет. Но, буду рад, если кому-нибудь мои примеры помогут уменьшить время, потраченное на настройку данной конфигурации, и провести его с большей пользой для себя (или для своей собаки).
Тут я попробую рассказать, как сделать виртуальный хостинг более дружелюбным, а заодно и как настроить вышеупомянутые модули (mod_python и mod_wsgi).
Я не думаю, что открываю Америку своими соображениями на этот счет. Но, буду рад, если кому-нибудь мои примеры помогут уменьшить время, потраченное на настройку данной конфигурации, и провести его с большей пользой для себя (или для своей собаки).
+16
Защищаем веб-формы от спама без CAPTCHA — 2: Ботобор
3 мин
28KТри года назад на Хабре была опубликована статья «Form Spam Bot Blocker: Защищаем Web-формы без CAPTCHA!», рассказывающая о принципиально отличном от CAPTCHA решении для PHP по защите форм от спам-ботов. Это решение основано на идеях, изложенных в своих статьях Филом Хааком (Phil Haack) — Honeypot Captcha и Недом Батчелдером (Ned Batchelder) — Stopping spambots with hashes and honeypots. К сожалению, предложенный в статье класс, написан для PHP4 и не развивается с 2007-го года. Хочу предложить вашему вниманию его аналог на PHP5.
+27
Page Object — путь к совершенным автотестам
3 мин
80KВсем, доброго времени суток!
Этот топик о том как мы тестируем веб-интерфейс нашего продукта Plus1 WapStart. Мы используем Page Object, т.к. этот паттерн имеет много общего с реальными задачами и позволяет писать автотесты простыми для чтения и понимания.
Что такое Page Object
Page Object — это паттерн для реализации умных автоматических проверок. Gem page-object является имплементацией этого паттерна, который помогает в создании гибких страниц с объектами для тестирования браузерных приложений. Суть в том, чтобы создавать уровни абстракции для отделения тестов от предметов тестирования, и обеспечить простой интерфейс для элементов на странице. Gem работает с watir-webdriver и selenium-webdriver.
+16
Список конкурсов, как возможность «засветиться» стартапу
8 мин
25KС каждым годом запускается все больше интернет-проектов. Участие в конкурсах стало возможностью выделиться, найти инвестора и попасть в стартаперскую тусовку. В связи с этим захотелось собрать полный список стартап ивентов, который многим мог бы быть полезен.
+10
Введение в теорию взаимодействующих последовательных процессов (Communicating Sequential Processes — CSP)
6 мин
17K- Часть 1
- Часть 2
Предисловие
Данный текст является переводом и сокращённым пересказом начальных глав книги Чарльза Э. Хоара. Целью является ознакомление русскоязычной аудитории с данной алгеброй исчисления процессов, коя нашла достаточно широкое применение в современной вычислительной науке в связи с большим распространением параллельных систем. Наиболее близкими и понятными практическими применениями CSP, думаю, будут являться следующие языки программирования:
CSP является формальным математическим языком, позволяющим описывать взаимодействие параллельных систем, основным его применением является формальная спецификация параллельной работы систем, например таких как Транспьютер, кроме того он применяется при разработке высоконадёжных площадок электронной торговли.
В данной статье будут рассказаны основы данной алгебры, без которой невозможно её дальнейшее изучение, в основном это базовое описание процесса, что покрывает первую половину первой главы книги.
+31
Легкий способ начать тестировать
4 мин
50KЕсли вы PHP-разработчик, и по разным обстоятельствам тесты для своих приложений не пишете, то эта статья для вас. В ней я постараюсь вкратце показать с чего начать и что делать, чтобы написание тестов приносило вам радость, а вашему приложению стабильность.
Итак, первый совет. Забудьте всё что вы знаете о юнит-тестах. Швырните табуреткой в человека, который сказал вам, что без них не обойтись. Попробуем разобраться, в каких случаях нужно их использовать, а в каких — нецелесообразно.
Итак, первый совет. Забудьте всё что вы знаете о юнит-тестах. Швырните табуреткой в человека, который сказал вам, что без них не обойтись. Попробуем разобраться, в каких случаях нужно их использовать, а в каких — нецелесообразно.
+39
Codeception — тестирование по-новому
4 мин
87KPHP очень популярный язык программирования, но тестирование в нем, это скорее прерогатива экспертов, а не жизненная необходимость. Неужели это от того, что PHP-разработчики поголовно быдло-кодеры? Я считаю, что нет. Скорее всё от того, что системы тестирования порой излишне усложнены. А тесты, наоборот, должны были предельно просты: легко читаться, писаться, отлаживаться, и конечно же, быстро выполняться. Мое виденье того как это можно воплотить в PHP вылилось в проект под названием Codeception.
С ним тесты для ваших веб-приложений могут выглядеть так:
Согласитесь, такой тест понятен без дополнительных комментариев.
А теперь самое интересное: этот код без всяких изменений может быть выполнен как функциональный тест в фреймворках symfony, Symfony2,Zend Framework, а также в браузерном эмуляторе Goutte и даже через Selenium. Таким образом, вам предлагается единый интерфейс для написания функциональных тестов практически для любого сайта.
С ним тесты для ваших веб-приложений могут выглядеть так:
<?php
$I = new TestGuy($scenario);
$I->wantTo('create new blog post');
$I->amOnPage('/blog/posts');
$I->click('Create new post');
$I->fillField('Title','Codeception, a new way of testing!');
$I->fillField('Text','Codeception is new PHP full-stack testing framework.');
$I->click('Send');
$I->see('Congratulations, your post is successfully created!');
Согласитесь, такой тест понятен без дополнительных комментариев.
А теперь самое интересное: этот код без всяких изменений может быть выполнен как функциональный тест в фреймворках symfony, Symfony2,Zend Framework, а также в браузерном эмуляторе Goutte и даже через Selenium. Таким образом, вам предлагается единый интерфейс для написания функциональных тестов практически для любого сайта.
+65
Подборка html/javascript/css инструментов и библиотек от SmashingMagazine
5 мин
22KПеревод
Разработка вебинтерфейсов дело не самое легкое. Причем начать вроде бы несложно, а вот добиться совершенства поистинне проблематично. Уж очень многое необходимо учесть. Просто масса настроек и ньюансов, в которых легко запутаться и сделать что-то не так. К счастью, разработчики и дизайнеры склонны упрощать этот нелегкий труд и постоянно изобретают всяческие инструменты позволяющие сделать больше и лучше за то же самое время, а главное не погрязнуть в мелочах и состредоточиться на чем-то более важном.
Множество удобных инструментов, найденных командой популярного онлайн журнала SmashingMagazine, приводится под катом
Множество удобных инструментов, найденных командой популярного онлайн журнала SmashingMagazine, приводится под катом
+121
Стейкхолдеры: зона особого внимания
5 мин
59KКак только в мире рождается новый проект, у него сразу появляются друзья и враги. Объясняется это очень просто: любой проект влечет за собой изменения. Ну а люди на перемены реагируют по-разному – кто-то к ним готов и горячо приветствует, а кто-то перемен не любит и боится, потому что видит в них угрозу для своего статуса, образа жизни, стабильности или, что еще хуже, появление у себя дополнительной работы. И первые, и вторые могут оказаться в числе людей, способных повлиять на ход и результат проекта.
+4
Лекториум записал почти тысячу лекций за год
4 мин
57KДорогой Хабр!
У нас для тебя небольшой подарок. Мы тут работали-работали и вот чего сделали.
Сняли и опубликовали почти тысячу лекций по IT и математике.
UPD2 Помогите, пожалуйста, оперативно решить вопрос насчёт организации торрентов на php.
У нас для тебя небольшой подарок. Мы тут работали-работали и вот чего сделали.
Сняли и опубликовали почти тысячу лекций по IT и математике.
UPD2 Помогите, пожалуйста, оперативно решить вопрос насчёт организации торрентов на php.
+326
Обзор литературы по Data Mining
7 мин
66KДобрый день!
Публикация нескольких статей о Data Mining показала высокий интерес сообщества к данной теме. Много вопросов было задано по типу «где почитать» и «с чего начать». Предлагаю вашему вниманию подборку литературы, ресурсов для уверенного старта в данной области.
Публикация нескольких статей о Data Mining показала высокий интерес сообщества к данной теме. Много вопросов было задано по типу «где почитать» и «с чего начать». Предлагаю вашему вниманию подборку литературы, ресурсов для уверенного старта в данной области.
+46
Разгони свой сайт – автоматическая СКЛЕЙКА + GZIP
9 мин
16KЕсть куча советов как убыстрить отдачу сайта – это и статика через nginx и кластеризация и куча еще всяческих хитрых технологий. Однако во всех книжках, советующих как можно повысить загрузку сайтов можно найти две постоянно повторяющиеся темы – «склеивание CSS/JS» и «включение сжатия».
+40
Appiny – скидки для гиков!
2 мин
573Всем привет!
В начале Августа Хабр очень позитивно встретил идею о создании скидочного сервиса для гиков. С того момента прошло больше 3 месяцев…
После публикации у нас не только разом зарегистрировалось более 1500 человек, желающих получить скидки на различные продукты и услуги, но также к нам начали стучаться первые партнеры и инвесторы.
Мы никуда не исчезли, и все это время упорно работали над запуском Appiny, о чем постараемся рассказать под катом.
В начале Августа Хабр очень позитивно встретил идею о создании скидочного сервиса для гиков. С того момента прошло больше 3 месяцев…
После публикации у нас не только разом зарегистрировалось более 1500 человек, желающих получить скидки на различные продукты и услуги, но также к нам начали стучаться первые партнеры и инвесторы.
Мы никуда не исчезли, и все это время упорно работали над запуском Appiny, о чем постараемся рассказать под катом.
+24
Управление разработкой в стиле BDSM
5 мин
9.5KУправление разработкой — очень интересная штука, она вроде бы как есть, а, с другой стороны, ее как бы и нет. При этом на этой зыбкой грани между явью и фикцией многие люди довольно недурно зарабатывают, и ваш покорный слуга в том числе.
Честно говоря, написание этого текста преследовало вполне корыстные цели: он является некоторой лакмусовой бумажкой для отправки людям, с которыми предстоит сотрудничать.
И, расставив все точки над i, нужно либо кидаться с головой в бездну страстей, либо окончательно размежеваться. Итак, немного о том, почему бывают факапы и чем их нельзя исправить.
Честно говоря, написание этого текста преследовало вполне корыстные цели: он является некоторой лакмусовой бумажкой для отправки людям, с которыми предстоит сотрудничать.
И, расставив все точки над i, нужно либо кидаться с головой в бездну страстей, либо окончательно размежеваться. Итак, немного о том, почему бывают факапы и чем их нельзя исправить.
+153
Зачем нужно высшее образование?
2 мин
46KХотел отреагировать на «6 советов студентам», но решил выделить в отдельную статью, потому что внутри есть линк, который может быть полезен студентам.
Так вот насчёт высшего образования: нужно оно или нет? Что вообще универ даёт? В чём ценность выпускника?
Наверняка будет много мнений. Часто прямо противоположных. Но я выскажу своё, которое основано теперь уже и на личном опыте тоже, но лет 20 назад это были слова преподов.
Так вот насчёт высшего образования: нужно оно или нет? Что вообще универ даёт? В чём ценность выпускника?
Наверняка будет много мнений. Часто прямо противоположных. Но я выскажу своё, которое основано теперь уже и на личном опыте тоже, но лет 20 назад это были слова преподов.
+77
Английский для айтишника? Легко!
2 мин
181KЭта тема не относится к IT напрямую, но все знают, что без нее никуда. К сожалению, далеко не у всех есть возможность изучать английский с преподавателями. Ну что ж, попробуем заняться этим дома и с максимальной отдачей!
+109
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Дата рождения
- Зарегистрирован
- Активность