Наверное, каждый, кому когда-нибудь приходилось следить одновременно за большим количеством окошек с логами, подумывал о переносе некоторых из них на экран планшета или телефона.
А, находясь далеко от компьютера, следить за выхлопом недавно запущенного большого и страшного сервиса?
Конечно, можно поставить ssh клиент на телефон, но это не особо удобно.
Поэтому я решил сделать мини-сервис упрощающий «удалённый» просмотр логов.
Рубрика «python» - 339
Осовремененный Unix Way или pipe в браузер
2012-07-11 в 11:08, admin, рубрики: django, linux, open source, pipe, python, sockjs, tornado, WebSocket, Веб-разработка, метки: Django, pipe, python, sockjs, tornado, WebSocketSPARQL запросы к содержимому HTML страниц
2012-07-11 в 8:50, admin, рубрики: grab, python, semantic web, sparql, Семантическая Сеть, метки: grab, python, semantic web, sparql Здравствуйте.
После посещения одной конференции у меня появилась идея, воплощение которой я и представляю.
Данный пост предоставляет пример работы с библиотеками grab и rdflib, а также готовый класс для выполнения SPARQL запросов к содержимому web-страниц.
Читать полностью »
Разворачиваем шлюз Skype-оповещений в облаке
2012-07-10 в 17:10, admin, рубрики: dotcloud, python, skype, skypekit, метки: dotcloud, python, skypekit
Так сложилось что в нашей корпоративной среде разработчики используют групповые чаты skype для общения. Возникла необходимость уведомлять присутствующих о выполняющемся развертывании кода на productiontesting сервера.
Для этого был написан простенький python скрипт на Flask + SkypeKit и настроено окружение бесплатного в таких масштабах облачного сервиса dotCloud. Сервис вынесен за пределы нашей инфраструктуры для того, чтобы 1) иметь возможность получать уведомления об ошибках вне зависимости от состояния наших серверов, и 2) не ставить на свои сервера всякую проприетарную закрытую пакость (улыбка)
SkypeKit — это консольный демон skype, позволяющий управлять собой через pythonc++java, о нём уже писали на хабре (инструкция может немного устареть, но ничего сложного в процессе регистрации нет). Сразу оговорюсь, что для использования придётся заплатить целых $5 за доступ к SkypeKit for Desktop.
Читать полностью »
Космическая Змея в Магазине или Как Мы «CheeseShop» Ставили
2012-07-10 в 10:55, admin, рубрики: deployment, django, python, rpm, системное администрирование, метки: deployment, python, rpmДоброе время суток, уважаемые читатели!
Ниже приведена увлекательная(?) история о том как наша организация решала проблему т.н. «деплоймента как у людей». Наш основной язык разработки Python, с примесями разных интересных (и не очень) пакетов (Django, Bottle, Flask, PIL, ZMQ, и т.д.).
Начнём с краткого описания одного из наших приложений:
- Django 1.4
- MySQL
- Celery для крон-имитации и поддержки вспомогательных функций в фоновом режиме
- Daemon-процесс, основанный на Django management command
Всё это дело работает под связкой gUnicorn и nginx, на ОС CentOS 5.8.
Детали, как принято, ниже.
Geeknote — консольный клиент для Evernote
2012-07-10 в 5:14, admin, рубрики: evernote, geeknote, linux, open source, python, системное администрирование, метки: evernote, geeknote, linux, open source, pythonПриветствую, коллеги!
Хочу рассказать вам о нашем проекте — Geeknote. Это консольный клиент для Evernote. Проект Open Source и исходные коды доступны на Github. Geeknote позволяет работать с Evernote из командной строки. Реализованы все основные функции Evernote — создание/удаление заметок, создание блокнотов и тегов, поиск, а так же редактирование через обычный текстовый редактор заметок в формате markdown. То есть можно использовать Evernote в bash скриптах, cron, любых приложениях, где нельзя использовать Evernote SDK. Расскажу подробнее про проект.
Читать полностью »
Нестабильные внешние сервисы: способ решения проблемы
2012-07-09 в 9:39, admin, рубрики: decorator, python, декораторы, Питон Есть у нас пара внешних HTTP сервисов, которые работают довольно нестабильно. Да, мы должны были об этом подумать на этапе разработки, но мы все время откладывали в длинный ящик, аккуратно писали logging.error
и двигались по другим направлениям.
Мысли о Python 3
2012-07-09 в 6:21, admin, рубрики: python, python3, переводы, Программирование, метки: python, python3Предлагаю вашему вниманю пересказ замечательной статьи автора Jinja2, Werkzeug и Flask, соавтора Sphinx и Pygments Армина Ронаха. Я получил огромное удовольствие разбирая исходные коды его творений и очень многое для себя почерпнул. Армин пишет отличные фреймворки, и как никто другой может разъяснить, чем чреват переход с Python 2 на Python 3 и почему его не так легко осуществить.
Автоматическое построения диаграмм сущность-связь
2012-07-08 в 5:19, admin, рубрики: ER-диаграммы, postgresql, python, sql, Регулярные выражения, метки: ER-диаграммы, python, sql, регулярные выражения Я не люблю всякие визуальные редакторы для создания ER-моделей. Предпочитаю писать SQL код вручную, но для всяких отчетов и обсуждений хотелось иметь графическое представление и желательно в векторном формате.
Читать полностью »
Автоматическое построение диаграмм сущность-связь
2012-07-08 в 5:19, admin, рубрики: ER-диаграммы, postgresql, python, sql, Регулярные выражения, метки: ER-диаграммы, python, sql, регулярные выражения Я не люблю всякие визуальные редакторы для создания ER-моделей. Предпочитаю писать SQL код вручную, но для всяких отчетов и обсуждений хотелось иметь графическое представление и желательно в векторном формате.
Читать полностью »
Используем OpenCL в Python
2012-07-03 в 6:45, admin, рубрики: gpgpu, opencl, python, метки: gpgpu, opencl, pythonВ последнее время параллельные вычисления прочно входят в жизнь, в частности, с использованием GPU.
Здесь было много статей на эту тему, поэтому ограничусь лишь поверхностным описанием технологии. GPGPU — использование графических процессоров для задач общего назначения, т.е. не связанных напрямую с рендерингом. Пример — библиотека Nvidia PhysX для расчёта физики в некоторых современных играх. Эта технология выгодна тем, что GPU хороши на параллельном выполнении с множеством потоков. Правда, потоков должно быть много, иначе производительность сильно упадет. Ещё из-за особенностей работы с памятью приходится несколько хитрить с передачей данных из оперативной памяти в видеопамять. Известные реализации: CUDA (Nvidia, только для видеокарт), OpenCL (Khronos Group, для гетерогенных систем) и AMD FireStream. Здесь будет обсуждаться только OpenCL.
Итак, приступим к практике. В качестве языка основной программы выберем Python. Он, конечно, не очень быстр сам по себе, зато отлично работает как «клей» — во многих применениях основной расчёт идёт в OpenCL, а код на Python только «подносит патроны». Существует отличная библиотека PyOpenCL, которой и будем пользоваться.