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

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

     18.09.2018       Выпуск 248 (17.09.2018 - 23.09.2018)       Статьи

Задача с небоскрёбом и яйцами — не бином Ньютона?

Осваиваю питон, решаю всякое на Codewars. Сталкиваюсь с известной задачей про небоскрёб и яйца. Разница лишь в том, что исходные данные — не 100 этажей и 2 яйца, а чуть побольше.
Дано: N яиц, M попыток их бросить, бесконечный небоскрёб.

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

0 <= N, M <= 20000.
Время прогона двух десятков тестов — 12 секунд.

     14.09.2018       Выпуск 247 (10.09.2018 - 16.09.2018)       Статьи

Диаризация на основе модели GMM-UBM и алгоритма MAP adaptation

Я бы хотел рассказать об одном из подходов в решении задачи диаризации дикторов и показать, как этот метод можно реализовать на языке python. Чтобы не отпугивать читателя, я не буду приводить сложные математические формулы (отчасти потому что я и сам «не настоящий сварщик»), а постараюсь изложить всё простым языком и рассказать всё так, чтобы понял разработчик, никогда прежде не сталкивавшийся с машинным обучением

     14.09.2018       Выпуск 247 (10.09.2018 - 16.09.2018)       Статьи

Настраиваем Web Push Notifications использованием pywebpush шаг за шагом

Когда передо мной поставили задачу сделать черновой вариант push notifications, быстрый поиск показал, что на хабре уже есть много статей по настройке push notifications. Вот наиболее, на мой взгляд, годные:

Как работает JS: веб push-уведомления
Web PUSH Notifications быстро и просто924/
Service Workers. Web Push и где они обитают

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

Настройка уведомлений в итоге заняла три дня и мне кажется, что это несколько многовато. Надеюсь, моя статья поможет кому-то настроить push notifications за три часа вместо трех дней.
Проект, на котором я работаю, реализован на Django и описывать ход работы я буду применительно к этому фреймворку, но желающие легко адаптируют его к Flask или чему-либо еще.

Итак, погнали.

     13.09.2018       Выпуск 247 (10.09.2018 - 16.09.2018)       Статьи

Подкасты о Python на русском, английском и испанском

Запрос “Алиса, что послушать о Python”, заданный Гуглу, скорее всего приведет вас в ступор, на статьи многолетней давности, которые не очень актуальны, либо на давно закрытые темы, которые просто нельзя (или некому) обновить.

Так и родилась идея сделать список тематических аудио-видео-кастов и постараться поддерживать его в актуальном виде. Хотя бы год. Если вы читаете это в 2020-м, тоже стучитесь в личку или пишите о своем подкасте в комментарии — добавим.

     12.09.2018       Выпуск 247 (10.09.2018 - 16.09.2018)       Статьи

Python частично отказывается от терминов master/slave

Политкорректность учитывается даже в языках программирования. На прошлой неделе Python-разработчик Виктор Стиннер (Victor Stinner) из Red Hat прислал четыре пул-реквеста на переименование потенциально оскорбительных терминов master/slave (хозяин/раб) в документации и коде Python. Автор предложил заменить их социально нейтральными словами, не оскорбляющими людей, чьи предки были настоящими рабами. В качестве возможной альтернативы есть термины parent/worker.

     11.09.2018       Выпуск 247 (10.09.2018 - 16.09.2018)       Статьи

Интересности и полезности python. Часть 3

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

     10.09.2018       Выпуск 247 (10.09.2018 - 16.09.2018)       Статьи
     07.09.2018       Выпуск 246 (03.09.2018 - 09.09.2018)       Статьи

Изучаем климат городов России с помощью Python

На Python можно работать с данными и визуализировать их. Пользуются этим не только программисты, но и ученые: биологи, физики, социологи. Сегодня мы вместе с shwars, куратором нашего курса Python jumpstart for AI, ненадолго превратимся в метеорологов и изучим климат городов России. Из библиотек для визуализации и работы с данными используем Pandas, Matplotlib и Bokeh.

     05.09.2018       Выпуск 246 (03.09.2018 - 09.09.2018)       Статьи

Интересности и полезности python. Часть 2

В предыдущей статье мы рассмотрели несколько интересных моментов языка python, разумеется, одной статьёй они не исчерпываются, поэтому продолжим.

     01.09.2018       Выпуск 245 (27.08.2018 - 02.09.2018)       Статьи

Интересности и полезности python

Я уже несколько лет программирую на python, однако, недавно осознал, что множество полезных приёмов и интересных моментов прошли мимо меня, возможно, я не один такой, поэтому решил перечислить их здесь, надеюсь, данные приёмы пригодятся кому-то в работе или побудят познакомиться с этим языком поближе.

     31.08.2018       Выпуск 245 (27.08.2018 - 02.09.2018)       Статьи

ELK Stack для хранения логов Django приложения

Каждый из проектов, который перерастает этап прототипа, нуждается в организации логирования. Грамотное логирования решает уйму проблем и помогает понять состояние проекта. На начальном этапе логирование в файл меня устраивало пока проект не разросся и поиск по логам не начал отнимать время.

 

Решением было создание централизованного лог хранилища с агрегацией логов и поиском. Выбор пал на ELK стек. ELK — сочетание трех OpenSource проектов: ElasticSearch, Logstash и Kibana. ELK хранит логи, строит графики и есть поддержка полнотекстового поиска с фильтрами. В статье описывается процесс настройки ELK стека для хранения логов Django приложения.

     29.08.2018       Выпуск 245 (27.08.2018 - 02.09.2018)       Статьи

Песочница и шпаргалка по изучению Python

Изучать Python3 я начал с документации на официальном сайте. Мне понравились примеры кода, но, к сожалению, они были там не интерактивными. Хотелось попробовать выполнить код самостоятельно, с разными входными данными и посмотреть на выводимый результат. Так же мне лично легче запоминаются конструкции языка, если я их набрал несколько раз вручную. Python консоль для этого подходит отлично, но хотелось так же иметь своего рода шпаргалку, к которой можно было бы вернуться при написании программ в дальнейшем, если, например, возникнет вопрос, как в Python-е написать цикл for и т.п. И последней каплей стало желание автоматической проверки стиля написания кода в соответствии с существующими стандартами. Читать и вникать в них было лень, поэтому хотелось чтобы проверка кода была автоматической и подсказывала какие ошибки я делаю и как их исправить.

     29.08.2018       Выпуск 245 (27.08.2018 - 02.09.2018)       Статьи

Асинхронный Python: различные формы конкурентности

С появлением Python 3 довольно много шума об “асинхронности” и “параллелизме”, можно полагать, что Python недавно представил эти возможности/концепции. Но это не так. Мы много раз использовали эти операции. Кроме того, новички могут подумать, что asyncio является единственным или лучшим способом воссоздать и использовать асинхронные/параллельные операции. В этой статье мы рассмотрим различные способы достижения параллелизма, их преимущества и недостатки.

     29.08.2018       Выпуск 245 (27.08.2018 - 02.09.2018)       Статьи

Как Microsoft забыла про полмира или читайте сообщения об ошибках

Нет, это статья не про то, какой огромный и злобный монстр компания Microsoft. И как она опять обижает пользователей. А про то, как исправить досадный изъян, появившийся с последним, августовским обновлением Power BI Desktop c включённой поддержкой Python, а именно проблемы с визуализацией в локализованных версиях PBI, в частности matplotlib.

     29.08.2018       Выпуск 245 (27.08.2018 - 02.09.2018)       Статьи

Бинарные модули для Python

Python — классный. Мы говорим «pip install» и скорее всего нужная библиотека поставится. Но иногда ответ будет: «compilation failed», потому что есть бинарные модули. Они практически у всех современных языков страдают какой-нибудь болью, потому что архитектур много, что-то нужно собирать под конкретную машину, что-то нужно линковать с другими библиотеками. В целом интересный, но малоизученные вопрос: а как же их делать и какие там проблемы? На этот вопрос постарался ответить Дмитрий Жильцов (zaabjuda) на MoscowPython Conf в прошлом году.

     27.08.2018       Выпуск 245 (27.08.2018 - 02.09.2018)       Статьи

Python сделал доступным программирование для широкой аудитории

В Декабре 1989 года Гвидо ван Россум, голландский специалист в области информатики, запланировал для себя некий проект на рождественские каникулы. Уставший от недостатков в других языках программирования он пожелал создать собственный. Его принципы были просты. Во-первых, он должен был быть простым для прочтения. Вместо того, чтобы растягиваться по окончаниям строк и быть разбитым путаницей фигурных скобок, каждый кусок кода был бы окружен отступами с пробелами. Во-вторых, он должен был позволять пользователям создавать свои собственные пакеты специальных модулей кодирования, которые затем могли быть доступны другим для создания основы для новых программ. В-третьих, он хотел «короткое, уникальное и слегка загадочное» имя, поэтому он был назван Monty Python, в честь британской комедийной группы. Репозиторий пакетов стал известен как Cheese Shop (Сырный магазин).

     27.08.2018       Выпуск 245 (27.08.2018 - 02.09.2018)       Статьи

[Перевод] Поддержка Python в Power BI

Мы рады сообщить, что Python, язык программирования, широко используемый статистиками, учеными и аналитиками, теперь интегрирован в наш open-source Power BI Desktop. После включения функции в настройках вы cможете использовать Python для очистки, анализа и визуализации данных. Подробнее под катом!
 

     24.08.2018       Выпуск 244 (20.08.2018 - 26.08.2018)       Статьи

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

Сейчас все очень много говорят про искусственный интеллект и его применение во всех сферах работы компании. Однако есть некоторые области, где еще с давних времён главенствует один вид модели, так называемый «белый ящик» — логистическая регрессия. Одна из таких областей – банковский кредитный скоринг.

     24.08.2018       Выпуск 244 (20.08.2018 - 26.08.2018)       Статьи

Разбираем и просматриваем квалифицированные сертификаты средствами Python/Tkinter

Квалифицированные сертификаты быстро стали неотъемлемой частью повседневной жизни. И все больше людей хотят увидеть этого «зверя» изнутри. Это с одной стороны. А с другой стороны разрабатывается все больше приложений, в которых задействуется информация иэ этих сертификатов. И это не только атрибуты ИНН или ОГРН владельца или издателя сертификата. Это может быть и информация о том какой криптопровайдер использован владельцем сертификата (атрибут subjectSignTool) для генерации закрытого ключа или на базе каких сертифицированных средств создан удостоверяющий центр (УЦ), выпустивший тот или иной сертификат. И если написать программку, которая будет анализировать выпускаемые сертификаты, то можно будут собрать интересную статистику по тому какие СКЗИ используют владельцы сертификатов и на базе каких (правда это менее интересно) сертифицированных (или несертифицированных) средств развернуты УЦ (атрибут issuerSignTools):