Собрали в одном месте самые важные ссылки
читайте авторский блог
Не редко возникает задача убрать лишние пробелы с начала/конца строки. Например
a = 'Доброе утро, Иван'
message, name = a.split(',')
print(name)
> ' Иван' # (лишний пробел сначала строки)
Видео со свежего Moscow Python митапа. В python 3.4 появился asyncio. До сих пор многие разработчики не знают, что это такое, как реализуется асинхронность в Python и в чем её сильные и слабые места. Повторим пройденное и заглянем под капот.
Оповещения - это зло для продуктивности, но без них тяжело. Сервер упал - как узнать об этом мгновенно? СМС, письмо на email, оповещение на рабочем столе.
К сожалению, без Qt, Wx и других фреймворков кроссплатформенные оповещения не сделать. Поэтому рассмотрим только Linux. Для linux есть библиотека libnotify и обязка для нее python-notify
Gitter - это система для создания чатов для пользователей Github. Чаты бесплатны, есть интеграция с Github, есть API - что еще для небольшого чата надо?
Сегодня мы научимся писать в чат с помощью API. В заголовке отметил, что будем писать от своего лица, поэтому будет все просто.
PIL - мощная библиотека для работы с изображениями. С помощью этой библиотеки можно выделять необходимые части картинок, конвертировать между форматами, рисовать, накладывать слои.
В качестве наложения слоев хочется привести удачно позаимствованный пример наложения водяного знака на изображение
Не секрет, что Python (CPython) - динамически типизируемый язык (все типы выясняются во время выполнения программы). Это как дар так и проклятие. С одной стороны - можно быстрее писать программы, с другой - тяжелее найти ошибки. При этом, если была бы статическая типизация - уже на этапе компиляции мы знали бы где мы затупили с типами.
В русскоязычном Python Андрей Власовских из Jetbrains наиболее часто говорит об этой концепции. Представляю сборку материалов от этого докладчика:
Хочется поделиться ссылкой на статью - https://zxmd.wordpress.com/2013/05/23/django_signals/
Что такое сигнал в Django Framework ?
На бытовом уровне это система (диспетчер сигналов) которая обрабатывает некоторые виды событий которые генерирует система. По сути система сигналов разделяется на два компонента:
sender — компонент посылающий сигнал;
receiver — компонент отвечающий за обработку сигнала. ...
Python поддерживает интересный синтаксис, позволяющий определять небольшие однострочные функции на лету. Позаимствованные из Lisp, так называемые lambda-функции могут быть использованы везде, где требуется функция.
Сейчас редкий проект обходится без базы данных. Это может быть реляционная БД, или NoSQL, да может просто текстовые файлы. И каждый раз возникает необходимость посмотреть данные в ней, а иногда и другим показать.
Bokeh- это библиотека для интерактивной визуализации адаптированная под отображение в браузере. В этом и суть этой библиотеки.
boher имеет биндинги к самым различным языкам - R, Lua, Python, Julia. Вы пишите код визуализации на своем языке, а затем с помощью BokehJS отображаете в браузере. Возможности у инструмента огромные, прям как D3.js
При написании софта для кого-то, а не только для себя, необходимо учитывать специфику рабочего окружения.
Например, у разработчика стоит Linux, а у пользователя Windows. Или даже если у обоих стоит одна ОС, то на одном ПК может стоять необходимый модуль, а на другом нет. Все это накладывает отпечаток. Python со стандартной библиотекой предоставляет необходимый инструментарий для разрешения многих проблем.
Webhook — механизм получения уведомлений об определённых событиях (в основном о действиях пользователей) на свой собственный сайт. В момент срабатывания события - бросается запрос (чаще всего POST) на указанный URL.
Например, разновидность Webhook - GitHook - отслеживает статус Git-репозитория на предмет изменений - пришел коммит на определенную ветку, проставили тэг и другое.
Задача #001 - псевдо-настоящих данных о пользователе.
Описание:
Запускается сайт знакомств - http://super-dating-site.com/ и чтобы повысить привлекательность среди новых пользователей необходимо заполнить сайт пользователями.....
Jinja — это шаблонизатор для языка программирования Python. Он подобен шаблонизатору Django, но предоставляет Python-ические выражения, обеспечивая исполнение шаблонов в песочнице. Это текстовый язык шаблонов и, таким образом, может быть использован для создания какой-либо разметки, а также исходного кода. Шаблонизатор Jinja позволяет настраивать теги, фильтры, тесты и глобальные переменные. Также, в отличие от шаблонизатора Django, Jinja позволяет конструктору шаблонов вызывать функции с аргументами на объектах.
При разработке сколько-либо сложного django-проекта необходимо из раза в раз писать одинаковые куски кода - разграничивать доступ к контенту.
Например. чтобы только администратор в меню сайта видел ссылку на "админку", или чтобы модератор имел какую-то внутреннюю страницу, которая не доступна простому пользователю.
В случае с уровнем доступа, с авторизацией и прочими типовыми задачами есть набор готовых миксин - django-braces.
Django-braces позволяет в пару copy-paste сделать авторизацию, регистрацию пользователя, вернуть ответ view'хи в виде JSON, работать с SSL- эти и многие другие куски кода можно взять в этом модуле.
Для работы с С-библиотеками есть несколько способов:
- Писать программу на С/C++ и подключать DLL (.so) файлы
- Попытаться напрямую запустить C код из нужного языка.
Перед тем как продолжить - зачем нужно запускать C/C++ код?
Все просто - например, работаем с железом, а значит и с драйверами (а их пишут на C). Вот здесь и появляется необходимость взаимодействовать с С кодом.
Работа с API сервисов это всегда история по типу "Ожидание...реальность". Ибо даже простое API может скушать день, а то и 2 дня рабочего времени.
API Вконтакте не исключение. Уже есть очень много материалов на тему использования этого интерфейса
И из раз в раз гугл мучается от запросов "Vk.com api". Пользователи ищут примеры авторизация, документацию, примеры использования. Поэтому я приведу один из вариантов старта в API Вконтакте, а именно. Мы отправим hello world другу.
Одноплатный компьютер представляет собой компьютер, собранный на одной печатной плате с набором необходимых компонентов для полноценной работы (микропроцессор, оперативная память, системы ввода-вывода и другие модули, необходимые для функционирования компьютера).
Одноплатные компьютеры хорошо подходят для решения типовых задач, таких как:
- Медиа-центр для LCD-телевизора с поддержкой торрентов и видео из социальных сетей;
- Устройство для сбора данных датчиков по Ethernet;
- Выделенный веб-сервер, FTP или VPN-сервера;
- Сервер управления «умным домом»;
- Охранную систему с распознаванием лиц;
- Робота с компьютерным зрением;
- Недорогой бюджетный образовательный компьютер;
Осторожно, МАТАН!!!
По-простому, преобразование Фурье — разложение некоторого сигнала на гармонические (синусы или косинусы) колебания (спектр).
Если вы осознанно употребляете слово "частота", вы уже хотя бы интуитивно представляете, что такое преобразование Фурье. Даже в наших ушах есть хардверный анализатор Фурье (улитка) (а также продвинутые драйвера в мозгу), благодаря которому мы различаем голоса, ноты, тембры...
Возможно, вы видели доклад Антона Патрушева про оптимизацию Python — вплоть до отключения Garbage Collector. Это свежий доклад (PyCon RU 2015) и в нём вы найдете развитие идей оптимизации Python