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

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

     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 – переходная матрица.

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

Немного про трекинг и сервис переходов Admitad

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

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

Влияние вида импорта на скорость исполнения кода

Вспомним, на что и как, кроме читаемости, влияет вид импорта.

     12.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Conways Game of life на Python

Это мой первый пост, где я хочу рассказать про самый известный клеточный автомат "Игра жизнь", а также напишем её на Python с использованием графики Pygame.

 

     11.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Семь бед — один ответ: как мы решали проблему постоянных исправлений

По случаю завершения моего испытательного срока я решил написать статью, в которой бы хотел поговорить о том, как можно оптимизировать процесс погружения в задачу. Я расскажу о накопленном ранее опыте, и о том как мой опыт выручил меня, когда я пришел в Exness. В примерах буду описывать взаимодействие микросервисов с помощью sequence diagram.

     11.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Brython: заменяем JavaScript на Python на фронтенде

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

     10.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Ультимативный гайд по поиску утечек памяти в Python

Практика показывает, что в современном мире Docker-контейнеров и оркестраторов (Kubernetes, Nomad, etc) проблема с утечкой памяти может быть обнаружена не при локальной разработке, а в ходе нагрузочного тестирования, или даже в production-среде.

     09.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Видео

Moscow Python Podcast. Путь джуна (level: All)

В гостях у Moscow Python Podcast выпускник курсов Learn Python, разработчик в компании Appello Павел Кузнецов.