Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
Zex0n @Zex0n
User
Ускоряем запуск браузера FireFox
2 min
36KЕщё давно приметил, что мой любимый инструмент, запускается значительно шустрее после установки, чем после многомесячного, активного использования браузера. Заметил, но как распорядится этим знанием мыслей не было. И вот, только что наткнулся на полезную тему, где описано это узкое место, а также дан ещё один совет по ускорению запуска браузера.
И так узкое место при запуске это загрузка .sqlite, базы данных вашего профиля. При интенсивной работе с Фоксом, базы разрастаются, в них появляются «пустые места», ну и главный недостаток, файл базы данных становится сильно фрагментированными. Для решения подобной проблемы существует специальная команда «очистки», точнее операция пересоздаёт файл базы, но уже без пустых мест. Для этого нужно проделать следующее:
И так узкое место при запуске это загрузка .sqlite, базы данных вашего профиля. При интенсивной работе с Фоксом, базы разрастаются, в них появляются «пустые места», ну и главный недостаток, файл базы данных становится сильно фрагментированными. Для решения подобной проблемы существует специальная команда «очистки», точнее операция пересоздаёт файл базы, но уже без пустых мест. Для этого нужно проделать следующее:
+193
4 способа как создать блоки одинаковой высоты
5 min
232KTranslation

Раньше, когда все верстали с использованием таблиц, создать колонки одинаковой высоты было очень просто. Достаточно создать таблицу, например, с 3мя колонками и все они автоматически будут иметь одинаковую высоту. Но в блочной верстке не все так просто.
В этой статье я расскажу вам о некоторых способах создания колонок равной высоты и о совместимости этих методов с браузерами (включая IE6). Все эти способы описывают создание 3х колоночного макета.
+54
jQuery Tools v1.0.1
1 min
3.9K
jQuery Tools v1.0.1 — это инструмент/библиотека представляет собой файл весом в 5,8 кб включающий в себя наиболее важные компоненты для вебдванольных сайтов, а именно: табы, всплывающие подсказки, плавные переходы, прокрутки, всплывающие окна и т.д.
Не буду тянуть резину, лучше, как говориться, один раз увидеть, чем сто раз услышать!
Переходим по ссылке и смотрим более 50 (!) демок:
Несколько понравившихся мне демонстраций. Очень рекомендую!
Маскируем фоновое изображение;
AJAX-табы с поддержкой истории переходов;
Неколько всплывающих окошек на одной странице.
+146
7 мощных каруселей изображений для Web-дизайнеров
2 min
85KTranslation
Эта статья является коллекцией некоторых мощных каруселей изображений и текстовых материалов, готовых к использованию в ваших Web-проектах. Она включает в себя Agile Carousel, YUI Carousel, JCarousel, iCarousel (jQuery + MooTools) и учебное пособие о том, как реализовать простую карусель наподобие карусели во Flickr, используя Prototype-UI.
+34
Как вовремя узнать, что ваш сервер не работает?
3 min
21KСлучается, что сайты перестают работать. Причины могут быть самые разные: в датацентре «упал» канал, сервер вырубился, кто-то что-то намудрил с базой или файлами на сервере, сисадмин неудачно обновил ПО или переносил аккаунты. Или кое-кто забыл оплатить хостинг.
В большинстве случаев такая ситуация нежелательна, а устранить ее надо как можно скорее. Для этого нужно как можно скорее узнать о случившемся. Но как? Для себя и для наших клиентов мы используем сервисы мониторинга сайтов. О них я сегодня и расскажу.
В большинстве случаев такая ситуация нежелательна, а устранить ее надо как можно скорее. Для этого нужно как можно скорее узнать о случившемся. Но как? Для себя и для наших клиентов мы используем сервисы мониторинга сайтов. О них я сегодня и расскажу.
+56
Определение пола по истории навигации, шаг 2й
2 min
4.5KДобрый день.
Сперва ссылка: угадываем пол посетителя.
По истории навигации с помощью js можно определить пол посетитеся, об этом уже писали. Вкратце — создаем с помощью js ссылки и смотрим, какого они цвета, а по этому определяем, посещенные они или нет. Затем объединяем полученную информацию с демографическими данными о посещенных сайтах.
Но зарубежные определялки работают у нас не очень, т.к. учитывают сайты, популярные в США.
Собрал информацию по русским сайтам, немного переписал скрипты.
Практическое применение (ха, очень важное и полезное): на сайте есть форма, где нужно указать свой пол. Если человек ранее пол не указывал, то с помощью этой технологии сайт пробует его угадать и подставить нужный.
Если кто-то захочет сделать у себя, то выкладываю наработки: там серверное приложение django, js-файл, дамп собранной базы данных. Лицензия, если где-то не указано, — MIT. Без джанги все тоже легко можно использовать.
Сперва ссылка: угадываем пол посетителя.
По истории навигации с помощью js можно определить пол посетитеся, об этом уже писали. Вкратце — создаем с помощью js ссылки и смотрим, какого они цвета, а по этому определяем, посещенные они или нет. Затем объединяем полученную информацию с демографическими данными о посещенных сайтах.
Но зарубежные определялки работают у нас не очень, т.к. учитывают сайты, популярные в США.
Собрал информацию по русским сайтам, немного переписал скрипты.
Практическое применение (ха, очень важное и полезное): на сайте есть форма, где нужно указать свой пол. Если человек ранее пол не указывал, то с помощью этой технологии сайт пробует его угадать и подставить нужный.
Если кто-то захочет сделать у себя, то выкладываю наработки: там серверное приложение django, js-файл, дамп собранной базы данных. Лицензия, если где-то не указано, — MIT. Без джанги все тоже легко можно использовать.
+45
Базовый css-шаблон
1 min
4.1KВечером знакомый попросил быстро сделать ему основу для его блога. Даже не сверстать макет, а сделать именно основу.
Так как я сижу без работы и становится скучно, решил безвозмездно посодействовать. Что получилось, смотрите под ниже.
Так как я сижу без работы и становится скучно, решил безвозмездно посодействовать. Что получилось, смотрите под ниже.
+70
Свой SVN на виртуальном (shared) хостинге
4 min
7.1K
Решили мы как то с приятелем, запустить стартап не стартап, а так, сайт для души. Решили — значит будет запущен. Бюджет… А давай не купим ещё по 2 кружки пива, на это и запустим. В общем денег на домен да на виртуальный хостинг на валуехосте. Так люди мы «взрослые», и делать всё привыкли основательно, нам нужна система управления версиями и выкладыванием. Было решено поднять subversion репозиторий с возможностью раздачи доступа к нему нескольким разработчикам с разными логинами на valuehost. Но у нас виртуальный хостинг со всеми его ограничениями, что делать?
+70
Spotify — более 10 млн. легальных музыкальных треков бесплатно*
2 min
2KSpotify — это легальный сервис для прослушивания музыки, основанный в Швеции в 2006 году и ставший открытым публично 7 октября 2008 года. Пользователям доступно более 10 млн. треков известных лейблов. База песен активно увеличивается, также в наличии музыка таких групп, как AC/DC, The Beatles, Metallica, Led Zeppelin и Pink Floyd. Количество зарегистрированных пользователей на данный момент превышает 1 миллион.
В свете последних событий(платная подписка на Last.fm), интерес к Spotify заметно вырос.
До 10 февраля 2009 бесплатно зарегистрироваться возможно было лишь по инвайтам. Сейчас же есть три вида подписок:

В свете последних событий(платная подписка на Last.fm), интерес к Spotify заметно вырос.
До 10 февраля 2009 бесплатно зарегистрироваться возможно было лишь по инвайтам. Сейчас же есть три вида подписок:
- Premium (9.9€ в месяц)
- Day Pass (1€)
- Free (только для Швеции, Норвегии, Финляндии, Великобритании, Франции и Испании)

+42
Простое сравнение изображений с помощью php
3 min
27KАлгоритм возможно не новый, и не является идеалом, но, на удивление, работает. Никаких графов и корелляции.
Для начала, стоит отметить, что сравнение очень приблизительно (по крайней мере, на данном этапе), временами две совершенно разные фотографии оказываются похожими процентов на 60%, так же не учитываются жесткие модификации (повороты, инверсия, обрезка) – для этого нужно доводить и доводить. Лично для меня самым главным оказались два параметра: скорость, независимость от разрешения изображения и возможность сравнивать «изображения» прямо в базе данных.
Для начала, стоит отметить, что сравнение очень приблизительно (по крайней мере, на данном этапе), временами две совершенно разные фотографии оказываются похожими процентов на 60%, так же не учитываются жесткие модификации (повороты, инверсия, обрезка) – для этого нужно доводить и доводить. Лично для меня самым главным оказались два параметра: скорость, независимость от разрешения изображения и возможность сравнивать «изображения» прямо в базе данных.
+145
Asterisk – система компьютерной телефонии уровня предприятия
9 min
274K
+105
CodeIgniter Debug Toolbar
1 min
4.6K
Многие видели девелоперский тулбар для фреймворка Kohana (слизанный, в свою очередь, с Symfony), который недавно выкладывали на хабре. Мне он очень понравился — захотелось поиметь такой и для себя.
Немножко поколдовав, получилось нечто похожее…
+32
Атака на беспроводные сети. Чуть меньше теории и чуть больше практики
6 min
316K
В общих чертах теорию и процесс атаки хорошо описал юзер n3m0 в своих статьях «Атаки на беспроводные сети», поэтому я не буду заострять внимание на многих теоретических моментах.
Я же хочу описать самые простейшие способы обхода защиты, но более подробно.
+179
Named Capturing Group и Backreferences
3 min
6.5KДанная заметка не предназначена для начинающих изучать регулярные выражения, для начинающих я бы посоветовал книгу Ben Forta "Teach Yourself Regular Expressions in 10 Minutes" (ISBN: 0-672-32566-7).
Для тестирования и отладки регулярных выражений идеально подходит программа RegexBuddy (http://www.regexbuddy.com). Чтобы отлаживать следующие примеры нужно во вкладку Test скопировать HTML какой-либо страницы или вбить несколько тегов самим.
Задача — найти в HTML все теги IMG и вытащить из тегов значения атрибутов SRC и ALT.
Для тестирования и отладки регулярных выражений идеально подходит программа RegexBuddy (http://www.regexbuddy.com). Чтобы отлаживать следующие примеры нужно во вкладку Test скопировать HTML какой-либо страницы или вбить несколько тегов самим.
Задача — найти в HTML все теги IMG и вытащить из тегов значения атрибутов SRC и ALT.
+48
Panda USB and AutoRun Vaccine — лекарство от autorun-вирусов на флешке
5 min
26K5 марта я написал свою статью о скрипте AUTOSTOP для защиты флешек от autorun-вирусов, получившую немалый отклик. И только я сегодня собрался писать новую статью об альтернативном (более надежном) методе, как на одном из ресурсов, в теме, посвященной обсуждению скрипта, мне подсказали программу Panda USB and AutoRun Vaccine, работающую именно по методу, который я хотел описать. Причем работающую просто блестяще! Файл autorun.inf, создаваемый ею на флешке (дабы предотвратить создание такого файла вирусом) невозможно ни удалить, ни переименовать (в чем была слабость моего скрипта), ни модифицировать, ни открыть.

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

Познакомимся с программой поближе, рассмотрим ее возможности и метод, на котором базируется принцип работы.
+92
8 отличных хитростей jQuery
4 min
28KTranslation

+68
Python для смартфонов на базе S60: начало
3 min
16K
Решил написать серию статей про написание программ на Python для смартфонов Nokia на базе Symbian S60.
Python для S60 (или сокращенно PyS60) является open source проектом компании Nokia по портированию языка Python на смартфоны, работающие на платформе S60. Он предоставляет все возможности языка Python а также доступ к специфичным для телефонов функциям, таким как: работа с камерой, календарем, телефонной книгой, GPS, запись и воспроизведение аудио и видео, передача данных через Bluetooth, WiFi и GPRS.
PyS60 является open source проектом и распространяется под лицензиями Apache 2 и Python. На момент написания статьи последняя версия 1.9.1
Итак, начнем!
+63
Переходим с «палёного» софта на бесплатный
5 min
44KЗаметка была написана довольно давно, в октябре-ноябре прошлого года, так и висела неопубликованной. Прошу прощения за несколько «ненаучный» стиль.
Как-то так получилось, что иногда я пользуюсь Windows XP дома (2 лицензионных копии на двух ноутах) и Windows 2000 на работе. Кстати, на работе у нас весь софт лицензионный. Вот моему начальнику понадобился сегодня Microsoft Visio, а злые админы отказались ставить, мол, 800 баксов стоит… Это навело меня на мысли написать данный пост. Поскольку сам я программист и иногда даже пишу программы, то стараюсь всячески выступать против «палёного» ПО, заменяя его бесплатными аналогами. Специалисты и так в курсе, чем может грозить использование левого софта, а рядовому пользователю пофиг на все эти тонкости, лишь бы работало. Проблема усугубляется ещё и тем, что 99% пользователей Windows настолько привыкли использовать свои любимые Excel, Word, Photoshop, Total Commander, что это начинает походить на неизлечимую зависимость. Не всегда у всех получается от неё избавиться, но, тем не менее, прогресс есть. И вот решил я поделиться своим опытом отказа нелицензионных взломанных программ в пользу бесплатных аналогов. Здесь мы убьём сразу 2-3 зайцев: сэкономим деньги (причём много раз: не купим платный софт, не потратим кучу денег за поддержку и обновления и не заплатим возможный штраф за «левак»), уменьшим вероятность подцепить вирусы и прочую нечисть, не нарушим закон, поддержим технический прогресс (к примеру, за счёт использования более удачных альтернативных решений, улучшив тем самым конкуренцию, и в конечном итоге, качество ПО). Итак, поехали.
Как-то так получилось, что иногда я пользуюсь Windows XP дома (2 лицензионных копии на двух ноутах) и Windows 2000 на работе. Кстати, на работе у нас весь софт лицензионный. Вот моему начальнику понадобился сегодня Microsoft Visio, а злые админы отказались ставить, мол, 800 баксов стоит… Это навело меня на мысли написать данный пост. Поскольку сам я программист и иногда даже пишу программы, то стараюсь всячески выступать против «палёного» ПО, заменяя его бесплатными аналогами. Специалисты и так в курсе, чем может грозить использование левого софта, а рядовому пользователю пофиг на все эти тонкости, лишь бы работало. Проблема усугубляется ещё и тем, что 99% пользователей Windows настолько привыкли использовать свои любимые Excel, Word, Photoshop, Total Commander, что это начинает походить на неизлечимую зависимость. Не всегда у всех получается от неё избавиться, но, тем не менее, прогресс есть. И вот решил я поделиться своим опытом отказа нелицензионных взломанных программ в пользу бесплатных аналогов. Здесь мы убьём сразу 2-3 зайцев: сэкономим деньги (причём много раз: не купим платный софт, не потратим кучу денег за поддержку и обновления и не заплатим возможный штраф за «левак»), уменьшим вероятность подцепить вирусы и прочую нечисть, не нарушим закон, поддержим технический прогресс (к примеру, за счёт использования более удачных альтернативных решений, улучшив тем самым конкуренцию, и в конечном итоге, качество ПО). Итак, поехали.
+52
Закрепляем jQuery — 25 отличных советов
19 min
168KTranslation
Перевод отличной статейки. Думаю, будет полезна как новичкам, которые только приступили к использованию jQuery, так и тем, кто уже какое-то время с ним работает. А кого-то, возможно, заставит глянуть эту чудесную библиотечку. Многие советы имеют отношение не только к jQuery, но и к JavaScript в целом. Лично для меня была весьма и весьма познавательной, посему и захотелось донести это «до масс». Перевод не дословный, но передающий смысл и максимально адаптированный к русскому языку.
Далее все написано от имени автора оригинальной статьи.
jQuery прекрасен. Я использую его вот уже почти год и, хотя я и был достаточно впечатлен в самом начале, он нравится мне все больше и больше по мере использования и по мере того, как я узнаю о том, как он устроен внутри.
Я не эксперт в jQuery. И даже не претендую, поэтому, если встретите ошибки, смело поправляйте меня и вносите предложения по улучшению (поправлять и присылать поправки нужно автору статьи, а не перевода — зам. пер.).
Я называю себя «среднестатистическим» пользователем jQuery и я думаю, что всем остальным будет интересно почитать и что-нибудь почерпнуть из «фишек», «трюков» и техник, которые я освоил за последний год. Статья получилась куда длиннее, чем я предполагал изначально, так что в самом начале я привел «содержание» для более удобной навигации и возможности при желании пропустить не интересующие моменты.
Далее все написано от имени автора оригинальной статьи.
Введение
jQuery прекрасен. Я использую его вот уже почти год и, хотя я и был достаточно впечатлен в самом начале, он нравится мне все больше и больше по мере использования и по мере того, как я узнаю о том, как он устроен внутри.
Я не эксперт в jQuery. И даже не претендую, поэтому, если встретите ошибки, смело поправляйте меня и вносите предложения по улучшению (поправлять и присылать поправки нужно автору статьи, а не перевода — зам. пер.).
Я называю себя «среднестатистическим» пользователем jQuery и я думаю, что всем остальным будет интересно почитать и что-нибудь почерпнуть из «фишек», «трюков» и техник, которые я освоил за последний год. Статья получилась куда длиннее, чем я предполагал изначально, так что в самом начале я привел «содержание» для более удобной навигации и возможности при желании пропустить не интересующие моменты.
Содержание
- Загружайте фреймворк с Google Code
- Используйте «шпаргалку» (cheat sheet)
- Соединяйте все ваши скрипты и уменьшайте размер файла
- Используйте возможности Firebug для ведения логов
- Минимизируйте операции выборки в пользу кэширования
- Сводите манипуляции с DOM-деревом к минимуму
- Оборачивайте все в единый элемент, когда речь идет о любой вставке в DOM
- Используйте «id» вместо классов, где это возможно
- Задайте контекст своим селекторам
- Используйте последовательности вызовов методов с умом
- Научитесь правильно использовать анимацию
- Научитесь назначать и делегировать события
- Используйте классы для сохранения состояния
- Еще лучше — используйте встроенный в jQuery метод data() для сохранения состояния
- Пишите собственные селекторы
- Подготавливайте HTML и модифицируйте его, когда страница загружена
- Используйте «отложенную загрузку» (lazy loading) для определенного контента для выигрыша в общей скорости и преимуществ для SEO
- Используйте служебные функции jQuery
- Используйте «noconflict» для переименования глобального объекта «jquery», когда используете его с другими фреймворками
- Как узнать что картинки загружены?
- Всегда используйте последнюю версию
- Как проверить, что элемент существует?
- Добавляйте класс «JS» в элемент «html»
- Возвращайте «false» для отмены поведения по-умолчанию
- Короткая запись для события готовности документа
+176
Information
- Rating
- Does not participate
- Location
- Россия
- Date of birth
- Registered
- Activity