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

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

     05.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Введение в языковые модели

N-граммы N-граммы – это статистические модели, которые предсказывают следующее слово после N-1 слов на основе вероятности их сочетания. Например, сочетание I want to в английском языке имеет высокую вероятностью, а want I to – низкую. Говоря простым языком, N-грамма – это последовательность n слов. 

     05.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Извлечение информации из текста и NER

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

     05.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Полковнику никто не пишет. Отправка писем по SMTP после изменения политики Google. С примером на Python

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

     05.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Papers, please! Как устроены сервисы по распознаванию лиц для идентификации клиента и проверки документов

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

     05.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Рекомендательная система через поиск схожих изображний с помощью Resnet50

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

     04.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Как сравнивать распределения. От визуализации до статистических тестов

Сравнение эмпирического распределения переменной по разным группам — распространённая задача Data Science. Эта задача часто возникает при поиске причинно-следственных связей, когда нужно оценить качество рандомизации.

     04.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Готовим статьи для Хабра: скрипт для подтягивания адресов картинок с habrastorage

Что самое сложное в написании статьи для Хабра? Конечно же сесть и начать писать! А потом вовремя остановиться. Ну а на третьем месте — во всяком случае для меня — стоит загрузка уже готовой статьи на Хабр. Про новый редактор я тактично промолчу, а старый в принципе весьма неплох: статью в markdown можно скопировать в него почти без изменений. Но вот с добавлением картинок есть пара нюансов.

     04.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Как быстро разрабатывать сервисы обработки данных в реальном времени с помощью PySpark Structured Streaming и Kafka

Данная статья обобщает базовые шаги по установке и началу работы с PySpark Structured Streaming при участии брокера сообщений Kafka. Предполагается, что читатель уже знаком с языком программирования Python и сервисом Kafka.При помощи PySpark Structured Streaming можно быстро разрабатывать масштабируемые сервисы обработки данных в реальном времени. Такой подход позволяет в короткие сроки сделать выгодное предложение клиенту, вовремя заметить аномалию в системе или же отображать актуальные данные. 

     04.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

F-строки в Python мощнее, чем можно подумать

Форматированные строковые литералы, которые ещё называют f-строками (f-strings), появились довольно давно, в Python 3.6. Поэтому все знают о том, что это такое, и о том, как ими пользоваться. Правда, f-строки обладают кое-какими полезными возможностями, некоторыми особенностями, о которых кто-нибудь может и не знать. Разберёмся с некоторыми интересными возможностями f-строк, которые могут оказаться очень кстати в повседневной работе Python-программиста.

     04.07.2022       Выпуск 446 (04.07.2022 - 10.07.2022)       Статьи

Управляем параметрами в процессной аналитике при помощи фреймворка Hydra

Сегодня хочу рассказать про управление параметрами в Process mining (процессная аналитика) и нюансах этой задачи.

Для работы используется фреймворк Hydra, который здорово облегчает жизнь. В чём вообще проблема? В задачах процессной аналитики требуется постоянно менять входные параметры и сохранять результаты работы. Но при большом количестве запусков возникает потребность в отдельной системе для управления как передаваемыми параметрами, так и логированием. В статье рассмотрим, как фреймворк Hydra может помочь нам с этим. Кому интересно ― просим под кат!

     03.07.2022       Выпуск 445 (27.06.2022 - 03.07.2022)       Статьи

Эволюция игрового фреймворка. Введение 1. Постановка проблемы

Скорость разработки и качество кода — вот, пожалуй, одно из главнейших противоречий IT-индустрии. Можно долго продумывать архитектуру приложения, потом ее совершенствовать, улучшать, а в итоге так ничего и не сделать. А можно быстро что-то сварганить, а потом и зарелизить, но из-за ошибок проектирования завести весь проект в тупик. На каждые два часа разработки, шесть часов будет уходить на поиск и исправление багов, в результате чего вся последующая разработка фактически застопорится.Таким образом, вопрос: качество или скорость переходит в проблему: хороший, но вечно незаконченный проект или хоть как-то, но работающая программа. Любой менеджер как реалист, естественно, выберет второе.Так и получается, что куда ни ткнись, у всех код если не дрянной, то по меньшей мере неважный. То, что называется многозначительным словом legacy. Все всё понимают, плюются, но поделать ничего не могут. Код уже есть и с ним нужно работать. Все предложения по улучшению не приветствуются, а то и прямо запрещаются. Как тут быть, что поделать? Попробуем разобраться.

     02.07.2022       Выпуск 445 (27.06.2022 - 03.07.2022)       Статьи

Учимся анализировать — полный цикл

Полноценный анализ дата сета с использованием Python. Почистим данные, подготовим данные, выдвинем гипотезы и проверим их.Статья рекомендована начинающим аналитикам для понимания процесса. Перейдем к анализу дата сета

     02.07.2022       Выпуск 445 (27.06.2022 - 03.07.2022)       Статьи

Бот волонтёра или как помочь инициативным группам по помощи нуждающимся

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

     30.06.2022       Выпуск 445 (27.06.2022 - 03.07.2022)       Статьи

Делаем тетрис в QR-коде, который работает

Не просто тетрис, но и совершенно рабочий QR-код. Потестите! Впервые такой QR-тетрис я увидел на канале linkmeup. Приложенный QR-код не читался, и авторы не удостоили его комментарием. Решил, что это повод разобраться в основах самому и предложить улучшенный вариант — не просто веселую, но и функциональную пикчу.

     30.06.2022       Выпуск 445 (27.06.2022 - 03.07.2022)       Статьи

Итераторы в Python для самых маленьких

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

     30.06.2022       Выпуск 445 (27.06.2022 - 03.07.2022)       Статьи

Лямбда-функция в Python простыми словами

В этой статье вы подробнее изучите анонимные функции, так же называемые "лямбда-функции". Давайте разберемся, что это такое, каков их синтаксис и как их использовать ( с примерами).Лямбда-функции в Python являются анонимными. Это означает, что функция безымянна. Как известно, ключевое слов def используется в Python для определения обычной функции. В свою очередь, ключевое слово  lambda  используется для определения анонимной функции.

     30.06.2022       Выпуск 445 (27.06.2022 - 03.07.2022)       Статьи

JIT-компилятор Python в 300 строк

Может ли студент второго курса написать JIT-компилятор Питона, конкурирующий по производительности с промышленным решением? С учётом того, что он это сделает за две недели за зачёт по программированию.

Как оказалось, может, но с нюансами.

     29.06.2022       Выпуск 445 (27.06.2022 - 03.07.2022)       Статьи

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

(Обратите внимание на комментарии к статье)
На днях по работе потребовалось сделать утилиту, которая прямо вот из консоли ходит в апи нашего клауд сервиса и берет оттуда кое-какую информацию.Подробности что и зачем - вне этого рассказа. Принципиальный вопрос здесь другой - скорость. Скорость реально важна (порядок количества запросов - десятки и сотни). Потому что ждать - не кайф.Здесь я хочу поделиться своим ресёрчем на тему запросов, как делать круто, а как нет. С примерами кода конечно. А так же рассказать, как я тупил.

     29.06.2022       Выпуск 445 (27.06.2022 - 03.07.2022)       Статьи

Как нарисовать очень грустную девочку, если вы программист

Вообще как художник я бездарность. Объясняется это принципом RPG: вы либо качаете воина, либо мага, либо бесполезное существо (полувоин-полумаг, который бесполезен и как маг, и как воин). И я вкачал всё в программирование, поэтому с рисованием у меня примерно на уровне четвёртого класса.Но иногда встречаются вещи, которые влетают мне прямо в душу (которой у меня нет) и переворачивают всё вверх дном. Увы, я ничего не умею, и в такие моменты я остро жалею, что не могу взять и накидать что-то на бумаге, может и не идеальное вовсе, но чтобы хоть как-то сохранить и передать эту эмоцию сквозь время. А может, всё не так однозначно?

     28.06.2022       Выпуск 445 (27.06.2022 - 03.07.2022)       Статьи

Книга «Python. Чистый код для продолжающих»

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