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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     03.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Действительно ли Python GIL уже мертв?

В далеком 2003 году Intel выпустил новый процессор Pentium 4 “HT”. Этот процессор разгонялся до 3ГГц и поддерживал технологию гиперпоточности.

Помимо выпуска многоядерных процессоров для широкой пользовательской аудитории в 2006 году произошло кое-что еще. Python 2.5 наконец увидел свет! Он поставлялся уже с бета версией ключевого слова with, которое вы все знаете и любите.
 

     03.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Распознавание источников освещения на картах окружения

В этой статье представлена реализация на Python алгоритма распознавания источников освещения на картах окружения (LDR или HDR) при помощи равнопромежуточной проекции (equirectangular projection). Однако после внесения незначительных изменений её также можно использовать с простыми фоновыми изображениями или кубическими картами. Примеры возможного применения алгоритма: программы трассировки лучей, в которых требуется распознавать первичные источники освещения для испускания из них лучей; в растеризованных рендерерах он может применяться для отбрасывания теней, использующих карту окружения; кроме того, алгоритм также можно применять в программах устранения засветов, например в AR.

     02.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Python + Pyside2 или просто «Калькулятор»

Я захотел написать десктопное приложение, аля простой «Калькулятор». Мой выбор пал на Pyside2. Я не претендую на идеальный код или урок. Просто есть желание поделиться опытом, если кто-то, как и я, хочет начать шарить в Python. Если кому-то помогу — результата я достиг.

     02.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Достать worklog из Jira

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

     02.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Data Science Digest (July 2019)

Лето в полном разгаре, и если вы планируете быть в Одессе 5-го июля, приглашаю вас на ODS митап и дата-бар, который организовывает одесская ODS.ai команда. Напоминаю, что у дайджеста есть свой Telegram-канал и страницы в соцсетях (Facebook, Twitter, LinkedIn, Medium), где я ежедневно публикую ссылки на полезные материалы. Присоединяйтесь!

     02.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Видео

Moscow Python Podcast. Как будут ломать ваше веб-приложение (level: junior+)

Спецвыпуск с Positive Hack Days! Гости у Moscow Python Podcast на сей раз тоже необычные — всамделишные, но сугубо «белые» хакеры: Ярослав и Анатолий из Positive Technologies. Вместе с ними мы вникаем в особенности работы white hat хакеров, в логику действий взломщиков, находящихся на светлой стороне силы, в специфику хака веб-приложений, а также в отдельные потенциальные уязвимости в технологическом стеке вокруг Python.

     01.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Объединение нескольких пакетов в одно пространство имен Python

Иногда возникает необходимость разделить несколько пакетов, лежащих в одном пространстве имен по разным физическим путям. Например, если вы хотите иметь возможность передавать разную компоновку плагинов, имея возможность в последствии добавлять их, не контролируя их расположение, и, при этом, обращаться к ним через один namespace.

Эта шпаргалка, которая подойдет скорее для новичков, посвящена пространствам имен Python.

Давайте рассмотрим, как это можно сделать в разных версиях Python, так как хотя Python2 и перестает скоро поддерживаться, многие из нас как раз сейчас меж двух огней, и это как раз один из важных нюансов при переходе.

     01.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Математическая модель радиотелескопа со сверхдлинной базой

Одним из первых радиотелескоп построил американец Грот Рёбер в 1937 году. Радиотелескоп представлял собой жестяное зеркало диаметром 9.5 м, установленное на деревянной раме

     01.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Видео

Большая О: как замедляется код с увеличением объёма данных

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

     01.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Таблица умножения в одну строку

На картинке вы видите обычную таблицу умножения, которая, думаю, всем хорошо знакома.
Ничего особенного в ней нет, кроме того, что весь алгоритм ее построения сжат до одной стандартной Python’овской строки в 79 символов (см. PEP8). Кому интересно добро пожаловать под кат.

     01.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Нейросети и глубокое обучение: онлайн-учебник, глава 2

В прошлой главе мы видели, как нейросети могут самостоятельно обучаться весам и смещениям с использованием алгоритма градиентного спуска. Однако в нашем объяснении имелся пробел: мы не обсуждали подсчёт градиента функции стоимости. А это приличный пробел! В этой главе я расскажу быстрый алгоритм для вычисления подобных градиентов, известный, как обратное распространение.

     01.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Python в Visual Studio Code — июньский релиз

Мы рады сообщить, что расширение Python для Visual Studio Code от июня 2019 года уже доступно. Вы можете загрузить расширение Python из Marketplaceили установить его прямо из галереи расширений в Visual Studio Code. Если у вас уже установлено расширение Python, вы также можете получить последнее обновление, просто перезапустив Visual Studio Code. Узнать больше о поддержке Python в Visual Studio Code можно в документации.

В этом выпуске мы внесли улучшения, которые перечислены в нашем журнале изменений, решив в общей сложности 70 проблем, включая связанные со средством просмотра графиков с окном Python Interactive и параллельными тестами с pytest. Обо всех изменениях читайте под катом.

     30.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

Создаём нейронную сеть, предсказывающую рак груди за пять минут

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

 

  • Установленный Python;
  • Как минимум начальный уровень программирования;
  • Пять минут свободного времени.
Мы пропустим много деталей работы нейронной сети, не будем углубляться в теоретическую часть, а сфокусируемся на предсказании рака за 5 минут.

     30.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи
     28.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

На пути к ядру Питона

Представляю вашему вниманию перевод статьи Toward a “Kernel Python” автора Glyph Lefkowitz (создателя фреймворка Twisted).

     27.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

Что я узнал про оптимизацию в Python

Я использовал Python чаще, чем любой другой язык программирования в последние 4-5 лет. Python – преобладающий язык для билдов под Firefox, тестирования и инструмента CI. Mercurial также в основном написан на Python. Множество своих сторонних проектов я тоже писал на нем.

Во время своей работы я получил немного знаний о производительности Python и о его средствах оптимизации. В этой статье мне хотелось бы поделиться этими знаниями.

     27.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

Мелкая питонячая радость #5: Dynaconf — управление настройками в проекте

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

     25.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Видео

Вся мощь в JWT, JWS, JSS JWS, JWA, JWK and JWE и зачем они нужны​

Про тонкости, расширенные возможности, про цепочки подписей x.509, как можно организовать свои цепочки подписей. Ну и в общем, как устроить защищённое общение между своими/сторонними сервисами по стандартам RFC. Ну и конечно, как это все использовать на Python

     25.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Видео

Решение проблемы консистентности распределенных данных в микросервисах для Python-проектов

Сталкивались ли вы с проблемой: как быть с разделяемыми данными для приложения с микросервисной архитектурой? Как держать их в консистентом состоянии? Как сделать так, чтобы API для работы с этими данными не тормозили? Расскажу, какой подход мы выбрали в рамках нашего продукта и почему

     25.06.2019       Выпуск 288 (24.06.2019 - 30.06.2019)       Статьи

Реализация целого типа в CPython

Казалось бы, что можно написать про обычный целочисленный тип? Однако тут не всё так просто и целочисленный тип не такой уж и очевидный.

Если вам интересно, почему x * 2 быстрее x << 1.