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

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

     03.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Как написать средство проверки орфографии кхмерского языка

В попытке реализовать проверку и исправление орфографии, я наткнулся на популярный метод, основанный на двух концепциях из области орфографии: редакционное расстояние (также известное как расстояние Левенштейна) и BK-дерево. Итак, обсудим эти концепции и их недостатки, а также поделимся разработанной на их основе реализацией средства проверки орфографии кхмерского языка на Python.

     03.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Pandas vs dask vs sqlite на raspberry pi

Возникла необходимость поработать с базой штрихкодов (barcode) на одноплатнике raspberry pi. Задача простая — открыть базу данных (~700 Мб), найти штрихкод и сделать это «достаточно быстро». Как оказалось, эти действия могут вылиться в захватывающее путешествие как в части того, как в базе быстро найти нужный код, так и в части того, как эту базу быстро открыть, чтобы найти. В работе помогали фреймворки pandas, dask, а также инструмент sqlite. Кто из них справился и какие есть нюансы — в данной статье.

     03.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

[recovery mode] Обзор на книгу «Секреты Python. 59 рекомендаций по написанию эффективного кода»

Публикую рецензию на книгу "Секреты Python. 59 рекомендаций по написанию эффективного кода" от автора Бретта Слаткина

     02.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Прокладываем тропинки до микросервисов

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

     02.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Анализируем речь с помощью Python: Как и о чем говорят на YouTube-канале «вДудь»?

Выход практически каждого ролика на канале «вДудь» считается событием, а некоторые из этих релизов даже сопровождаются скандалами из-за неосторожных высказываний его гостей.Сегодня при помощи статистических подходов и алгоритмов ML мы будем анализировать прямую речь. В качестве данных используем интервью, которые журналист Юрий Дудь (признан иностранным агентом на территории РФ) берет для своего YouTube-канала. Посмотрим с помощью Python, о чем таком интересном говорили в интервью на канале «вДудь».

     02.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Как с помощью Python создать приложение для расшифровки речи в реальном времени

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

     01.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Собираем генератор данных на Blender. Часть 2: Камера

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

     01.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Как ускорить Python с помощью C-расширений. Часть 2

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

     01.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Как я дообучал Tesseract и что из этого получилось

Решал я как-то задачку по поиску сущностей в отсканированных документах. Чтобы работать с текстом, надо его сначала получить из картинки, поэтому приходилось использовать OCR. Выбор пал на одну из самых популярных и доступных библиотек Tesseract. С ее помощью задача решается очень неплохо и процент распознавания текста достаточно высокий, особенно на хороших сканах. Но нет предела совершенству, а так же ввиду наличия большого количества документов сомнительного качества, по-улучшав пайплайн разными методами, было принято решение попробовать улучшить и сам тессеракт.

     01.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Умная кухня

Любому руководителю важна информация, отражающая скорость и качество работы области, за которую он отвечает. В 2020 году мы в Х5 Tech начали поддерживать производство готовой еды Smart Kitchen («Фабрика кухни») и изучать его внутренние процессы. Оказалось, что руководители поздно получают важную для бизнес-процессов информацию. К примеру, отчёты о сроках отгрузки или списанных позициях IT-платформа считает лишь к середине или даже концу следующего дня.

     01.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Django. Сохранение выбранного языка в настройках пользователя

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

     31.05.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Добавляйте единицы измерения в имена

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

     31.05.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Как сделать ИИ для поиска алмазов в Minecraft

В случайно сгенерированном мире Minecraft найдём алмазы с помощью ИИ. Как обученный с подкреплением агент проявит себя в одной из самых сложных задач игры?

     30.05.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Внедрение автотестов UI web-приложения через связку Python, Selenium и QASE (ч.2)

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

     30.05.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Визуализация и анализ зимних температур Алматы за последние сто лет на Streamlit

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

     30.05.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Анализ аудиоданных (часть 1)

Каждый аудиосигнал содержит характеристики. Из MFCC (Мел-кепстральных коэффициентов), Spectral Centroid (Спектрального центроида) и Spectral Rolloff (Спектрального спада) я провела анализ аудиоданных и извлекла характеристики в виде среднего значения, стандартного отклонения и skew (наклон) с помощью библиотеки librosa.

     27.05.2022       Выпуск 440 (23.05.2022 - 29.05.2022)       Статьи

Собираем генератор данных на Blender. Часть 1: Объекты

Работая над idChess (приложением для распознавания и аналитики шахматных партий), мы расширяем наш датасет синтетическими данными. В качестве движка используем Blender. В этой статье рассмотрим основы взаимодействия с объектами, получение доступа через API, перемещение, масштабирование и вращение.

     29.05.2022       Выпуск 440 (23.05.2022 - 29.05.2022)       Статьи

[recovery mode] Авто преписка в тг с привязкой к Google Calendar

У меня была такая проблема что я каждый день когда ложился спать всегда ставил в нике преписку что то по типу [БУДУ ЗАВТРА В 8:00] так вот в какой то момент меня это доконало и я решил сделать так что бы скрипт сам делал мне эту преписку, но будет брать события с Google Calendar. Думаю это довольно удобно ведь так можно будет записывать в календарь все свои дела а скрипт будет автоматически ко времени преписывать их к нику.

     27.05.2022       Выпуск 440 (23.05.2022 - 29.05.2022)       Статьи

Подгон под MNIST-овский датасет

В интернете можно найти 1000 и 1 статью по тренингу мнистовского датасета для распознавания рукописных чисел. Однако когда дело доходит до практики и начинаешь распознавать собственные картинки, то модель справляется плохо или не справляется вовсе. Конечно же мы можем перевести картинку в оттенки серого, насильно поменять размер под мнистовский на 28x28 пикселей, и тогда наша сеть будет работать с подобными картинками:

     27.05.2022       Выпуск 440 (23.05.2022 - 29.05.2022)       Статьи

Работа с фреймворками Python: преимущества и проблемы

Фреймворки помогают ускорить разработку и сделать её приятнее. Программу, которая раньше писалась неделю и занимала 1000 строк, с помощью фреймворка вы можете создать за пару часов и уместить в 50 строчках кода. Некоторые решения даже поставляются в виде подписки на сервисы, и программисту остаётся только написать шаблонный код — остальное сервис сделает сам. Несмотря на всё это, в российском IT всё равно чаще выбирают писать что-то своё, тратя на это много сил, времени и денег. Почему так происходит, попытались разобраться с Денисом Наумовым, Techlead и Data Engineer в Skyeng.