IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте нас в Telegram

     05.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Статьи

Используем свой спам-фильтр в реальной жизни

В предыдущей статье автора описан путь создания своего spam-фильтра. В этой рассказывается об опыте использования разработки

     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Статьи
     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Новости

Scrapy теперь поддерживает Python3 (первый RC)

Спустя несколько месяцев тяжелой работы мы представляет версию Scrapy 1.1.0rc1, которая поддерживает Python3.

Еще не все готово, но проделано много работы

     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Колонка автора

Python для ARM. Мигание светодиода. Часть 1

В продолжение статьи про одноплатные компьютеры мы приступим к их рассмотрению и работы с ними более детально (примеры будут показаны на платах Raspberry Pi (RPi), OrangePi и PcDuino). Начнем с управления светодиодом. В этом и дальнейших материалах будут использоваться за основу давно существующие материалы и будут использованы для создания наших проектов.

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

     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Статьи

Ускорение Python-скриптов без приложения умственных усилий

Одно из распространенных применений Python — небольшие скрипты для обработки данных (например, каких-нибудь логов). Мне часто приходилось заниматься такими задачами, скрипты обычно были написаны наспех. Вкупе с моим слабым знанием алгоритмов это приводило к тому, что код получался далеко не оптимальным. Это меня ничуть ни расстраивало: лишняя минута выполнения не сделает погоды.

Ситуация немного изменилась, когда объем данных для обработки вырос. И после того, как время выполнения очередного скрипта перевалило за сутки, я решил уделить немного времени оптимизации — все-таки хотелось бы получить результат до того, как он потеряет актуальность. В рамках этой статьи я не планирую говорить о профилировании, а затрону тему компиляции Python-кода. При этом обозначу условие: варианты оптимизации не должны быть требовательными к времени разработчика, а, напротив, быть дружественными к «пыщ-пыщ и в продакшен».

     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Интересные проекты, инструменты, библиотеки

pyandoc - Python обертка для Pandoc (универсальный конвертер документов)

На примере markdown

doc = pandoc.Document()
doc.markdown = '''
# I am an H1 Tag

* bullet point
* more points
* point with [link](http://kennethreitz.com)!
'''

     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Интересные проекты, инструменты, библиотеки

fontawesome-markdown - плагин для Markdown, который добавляет поддержку Font Awesome

>>> from markdown import Markdown
>>> from fontawesome_markdown import FontAwesomeExtension

>>> markdown = Markdown(extensions=[FontAwesomeExtension()]
>>> markdown.convert('i ♥ :fa-coffee:')
<p>i  <i class="fa fa-coffee"></i></p>

     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Колонка автора

Python уроки: исключения (exceptions)

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

Исключительные ситуации или исключения(exceptions) - это ошибки, обнаруженные при исполнении. Например, к чему приведет попытка чтения несуществующего файла? Или если файл был случайно удален пока программа работала? Такие ситуации обрабатываются при помощи исключений.

Если же Python не может понять, как обойти сложившуюся ситуацию, то ему не остается ничего кроме как поднять руки и сообщить, что обнаружил ошибку.

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

     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Колонка автора

Пишем простые проекты. Проект #1. Часть #2

Продолжаем писать проект "Страница со статистикой отжимания" с помощью flask + google chart's.

В этой части дополним шаблон javascript'ом, продумаем и реализуем сохранение/загрузки истории.

Ранее создан базовый проект flask и html файл с текстом Hiiii.

     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Колонка автора

httpbin - инструмент для тестирования HTTP библиотек и кусков кода

При разработке http библиотек периодически возникает необходимость обработки граничных, да и не только граничных, условий:

  • Как происходит обработки 404-ошибки.
  • Если это чат - то как отображаются картинки, текст
  • Как происходит обработка различных кодировок
  • Если прокси, то как убедиться в анонимности прокси-сервера(т.е. http-заголовок не содержит вашего реального IP)

Общее в этих примерах механизм - из своего кода вы посылаете запрос и ожидаете четкий ответ. Если чат и ожидаете картинку - то в ответе должно быть изображение.

И к счастью, реализация подобного механизма уже есть - httpbin.

     05.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Релизы

scrapy - 1.0.5

Гибкий фреймворк для написания web-пауков (парсеров). Изменения описаны по ссылке https://allmychanges.com/p/python/scrapy/#1.0.5. Скачать можно по ссылке: https://pypi.python.org/pypi/Scrapy

     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Учебные материалы

Подборка: Более 70 источников по машинному обучению для начинающих

В нашем блоге мы уже рассказывали о разработке системы квантовой связи и о том, как из простых студентов готовят продвинутых программистов. Сегодня мы решили вернуться к теме машинного обучения и привести адаптированную (источник) подборку полезных материалов.

Это список предназначен для тех, кто только начинает изучать тему машинного обучения, например, с использованием Python (если вы хотите начать учить Python, вам в помощь эта статья).

Машинное обучение – это лишь одна из математических дисциплин, связанных с понятием «данные». Чтобы разобраться в том, что такое аналитика данных, анализ данных, наука о данных, машинное обучение и большие данные, прочитайте этот материал.

     05.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Релизы

aiohttp - 0.21.0

http клиент/сервер для asyncio. Изменения описаны по ссылке https://allmychanges.com/p/python/aiohttp/#0.21.0. Скачать можно по ссылке: https://pypi.python.org/pypi/aiohttp/

     03.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Интересные проекты, инструменты, библиотеки

kitty - фреймворк для фазинга (Fuzzing) написанный на Python

Fuzzing - это процесс тестирования кода на основе максимально случайных данных (в том числе корректных и некорректных)