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

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

     17.03.2021       Выпуск 378 (15.03.2021 - 21.03.2021)       Статьи

Масштабируемый Продакшн-реди Телеграм бот на Django

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

     17.03.2021       Выпуск 378 (15.03.2021 - 21.03.2021)       Статьи

NLP: выделяем факты из текста с помощью Томита-парсера

Большая часть данных в мире не структурирована – это просто тексты на русском или на любом другом языке. Извлеченные факты из таких текстов могут представлять особый интерес для бизнеса, поэтому подобные задачи возникают сплошь и рядом. Этим вопросом занимается отдельное направление искусственного интеллекта: обработка естественного языка, тот самый NLP (Natural Language Processing).

     16.03.2021       Выпуск 378 (15.03.2021 - 21.03.2021)       Статьи

Градиентный спуск в Python

  • Основная цель - создать алгоритм, который найдет максимальное значение по модулю минимума на заданном радиусе.

  • Алгоритм должен быть эффективным и работать достаточно быстро

  • Результат должен быть отображен на графике

     16.03.2021       Выпуск 378 (15.03.2021 - 21.03.2021)       Статьи

Как мы обучили нейросеть поздравлять женщин с 8 марта

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

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

     16.03.2021       Выпуск 378 (15.03.2021 - 21.03.2021)       Статьи

Как сделать трансформер чат-бот на Trax?

Экспериментировать с библиотекой Trax и архитектурой трансформер оказалось крайне увлекательно. Предыдущая статья была про саммаризатор. В этой хочу рассказать о том, как я учил трансформер общаться на русском языке.

     15.03.2021       Выпуск 378 (15.03.2021 - 21.03.2021)       Статьи

OpenCV в Python. Часть 4

В этой статье я бы хотел рассказать как с помощью только OpenCV распознавать объекты, на примере игральных карт

     15.03.2021       Выпуск 378 (15.03.2021 - 21.03.2021)       Видео

Python-стрим. Как становятся джунами в британской компании на удалёнке

В очередном Python-стриме мы поговорим с выпускниками курсов Learn Python Тим Одинцовым и Екатериной Поповой, которые недавно стали разработчиками в компании Zipsale. Обсудим, каким был их путь в IT и каково это работать в британской компании джуном на удалёнке.

     15.03.2021       Выпуск 378 (15.03.2021 - 21.03.2021)       Статьи

[Перевод] Визуализируйте многопоточные программы Python с open source инструментом – VizTracer

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

     14.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

C и Python: мост между мирами

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

     13.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

Tesseract vs таблицы. Распознавание документов

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

     13.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

Играем с CLIP. Создаем универсальный zero-shot классификатор на Android

Эта статья является дополненной и сильно расширенной версией моей статьи в TowardsDataScience о создании приложения, использующем новейшую мультимодальную нейросеть от OpenAI

     12.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

Apache Airflow и XCom

XCom или Cross-Communication, это механизм Apache Airflow для передачи параметров из одного оператора в другой. Если просто, то это таблица в базе данных, хранящая значения, записанные операторами Airflow

     12.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

Кроссплатформенные OpenGL + Python при помощи Kivy

Будучи наивным чукотским программистом, я думал: "питон такой кроссплатформенный, напишу игрушку для сына, запущу на планшетике, пусть играется". В результате две недели ушло на попытки натыкать решение по переезду с PyOpenGL+pygame на kivy, так как внятного примера использования OpenGL с kivy не нашел. Возможно, кому-то мой опыт поможет сэкономить время.

     12.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

Трепещущий Kivy. Обзор возможностей фреймворка Kivy и библиотеки KivyMD

Kivy и Flutter — два фреймворка с открытым исходным кодом для кроссплатформенной разработки.

     11.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

10 лучших игр по программированию, которые улучшат ваши навыки

Вы помните далёкие дни из детства, когда вы, проводили целый день, а иногда даже не ели целый день, чтобы поиграть в игры на Nintendo? (Ах, дни Mario и Contra!!!)

С того времени игры претерпели гигантские преобразования и сфера стала более обширной. Это уже не просто хобби. Сейчас в Интернете доступно множество игр, связанных с программированием, и вы можете использовать их чтобы изучить и отточить свои скилы в увлекательной форме. Более того, эти игры могут помочь вам улучшить навыки решения задач, поскольку вам нужно будет решать задачи различной сложности, а также соревноваться с другими опытными программистами по всему миру. Специально к старту новых потоков курсов Fullstack-разработчик на Python, разработка на C# и разработка на Java, в этой статье мы отобрали несколько таких игр, играя в которые можно параллельно качать и себя самого.

     11.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

Пишем расширение для Burp Suite с помощью Python

Думаю многие знают о таком инструменте, как Burp Suite от PortSwigger. Burp Suite – популярная платформа для проведения аудита безопасности веб-приложений. Помимо того, что Burp и так содержит тонну полезных функций, он еще и дает возможность пользователям создавать свои расширения, позволяющие невероятно увеличить встроенный функционал приложения.

Однако, статей по созданию расширений на Python в интернете не так и много, думаю, здесь сказалось то, что Burp написан на Java, и документация для расширений, естественно, описывает работу с Java. Но что поделать, расширения очень нужны и помогают получить преимущество, если речь идет о Bug Bounty. Так что предлагаю сегодня рассмотреть азы создания расширений для Burp Suite на Python, а писать мы будем непосредственно сканер CORS misconfiguration.

     11.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

Взлом reCAPTCHA v2

Назойливая игра - разметка данных для google. Если, занимаетесь сбором доступной информации с ресурсов, не принадлежащим вам, и не сумели реализовать решение для преодоления этой преграды, советы от начинающего разработчика вам помогут. Опишу один из способов, основанный на детекторе объектов, хорошо справляется с типом 4x4, хуже с 3x3. Использую архитектуру YOLO, "золотая середина" точности/производительности, подход одинаков для всех детекторов. В коммерческом продукте стоит использовать "ансамбль" нейронных сетей, к детектору добавить классификацию каждой ячейки, это повысит общую точность с приемлемой производительностью. Также эту задачу можно решить, использую обучение с подкреплением A2C/DQN или любую современную архитектуру, трансформеры, генеративно-состязательные сети.

     11.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

Обрезаем большую таблицу PostgreSQL в production

Всем привет. Сегодня я хотел бы поделиться рецептом по обрезанию большой таблицы PostgreSQL в production. Пример: мы имеем в продовой БД достаточно большую таблицу с именем task (несколько сотен миллионов строк) с устаревшими данными, которые нам уже не нужны. Точнее, они мешают — БД долго дампится, а индексы становятся неэффективными. Мы хотим обрезать эту таблицу (удалить старые строки ранее определенной даты). Для простоты предположим, что в базе нет входящих foreign key на таблицу task (при их наличии решение задачи немного усложняется).

 

     10.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

Визуализация и анализ белков в Biopython

Биология человека – невероятно сложная наука. Даже учитывая, что с каждым годом мы открываем всё больше секретов человеческого тела, получаемые нами ответы порождают всё большее количество вопросов. Завершение проекта "Геном человека" придало многим учёным уверенность в том, что с помощью геномики человечество сможет решить важные биологические проблемы. Однако, чем больше биологических тайн мы раскрываем, тем более отчётливо понимаем, что на использование генома организма влияют другие факторы. Соответственно, для решения задач в этих взаимосвязанных областях, в том числе транскриптомике (изучение мРНК) и протеомике (изучение белков) были созданы новые направления научных исследований, в которых начали использовать Python.

     10.03.2021       Выпуск 377 (08.03.2021 - 14.03.2021)       Статьи

[Перевод] Трассировщик лучей с нуля за 100 строчек Python

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

Примечание: Эта статья ни в коем случае не является полным руководством/объяснением трассировки лучей, поскольку эта тема слишком обширна, а скорее просто введением для любопытствующих.