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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     27.07.2018       Выпуск 240 (23.07.2018 - 29.07.2018)       Статьи

[Перевод] Аналоги в Python и JavaScript. Часть третья

В прошлых выпусках мы опирались на синтаксис классических версий Питона (2.7) и JS на основе ECMAScript 5. В этот раз мы будем использовать новые функции которые появились в Питоне 3.6 и JS стандарта ECMAScript 6.

 

ECMAScript 6 — относительно новый стандарт поддерживаемый большинством современных браузеров. Для использования стандарта 6 в старых браузерах вам понадобиться Babel для перевода современных конструкций JS6 на кросс-браузерную поддержку.

В сегодняшней статье: переменные в строках, распаковка списков, лямбда-функции, итерирование без индексов, генераторы и множества (sets).

     26.07.2018       Выпуск 240 (23.07.2018 - 29.07.2018)       Статьи

Получаем случайное число с random.org

Разбираемся, как работать с HTTP API без дополнительных библиотек на Python

     26.07.2018       Выпуск 240 (23.07.2018 - 29.07.2018)       Статьи

[Перевод] Сколько объектов выделяет Python, выполняя скрипты?

Некоторые Python программисты сильно удивляются, когда узнают сколько временных объектов интерпретатор питона выделяет во время работы простого скрипта.

CPython позволяет получить статистику по выделяемым объектам, для этого его нужно скомпилировать с дополнительными флагами.

     26.07.2018       Выпуск 240 (23.07.2018 - 29.07.2018)       Видео

Ваш вклад в сообщество Python

Если вы хотите принести пользу сообществу, но не знаете, как это сделать, или с чего начать, приходите послушать — в этом выступлении я опишу несколько направлений, по которым можно следовать. Вы узнаете, о том, что сообществу можно помочь не только делом, но и словом. О том, что не обязательно быть семи пядей во лбу, чтобы участвовать. И о многом другом. Добро пожаловать!

     25.07.2018       Выпуск 240 (23.07.2018 - 29.07.2018)       Статьи

Получаем данные со счетчиков Меркурий 203.2Т по RS-485

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

     25.07.2018       Выпуск 240 (23.07.2018 - 29.07.2018)       Конференции, события, встречи разработчиков

Moscow Python Conf++ принимает доклады

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

Предварительно определены такие секции:

- Язык Python и его экосистема.

- Инфраструктура (пакеты, Docker и Python, работа интерпретаторов, Garbage Collector, GIL и т.д.).

- Сетевые сервисы и веб разработка (фреймворки, HTTP/2, Web API, WebAssembly).

- Большие данные и машинное обучение.

- DevOps (Утилиты, использующие Python для DSL, автоматизация и оркестрация).

- Автоматизация тестирования.

- Работа с базами данных (PonyORM, Django ORM, SQLAlchemy, NoSQL, GraphQL).

Можно предлагать свои секции и темы вне секций. Подробная информация по формату подачи и сама фора на: https://conf.python.ru/2018/speakers

     25.07.2018       Выпуск 240 (23.07.2018 - 29.07.2018)       Видео

Мониторинг в Python проекте

Разработка новой функциональности не заканчивается на коммите в master, когда CI/CD/разработчик выкатит на Production... и там всё сломается. "Зеленые" тесты не гарантия работы Production. Следите за картиной в целом - как изменяются системные, технические, продуктовые метрики.

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

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

     25.07.2018       Выпуск 240 (23.07.2018 - 29.07.2018)       Статьи

ScadaPy: добавляем протокол IEC 60870-5-104

Добавление протокола iec-104 в scadapy, предоставляет дополнительные возможности для расширения системы, как в домашней автоматизации, так и для локального применения на малых предприятиях.

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

     23.07.2018       Выпуск 240 (23.07.2018 - 29.07.2018)       Учебные материалы

Открытый урок «Пишем свою библиотеку для работы с xlsx файлами»

Небольшой открытый урок в рамках курса «Web-разработчик на Python», на котором преподаватель курса Илья Лебедев рассказывал как устроен формат xlsx, как с ним работать без специализированных библиотек, вроде openpyxl и показал как разработать свою библиотеку для работы с этим форматом с нужным набором функций.

     22.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Оптимизации, используемые в Python: список и кортеж

В Python, есть два похожих типа — список (list) и кортеж (tuple). Самая известная разница между ними состоит в том, что кортежи неизменяемы.

     22.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Обновление Django с версии 1.9 до версии 2.0

Здравствуйте, сегодня я хотел бы вам рассказать о том, как обновить проект с версии 1.9 до 2.0. Какие основные нюансы нужно учесть и переписать, дабы проект стартовал на новой версии Django.

     21.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Как начать Django проект, который можно масштабировать Django

В статье создадим проект используя шаблонизатор cookiecutter-django, настроим статическую типизацию, добавим автоматическое форматирование кода с помощью black, создадим скрипт, который запускает тесты, проверяет правильность типов через линтер mypy и стиль кода через black. Напоследок добавим пре-коммит хук, который автоматически запускает скрипт с проверками перед каждым коммитом.

     20.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Всё что нужно знать о сборщике мусора в Python

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

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

     19.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

10 курсов по машинному обучению на лето

За последние десятилетия с помощью машинного обучения создали самоуправляемые автомобили, системы распознавание речи и эффективный поиск. Сейчас это одна из самых быстроразвивающихся и перспективных сфер на стыке компьютерных наук и статистики, которая активно используется в искусственном интеллекте и data science. Методы машинного обучения используются в науке, технике, медицине, ритейле, рекламе, генерации мультимедиа и других областях.

Команда Университета ИТМО собрала десять курсов по машинному обучению, которые можно успеть пройти до конца лета. Одним они помогут войти в профессию, а другим — углубиться в нее.

     19.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Разминка для тех, кто умеет в Python

Мы обожаем квизы, посвященные языкам программирования. В нашем блоге мы разместили уже целых три: первый — по Python, PHP, Golang, DevOps, второй — полностью по Go, третий — только по PHP. Сегодняшний квиз посвящен исключительно Python.

 

Предлагаем вам размяться в честь конца ещё одной летней недели и в преддверии PyCon Russia 2018. (Кстати, кто едет? Мы там будем).

Под катом — семь вопросов, советы от друга, Чапаев, отрывки из ABBA (что? да!) и крутой мерч.

     18.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Аналоги в Python и JavaScript. Часть вторая

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

     17.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Вы и Брэд Питт похожи на 99%

Мы в отделе аналитики онлайн-кинотеатра Okko (Мама, привет, я теперь работаю на Rambler) любим как можно сильнее автоматизировать подсчёты сборов фильмов Александра Невского, а в освободившееся время учиться новому и реализовывать классные штуки, которые почему-то обычно выливаются в ботов для Телеграма. К примеру, перед началом чемпионата мира по футболу 2018 мы выкатили в рабочий чат бота, который собирал ставки на распределение итоговых мест, а после финала подсчитал результаты по заранее придуманной метрике и определил победителей. Хорватию в четвёрку не поставил никто.

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

     16.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи
     16.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Реализация голосового справочника на базе YandexSpeechKit

На просторах интернета представлены различные реализации, но, на мой взгляд, все они достаточно простые. Хочу представить свой вариант голосового справочника под астериск.

     16.07.2018       Выпуск 239 (16.07.2018 - 22.07.2018)       Статьи

Django. Как добавить аутентификацию через социальные сети. Google+

Это второй шаг по поддержке аутентификации через социальные сети на моём сайте, который написан на Django. И хочу поделиться тем, как это делаю. На этот раз для Google+.