Pull to refresh
0
@rigaread⁠-⁠only

User

Send message

Допиливаем Django-admin бензопилой. Часть II — WYSIWYG

Reading time5 min
Views10K
Итак обещанное продолжение прошлого поста. В результате мы прикрутим TinyMCE к flatpages и превратим лист/форму созданной модели с картинками в простой файловый менеджер для вставки картинок. Для этого понадобится совсем немного Javascript и единственная строчка в 'admin.py'.
Читать дальше →

Допиливаем админку бензопилой. Часть I — Thumbnails

Reading time4 min
Views11K
Вставлю свои пять копеек о том, насколько классная и гибкая штука — админка Django. Многие упорно не хотят понять, что это не игрушка, а вполне себе приложение production-качества, которое просто глупо не использовать, если есть такая возможность.

И дело здесь совсем не в том, что разработчики такие молодцы, что предусмотрели так много возможностей кастомизирования, чтобы покрыть все нужды юзеров — это конечно же не совсем так. Тем не менее в распоряжении разработчика всегда есть другое мощнейшее средство кастомизации любых веб-приложений вообще. Таким средством является Javascript. Разработчики Django, прекрасно это осознавая, предоставляют нам все средства для подключения кастомного JS/CSS, что по сути, вобще снимает какие-либо ограничения на то, что мы хотим слепить из нашей админки.

Конечно в этом нет ничего военного и большинство опытных разработчиков так и делают, я лишь попытаюсь описать парочку жизненных рецептов, на основании которых можно, подключив немного фантазии, решать практически любые вопросы связанные с кастомизированием Django-админки. Если конкретнее, то заниматься будем тем, что сделаем акуратные thumbnails для наших ImageField'ов, подключим TinyMCE, и научим его вставлять картинки используя саму Django-admin в качестве файл-менеджера для выбора картинок.
Читать дальше →

Простой загрузчик изображений в tinyMCE для веб приложении на MVC

Reading time6 min
Views21K
Развитие моего проекта потребовало «прикрутить» в редактор на основе tinyMCE возможность вставлять изображения, которые хранились бы непосредственно на сервере приложения, и что бы это было бесшовно для конечного пользователя. Погуглив совсем немого и найдя все полезное как всегда на stackoverflow.com и изучив все что есть на сегодняшний день по этой теме, я понял, что придется изобретать свой велосипед. Основные мои мотивы были следующие:
Практически все «готовые» открытые реализации используют файловый принцип хранения, когда пользователь загружает сначала файл на сервер, в область хранения, а затем вставляет его в редактор. В итоге получается довольно сложный процесс, и кроме этого, сервер приложения рискует превратиться в файл помойку. Второй мотив — все решения были достаточно сложны и тяжелы. Например, некоторые из них использовали компоненты silverlight, другие тащили за собой кучу внешних зависимостей. В общем, моя цель: написать простой, легкий загрузчик изображений для tinyMCE который работает на MVC. (я думаю, что это будет справедливо для любого движка MVC а не только ASP.NET). В этой статье я расскажу, как просто написать свой загрузчик и плагин для tinyMCE.

Читать дальше →

Рисуем графики (диаграммы) в Django

Reading time5 min
Views36K
django-google-charts

Многие веб-разработчики время от времени сталкиваются с необходимостью визуализировать сравнительно большое количество данных при помощи диаграмм (далее я буду называть их графиками, хоть это и не совсем верно). Задача не нова, и в сети есть множество готовых решений: работающие на стороне сервера и на стороне клиента, использующие изображения, Canvas, SVG, Flash, Silverlight…

В этой статье я расскажу про django-google-charts и некоторые особенности использования Google Chart Tools для построения графиков на сайте под управлением Django.

Часто, когда нужно добавить график на страницу, разработчик идет по пути наименьшего сопротивления: копирует JavaScript из примера в интернете и как-нибудь выводит в него данные из приложения. Получается что-то наподобие:

var chart_data = [
    {% for row in chart_data %}
    [{{ row.0 }}, {{ row.1 }}],
    {% endfor %}
];

Почему это плохо?

13 бесплатных курсов Стэнфордского университета

Reading time2 min
Views73K
Недавно анонсированный бесплатный онлайн-курс Стэнфорда по основам искусственного интеллекта вызвал настоящий ажиотаж у публики. Заявки на регистрацию подали уже 81 966 человек. Оно и понятно: курс ведут Питер Норвиг и Себастьян Тран — настоящие звёзды. Первый раньше работал в НАСА и написал учебник по ИИ, а второй разрабатывает лучшие в мире роботизированные автомобили (для Google).

Очевидно, что качественное образование через интернет нужно людям и становится всё популярнее. Поэтому перед началом учебного года есть смысл напомнить список 13-ти бесплатных учебных курсов Stanford Engineering. В отличие от лекций Норвига и Трана, это не онлайновые, а старые курсы. В свободный доступ уже выложены видеозаписи всех лекций от первой до последней, PDF'ы с заданиями и другие материалы, но здесь нельзя задать вопрос преподавателю.
Читать дальше →

Открытие офшорных банковских счетов с помощью Payweb.com

Reading time1 min
Views31K
image

Здравствуйте, уважаемые хабропользователи!

Этим постом хотелось бы обратить ваше внимание на возможность удалённого открытия полноценных офшорных банковских счетов для частных лиц с помощью нашего сервиса.
Читать дальше →

Автоматизация магазина или как конкурировать с супермаркетами

Reading time4 min
Views93K
image
В один прекрасный день появилась идея автоматизации своего небольшого магазина. Причин было несколько: во-первых, продавцы всю смену стоят на ногах, что не комфортно; во-вторых, когда человек ходит сам, он не может обвинить продавца в качестве принесенного товара, тут он сам смотрит, выбирает и кладет в корзину, соответственно может положить не только то, за чем пришел; в-третьих, нужно было избавиться от больших очередей.
В этом посте постараюсь поделиться опытом организации.
Читать дальше →

Лайтпак 5.5 опубликован

Reading time1 min
Views8.3K
Читатели помнят, что ещё в декабре прошлого года, после публикации пользователя brunql мы с ним и timsat решили всерьёз взяться за open-hardware проект, который назвали Лайтпак. В феврале мы даже презентовали вам ревизию 4.3 после которой к проекту присоединилось много светлых голов.

А сегодня я готов показать вам чего мы добились к версии 5.5, ставшей первым коммерческим вариантам Лайтпака, который можно купить за деньги:


Читать дальше →

Библиотека для упрощения HTTP-запросов

Reading time1 min
Views151K
Requests — библиотека Python, которая элегантно и просто выполняет HTTP-запросы. Теперь не нужно осваивать urllib2 с излишне сложными программными интерфейсами.

Вот как выглядит HTTP-запрос с авторизацией с помощью requests:

>>> r = requests.get('https://api.github.com', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json'
Читать дальше →

Как разместить картинку внутри QR-кода

Reading time2 min
Views141K
Автор блога Hack A Day Брайан Бенчофф (Brian Benchoff) разобрался в алгоритме генерации QR-кодов (стандарт ISO 18004) и составил инструкцию, как можно внедрить в QR-код произвольное изображение. Например, логотип фирмы.

Для работы использовались генератор QR-кодов и Microsoft Paint для попиксельного редактирования.

Шестая версия QR-кодов представляет собой квадрат со стороной 41 пиксел.



На картинке показан шаблон QR. На нём чёрные пикселы всегда обязаны быть чёрными, а белые обязаны быть белыми. Серая зона свободна для творчества.
Читать дальше →

Поговорим о словарном запасе иностранного языка

Reading time4 min
Views264K
Сколько слов в английском языке? Oxford English Dictionary содержит около 500 000 словарных статей, не учитывая специфические научные слова и выражения (которых насчитывается еще порядка 500 000). А как вы думаете, какой средний словарный запас иностранного языка дает вам средняя школа за время обучения? Правильный ответ – около 2500 слов. Мало ли этого набора? Тут уже надо исходить из ваших целей. Для общения с иностранцами на деловые темы – однозначно мало. Для чтения несложных текстов в интернете – более чем достаточно. Если быть точнее:

400–500 слов – активный словарный запас для владения языком на базовом (пороговом) уровне.
800–1000 слов – активный словарный запас для того, чтобы объясниться; или пассивный словарный запас для чтения на базовом уровне.
1500–2000 слов – активный словарный запас, которого вполне хватит для того, чтобы обеспечить повседневное общение в течение всего дня: или пассивный словарный запас, достаточный для уверенного чтения.
3000–4000 слов – в общем, достаточно для практически свободного чтения газет или литературы по специальности.
Около 8000 слов – обеспечивают полноценное общение для среднего европейца. Практически не нужно знать больше слов для того, чтобы свободно общаться как устно, так и письменно, а также читать литературу любого рода.

К этим данным пришел известный шведский полиглот Эрик Гуннемарк, основатель Международной ассоциации `Amici Linguarum` (`Друзья языков`). Более того, он составил набор минимального количества слов и выражений, которые необходимо знать, для порогового уровня владения языком, назвав их Минилекс и Минифраз.

Интересно, а какой средний уровень словарного запаса у рядового пользователя сети и у вас лично? Об этом расскажу дальше.
image

Читать дальше →

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

Reading time10 min
Views41K

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

Новый релиз картографической дизайн студии TileMill

Reading time2 min
Views1.4K
Здравствуйте. Не прошло и полгода с момента выхода предыдущей версии картографической дизайн студии TileMill (см. обзор), как вышел в свет новый релиз, за версией 0.4.



Интересно? Приглашаю под кат.
Читать дальше →

Простой электронный самописец

Reading time6 min
Views40K

Сначала была идея

На работе (работаю в медицине) пыхтят и мучаются два электромеханических самописца ну и я вместе с ними: тушь, механика – знаете ли неприятно. Как то раз в мою голову забрела идея: а почему бы не заменить два задыхающихся от старости самописца простой системой сбора данных состоящей из контроллера АЦП и ПК (пусть даже слабенького и старенького) с соответствующим программным обеспечением с возможностью вывода на принтер? И тут понеслось в голове и закружилось…

Читать дальше →

Как пожаловаться МТС на мобильный спам и вирусы

Reading time2 min
Views31K
Многие, получая спам и вирусные сообщения на мобильный телефон, просто удаляют их, не зная, что с ними делать. Кнопки «пожаловаться на спам» интерфейсы телефонов не предоставляют, в результате по молчаливому согласию пользователей рассылка продолжается. Попробуем разобраться, что можно сделать самому, чтобы мир стал чуточку лучше.
Читать дальше →

Интернет картография с открытым исходным кодом

Reading time7 min
Views9.2K
Здравствуйте. Я продолжаю серию статей, про картографирование в интернете с использованием набора программного обеспечения с открытым исходным кодом MapBox, от компании Development Seed.

Предыдущие части:
  1. Обзор студии
  2. Введение в TileMill
  3. Расширенные возможности

Сегодня я рассмотрю:
  • Высокопроизводительный тайловый сервер TileStream
  • Легковесные картографические библиотеки Modest Maps и LeafLet
  • Использование TileStream вместе с картографической библиотекой OpenLayers
  • Использование расширенных возможностей TileMill с помощью библиотеки Wax


Интересно? Приглашаю под кат.
Читать дальше →

Нечёткий поиск на клиенте и Soundex

Reading time7 min
Views9.1K
Soundex — один из алгоритмов сравнения двух строк по их звучанию. Был разработан чуть менее 100 лет назад Робертом Расселом и Маргарет Оделл. Активно используется в США при диктовке фамилий.

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

Задача

На Островке все найденные отели передаются на клиент и вся фильтрация и сортировка выдачи происходит в браузере. Необходимо было добавить фильтр по названию отеля.

Решение, проблемы и готовый скрипт

Интеллектуализация купольной поворотной камеры: автоматическое патрулирование, выбор целей и слежение

Reading time8 min
Views57K
Автоматизация системы управления купольной поворотной камеры (PTZ-камеры) – интересная и актуальная задача. По мере концентрации ситуационных центров и внедрения видеоаналитики возникает потребность в интеллектуальных алгоритмах, позволяющих не только анализировать видео со стационарных (неподвижных) камер, но и наводить роботизированную камеру на цель без участия оператора. Задержка, вносимая цифровой подсистемой кодирования и декодирования видео, ограничивает возможности дистанционного слежения за целью при помощи поворотной камеры и усиливает необходимость локальной автоматизации слежения. Наш пост Хабру содержит обзор основных задач по интеллектуализации PTZ-камер, подходов к их решению и предложений на рынке.
Экспериментальная установка для автономного PTZ-слежения: видеоаналитическое устройство MagicBox, PTZ-камера Pelco и обзорная камера CNB
Рис. 1. Экспериментальная установка для автономного PTZ-слежения: видеоаналитическое устройство MagicBox, PTZ-камера Pelco и обзорная камера CNB. Рис. 2.Предпозиции PTZ-камеры, управляемые зональным детектором движения.

Читать дальше →

Asterisk + UniMRCP + VoiceNavigator. Синтез и распознавание речи в Asterisk. Часть 3

Reading time13 min
Views6K
Часть 1
Часть 2
Часть 4

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

На Хабре нашелся вот этот пост, который когда-то довольно активно обсуждался. Автор предлагает прослушивать прогноз погоды по телефону, используя множество предзаписанных файлов и xml-информеры с сайта Gismeteo. Мне хотелось бы усовершенствовать данное приложение и показать, как синтез и распознавание облегчают жизнь при построении IVR и получении динамической информации.

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

Information

Rating
Does not participate
Registered
Activity