Показаны сообщения с ярлыком Чтоп Не Потер Ять. Показать все сообщения
Показаны сообщения с ярлыком Чтоп Не Потер Ять. Показать все сообщения

Graphite: Графит без графита

В процессе использования какого-либо продукта иногда всплывают разные интересные факты и сакральные знания. Набралось некоторое количество заметок на полях про Graphite:

Duna HD: поиск тайных знаний

Некоторое время назад я стал счастливым обладателем медиаплейера Dune HD TV102. Зная, что внутри у этой приставки Linux, естественно мне захотелось посмотреть на это чудо изнутри. Не разобрать на части, конечно, а посмотреть как устроено программное обеспечение и вообще система. Кроме того,  дюна поддерживает подключение плагинов, почему-бы не разработать какое-нибудь полезное расширение для этой приставки?

Python: склеивание строк на этапе компиляции

В питоновской конференции на reddit.com один товарищ поделился интересной находкой:

оказывается некоторые операции Python выполняет ещё до реального запуска кода (или загрузки модуля), т.е. на этапе компиляции модуля. Простой пример:

>>> "a {0} " "c".format("b")
'a b c'
>>> "a {0} " + "c".format("b")
'a {0} c'

Конкатенация строк, разделённых пробелами, выполняется на этапе лексического анализа, а операция сложения,- на этапе выполнения.

Ссылки по теме:



Python: ElementTree и undefined entity

При разборе XML с помощью библиотеки ElementTree иногда возникает ошибка undefined entity, если исходный документ содержит сущности HTML, например  .  Бороться с этим можно разными способами: использовать (или подменять) тип документа в обявлении DTD, предварительно проходиться по исходному коду и заменять сущности на соответствующие символы Unicode. В Python3 самым коротким способом мне показалось использовать стандартный словарь сущностей из модуля html.entities:

Прозрачная картинка 1x1



Если не нравится в веб-проектах включать картинки размером 1x1 пиксель в виде отдельных файлов, такие картинки можно включить напрямую в HTML-код или таблицы стилей CSS с
помощью приёма data:image.

Например, полупрозрачный серый блок с Opacity=0.5 можно задать с помощью свойства background-image:


{background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgqAcAAIIAgLO2btEAAAAASUVORK5CYII=);}


или напрямую в HTML-коде картинкой:


<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNgqAcAAIIAgLO2btEAAAAASUVORK5CYII=">


Удобный конструктор значений data:image для разных оттенков и степени прозрачности можно попробовать на сайте http://px64.net/

Внешние скрипты для проекта Django

Несколько раз сталкивался с ситуацией, когда удобнее использовать скрипт вне методов проекта models-views. При этом хочется использовать объявленные в models классы. При написании такого скрипта "в лоб", пытливый программисткий ум обычно лицезреет ошибку:

ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

Простой и не всегда удобный вариант,- добавить DJANGO_SETTINGS_MODULE в переменные окружения командной строки (умолчания для cmd.exe,- если в Windows или export в Linux\Unix). Ещё более короткий и переносимый способ,- сделать всё необходимое непосредственно в скрипте:

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'

Имя myapp.settings,- это если скрипт лежит в папке на уровень выше, чем myapp/settings. Если в той-же папке,- то будет просто settings

VoIP CallCenter "Naumen Phone"

Naumen SoftPhoneВ копилку VoIP решений:

Цитата с naumen.ru:


Naumen Phone позволяет создавать контакт-центры с числом операторских мест до 1000 человек

IP call-центр Naumen Phone – программный продукт высокой надежности для организации корпоративных и аутсорсинговых call-центров. Представляет собой полнофункциональный центр обработки вызовов, построенный на базе технологии VoIP-телефонии. Позволяет повысить эффективность телефонных коммуникаций и оптимизировать операционные издержки с помощью современных компьютерных технологий