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

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

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

Полная русификация админки

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

Здравствуйте. На днях возникла задача русифицировать админку django включая названия моделей, полей и приложений. Основной целью было избежать модифицирования кода django. Продолжительное гугление не дало целостной картины этого процесса. Поэтому я решил собрать все в одном месте.
Сразу скажу, что еще в самом начале проекта поставил django-admin-tools и тем самым сохранил себе некоторое количество нервных клеток. А все манипуляции проводились над django 1.3.
Интерисующихся прошу под кат
Всего голосов 85: ↑76 и ↓9+67
Комментарии16

ARM — это сложно…?

Время на прочтение3 мин
Количество просмотров105K
После моей недавней статьи на хабре про рвущие все по цене армы было высказано много мнений, что ARM-у нужна 4-6-слойная плата, ну уж 2 то как минимум, и куча обвязки.

Я решил попробовать доказать, что это далеко от истины, и сделал платку, проще которой трудно: 1 сторонняя, 1 обязательный конденсатор (до стабилизатора не обязательно), 1 резистор, один стабилизатор 3.3V, и наконец младший STM32: STM32F100C4T6B — 16кб флеш, 4кб SRAM, 48 ног, Cortex-M3(!!!) с DMA, дебагом на лету, 32*32+32->32 за 1 такт и всеми прочими радостями за 28 рублей.
Читать дальше →
Всего голосов 103: ↑100 и ↓3+97
Комментарии45

Исследователям из Microsoft Research удалось на несколько порядков ускорить вычисления в гомоморфной криптографической системе

Время на прочтение2 мин
Количество просмотров2.5K
Гомоморфное шифрование — криптографическая система, которая позволяет проводить определенные математические действия с открытым текстом путем произведения (в общем случае других) операций с зашифрованным текстом.


Первая полностью гомоморфная криптосистема была создана Крэйгом Джентри в 2009 году. Однако скорость вычислений была настолько низкой, что говорить о каком-либо практическом применении было невозможно.

Полностью гомоморфная криптографическая система с приемлемой скоростью работы — своего рода “Священный Грааль” криптографии. Она позволила бы осуществлять поиск, статистические вычисления и любые другие операции над зашифрованными данными, что избавило бы от необходимости искать компромисс между конфиденциальностью и удобством. Это дало бы мощный толчок облачным платформам, решило бы вопрос с утечками персональных данных пользователей многих интернет-сервисов, сильно упростило бы жизнь организациям, работающим с чувствительными медицинскими или финансовыми данными.

Кристин Лотер и её коллегам Виноду Вайкунтанатану и Микаэлю Неригу удалось создать прототип такой системы, способный делать 100 операций сложения 128-битных чисел за 20 миллисекунд на обычном ноутбуке. Раньше подобные вычисления занимали минуты и часы.
Читать дальше →
Всего голосов 56: ↑49 и ↓7+42
Комментарии28

PyQt: простая работа с потоками

Время на прочтение4 мин
Количество просмотров28K
Очень часто в программах приходится использовать многопоточность. Иногда это монстрообразные пулы потоков со сложным взаимодействием, но гораздо чаще это бывает простой код, главное требование к которому — не замораживать интерфейс.

Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии5

Монады с точки зрения теории категорий

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

Введение

Кажется, монады в программировании стали загадкой века. И для этого есть две причины:
  • недостаточное знание теории категорий;
  • многие авторы стараюстся не упоминать категории вообще.
Это как говорить об электричестве не используя мат. анализ. Достаточно для замены предохранителя, не хватит, чтобы спроектировать усилитель.

Мы начнём с простого введения в категории и функторы, затем дадим определение монады, приведём простые примеры монад в категориях и в конце приведём монадическую терминологию используемую в языках программирования.

Я уверен, что монады с точки зрения категорий почти элементарны.

Содержание

  1. Категория
  2. Функтор
  3. Естественное преобразование
  4. Монада
  5. Монады исключения и состояния
  6. Монады в программировании
  7. Ссылки
Читать дальше →
Всего голосов 126: ↑105 и ↓21+84
Комментарии151

Создаем систему видеонаблюдения с помощью motion

Время на прочтение3 мин
Количество просмотров114K
В этой статье я хочу рассказать о настройке и использовании домашней системы слежения. Вы сможете сделать за любой территорией, попадающей в поле зрения вышей веб-камеры, отправлять себе сообщение при обнаружении активности в этой области, делать снимки, транслировать изображение по сети (можно прикрутить авторизацию для доступа видео с вашей веб-камеры и смотреть удаленно, если у вас есть статический ip) вообще что захотите — полный контроль и свобода выбора, что в общем характерно для ос gnu/linux и подобных (в дальнейшем речь пойдет именно о linux).
Читать дальше →
Всего голосов 58: ↑54 и ↓4+50
Комментарии24

Фриланс и вывод денег: личный опыт

Время на прочтение4 мин
Количество просмотров105K
Добрый день, жители хабра! Я занимаюсь фрилансом (хотя это слово не очень люблю) на протяжении последних четырёх лет. В этом небольшом топике мне хотелось бы рассказать о различных способах вывода заработанных непосильным трудом денежных средств. Для начала стоит сказать о том, как именно организована моя работа. Я использую всего два варианта – oDesk и работа напрямую. С клиентами из России работать ещё не доводилось, так что о таких знакомых вариантах вывода денег, как WebMoney и Яндекс.Деньги речь идти не будет.

Читать дальше →
Всего голосов 86: ↑81 и ↓5+76
Комментарии104

3G модем Novacom и Linux

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

Статья о подключении модема Novacom GNS-3.5G в Linux. Появилась необходимость использовать 3G интернет на ноутбуке с Slackware Linux. В наличии был модем Novacom, и Windows XP на другом компьютере. Модем идет с драйверами под Windows и Mac OS, поддерживает стандарты HSDPA / UMTS и EDGE/GPRS. Поддержки Linux не заявлено. На некоторых форумах предлагали использовать usbmodeswitch, но полностью проблему это не решало – порты появлялись, а модем работать отказывался. В статье постараюсь показать не только решение этой конкретной проблемы, но и метод, который позволяет решать проблемы использования AT команд (отправка/получение SMS, USSD и т.п.)
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Комментарии14

Руководство: пишем интерпретатор с JIT на PyPy

Время на прочтение12 мин
Количество просмотров12K
Все исходные коды и примеры из этой статьи доступны здесь.

Когда я первый раз смотрел проект PyPy, мне потребовалось некоторое время, чтобы выяснить, что он из себя представляет. Он состоит из двух вещей:

— набор инструментов для написания интерпретаторов языков программирования;
— реализация Питона с применением этого набора инструментов.

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

Я взялся за это руководство для того, чтобы лучше понять как работает PyPy и что он из себя представляет. Предполагается, что вы очень мало знаете о PyPy, поэтому я начну с самого начала.

Читать дальше →
Всего голосов 78: ↑74 и ↓4+70
Комментарии6

SNORT как сервисная IPS

Время на прочтение6 мин
Количество просмотров92K
Введение.

Про SNORT было сказано много, но в большинстве статей речь идёт о SNORT, как о средстве тотального наблюдения за сетью, которое собирает все данные с сетевого интерфейса. В этой статье я расскажу как собрать конструкцию, в которой SNORT будет в режиме IPS следить не за всем трафиком на интерфейсе, а только за трафиком, который можно описать с помощью правил для iptables. Я не буду касаться настройки правил, речь будет исключительно о том, как на голой системе собрать SNORT для работы в режиме IPS и как подойти к защите им абстрактного сервиса. Так же будет описана сборка и запуск SNORT.

Читать дальше →
Всего голосов 25: ↑23 и ↓2+21
Комментарии23

Redsolution CMS: инструкция по добавлению своего модуля

Время на прочтение3 мин
Количество просмотров2.2K
Прошлой осенью мы писали про нашу разработку — RedsolutionCMS. Разработка с неправильным названием, потому что на деле никаким контентом она не управляет. По своей сути RedsolutionCMS — это система развертывания и начальной настройки веб-проектов на Django. В этой статье я постараюсь показать наглядно все плюсы нашей эм… RedsolutionCMS :)
Раз у нас система модульная, то и допишем к ней ещё один модуль. Примером будет django-photologue — модуль публикации фотогалерей на сайт. Под катом — туториал как написать и опубликовать установщик вашего любимого (это не обязательно должен быть photologue) модуля.

Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии6

Использование Deferred объектов в jQuery 1.5

Время на прочтение6 мин
Количество просмотров37K
Deferred объекты появились в jQuery 1.5. Они позволяют отделить логику, которая зависит от результатов выполнения действия от самого действия. Для JavaScript Deferred объекты не новы, они уже были в MochiKit и Dojo, но с изменениями логики jQuery ajax от Julian Aubourg, внедрение Deferred объектов было неминуемо. С Deferred объектами несколько callback могут быть связаны с результатом задачи и любые из них могут быть привязаны к действию даже после начала его выполнения. Выполняемая задача может быть асинхронна, но не обязательно.

Deferred объекты теперь встроены в $.ajax() таким образом вы будете получать их автоматически. Обработчики теперь могут быть связаны с результатом следующим образом:
// $.get, ajax запрос, он асинхронный по умолчанию
var req = $.get('foo.htm')
   .success(function( response ){
      // что-нибудь делаем с ответом
   })
   .error(function(){
      // делаем что-нибудь если запрос провалился
   });
 
// это выполнится перед тем как $.get() будет выполнено
doSomethingAwesome();
 
// Делаем что-то ещё перед завершением запроса
req.success(function( response ){
   // делаем  что-то ещё с ответом
   // он будет выполнен когда запрос завершится, а если запрос завершен, то будет вызван немедленно
   // если запрос уже был выполнен
});

Читать дальше →
Всего голосов 116: ↑113 и ↓3+110
Комментарии19

Сумбурные заметки про python и django

Время на прочтение5 мин
Количество просмотров47K
Накопилось несколько маленьких заметок/советов про python и django, которые на отдельные топики не тянут, поэтому публикую все сразу.

Под катом:
  • как упростить код вьюх ровно в 2 раза
  • легкий способ рисования графиков
  • почему Ian Bicking воскликнул «Cool!»
  • приложения для ВКонтакте на django за 5 минут
  • хорош ли pymorphy?
  • пара фишек насчет выкладки пакетов на pypi
  • что общего между декораторами и with-контекст-менеджерами
  • принимаем оплату на django-сайтах
  • показываем Яндекс.Карту для заданного адреса

Читать дальше →
Всего голосов 159: ↑153 и ↓6+147
Комментарии37

Ограничиваем интерфейс редактирования с помощью прокси-моделей

Время на прочтение2 мин
Количество просмотров9.4K
Административный интерфейс джанго позволяет настраивать права доступа к объектам различных приложений. Для любой модели любого приложения вы можете разрешить пользователю три действия: добавлять новые объекты, редактировать и удалять существующие объекты.

А что делать, если мы хотим разрешить пользователю редактировать только часть полей? И в то же время оставить возможность другим пользователям редактировать все поля.
Читать дальше →
Всего голосов 31: ↑27 и ↓4+23
Комментарии13

Работа с виртуальными машинами KVM. Введение

Время на прочтение4 мин
Количество просмотров77K
Как и обещал, начинаю серию статей о том, как мы делали услугу аренды выделенных серверов на базе KVM.

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

Читать дальше →
Всего голосов 45: ↑43 и ↓2+41
Комментарии38

Создание языка программирования с использованием LLVM. Часть 1: Введение и лексический анализ

Время на прочтение7 мин
Количество просмотров59K
Добро пожаловать в учебник «Создание языка программирования с LLVM». Этот учебник знакомит вас с созданием простейшего языка программирования, и при этом показывает, каким оно может быть легким и интересным, а также даёт вам начальные знания, которые вы затем сможете применить на других языках программирования. Код в этом учебнике также может быть использован в качестве стартовой площадки для ваших творений с помощью LLVM.

Целью данного учебника является постепенное представление нашего языка, описание его пошагового создания. Это позволит нам охватить достаточно широкий спектр вопросов проектирования языков и использования LLVM, попутно показывая и объясняя код без огромного количества ненужных деталей.
Читать дальше →
Всего голосов 65: ↑61 и ↓4+57
Комментарии28

Релиз Nginx CT++ Module 0.5 — высокопроизводительного модуля-шаблонизатора для веб-сервера

Время на прочтение2 мин
Количество просмотров3.4K
Первоначально хотел оформить как топик-ссылку, но тогда не получилось бы вставить картинку:

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

Позднее, как появится свободное время, напишу более подробную пошаговый HowTo, что вообще можно и что нужно делать с модулем, как можно представить MVC в виде: M — ваши сервисы, V — этот модуль и C — Nginx.
Читать дальше →
Всего голосов 65: ↑61 и ↓4+57
Комментарии72

Яндекс.Метрика открыла API

Время на прочтение1 мин
Количество просмотров8K
Еще один сервис Яндекса открывает API. Сторонние разработчики получили возможность создавать приложения для работы с отчетами Яндекс.Метрики.

API Яндекс.Метрики построен по REST-принципам и использует авторизацию по протоколу OAuth 2.0. Программный интерфейс позволяет получать данные всех отчётов по сайту, работать с существующими счётчиками и создавать новые. Есть возможность управлять аккаунтами, правами доступа, целями, фильтрами и операциями.

API позволяет создавать приложения для самых разных целей. Например:
  • Разработчики CMS, форумов или блоговых движков могут предложить пользователям встроенные отчеты о посещаемости сайта.
  • У разработчиков мобильных приложений есть возможность создавать программы для оперативного уведомления о работе сайта.
  • Компании получили возможность интегрировать Метрику с бизнес-приложениями и внутренними сервисами. Менеджеры и маркетологи будут рады персонализированным отчетам о работе сайта.
  • Интернет-агентства могут встроить отчеты Метрики в свои инструменты управления кампаниями. Отчеты клиентам можно будет предоставлять в интерфейсе корпоративных приложений.
Присылайте нам свои примеры использования API Яндекс.Метрики. Мы добавим самые интересные решения в галерею приложений.
Подробное описание API доступно в Справочнике разработчика.
Всего голосов 62: ↑62 и ↓0+62
Комментарии18

Устройство GPS-жучка

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


Не знаю как в России, но в США граждане периодически находят под днищем автомобиля следящие GPS-устройства, установленные спецслужбами. В прошлый раз, когда о таком стало известно прессе, студент арабского происхождения по неопытности отнёс устройство «производителю», не успев его хорошенько исследовать. Аналогичный прибор на своём автомобиле несколько лет назад нашла активистка за права животных Кэти Томас. Она отказалась вернуть его ФБР, а сейчас осмелилась отдать девайс на изучение.
Читать дальше →
Всего голосов 93: ↑89 и ↓4+85
Комментарии118

Мысли по поводу Qt 5

Время на прочтение6 мин
Количество просмотров15K
Qt 4.0 была выпущена в июне 2005 года, почти шесть лет назад. Многое изменилось в индустрии программного обеспечения за эти годы. Тогда разработка приложений шла в основном на настольных системах, сейчас же мобильные устройства, подключенные к сети, становятся все более популярными. Технология пользовательского интерфейса перешла от статических виджетов к плавным сенсорным. Начиная с Qt 4.0, мы выпустили семь минорных версий Qt, следуя потребностям разработчиков и пользователей, например, разработав Qt Quick. С растущей пользовательской базой Qt, растёт потребность во встроенных, мобильных приложениях и UI-разработчиках.

Кроме того, в будущем, чтобы быть ведущим фреймворком для разработчиков в нескольких отраслях, Qt необходимо непрерывно обновляться и развиваться. Qt 4 был эволюцией, поэтому я задумался о том, как могут выглядеть следующие версии Qt с технической точки зрения. Последние годы мы работали над созданием основы для следующей мажорной версии. Я вижу в ней Qt Quick, QML Scenegraph и проект Lighhouse в сочетании с усилением акцента на Qt Webkit как фундамент, который мы планируем использовать для перехода к новому мажорному релизу Qt.

Учитывая, что Qt управляется открыто, я хотел бы поделиться своими размышлениями с сообществом Qt, чтобы начать дискуссии о технической архитектуре Qt 5.
Читать дальше →
Всего голосов 53: ↑50 и ↓3+47
Комментарии44

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность