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

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

     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)       Статьи
     15.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи
     14.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи

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

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

     14.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи
     14.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи
     14.12.2020       Выпуск 365 (14.12.2020 - 20.12.2020)       Статьи
     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)       Статьи

Конфигурируем сервис с помощью Vault и Pydantic

В данной статье я расскажу о конфигурации для вашей сервисов с помощью связки Vault (KV и пока только первой версии, т.е. без версионирования секретов) и Pydantic (Settings) под патронажем Sitri.

 

Итак, допустим, что у нас есть приложение superapp с заведёнными конфигами в Vault и аутентификацией с помощью approle, примерно так настроим (настройку policies для доступа к секрет-энжайнам и к самим секретам я оставлю за кадром, так как это достаточно просто и статья не об этом):

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