Как стать автором
Обновить
11
0

Пользователь

Отправить сообщение

Модуль nginx для борьбы с DDoS

Время на прочтение6 мин
Количество просмотров66K
Многие сталкивались с таким явлением как DDoS атака методом HTTP флуда. Нет, это не очередной туториал по настройке nginx, хочу представить свой модуль, работающий как быстрый фильтр между ботами и бэкэндом во время L7 DDoS атаки и позволяющий отсеивать мусорные запросы.
Читать дальше →
Всего голосов 142: ↑140 и ↓2+138
Комментарии43

7 шагов, чтобы подготовиться к IE10 и Windows 8

Время на прочтение9 мин
Количество просмотров17K
ie10 metro

Как вы, наверняка, уже знаете, 29 февраля вышла Windows 8 Consumer Preview, а вместе с ней и 5-я platform preview версия Internet Explorer 10. В этой статье я расскажу о том, как подготовиться к новой версии IE. И хотя повествование будет вестись преимущественно вокруг IE10, многие из этих советов применимы и к другим браузерам, в том числе на других платформах.

1. Используете <!doctype html>


Первое, самое-самое-самое первое, с чего надо начать, — это убедиться, что все страницы вы отдаете с правильным doctype. В мире html5 это одна небольшая и очень простая строчка:

<!doctype html>

Это должна быть самая первая строчка, которую вы напишите. Если шаблон вашей страницы генерируется автоматически инструментами разработки и там нет этой строчки, поправьте шаблон. Если ваша CMS отдает страницы без doctype, обновите используемые шаблоны.
Читать дальше →
Всего голосов 100: ↑72 и ↓28+44
Комментарии107

Золотые горы стартапу, или не живем бесплатно, даже если назвался 'free'

Время на прочтение11 мин
Количество просмотров1.8K
Этот топик — приглашение к обсуждению. В конце обещаю очень полезную вещь.

В последнее время, все больше появляется бесплатного и открытого. Все понятно, когда Google делает великолепный инструмент на котором можно было бы много заработать (SketchUp) — бесплатным — все понимают, что компания и так зарабатывает много денег и ей важнее заполучить больше пользователей. Хотя и есть платная версия. Однако все больше и больше из нас придумывают новые идеи, такие как YubNub (сервис не мой), и подобные, которые облегчат жизнь пользователям. Сделать — день-два, отладить неделя-десять, донести до ума пользователей — год.

Однако встает вопрос — тратить время на развитие сервиса — это терять деньги. Элементарно — сервер, люди, личное время — все деньги отнимает. Раньше эту проблему могла бы решить реклама…
Читать дальше →
Всего голосов 128: ↑117 и ↓11+106
Комментарии128

Настройка nginx

Время на прочтение5 мин
Количество просмотров289K
Тема правильной настройки nginx очень велика, и, боюсь, в рамки одной статьи на хабре никак не помещается. В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. :)

Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: sysoev.ru/nginx/docs/example.html. Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами. :)
подробности
Всего голосов 88: ↑78 и ↓10+68
Комментарии53

Кто, Зачем и Как ищет стартапы

Время на прочтение3 мин
Количество просмотров15K
Рассмотрим основные сценарии поиска стартапов игроками венчурного рынка в Рунете.
Кто ищет стартапы: инвесторы, менторы, бизнес-инкубаторы, корпорации, консультанты и даже стартапы ищут стартапы.

Как искали раньше? (на примере инвесторов)

1. Создать входящий поток проектов, т.е. чтобы стартапы сами приходили к инвестору. Для этого нужно много рекламировать себя, выступая спонсором конференций, публикуя новости венчурного рынка, рассказывая стартаперам как делать стартапы, показывая как много денег у тебя есть.
Самый яркий пример успешного создания входящего потока — Farminers. Они за 6 месяцев собрали около 2 тысяч проектов.
2. Создать исходящий поток проектов, т.е. самому находить стартапы и приглашать их на встречу. Для этого нужно мониторить новости о стартапах, раздел «Я пиарюсь» на Хабре, каталоги стартапов, конкурсы, обязательно ходить на мероприятия, где презентуются стартапы. Это может сделать любой инвестор, но ему придется посвятить этому много месяцев работы.
3. Работать по рекомендациям. Когда у тебя появилось имя на рынке, другие инвесторы могут присылать тебе интересные стартапы с предложением соинвестировать. Нет имени? Нет рекомендаций.

Кстати, когда большой поток проектов создан, возникает следующая еще более «интересная» задача — отфильтровать поток проектов и выбрать лучшие. Об этом мы подробнее расскажем в следующий раз ;)

Теперь месяцы работы можно сократить до пары часов «прицельного» поиска на StartupPoint.ru.

Рассмотрим, кто и зачем ищет стартапы.
Читать дальше →
Всего голосов 42: ↑30 и ↓12+18
Комментарии17

Обфускация JavaScript

Время на прочтение5 мин
Количество просмотров195K
В статье собраны всем известные методы и предельно извращенные. Эту статью я решил написать после недавнего прочтения поста в блоге Badass JavaScript и решил её дополнить своими находками.

Первый способ


Он всем известен — обфускация минимизаторами такими как JS Packer, JSmin, YUI Compressor, Closure compiler или можно просто пугуглить «JavaScript Obfuscator» и найдется ещё сто штук разных обфускаторов.
Они превращают существующий код
function MyClass(){
    this.foo = function(argument1, argument2){
        var addedArgs = parseInt(argument1)+parseInt(argument2);
        return addedArgs;
    }
    var anonymousInnerFunction = function(){
        // do stuff here!
    }
}

В какой-то такой вид:
function MyClass(){this.foo=function(c,b){var d=parseInt(c)+parseInt(b);return d};var a=function(){}};

Или такой:
var _0xd799=["\x66\x6F\x6F"];function MyClass(){this[_0xd799[0]]=function (_0xefcax2,_0xefcax3){var _0xefcax4=parseInt(_0xefcax2)+parseInt(_0xefcax3);return _0xefcax4;} ;var _0xefcax5=function (){} ;} ;

