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

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

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Вопросы и обсуждения
     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Rust глазами Python-разработчика

Чуть больше года назад перед нами встала задача написать еще одно большое приложение – API к основному хранилищу новостей, и мы сделали это на Rust. В статье мы расскажем о том, что заставило нас отойти от привычного стека технологий, и покажем, какие плюсы по сравнению с Python есть у Rust. Мы не ответим на вопрос, почему выбор пал именно на Rust, а не Go, например, или на какой-либо другой язык. Также мы не будем сравнивать производительность Python- и Rust-приложений – эти темы достойны отдельного обсуждения.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Прогнозирование обводнённости скважин с помощью методов машинного обучения

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

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Статистика в кармане: Портативная СУБД с базой Росстата для исследователей и не только

Возможно, глядя на этот старый советский плакат, вы подумаете, что я здесь буду агитировать сознательных граждан России участвовать в переписи населения… Но спешу вас разуверить: статья вовсе не об этом. Скорее это рассказ о том, какая официальная статистика собирается в России, где ее искать и как скачать все данные к себе на компьютер или портативное устройство (отсюда и название) и удобно ей пользоваться. Если вам это интересно, читайте дальше!

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Неблокирующие ошибки метода assert в Pytest-check

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

Какой бы подход вы ни выбрали, я думаю, можно с уверенностью сказать, что тесты должны оставаться ясными, краткими, читаемыми и, конечно же, их должно быть просто поддерживать. Лично у меня не возникает проблем с несколькими assert-ами в одном тесте, поскольку я фокусируюсь на одной функциональной области.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Мы скачали 10 миллионов Jupyter-ноутбуков с Github — и вот что мы выяснили

На связи команда Datalore by JetBrains. Хотим поделиться с вами результатами анализа нескольких миллионов публично доступных репозиториев Github с Jupyter-ноутбуками. Мы скачали ноутбуки, чтобы немного больше узнать в цифрах о текущем статусе, пожалуй, самого популярного инструмента для data science.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

3D ML. Часть 5: свертки на графах

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

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Мелкая питонячая радость #15: генераторы тестовых данных, профайлер и консольная база знаний

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

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Как я анализировал свои поездки на такси

Всякий раз, как я езжу на такси мне на почту приходит отчет о поездке с разной информацией. В частности, они содержат дату, время поездки, модель автомобиля и ФИО водителя. Меня посетила идея - проанализировать отчеты от яндекс такси и вытащить из них максимум интересной информации. Вам наверняка тоже всегда было интересно сколько раз вы ездили на одной и той же машине или сколько раз вас возил один и тот же водитель?

Задача, которая здесь описана может быть хорошим упражнением для начинающих аналитиков. Тут будет всё: и python c pandas и парсинг HTML и регулярные выражегия и базы данных c SQL.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Как пропускать и одновременно присутствовать на лекции или «за меня учится Python бот»

Я имею самый обычный рабочий график: 5/2, 8ч/день. В настоящий момент удаленно учусь в аспирантуре (коронавирус, все дела) и единственный день, когда я могу вдоволь почувствовать себя человеком-соседом и поделать что-то по дому, – это суббота. Как вы понимаете, здесь что-то пошло не так и вместо обещанных будничных пар, которые должны были проходить по вечерам после работы, нам утрамбовали всю субботу. Но дела ведь себя не переделают, поэтому решено было написать на python простого бота-кликера

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Ящики, усы и скрипки

Очень часто данные необходимо сравнивать. Например, у нас есть несколько рядов данных из какой-то области деятельности человека (промышленности, медицины, государственного управления, …), и мы хотим сравнить, насколько они похожи или, наоборот, чем одни показатели выделяются по сравнению с другими. Для простоты восприятия возьмем данные более простые, универсальные и нейтральные — высоту в холке и вес нескольких пород собак по сведениям Американского клуба собаководства (American Kennel Club). Данные по размерам пород в среднем можно найти здесь. Прибавим к ним функцию random.uniform из Python-библиотеки numpy, переведем дюймы в сантиметры, а фунты в килограммы, и вот мы получаем реалистично выглядящий набор данных по размерам собак нескольких пород, с которым можно работать. В нашем примере это чихуахуа, бигли, ротвейлеры и английские сеттеры.

     21.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Классические задачи Computer Science на языке Python. Обзор книги

Одной из самых интересных наших книг по Python в течение уходящего года оставались "Классические задачи Computer Science на языке Python" от Дэвида Копеца.

     16.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи

Vault+Pydantic: продолжение саги, локальная разработка

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

     15.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи

Микросервисы на монолите

Скажу сразу, эта статья не про очередное переписывание монолита на микросервисы, а о применении микросервисных практик в рамках существующего проекта с использованием интересных, как мне кажется, подходов. Наверное, уже нет смысла объяснять, почему многие проекты активно используют микросервисную архитектуру. Сегодня в IT возможности таких инструментов как Docker, Kubernetes, Service Mesh и прочих сильно меняют наше представление об архитектуре современного приложения, вынуждая пересматривать подходы и переписывать целые проекты на микросервисы. Но так ли это необходимо для всех частей проекта? 

     15.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи

О первоклашках, дистанционке и асинхронном программировании

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

     15.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи

PAGERANK: алгоритм ранжирования WEB-страниц

Итак, рассмотрим ориентированный взвешенный граф. Пусть у графа n вершин. Каждой паре вершин соответствует некоторый вес (вероятность перехода). Стоит отметить, что типичные web-графы – это однородная дискретная марковская цепь, для которой выполняется условие неразложимости и условие апериодичности. Запишем уравнение Колмогорова-Чэпмена: где P – переходная матрица.

     15.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи