Чат‑бот в Telegram может работать в одном из двух режимов.
Один из них называется polling — это когда код, непосредственно реализующий механику бота, опрашивает сервера Telegram с определенной периодичностью («не появилось ли чего новенького»). А если обнаружена активность в чате — реализуется определенная механика взаимодействия (общения).
Второй режим работы ботов, webhook, подразумевает, что Telegram сам вызывает обработчик события/сообщения, когда в боте происходит какая‑то активность. Другими словами, код, реализующий механику бота, срабатывает по инициативе человека, который «общается» с ботом. Самый главный плюс от такого режима работы — ответ бота на действие человека происходит мгновенно: человек написал что‑то боту, Telegram тут же вызвал webhook, написанный код сразу «ответил» человеку.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Обработка данных в реальном времени стала важной составной частью современного мира. Бизнес, исследователи, разработчики и многие другие специалисты сталкиваются с необходимостью обрабатывать потоки данных в реальном времени, чтобы принимать решения быстрее и более точно.
Обработка данных в реальном времени позволяет:
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Тест-драйв PyTorch 2.0 и заглядываем под капот «двушки»
Новейший метод для ускорения кода в PyTorch 2.0 — torch.compile(), который позволяет JIT‑компилировать код PyTorch в оптимизированные ядра, требуя минимальных изменений кода.
JIT‑компиляция (Just‑In‑Time compilation) — это процесс, при котором код на высокоуровневом языке преобразуется в код на низкоуровневом языке, который может быть быстрее и эффективнее исполнен процессором или графическим ускорителем. torch.compile() использует TorchDynamo и заданный бэкенд для JIT‑компиляции кода PyTorch.
В посте мы рассмотрим, насколько эффективен torch.compile() на практике, заглянем под капот «двушки» PyTorch 2.0, чтобы узнать, как работает этот метод и какие преимущества он дает. Разработчики PyTorch заявляют, что torch.compile() может дать прирост производительности до 50% по сравнению с обычным кодом PyTorch. Для проверки этого заявления мы проведем ряд экспериментов на разных моделях и данных, выясним, есть ли реальная выгода от использования torch.compile().
💬 Читать подробнее
Просто Python
Новейший метод для ускорения кода в PyTorch 2.0 — torch.compile(), который позволяет JIT‑компилировать код PyTorch в оптимизированные ядра, требуя минимальных изменений кода.
JIT‑компиляция (Just‑In‑Time compilation) — это процесс, при котором код на высокоуровневом языке преобразуется в код на низкоуровневом языке, который может быть быстрее и эффективнее исполнен процессором или графическим ускорителем. torch.compile() использует TorchDynamo и заданный бэкенд для JIT‑компиляции кода PyTorch.
В посте мы рассмотрим, насколько эффективен torch.compile() на практике, заглянем под капот «двушки» PyTorch 2.0, чтобы узнать, как работает этот метод и какие преимущества он дает. Разработчики PyTorch заявляют, что torch.compile() может дать прирост производительности до 50% по сравнению с обычным кодом PyTorch. Для проверки этого заявления мы проведем ряд экспериментов на разных моделях и данных, выясним, есть ли реальная выгода от использования torch.compile().
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Многопоточность в Python: очевидное и невероятное
Уровень сложности
Средний
В данной статье я покажу на практическом примере как устроена многопоточность в Python, расскажу про потоки, примитивы синхронизации и о том зачем они нужны.
Изначально я планировал что это будет простая и короткая заметка, но пока готовил и тестировал код нашел интересный неочевидный момент связанный с внутренностями CPython, так что не спешите закрывать вкладку, даже если уверены что знаете о потоках в Python всё:)
🧠 Читать статью
Просто Python
Уровень сложности
Средний
В данной статье я покажу на практическом примере как устроена многопоточность в Python, расскажу про потоки, примитивы синхронизации и о том зачем они нужны.
Изначально я планировал что это будет простая и короткая заметка, но пока готовил и тестировал код нашел интересный неочевидный момент связанный с внутренностями CPython, так что не спешите закрывать вкладку, даже если уверены что знаете о потоках в Python всё:)
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Для каких проектов лучше всего подходит Flask, а для каких — Django? Какие особенности Flask можно использовать при разработке веб-приложений наиболее эффективно? Я Алексей Некрасов, лидер направления Python в МТС, автор форка библиотеки flask-combo-jsonapi, программный директор курсов по Python в Skillbox, СЕО Forkway и автор канала Python — учим и работаем.
Сегодня, пожалуй, уже никто не пишет веб-приложения на Python. Я имею в виду «чистый» Python: в арсенале разработчиков имеются удобные веб-фреймворки, значительно ускоряющие и упрощающие этот процесс. Один из них — Flask.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Я не программист и Python не знаю. Сегодня ChatGPT написал мне скрипт, который выбирает из кучи папок картинки, собирает их в одну, при этом масштабирует по нужному алгоритму, добавляет тень, потом кладёт их на фон, сверху водяной знак и потом ещё сортирует по нужным папкам.
С некоторых пор стал активно использовать ChatGPT для написания простых скриптов для автоматизации действий. Это не руководство к действию и не «волшебные промпты», лишь описываю свой опыт.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказали, зачем нужны протоколы в Python, почему о них так мало говорят и зачем нужен статический анализатор mypy.
Когда новички изучают Python, очень много внимания выделено на языковые конструкции и концепции. К примеру, рекурсия или ООП. Но никто не замечает, что речь о типизации в этом языке программирования, если заходит, то сильно вскользь? И, как правило, это фразы в стиле: “Python – это язык с динамической типизацией”. Это понятно, но что это означает?
Итак, это случай типизации в языках программирования, когда тип присваивается переменной во время присваивания ей значения. Такая типизация дает языку гибкость, но при этом допускает возникновение ошибок, связанных с типами переменных, параметров функций и так далее.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы разрабатываете на Python, наверняка задумывались о том, как ускорить код. В статье разбираем три способа, которые помогут в этом.
Python — это мощный и гибкий язык программирования. Однако из-за динамической типизации и интерпретируемости его производительность оставляет желать лучшего. И наверное, каждый, кто разрабатывает на нём продолжительное время, задавался вопросом, как ускорить код на Python. В этой статье рассмотрим три способа на примере одного кейса.
Рассмотрим простую функцию, которая вычисляет сумму квадратов элементов большого списка чисел.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Проверка кода – важная часть функционала разработчика, этот процесс помогает выявить ошибки, пропуски, уязвимости и стилистические недочеты.
Хотите научиться правильно проводить ревью, чтобы повысить качество своих конечных результатов?
Приходите на бесплатный открытый урок «Code-review онлайн» от OTUS.
✅ Преподаватель курса «С# Developer Professional» Антон Герасименко, .net developer + lead с опытом в разработке более 10 лет:
— проведет code-review нескольких учебных проектов;
— расскажет о сode-review в целом: стоит ли его проводить, кому и когда он полезен.
https://otus.pw/wUJO/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, ERID: LjN8KaZCv, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
Попросили коллег порекомендовать книги по изучению Python. Сохраняйте подборку в избранное: пригодится и начинающим, и опытным специалистам.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Pandas уже давно является неотъемлемым инструментом в арсенале любого специалиста, работающего с данными на языке Python. Ровно также неотъемлемым навыком является знание языка SQL, предназначенного для извлечения, хранения и модификации данных из реляционных баз.
В данной статье будет рассмотрена еще одна python-библиотека PandaSQL, которая позволяет использовать язык запросов SQL для обработки табличных данных pandas (DataFrame).
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Игра №1. Арканоид
Цель этой игры, отбивать мяч от платформы и не упустить его.
Игра №2. Тетрис.
Эту игру знают все! Главная задача игрока не дать разным, геометрическим фигурам достигнуть "ФИНИША".
Игра №3. Танки.
Для создания данной игры нам потребуется всего ода библиотека, random.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Новую версию Python многие разработчики ожидали с нетерпением. Кто-то и не ждал, поскольку вполне достаточно было возможностей прежней версии. Но Python 3.12 все таки выпустили, сейчас стало известно, что эту ветку будут поддерживать полтора года, а потом для нее станут формировать исправления для устранения уязвимостей — в течение еще трех с половиной лет.
Кроме того, запущен процесс альфа-тестирования Python 3.13, где заявлен режим сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock). Тестировать ветку будут в течение семи месяцев, исправляя ошибки и добавляя новые возможности. Затем еще три месяца — тестирование бета-версий и еще через два месяца появится пред-финальная версия. Но будет потом, а сейчас поговорим о том, что уже есть в руках — о Python 3.12.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
RoadMap для изучения Machine Learning 2023
RoadMap для изучения Machine Learning: Машинное обучение (ML) - это тип искусственного интеллекта (AI), который позволяет программным приложениям становиться более точными в прогнозировании результатов без явного программирования для этого. Алгоритмы машинного обучения используют исторические данные в качестве входных данных для прогнозирования новых выходных значений.
Механизмы рекомендаций - это распространенный вариант использования машинного обучения. Другие популярные области применения включают обнаружение мошенничества, фильтрацию спама, обнаружение угроз вредоносного ПО, автоматизацию бизнес-процессов (BPA) и прогнозное обслуживание.
🧠 Читать статью
Просто Python
RoadMap для изучения Machine Learning: Машинное обучение (ML) - это тип искусственного интеллекта (AI), который позволяет программным приложениям становиться более точными в прогнозировании результатов без явного программирования для этого. Алгоритмы машинного обучения используют исторические данные в качестве входных данных для прогнозирования новых выходных значений.
Механизмы рекомендаций - это распространенный вариант использования машинного обучения. Другие популярные области применения включают обнаружение мошенничества, фильтрацию спама, обнаружение угроз вредоносного ПО, автоматизацию бизнес-процессов (BPA) и прогнозное обслуживание.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Как говорится, спроси пять программистов, что такое функциональное программирование, получишь шесть разных ответов. В целом это программирование через функции в их математическом понимании, то есть когда функция принимает что-то на вход и что-то возвращает на выходе, не меняя глобального состояния.
В этой статье, которая написана по следам моего выступления на конференции PiterPy, я обращаюсь к практикующим разработчикам — расскажу о том, какие функциональные приемы можно использовать в этом языке. Сконцентрируюсь на практике — на тех примерах, которые можно использовать уже буквально сейчас, не переписывая свой проект.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
По мере того как приложение собирает все больше данных, правильное ведение журналов становится решающим фактором для быстрого и эффективного понимания общей функциональности. Это позволяет устранять проблемы до того, как они повлияют на конечных пользователей.
В этой статье мы рассмотрим лучшие практики логирования в Python. Следуя им, вы сможете обеспечить информативность, практичность и масштабируемость генерируемых логов. Давайте начнём!
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
В эпоху больших языковых моделей (Large Language Model, LLM) и постоянно расширяющейся сферы их применений непрерывно растёт и важность текстовых данных.
Существует множество типов документов, содержащих подобные виды неструктурированной информации, от веб-статей и постов в блогах до рукописных писем и стихов. Однако существенная часть этих данных хранится и передаётся в формате PDF. В частности, выяснилось, что за каждый год в Outlook открывают более двух миллиардов PDF, а в Google Drive и электронной почте ежедневно сохраняют 73 миллионов новых файлов PDF (2).
Поэтому разработка более систематического способа обработки этих документов и извлечения из них информации позволит нам автоматизировать процесс и лучше понять этот обширный объём текстовых данных. И в выполнении этой задачи, разумеется, нашим лучшим другом будет Python.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Если мы говорим про UI автотесты, то тут хотя бы есть паттерны Page Object, Pagefactory; для API автотестов таких паттернов нет. Да, существуют общие паттерны, по типу Decorator, SIngletone, Facade, Abstract Factory, но это не то, что поможет протестировать бизнес логику. Когда мы пишем API автотесты, то нам хотелось бы, чтобы они отвечали требованиям:
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Раскрывать тему параллельного или асинхронного программирования непросто. Во-первых, она перегружена терминологией и трудна для понимания. Как правило, тонкости и особенности работы с языками усваиваются, лишь когда столкнешься с ними на практике. Во-вторых, в контексте Python тоже много своих подводных камней. Но сегодня почти любой современный web-сервис сталкивается с необходимостью многопоточности или асинхронности. Поскольку это многопользовательская среда, мы хотим направить всю процессорную мощность не на ожидание, а на решение прикладных задач бизнеса, чтобы все пользователи вовремя получили необходимые данные.
Эта статья будет полезна тем разработчикам, которые хотят выполнять больше работы за одно и то же время, и задействовать все ресурсы своего железа. Проще говоря, делать больше, и при этом обходиться меньшими ресурсами. Пусть железо работает, а не простаивает.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет! В сентябре мы провели Selectel Python Meetup на тему «Три уровня погружения: процессы под капотом, архитектура кода, развитие языка». Разработчики из Selectel и Райффайзенбанка рассказали о сборе метрик и мониторинге, проектировании микросервисной архитектуры, изменениях в Python и о том, что ждет язык в будущем. Записи докладов и материалы с предыдущего митапа — под катом.
Просто Python
Please open Telegram to view this post
VIEW IN TELEGRAM