Или вот такой:
eval(function(p,a,c,k,e,d){e=function(c){return c};if(!''.replace(/^/,String)){while(c--){d[c]=k[c]||c}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('4 0="3 5!";9 2(1){6(1+"\\7"+0)}2("8");',10,10,'a|msg|MsgBox|Hello|var|World|alert|n|OK|function'.split('|'),0,{}))

Но ничего не стоит его восстановить с помощью jsbeautifier.org либо просто убрать eval и получить исходный код, многое потеряем, но смысл кода восстановим. Ну и с первого взгляда мы видим, что перед нами JavaScript.

Все это были цветочки под катом жесткие методы обфускации.
Читать дальше →
Всего голосов 171: ↑165 и ↓6+159
Комментарии85

Cactus Obfuscator обфускатор JavaScript/CSS

Время на прочтение4 мин
Количество просмотров7.4K
Привет %username%,
Сегодня, я бы хотел, представить сообществу утилиту написанную мои другом Николаем Бабинским — Cactus Obfuscator.
Cactus Obfuscator — это трех-модульное приложение созданное для обфускации JavaScript и CSS кода.

Cactus Obfuscator использует:
Apache Maven — плагин для Maven версий 2-3.
YUI Compressor — js/css обфускация.
Simple XML — XML мэппинг и (де)сериализация.

Содержание:
1. Использование как Maven плагина.
2. Использование как консольного приложения.
3. Создание конфигурационных файлов(XML).


Cactus может использоваться, как Maven плагин в java-проектах, а так же, как консольная утилита.

Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии5

Realtime на вашем ресурсе за несколько минут

Время на прочтение8 мин
Количество просмотров12K
Во время разработки игры мы столкнулись с необходимостью обеспечения максимального риалтайм обмена данных между пользователями, что повлекло за собой эксперименты с различными comet библиотеками.
Первый велосипед был построен на dklab realplexor, который, при очередной попытке его использования, как и ожидалось, нас подвел. Может у нас руки кривые, но добиться получения ивентов без задержек в 5-10-15 секунд у нас, к сожалению, не получилось.
Танцы с бубном продолжались долго, в результате чего мы решили остановиться на nginx_http_push_module, и потраченное время все же стоило того.
Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии11

Firefox 4: отрисовка произвольных элементов в качестве фонов посредством -moz-element

Время на прочтение8 мин
Количество просмотров1.8K
Поль Руже:  Это блогозапись нашего гостя, Маркуса Стэнджа. Маркус обыкновенно работает над реализацией темы оформления Firefox для Маков, но на сей раз он совершил небольшую окольную прогулку по движку макетирования в Gecko, реализуя -moz-element.

В четвёртой бета-версии нового Файерфокса мы представляем вам новое расширение CSS-свойства background-image: возможность отрисовывать произвольные элементы в качестве фонов, используя -moz-element(#elementID).
<p id="myBackground1" style="background: darkorange; color: white; width: 300px; height: 40px;">
    This element will be used as a background.
    <!-- Этот элемент послужит фоном. -->
</p>
<p style="background: -moz-element(#myBackground1); padding: 20px 10px; font-weight: bold;">
    This box uses #myBackground1 as its background!
    <!-- Этот прямоугольник использует #myBackground1 в качестве фона! -->
</p>
[показать пример]

Изображение -moz-element() срабатывает совершенно так же, как и привычное изображение url(). Это значит, что оно управляется всеми привычными свойствами фонов: background-position, background-repeat, и даже background-size.

Используя background-size, вы можете создать миниатюру (thumbnail) того элемента, который используется в качестве фона — вот пример:
Читать дальше →
Всего голосов 84: ↑73 и ↓11+62
Комментарии36

Разработка WEB-проекта на Node.JS: Часть 2

Время на прочтение12 мин
Количество просмотров56K
В прошлой статье я начал рассказывать о своём опыте разработки экспериментального WEB-проекта «Что делать?» на Node.JS. Первая часть была обзорной, в ней я постарался раскрыть плюсы и минусы технологии, а также предупредить о проблемах, с которыми, возможно, придётся столкнуться в ходе разработки. В этой статье я подробнее остановлюсь на технических деталях.

Несколько слов о «хабраэффекте»


Читать дальше →
Всего голосов 67: ↑63 и ↓4+59
Комментарии103

Оформляем тултипы с помощью CSS3

Время на прочтение3 мин
Количество просмотров21K
image
Всем привет!
Уже несколько раз меня просили сделать обычные тултипы, которые со стрелочками такие. Все бы было хорошо: состряпал блок с круголками, взял треугольники отсюда и вуаля. Однако, не все так просто. Ведь полет фантазии дизайнеров велик. То им стрелочки с наклоном, то им рамки, то тени. Можно, конечно, все запилить на картинках, но ведь это старомодно непрактично. Хотя бы из-за кучи оберток, для того, чтобы все тянулось во все стороны.
Всё это оказалось абсолютно решаемым с помощью CSS, если включить немного фантазии.
От слов к делу.
Читать дальше →
Всего голосов 84: ↑76 и ↓8+68
Комментарии23

Равномерное выравнивание блоков по ширине

Время на прочтение4 мин
Количество просмотров18K
Продолжая свои «css-раскопки» возникла новая идея, разобрать по косточкам ещё одну актуальную тему, которая касается равномерного выравнивания блоков по ширине. В принципе мои доскональные исследования я уже запостил у себя в блоге, но так как прошлая моя работа очень понравились Хабра-сообществу, то я решил сделать здесь небольшой краткий обзорчик этой статьи, чтобы ни одна хабра-душа не пропустили её наверняка. Так что, как говорил Гагарин: «Поехали».

В общем в задачах вёрстки периодически возникают моменты, когда появляется необходимость выровнять какой-нибудь список по ширине экрана. При этом пункты этого списка должны выравниваться равномерно, прижимаясь своими крайними элементами к границам контейнера, а расстояние между ними должно быть одинаковым.
image
Читать дальше →
Всего голосов 172: ↑163 и ↓9+154
Комментарии87

HTML KickStart — еще один способ быстро создать интерфейс своего веб-приложения

Время на прочтение1 мин
Количество просмотров27K
Не один раз в комментариях замечал что народ негодует по поводу того, что веб-разработчики стали злоупотреблять использованием Bootstrap от Twitter. Признаюсь, я и сам успел закончить несколько небольших веб-приложений с использованием этого набора скриптов и стилей. Я не против использования Bootstrap от Twitter, я против злоупотребления этим когда есть столько хороших альтернатив. Я почти каждый день натыкаюсь на интерфейсы, построенные на Twitter Bootstrap, и это начинает напрягать. Последней каплей для поиска альтернативы стало изменение интерфейса биллинг панели моего хостера на шаблон Bootstrap. В этой записи я хотел бы немного рассказать про одну из альтернатив — HTML KickStart.
Читать дальше →
Всего голосов 147: ↑140 и ↓7+133
Комментарии45

Как увеличить окупаемость инвестиций сайта?

Время на прочтение2 мин
Количество просмотров1.7K
Каждый владелец бизнеса, будь он профессионал или просто блоггер, нуждается в хорошем трафике и высоком коэффициенте конверсии, то есть совершения конечного требуемого действия, например покупки, регистрации, звонка или заполнения анкеты. Эти советы могут быть полезны для тех, кто ищет способы для повышения рентабельности инвестиций, а также просто для привлечения трафика на свой ​​сайт.

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

2) Используйте Google Analytics для анализа трафика на веб-сайте и сравнивайте графики за предыдущие отчетные периоды.

3) Создавайте целевые страницы, которые предоставляют информацию по конкретным ключевым запросам и отражают предлагаемый товар или услугу наиболее точно. Предпочтительно разбить ключевые слова при создании контекстной рекламной кампании на различные группы, чтобы создать отдельные целевые страницы для них.
Читать дальше →
Всего голосов 22: ↑8 и ↓14-6
Комментарии6

Три подхода к методологии построения сложного клиентского приложения

Время на прочтение6 мин
Количество просмотров10K
Наверно, не существует единого рецепта, который бы всех устроил. Это касается любой проблемы. Для разработчиков этот тезис самоочевиден, и вовлеченность в использование и проектирование отдельных инструментов определяется, главным образом, лишь профессионализмом. Изобретение велосипедов романтично и неизбежно.

Особо вероятно изобретение велосипеда, когда рост сложности приложения происходит постепенно и в некотором смысле незаметно. Сложное приложение обычно является богатым приложением (rich), его элементы и особенности специфицированы W3C www.w3.org/TR/backplane. Известный JavaScript-евангелист Addy Osmani так дополнительно определяет сложное приложение: “По-моему, крупное JavaScript приложение есть нетривиальное приложение, требующее значительных усилий разработчика для поддержки, причем наиболее сложное оперирование обработкой и отображением данных ложится на браузер” (http://addyosmani.com/largescalejavascript/).
Читать дальше →
Всего голосов 40: ↑34 и ↓6+28
Комментарии27

Подборка html/javascript/css инструментов и библиотек от SmashingMagazine

Время на прочтение5 мин
Количество просмотров22K
Разработка вебинтерфейсов дело не самое легкое. Причем начать вроде бы несложно, а вот добиться совершенства поистинне проблематично. Уж очень многое необходимо учесть. Просто масса настроек и ньюансов, в которых легко запутаться и сделать что-то не так. К счастью, разработчики и дизайнеры склонны упрощать этот нелегкий труд и постоянно изобретают всяческие инструменты позволяющие сделать больше и лучше за то же самое время, а главное не погрязнуть в мелочах и состредоточиться на чем-то более важном.

Множество удобных инструментов, найденных командой популярного онлайн журнала SmashingMagazine, приводится под катом
Читать дальше →
Всего голосов 125: ↑123 и ↓2+121
Комментарии19

Что нового в PHP 5.4

Время на прочтение3 мин
Количество просмотров33K
Всем привет! Судя по слухам, 19 января, в свет должен был выйти очередной RC PHP 5.4. Возможно даже, что он будет финальным. А это значит, что нужно скорее заняться изучением новых возможностей.

Я несколько лет профессионально занимаюсь веб-разработкой и в качестве основного серверного языка использую PHP. Так что узнав о выходе столь крупного обновления, я отправился собирать информацию. Под катом shortlist самых значимых нововведений.

Читать дальше →
Всего голосов 135: ↑123 и ↓12+111
Комментарии340

Набор бесплатных иконок для GUI и веб-дизайна

Время на прочтение1 мин
Количество просмотров4.6K
Продолжение набора бесплатных иконок.
42 иконки в размерах 64х64, 48х48,32х32 и 16х16
Форматы: Win, Mac OS и Png.

Иконки бесплатны для некоммерческого использования.
При коммерческом использовании иконок, пожалуйста, ставьте ссылку на pixelmixer.ru

image
Читать дальше →
Всего голосов 79: ↑73 и ↓6+67
Комментарии57

2000 из 3000 иконок готово — стань соавтором! (стол заказов)

Время на прочтение1 мин
Количество просмотров15K
Не так давно на хабре был топик, который привел на наш сайт 17 тысяч посетителей за два дня (11,828+5,100 on October 21, 2010). С 2009го года эта уже не первая волна, а последние иконки будут нарисованы в первой четверти 2012го года. Best reseller hosting providers.

image

Не хватает еще 1000 иконок для best email hosting. Готовы ли вы предложить метафоры, которых у нас еще не хватает? Тогда follow me…

Читать дальше →
Всего голосов 228: ↑217 и ↓11+206
Комментарии356

Magento. Пишем свой модуль. Добавляем CAPTCHA и дополнительные поля в регистрацию

Время на прочтение11 мин
Количество просмотров17K
Хочу поделится опытом программирования модулей для Magento. Большое спасибо пользователю jeje за приглашение.
В статье подробно описано создание модуля, реализующего допольнительные функции регистрации клиентов. Цели — дать представление о разработке под Magento на конкретном примере от начала до конца, показать основные подходы, организацию кода, указать на некоторые особенности. Статья ориентирована скорее на новичков, но и знакомые с Magento могут вынести что-то полезное для себя. Конечно в одной статье всего описать невозможно, но если тема окажется востребованной, то это может стать началом цикла статей.
Затронуты следующие моменты:
  • создание модуля
  • работа с блоками, шаблонами и разметкой (layout)
  • переопределение контроллера
  • скрипты инсталляции модуля

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

Читать дальше →
Всего голосов 32: ↑25 и ↓7+18
Комментарии19

Информация

В рейтинге
Не участвует
Откуда
Кокосовы (Килинг) о-ва
Дата рождения
Зарегистрирован
Активность