Рубрика «python3» - 15

Разработка сервиса по загрузке альбомов - 1

Введение

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

И вот в преддверии дня рождения, появилось время и отличное настроение для написания сервиса.Читать полностью »

Многопользовательский онлайн-шутер на WebGL и asyncio, часть вторая - 1
В этом материале постарался описать создание браузерного 3D-шутера, начиная от импорта симпатичных моделей танков на сцену и заканчивая синхронизацией игроков и ботов между собой с помощью websocket и asyncio и балансировкой их по комнатам.

Введение
1. Структура игры
2. Импорт моделей и blender
3. Подгрузка моделей в игре с babylon.js и сами модели
4. Передвижения, миникарта и звуки игры в babylon.js
5. Вебсокеты и синхронизация игры
6. Игроки и их координация
7. Балансировка игроков по комнатам и объектный питон
8. Asyncio и генерация поведения бота
9. Nginx и проксирование сокетов
10. Асинхронное кэширование через memcache
11. Послесловие и RoadMap

Всех кому интересна тема асинхронных приложений в Python3, WebGL и просто игр, прошу под кат.
Читать полностью »

Популярные в последнее время слухи о блокировке торрент-трекеров (или уже не слухи?) побудили меня написать свой парсер для сайта rutracker.org. В данной статье я опишу опции для скрипта, выходные данные. Также прилагается просмотрщик с возможность поиска по категориям, и база раздач с описаниями от 16.01.2016.

Оффлайн база rutracker с описаниями раздач и возможость поиска по категориям - 1
Читать полностью »

ctypes Среди утилит SysInternals есть те, что не обновляются годами, а их повседневное использование сомнительно. И все же назвать их абсолютно бесполезными язык не поворачивается. Внутреннее устройство таких утилит довольно просто, разбирать которое на Python весьма занимательно; не то, чтобы разбирать, скорее писать аналоги, не используя при этом сторонних расширений.
Читать полностью »

Мир меняется невероятно стремительно, теперь некогда учить новый язык ради еще одной фишечки, пока корпоративщики страдают под фабриками фабрик Java, пока хардкорные системщики осиливают Страуструпа, хипстеры в узких штанишках захыватывают рынок реализуя все подряд на Python. И это ОФИГЕННО! Если вы не знаете на какую технологию поставить сегодня, что будет легко поддерживаться и масштабироваться и вообще не понятно, выстрелит ли когда-либо ваш проект — берите Python и быстро-решительно реализуйте!Читать полностью »

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

Читать полностью »

в 17:24, , рубрики: pyqt5, python, python3, qt

У Python, установленного (а точнее просто распакованного из msi) на флэшку, есть как плюсы, так и минусы, один из последних — некоторые модули, как, например, PyQt. На вкус и цвет, а фломастеры, как говорится, у всех разные, так что если кто-то предпочитает wxPython, тому и флаг в руки. Лично мне нравится PyQt, а вот как его развернуть на флэшке — другой вопрос. Первое, что приходит на ум — собрать из исходников, что накладно по времени, а значит критично в плане если библиотека нужна уже вот-вот. Остается NSIS'ьный инсталлятор, который, во-первых, лапает реестр за интимные места вроде HKEY_CURRENT_USEREnvironment, во-вторых, что логично, должен будет создать деинсталлятор (NSIS'ька обычно создает деинсталляторы в папке с приложением, но все же закладываться на это не стоит), — оно нам надо?
Читать полностью »

Концептуально фреймворк представляет собой набор поддерживаемых пользователем модулей реализующих различные функции робототехники. При работе Bubot строит сеть из процессов, которые могут асинхронно получать и отправлять сообщения между собой. Так же вы можете построить сеть из роботов, которые будут общаться между собой.

Bubot - Схема

Сеть процессов строится на базе стандартного Python модуля multiprocessing. Система обмена сообщениями и разделяемая память реализованы при помощи Redis.

Каждый Bubot имеет встроенный веб-сервер веб-сервер Tornado, который позволяет контролировать состояние, управлять роботом, на ходу менять параметры (калибровать) робота, а также закладывается возможность обмена данными между роботами.
Bubot не является системой реального времени, хотя Bubot возможно интегрировать с кодом реального времени.
Читать полностью »

На Хабре уже есть статьи о NoSQL СУБД Tarantool и о том, как его используют в Mail.Ru Group (и не только). Однако нет рецептов того, как работать с Tarantool на Python. В своей статье я хочу рассказать о том, как мы готовим Tarantool Python в своих проектах, какие проблемы и сложности при этом возникают, плюсы, минусы, подводные камни и, конечно же, «в чем фишка». Итак, обо всем по порядку.

Асинхронная работа с Tarantool на Python - 1

Tarantool представляет собой Application Server для Lua. Он умеет хранить данные на диске, обеспечивает быстрый доступ к ним. Tarantool используется в задачах с большими потоками данных в единицу времени. Если говорить о цифрах, то это десятки и сотни тысяч операций в секунду. Например, в одном из моих проектов генерируется более 80 000 запросов в секунду (выборка, вставка, обновление, удаление), при этом нагрузка равномерно распределяется по 4 серверам с 12 инстансами Tarantool. Не все современные СУБД готовы работать с такими нагрузками. Кроме того, при таком количестве данных, очень дорого ожидание выполнения запроса, поэтому сами программы должны быстро переключаться от одной задачи к другой. Для эффективной и равномерной загрузки CPU сервера (всех его ядер) как раз нужен Tarantool и асинхронные приемы в программировании.
Читать полностью »

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

Согласно требованиям безопасности, да и просто здравой логике, любые мало-мальски важные данные нужно прятать под матрас шифровать, а пренебрежительное отношение, как показывает практика, касательно приватности данных приводит пусть и не к самым суровым репрессиям, но все же последствиям весьма неприятным; это — простительно рядовым пользователям, но никак не системным администраторам, программистам и уж тем более специалистам с именем — как ни как на кону репутация.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js