Как стать автором
Обновить
5
0
funkypublic @funkypublic

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

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

Красивые конфиги Django

Время на прочтение3 мин
Количество просмотров19K
За то время, пока я занимаюсь внедрением проектов, написанных на Django, накопились простые приемы упрощающие деплой. Разберем settings.py, который был использован в одном из последних проектов. Полностью файл доступен на http://gist.github.com/214361
Начнем.

Локальные настройки:

Локальные настройки позволяют иметь разные конфигурации одного проекта на разных машинах. В конце каждого моего файла settings.py есть подключение local_settings.py. Это позволяет переопределить любые значения переменных из settings.py. Например, на продакшн сервере я использую mysql, а на локальной машине — sqllite.
try:
    from local_settings import *
except ImportError:
    pass

Читать дальше →
Всего голосов 54: ↑47 и ↓7+40
Комментарии38

Защита от DDOS атаки случайными аргументами при помощи Nginx

Время на прочтение1 мин
Количество просмотров3.4K
Я встретился с новым типом ботнета. Если старый долбил только в главную, то новый действует иначе. Он посылает множество запросов вида
GET someurl/?t1555ss5326=5326, где someurl — найденный ботом php скрипт.
Но если атакуемый сайт поддерживает ЧПУ, то такие запросы к нему должны отсутствовать в принципе. ЧПУ сейчас является стандартом де-факто, по этому можно смело отрезать такие запросы, логируя IP ботов.
Для этого очень удобен nginx, и его переменная is_args, которая имеет значение "?", если в URI идут аргументы. Базовая конструкция выглядит так:

if ($is_args = "?") {
return 403 444;
}

Очень просто и красиво, правда?
Вот как выглядит LA после включения этой защиты:
load average: 1.50, 3.09, 6.96
Текущий ботнет из ~20000 зомби, делают 5-8k одновременных запросов.
Всего голосов 94: ↑79 и ↓15+64
Комментарии55

Как работают алгоритмы сортировки

Время на прочтение1 мин
Количество просмотров22K
Иногда для понимания того, как работает та или иная вещь, лучше один раз увидеть, чем сто раз услышать.

Замечательный сайт www.sorting-algorithms.com позволяет увидеть, как сортируются данные разными алгоритмами. Вы сможете посмотреть анимацию в зависимости от алгоритма, исходных данных.



Все это бегает и сортируется прямо на ваших глазах!

Работает на Google App Engine, видимо, поэтому и лежит от посетителей с «Хабра».
Всего голосов 185: ↑151 и ↓34+117
Комментарии63

Увеличиваем скорость загрузки сайта используя lazy-load изображений

Время на прочтение1 мин
Количество просмотров70K
Сейчас многие сайты насыщены графикой в разных видах: аватары, иллюстрации к постам, галереи и тп.

Читатели блога «Клиентская оптимизация» как никто другой знают цену лишних запросов к серверу.

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

Читать дальше →
Всего голосов 68: ↑62 и ↓6+56
Комментарии75

Улучшаем админку

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

И тут на помощь приходит django-admin-tools. С этим приложением минут за 20 можно получить «приборную панель» с произвольной группировкой приложений/моделей, вкладками, любым числом колонок, различными блоками, которые каждый пользователь сможет расставить, как ему удобнее, скрывать и сворачивать по желанию, закладками, настраиваемым меню и удобным способом добавления во все это хозяйство всего, чего только можно придумать.

Вот так, например, сейчас выглядит админка к сайту НадоВместе:

image
(это только часть, вот скриншот целиком)

Разберемся поподробнее.
Читать дальше →
Всего голосов 105: ↑100 и ↓5+95
Комментарии45

Согласование дизайна в проекте со стороны заказчика — ошибки и их решения

Время на прочтение4 мин
Количество просмотров9.3K
Тем кто когда либо заказывал разработку дизайна чего либо будь то сайт, лого, буклет и так далее, или делал по заказу подобное, должна быть знакома эта точка в проекте — «утверждение дизайна». Зачастую самая болезненная. Причины бывают разные, и одна из самых распространенных — неправильный выбор заказчиком критериев годности дизайна, и как следствие неверная постановка задачи, а результат — сорванные сроки, испорченные отношения, потерянные деньги и так далее. Вот об этом и напишу, как этот кошмар превратить в праздник ;)

Самые распространенные ошибки заказчика


Читать дальше →
Всего голосов 63: ↑54 и ↓9+45
Комментарии53

Умри на яркой стороне или Будущее зависнет от тебя — Тест мобильного интернета в Москве

Время на прочтение2 мин
Количество просмотров795
Я — Антон Коробков. Журналист, продюсер и ведущий. Обычный день для меня — это 10-15 часов онлайн. С мобильного, ноутбука и любого утюга, который имеет доступ в интернет. Почти два года проблемы решались с помощью йотиного «свистка» который, однако, не очень хорошо берет у меня дома (ВДНХ) и еле тянет в Останкино.

Первый «спаситель» — модем от Билайна, был куплен в «Евросети» около дома в пятницу 11 июня (кто ж знал, что именно это станет фатальным). По заверениям продавца модем не просто совместим макосью, а чуть ли не специально «такой весь округлый и плавный, чтобы красиво смотреться с макбуком». Инструкция к модему — 16 страниц, на которых подробно расписывается, как и где нажать кнопку «Мой компьютер» и ни слова про то, как эту штуку подключить к макбуку.



«Штука» подключаться упорно не хотела
Читать дальше →
Всего голосов 129: ↑101 и ↓28+73
Комментарии113

Сниффер витой пары из Wi-Fi роутера

Время на прочтение2 мин
Количество просмотров89K
image

Трафик проходящий по витой паре может быть прослушан абсолютно незаметно для участников соединения.
В этом посте будет показано как изготовить автономный сниффер с возможностью сохранения дампа на диск и управляемый по Wi-Fi.

Читать дальше →
Всего голосов 188: ↑172 и ↓16+156
Комментарии122

Поиск по сайту на основе Yandex.XML

Время на прочтение3 мин
Количество просмотров13K
Почему-то вебмастера ленятся сделать нормальный поиск по своему сайту. Особенно это касается высокопосещаемых сайтов, где качественный поиск был бы очень удобен для рядового пользователя.

Чаще всего прибегают к готовому решению от Google, с помощью которого можно еще и подзаработать на контекстной рекламе. Но для рунета я бы посоветовал сделать поиск при помощи сервиса Yandex.XML, потому что такой поиск больше адаптирован под морфологию русского языка. К тому же вы можете получить шанс получить самые жирные биды для контекста, если будете использовать поисковый директ.

В этом посте я хочу подробно показать вам, что подобный поиск организовать совсем не сложно. Это займет всего несколько минут и выльется в десяток строк на PHP.
Читать дальше →
Всего голосов 54: ↑40 и ↓14+26
Комментарии58

Лазерная визуализация звука

Время на прочтение1 мин
Количество просмотров8.2K
Пока игрался со своим котом лазерной указкой, придумал такую штуку:

Берем любую лазерную указку, и крепим ее к какому-нибудь моторчику. Я взял куллер от старого процессора. На указку я натянул резинку для волос, чтобы кнопка постоянно была нажата.
image

Читать дальше →
Всего голосов 145: ↑141 и ↓4+137
Комментарии57

Радио без батареек

Время на прочтение3 мин
Количество просмотров141K
Может ли радиоприемник состоять менее чем из 10 деталей и работать без батареек?

Да, может: детекторные радиоприемники очень просты и могут работать, получая питание только от радиоволн. В этой статье я опишу, как можно сделать такую штуку своими руками, потратив на всю работу не более часа! ;)

Чем хорош детекторный радиоприемник?
Читать дальше →
Всего голосов 189: ↑166 и ↓23+143
Комментарии265

Работа с базовой анимацией на iPhone

Время на прочтение5 мин
Количество просмотров2.1K
Одна из привлекательных особенностей интерфейса Cocoa Touch — упрощенная работа с анимацией. В этом уроке я покажу пару простых примеров создания анимации для iPhone. Наша анимация будет выполнять две задачи: перемещать объект на экране и менять его размеры в зависимости от точки касания его пользователем.

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

Ниже выложено короткое видео приложения, которое нам предстоит создать. Как уже упоминалось выше, с ним можно делать две вещи. Один щелчок будет перемещать внутреннее представление к точке касания. При двойном касании представление будет перемещаться с изменением размеров. Ориентируясь на точки касания, приложение создавать прямоугольник с фреймом для представления.



Что ж, приступим…
Читать дальше →
Всего голосов 45: ↑35 и ↓10+25
Комментарии6

Алгоритмы на графах — Часть 2: Сортировка сетей

Время на прочтение5 мин
Количество просмотров23K

Пролог

В продолжение опубликованной на выходных статьи.

Компиляторы — пожалуй одна из самых интересных тем системного программирования.
Эта статья не расскажет как написать идеальный, или, хотя бы, работающий компилятор, но она поможет прояснить пару аспектов его работы, при помощи метода топологической сортировки сети.
Читать дальше →
Всего голосов 68: ↑65 и ↓3+62
Комментарии22

Скругленные углы на чиcтом CSS без JS без картинок с анти-аллиасингом

Время на прочтение2 мин
Количество просмотров7.7K
Раз уже пошла такая пьянка бурное обсуждение, то предложу и свой метод скругления углов, с характеристиками, которые можно увидеть в названии топика.

Хочу заметить, что это не улучшение какого-то из существующих методов, а совершенно новый (по крайней мере, я нигде не смог найти — наверное, плохо искал ;) метод. В статье 38 статей о создании закругленных углов на сайтах данный метод также не был упомянут.

Итак, что же мы имеем: чистый CSS, без единой картинки, без JavaScript (хотя и с ним, для демонстрации, тоже сделаем), с анти-аллиасингом (то есть плавные переходы), прозрачные углы (то есть в фоне может быть что угодно), тянущийся по высоте и ширине и, конечно же, кроссбраузерный метод.

Не томи
Всего голосов 123: ↑116 и ↓7+109
Комментарии75

Создаем закруглённые уголки с помощью CSS 3

Время на прочтение3 мин
Количество просмотров81K
image

Одно из наиболее ожидаемых свойств CSS3, несомненно, свойство border-radius. С помощью свойства border-radius можно создавать, такие популярные в последнее время, прямоугольники с закругленными углами, исключительно средствами CSS, не используя никаких изображений.
Читать дальше →
Всего голосов 81: ↑58 и ↓23+35
Комментарии87

Анимированные меню на jQuery

Время на прочтение6 мин
Количество просмотров5.4K
Недавно я наткнулся на сайт Dragon Interactive (dragoninteractive.com). Сайт этот достаточно добротно сделан в плане дизайна. А изюминкой можно назвать их анимированное меню. Ну вот если бы это было сделано в Adobe Flash, я даже и не упоминал бы о таком. Но при более близком рассмотрении оказалось, что их меню — это сочетание простых XHTML, CSS и Javascript. В данной статье я собираюсь продемонстрировать, как создавать менюшки (очень близкие к Dragon Interactive’s menu).

Смотрим демо
Читаем далее...
Всего голосов 156: ↑141 и ↓15+126
Комментарии35

Лампа настроения!

Время на прочтение2 мин
Количество просмотров38K
Лампа настроения (mood lamp) является RGB лампой, которая меняет цвет в случайном порядке. Была зеленая, плавно стала голубой, потом фиолетовой… какого цвета она станет в следующий момент времени не знает никто)

image

Купить такую проблематично, сделаем ее сами!)
Читать дальше →
Всего голосов 170: ↑163 и ↓7+156
Комментарии134

10 вещей которые необходимо сделать после установки WordPress (шпаргалка начинающим)

Время на прочтение4 мин
Количество просмотров14K
10-veshey-posle
5-минутная инсталляция WordPress это здорово – так легко создать свой блог! Однако, после установки WordPress, вам необходимо будет сделать еще несколько шагов, чтобы добиться от вашего блога как можно лучшего результата.

Нижеследующая информация может быть использована как памятка или шпаргалка при установке движка.
Читать дальше →
Всего голосов 97: ↑64 и ↓33+31
Комментарии61

Обрезаем фото в стиле «ВКонтакте»

Время на прочтение3 мин
Количество просмотров17K
image
В этом HOWTO я раскажу вам как обрезать фотографию до нужного вам размера и залить её на сервер с помощью Ruby on Rails.
Читать дальше →
Всего голосов 69: ↑58 и ↓11+47
Комментарии25

Ubuntu для нетбуков: версия от HP

Время на прочтение1 мин
Количество просмотров7.2K
Компания Hewlett-Packard выпустила версию Ubuntu Linux специально для нетбуков. А именно, для своей модели HP Mini 1000 Mi Edition.

Собственная сборка от HP основана на ядре Ubuntu 8.04 Hardy Heron и способна запускать все стандартные приложения под Ubuntu, в том числе OpenOffice.org, Firefox, Thunderbird, Sunbird и Pidgin. Собственно, все эти программы идут предустановленными.

Чем сильно отличается Mi Edition — так это графическим интерфейсом, который не имеет ничего общего со стандартным интерфейсом Ubuntu. Например, сразу после загрузки системы появляется такое такое окно с основными ярлыками и строкой поиска в интернете.



Больше скриншотов под хабракатом.
Читать дальше →
Всего голосов 82: ↑80 и ↓2+78
Комментарии74

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность