Архив метки: Python

Python: динамическая подмена класса

Юзкейс Есть функция-фабрика, возвращающая объект класса A. Функция из сторонней либы, менять ее нельзя (либо вообще ее код закрыт). А нам очень нужно сделать класс B, наследованный от A, и перекрыть magic-метод, скажем __exit__. Проблема в том, что объекты класса A … Читать далее

Рубрика: На заметку, Программирование, Решение проблем | Метки: , | Добавить комментарий

Настройка радиомодуля APC220 в Ubuntu и Mac OS

APC220 — это модуль цифровой беспроводной связи, поддерживающий расстояние до 1 км (при отсутствии помех) и  поддерживает довольно большие скорости передачи. Кроме того, эти модули умеют организовывать между собой сети с поддержкой бродкаста. Да и цена привлекательная. Все классно, только … Читать далее

Рубрика: DIY | Метки: , , , | 4 комментария

Манкипатчим поддержку decimal.Decimal в json

TypeError: Decimal('0.99') is not JSON serializable Вот, что заставляет людей гуглить, как добавить поддержку новых типов в стандартную либу json. Вообще, пост не об этом, вот просто парочка правильных решений: использовать simplejson создать свой энкодер, пронаследовавшись от стандартного, и передавать … Читать далее

Рубрика: На заметку, Решение проблем | Метки: , | 1 комментарий

Загадка foo bar с ответом

>>> s = 'foo' >>>… >>> {s: 1, 'bar': 2} {'bar': 1, 'bar': 2} Что в пропущенной строчке? ЗЫ: никакие built-in функции или объект строки заменять нельзя. Ответ под катом.

Рубрика: Разное | Метки: | Добавить комментарий

Python: defaultdict с заданной структурой

collections.defaultdict defaultdict призван избавить ваш код от ужасных многострочных/длинных конструкций из if-else, has_key/in, обладающих, к тому же, дерьмовой производительностью, растущей из повторяющегося несколько раз поиска по словарю. Тем не менее, если значение по-умолчанию должно обладать собственной структурой из контейнеров, то … Читать далее

Рубрика: На заметку | Метки: , | 1 комментарий

Метод наименьших квадратов и распределение Гаусса

Применение МНК для подбора параметров гауссиан выборки Функция нормального распределения (Гаусса) называется гауссианой и представляет из себя ни что иное как «кривую колокола», верхушка которого будет располагаться в точке математического ожидания (медианы), а отклонение (разброс) определяет его ширину. Ее же мы увидим, … Читать далее

Рубрика: Алгоритмы | Метки: , , , , | 2 комментария

Поиск как в админке Django

Снова привет! Осваивался с class-based views и заодно изобретал велосипед делал поиск «как в джанго-админке», то есть такой, чтобы конфигурировался максимально аналогично. Плюс, в частном случае нужно было еще ограничить поиск только «активными» документами. Вот такой маленький сниппет из этого … Читать далее

Рубрика: На заметку | Метки: , | Добавить комментарий

Фильтрация шумовых выбросов

Проблема Предположим, мы производим «измерение» некой двумерной величины много раз. Но наш «прибор» с некоторой вероятностью дает сбой, поэтому мы получаем примерно такой результат: Невооруженным глазом заметен кластер «правильных» измерений. Но как его выделить программно? Актуально, когда вариант «ручного» просмотра … Читать далее

Рубрика: Алгоритмы | Метки: , , , , , , , | Добавить комментарий

Наивное деление слова по слогам

Мое внимание привлекла задача по разделению слова на слоги: дело в том, что это интуитивно просто, но сформулировать правило словами, думаю, никто не сможет. Да и из того, что кто-нибудь сформулирует, всегда легко найти дюжину исключений. Создание базы данных «валидных … Читать далее

Рубрика: Алгоритмы | Метки: , , | 5 комментариев

Django: экспорт БД через view

Есть некий Django-сайт, который нужно перенести на другой домен, но доступ у нас есть лишь  к его файлам. Выяснилось также, что сервер перезагружается, при обновлении даты изменения WSGI модуля сайта. Скрипты и статику-то мы перенесем. Но что делать с БД?

Рубрика: Решение проблем | Метки: , , , | Добавить комментарий