Как стать автором
Обновить
0
0
Денис @le_den

DevOps Infrastructure

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

Еще о кэшировании в Django

Время на прочтение6 мин
Количество просмотров17K
Все знают, что такое кэширование и зачем оно нужно. Посещаемость растет, нагрузка на базу данных увеличивается, и мы решаем отдавать данные из кэша. В идеальном мире, наверное, для этого будет достаточно добавить строчку USE_CACHE = True в settings.py, но пока это время не пришло, понадобится немного больше телодвижений.

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

Сначала мы быстро рассмотрим готовые решения, а потом разберемся, как же лучше реализовать кэширование самостоятельно.
Читать дальше →
Всего голосов 43: ↑41 и ↓2+39
Комментарии14

Готовим расширение под Chrome, украшаем Хабр

Время на прочтение5 мин
Количество просмотров30K
Чтобы сделать расширение достаточно минимальных знаний Javasctipt, HTML и CSS. Давайте добавим на хабр догрузку следующей страницы, а также систематическую проверку новых постов на текущей. Примерно как на twitter.

Полностью готовый экстеншн можно установить и проверить в работе через Chrome Web Store, а здесь разберемся как написать основной код с нуля (полный занимает всего 6 KB).



Читать дальше →
Всего голосов 50: ↑41 и ↓9+32
Комментарии10

Консоль для маководов: Beyond the GUI

Время на прочтение6 мин
Количество просмотров220K
Доброго дня, уважаемые хабравчане-маководы!

Сегодня я расскажу как увеличить эффективность работы в Mac OS X за счёт использования консоли.

Лирическое отступление


Думаю, ни для кого не секрет, что Mac OS является Unix-based системой, но переработанной почти до неузнаваемости. Даже консоль засунули куда подальше — не сразу и найдёшь. И вся система нацелена на использование GUI, при дефолтных настройках даже переключение между кнопками по Tab не работает — без мыши никуда. И тем не менее, Мак — это не только окошки, не только док и лаунчер. Мак это ещё и вся мощь shell скриптов и консоли!

Если Вы пришли из мира M$, то для начала неплохо бы поучить общие команды shell'а, например, по вот этому учебному пособию. Как минимум, нужно усвоить команды перехода по каталогам и способы запуска программ и скриптов.

Если Вы пришли в мир Mac OS из мира Linux'а и FreeBSD, то, скорее всего, знаете как минимум основы shell-скриптинга. Но и для вас в статье может оказаться кое-что интересное, ведь в маке есть уникальные консольные команды, которые так же полезно знать.

Вот о некоторых особенностях маковской консоли далее и пойдёт речь.
Поехали!
Всего голосов 104: ↑91 и ↓13+78
Комментарии126

Рецепты от ПанГурмана

Время на прочтение11 мин
Количество просмотров6.2K
Недавно запустили сервис по бронированию ресторанов ПанГурман. Внутри это более-менее типичный django-сайт. Попробую рассказать, как там что устроено (с картинками). В статье не будет ничего супер-хитрого, но, надеюсь, кому-нибудь пара трюков или идей покажутся полезными и как-то упростят жизнь.
Читать дальше →
Всего голосов 43: ↑38 и ↓5+33
Комментарии38

Босоногое.ру

Время на прочтение1 мин
Количество просмотров678
image
Локальное сообщество людей у которых остались светлые воспоминания о детстве — Босоногое.ру
Сайт создан на движке livestreet — здесь кроется внешнее сходство с хабром.
Цель сайта это, в первую очередь, общение, а также сбор светлых и теплых воспоминаний о нашем детстве.

под катом немного подробностей
Всего голосов 59: ↑44 и ↓15+29
Комментарии81

С первым апреля!

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


Первое апреля две тысячи двенадцатого года войдёт в историю Интернета как день, когда:

Читать дальше →
Всего голосов 163: ↑141 и ↓22+119
Комментарии112

Mailcheck.js — проверка емейла на опечатки

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

jQuery плагин Mailcheck (github) — клиентсайд проверка емейла на опечатки по заранее определённму списку (к примеру, наиболее популярных почтовых сервисов).

Демка | сорсы демки (jsfiddle)


По заявлению (en) авторов (Kicksend), сей плагин увеличил кол-во подтверждений емейла при регистрации на 50%.

Под катом инструкция для кириллических доменов и алгоритмическая задачка
Всего голосов 75: ↑70 и ↓5+65
Комментарии20

Как избавиться от SMS-спама

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


Слово спам традиционно ассоциируется с email-спамом, и как с ним бороться — более-менее понятно: можно отправлять в «Спам», можно настраивать фильтры, можно жаловаться хостеру спамера. Однако спам — это ещё и лишняя макулатура в ваших почтовых ящиках, и нежелательные SMS в вашем телефоне. И вот что делать с последними — не всегда понятно, хотя раздражают они гораздо больше, ведь, в отличие от email-рассылок, в SMS нет кнопки «отписаться». Вот как бороться с SMS-спамом я и расскажу в этой статье.

Читать дальше →
Всего голосов 73: ↑60 и ↓13+47
Комментарии86

Создаём простейший виджет для Mac OS X Dashboard

Время на прочтение6 мин
Количество просмотров10K
Здравствуйте, хабравчане-маководы!
Картинка поста
Сегодня мы с вами попробуем разобраться в азах создания виджета для Dashboard в Mac OS X. Нам понадобится программа Dashcode, предназначенная как раз для этого.

Для начала немного теории. Виджет в Dashboard — это специально сформировання веб-страничка, упакованная в бандл вместе со всем ресурсами. Ну, и немного служебной информации в довесок. Соответственно, используемый язык программирования — JavaScript. Если Вы уже знакомы с ним, а так же с HTML/CSS (хотя это вряд ли понадобится), то Вы уже способны написать простенький виджет. Если же нет, то не стоит расстраиваться, этот язык очень прост и интуитивно понятен, разобраться с ним можно достаточно быстро. Далее я буду считать, что с JS читатель более-менее знаком. Сама же статья рассчитана на новичков, так что прошу не ругать за «слишком простое изложение и детальное разжёвывание элементарных вещей». Кроме того, за дизайн тоже прошу не пинать — ну не дизайнер я, не дизайнер! Если кто хочет помочь с этим делом — welcome =)

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

Итак, приступим. В качестве цели для экспериментов я, разумеется, выбрал наш любимый хабр. Мы будем шаг за шагом делать виджет, отображающий карму, рейтинг и позицию в рейтинге хабралюдей выбранного хабраюзера.
Картинка для привлечения внимания
Такой виджет (ну, очень похожий) уже был создан хабратоварищем neoromantic аж в 2007 году, но ссылки на скачивание не рабочие, а кроме того, та статья не содержала практического руководства по созданию подобных виджетов.
Создадим же проект с нуля!
Всего голосов 53: ↑47 и ↓6+41
Комментарии14

Android. Обзор боевых приложений

Время на прочтение2 мин
Количество просмотров321K
Доброго времени суток!

Наряду со статьей "iPhone: MiTM атака из кармана", родилась почти аналогичная статья про Android.

Мы уже знаем, на что способен iPhone. Уступает ли ему Android?

Было рассмотрено около 25 боевых приложений. Хочу предоставить вам результат маленького исследования. Многие приложения даже не запустились, некоторые подвесили телефон намертво, но некоторые даже работали!

Весь софт тестировался на телефоне LG Optimus, с версией Android 2.3.

Итак, краткий обзор боевого софта на Android:

Читать дальше →
Всего голосов 255: ↑238 и ↓17+221
Комментарии49

Django Admin Actions — действия с промежуточной страницей

Время на прочтение2 мин
Количество просмотров15K
Привет. Полезная штука экшены в админке! Хочу поделиться как можно сделать экшен который после выбора элементов будет отправлять пользователя на промежуточную страницу чтобы с этими элементами можно было сделать что то особенное. Пример? Например у вас есть интернет магазин, таблица товаров. Вы хотите перенести часть товаров из одного раздела (книги) в другой (книги технические). Выбираем нужные книги, выбираем действие «Перенести в другой раздел», жмем применить, переходим на промежуточную страницу, выбираем нужный раздел и жмем сохранить. Здорово? Давайте попробуем.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии9

Мониторинг за изменениями файловой системы

Время на прочтение4 мин
Количество просмотров42K
В поисках готового велосипеда для решения задачи мониторинга за изменениями в ФС с поддержкой linux+freebsd наткнулся на приятную python либу watchdog (github, packages.python.org). Которая помимо интересных мне ОС поддерживает также MacOS (есть своя специфика) и Windows.
Тем, кому данный вопрос интересен и кого не отпугнет индийское происхождение автора, прошу
под кат
Всего голосов 39: ↑38 и ↓1+37
Комментарии34

Спасительная флешка на основе дистрибутива Linux Debian/Ubuntu

Время на прочтение4 мин
Количество просмотров21K
Начну с сути идеи — куча одинаковых компов, на них требуется установить ОС Windows XP с одинаковым набором программ. Первая мысль — настроить один эталонный компьютер, снять с него образ жесткого диска и развернуть на остальных компьютерах.

Acronis не подходил по «религиозным соображениям» компании.

Поискав DIY решение, наткнулся на замечательную вещь ntfsclone из пакета ntfsprogs.

Следует заметить, что в компьютерах отсутсвует привод оптических дисков, переностного в конторе нет, следовательно остается два варианта — бегать с отверткой и приводом поочередно к каждой машине или же воспользоваться флешкой. Вариант с флешкой мне нравился больше. Поэтому на нем остановился и принялся за изучение вопроса.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии49

Перестаньте писать классы

Время на прочтение9 мин
Количество просмотров186K
Фото Джэка Дидриха из профиля на G+ Признак того, что объект не должен быть классом — если в нём всего 2 метода, и один из них — инициализация, __init__. Каждый раз видя это, подумайте: «наверное, мне нужна просто одна функция».

Каждый раз когда из написанного класса вы создаёте всего один экземпляр, используете только раз и тут же выбрасываете, следует думать: «ой, надо бы это отрефакторить! Можно сделать проще, намного проще!»

Перевод доклада Джэка Дидриха, одного из ключевых разработчиков языка Питон. Доклад прозвучал 9 марта 2012 на конференции PyCon US.
Читать дальше →
Всего голосов 234: ↑206 и ↓28+178
Комментарии148

TOP'ай сюда

Время на прочтение5 мин
Количество просмотров180K
Обзор практически всех *top утилит под linux (atop, iotop, htop, foobartop и т.д.).

top

Все мы знаем top — самую простую и самую распространённую утилиту из этого списка. Показывает примерно то же, что утилита vmstat, плюс рейтинг процессов по потреблению памяти или процессора. Совсем ничего не знает про загрузку сети или дисков. Позволяет минимальный набор операций с процессом: renice, kill (в смысле отправки сигнала, убийство — частный случай). По имени top суффикс "-top" получили и все остальные подобные утилиты в этом обзоре.

atop


Atop имеет два режима работы — сбор статистики и наблюдение за системой в реальном времени. В режиме сбора статистики atop запускается как демон и раз в N времени (обычно 10 мин) скидывает состояние в двоичный журнал. Потом по этому журналу atop'ом же (ключ -r и имя лог-файла) можно бегать вперёд-назад кнопками T и t, наблюдая показания atop'а с усреднением за 10 минут в любой интересный момент времени.

В отличие от top отлично знает про существование блочных устройств и сетевых интерфейса, способен показывать их загрузку в процентах (на 10G, правда, процентов не получается, но хотя бы показывается количество мегабит).

Незаменимое средство для поиска источников лагов на сервере, так как сохраняет не только статистику загрузки системы, но и показатели каждого процесса — то есть «долистав» до нужного момента времени можно увидеть, кто этот счастливый момент с LA > 30 создал. И что именно было причиной — IO программ, своп (нехватка памяти), процесор или что-то ещё. Помимо большего количества информации ещё способен двумя цветами подсказывать, какие параметры выходят за разумные пределы.
Читать дальше →
Всего голосов 401: ↑389 и ↓12+377
Комментарии122

DevBar — питейное заведение для работников IT-индустрии и не только (Петербург)

Время на прочтение4 мин
Количество просмотров3.6K
Добрый день, господа и дамы.

Долгое время мы с партнером вынашивали идею организации бара, ориентированного на IT-специалистов.


Читать дальше →
Всего голосов 153: ↑142 и ↓11+131
Комментарии325

Регулярные выражения, пособие для новичков. Часть 2

Время на прочтение18 мин
Количество просмотров260K
В первой половине этого пособия мы раскрыли лишь малую часть возможностей регулярных выражений. Во второй, большей, половине мы рассмотрим некоторые новые метасимволы, то, как использовать группы для получения частей совпавшего текста, разбивать строки, находить и замещать части текста. В конце немного поговорим о распространенных ошибках.
Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии20

Набор инструментов для построения графиков, блок-схем и диаграмм

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


Есть много разных сервисов, облегчающих жизнь веб-разработчику или дизайнеру, в том числе создающих разные графики, диаграммы, блок-схемы и т.д. Ниже представлена небольшая подборка.
(Осторожно, много изображений)
Читать дальше →
Всего голосов 151: ↑144 и ↓7+137
Комментарии40

Файловый менеджер на PHP, с правами, контролем версий и AJAX-ом

Время на прочтение2 мин
Количество просмотров25K
Особенности файлового менеджера:
— Можно задавать права доступа на файлы и директории. Права двух типов: есть доступ или нет доступа. Файлы хранятся в недоступной для скачивания по прямой ссылке папке. Скачивание файла происходит с предварительной проверкой пользователя и прав доступа на файл. Любой пользователь файлового менеджера может обладать правами администратора, что указывается при добавлении нового или редактировании существующего пользователя. Администратор может видеть все, в том числе «удалённые» файлы.
— Контроль версий каждого файла. После загрузки файла он сохраняется с именем, которое не позволяет перезаписать существующие файлы, а его «оригинальное» имя сохраняется в БД. Данный подход разрешает хранить разные состояния файлов.
— Автоматическое создание превью загружаемых изображений.
— Файл в менеджере можно сделать доступным для скачивания
— GPL, код доступен на github



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

Soofty. Наш магазин приложений для Windows

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


Гы, пацаны заново изобрели репозиторий.
Среднестатистический пользователь linux

Мы же предпочитаем называть себя аппстором или магазином приложений для Windows. Ну на самом деле, это не важно. Главное что мы делаем то что уже есть на остальных платформах — App Store для Mac OS, Ubuntu Software Centre самизнаетегде. А также разумеется, под всеми, мобильными платформами: iOS, Android, Windows Phone 7.

В общем мы умеем устанавливать приложения без всяких «далее», «далее».
Ну и остальное под катом
Всего голосов 90: ↑57 и ↓33+24
Комментарии129

Информация

В рейтинге
Не участвует
Откуда
Израиль
Зарегистрирован
Активность