Обновить
802.97

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Как анализировать тысячи отзывов с ChatGPT? Частые ошибки и пример на реальных данных

Уровень сложностиПростой
Время на прочтение19 мин
Охват и читатели7.4K

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

Читать далее

Временные ряды и ARIMA: Как предсказывать будущее без хрустального шара

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели15K

Что такое временной ряд, модель ARIMA и как к ней подбирать параметры.

Простым словами, временной ряд — это просто последовательность событий, которая как-то зависит от времени. Мы для начала будем считать, что ряд самый простецкий и нас просто есть скачущие туда-сюда точки, которые распределены по временной шкале.

Читать далее

Telegram Боты на Aiogram 3.x: Инлайн кнопки и CallBack Дата

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели39K

Приветствую все

Приветствую всех! В этой статье мы продолжим исследовать возможности библиотеки Aiogram 3 и рассмотрим тему инлайн кнопок и CallBack данных. На данный момент мы уже:

Определились со структурой бота;

Настроили нашего Telegram-бота на базе Aiogram 3;

Разобрались с командами, включая аргументы, командное меню и фильтры Command и CommandStart;

Освоили работу с текстовыми кнопками (в предыдущей публикации я максимально подробно разобрал эту тему);

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

После тщательных размышлений я пришёл к выводу, что логичным продолжением будет изучение CallBack хендлеров и CallBack данных. Эти технологии открывают безграничные возможности для создания интерактивных и сложных сценариев взаимодействия с пользователями.

В данной статье мы рассмотрим:

Читать далее

Об извлечении кода в Python

Время на прочтение6 мин
Охват и читатели5.9K
Я начал изучать Python в 2009 году, столкнувшись с очень нетривиальной и, кстати, необычной задачей на этом языке. Тогда я разрабатывал приложение для ПК, где графический пользовательский интерфейс создавался на PyQT, а основным языком в программе был Python.

Чтобы скрыть код, я встроил интерпретатор Python в самостоятельный исполняемый файл Windows. Это можно сделать при помощи множества инструментов (напр., pyinstaller, pyexe), все они функционально похожи. Они компилируют в байт-код ваши скрипты, написанные на Python, а далее, связывая их с интерпретатором, укладывают в исполняемый файл. Если компилировать скрипты, понижая их до байт-кода, то злоумышленникам становится сложнее добраться до вашего исходного кода и взломать ваше приложение. Байт-код приходится извлекать из исполняемого файла и декомпилировать. Кроме того, таким способом можно выполнять обфускацию кода, и в результате код становится гораздо сложнее понимать.
Читать дальше →

Основы работы с gRPC на Python: создание сервиса с использованием FastAPI. Часть II

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели16K

Изучив основы gRPC в первой части нашей серии, мы теперь погрузимся в практическую реализацию gRPC сервиса на Python с использованием FastAPI и Piccolo ORM, чтобы показать, как это работает на примере тестового приложения.

Читать далее

Лучший друг интроверта: как ИИ помогает в общении с людьми

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели1.1K

Начнем с того, что интровертам порой бывает нелегко сформулировать правильное сообщение, особенно когда речь идет о важных или личных вопросах. Сомнения, страх сказать что-то не то, и даже простое нежелание вступать в диалог – все это может сделать коммуникацию настоящим испытанием. С такой проблемой я сталкиваюсь каждый день. Тем не менее, умение правильно выразить свои мысли и чувства чрезвычайно важно, и здесь на помощь могут прийти технологии.

Чат-боты уже давно перестали быть просто развлечением. В условиях, когда технологии становятся все более сложными, чат-боты представляют собой простой и удобный интерфейс для взаимодействия с различными сервисами и приложениями. ChatGPT показал, насколько удобно использовать интерфейс чата, и насколько много различных задач можно решить в таком виде. Такой интерфейс понятен каждому и доступен в любое время.

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

Читать далее

Мощь машинного обучения

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели5.1K

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

Этапы машинного обучения

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

Читать далее

Качество данных и роботы: как мы высвободили 5 рабочих часов в день сотрудника DQ

Уровень сложностиПростой
Время на прочтение15 мин
Охват и читатели1.5K

Привет, меня зовут Катя Моисеева, я руководитель направления качества данных в Data Office Tele2. Мы уже рассказывали о том, как с нуля строили процессы качества данных на различных площадках (выступления можно посмотреть по ссылке).

Сейчас для нас остро встал вопрос о ресурсах нашей команды, а точнее их «резиновости» — поток входящих инцидентов растет по мере подключения новых систем к проверкам качества, а команда остается в составе 3 сотрудников. Возникает вопрос — а какая она, идеальная команда качества данных, которая сможет создать процессы с нуля, внедрить и привить культуру внутренним заказчикам, свести к минимуму риски возникновения инцидентов, а еще минимизировать затраты компании?

Под катом поделились своим опытом борьбы с хаосом из потока входящих задач и запросов от бизнеса и о маленьком роботе‑спасителе, который экономит нам ежедневно 5 часов сотрудника DQ и внедрить которого по силам каждому.

Читать далее

Динамическое программирование на Python

Время на прочтение4 мин
Охват и читатели13K

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

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

Читать далее

Революционный подход к нейросетям: рассказываем про KAN (Kolmogorov-Arnold Networks)

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели19K

Эволюция архитектуры нейронных сетей уходит корнями в фундаментальные работы, заложенные в 1940-х годах Уорреном Маккаллохом и Уолтером Питcом, которые предложили концепцию искусственных нейронов и их взаимосвязь. 

Однако значительные прорывы произошли только в 1980-х годах с разработкой алгоритмов обратного распространения ошибки: алгоритм Геоффри Хинтона и других – все это позволило создавать более глубокие нейронные сети и улучшить методы обучения. 

В это время появились классические архитектуры, многослойные перцептроны (MLP,  и сверточные нейронные сети (CNN), которые революционизировали различные области, включая компьютерное зрение, обработку естественного языка и распознавание образов – теперь мы говорим про своего рода инновационную архитектуру. 

Читать далее

Telegram Боты на Aiogram 3.x: Текстовая клавиатура и Командное меню

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели27K

Привет! Продолжаем разбор темы разработки Telegram ботов с помощью Aiogram 3. В прошлой статье мы рассмотрели:

Магические фильтры (кратко)

Фильтры Command и CommandStart

Роутеры и диспетчер

Создание токена бота через BotFather

Выполнили первый запуск бота

Работали в рамках структуры, разработанной мной

Если вы новичок, предлагаю следовать моей структуре бота, но дальше – на ваше усмотрение.

О чём сегодня пойдёт речь:

Читать далее

Реализация итоговой согласованности. Разбор библиотеки event-outbox

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели2.1K

В этой статье я хотел бы рассказать об архитектурных шаблонах Transactional Outbox и Idempotent Consumer. Кроме того, я хотел бы показать собственную реализацию, содержащую интересное сочетание технологий, выходящее за рамки этих шаблонов, значительно упрощающее реализацию и эксплуатацию.

Читать далее

Пишем универсальный прототип бэкенд-приложения на python

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели19K

Привет, Хабр! Меня зовут Сергей, я техлид в команде PT BlackBox. Мы с коллегами разрабатываем продукт, который позволяет обнаруживать уязвимости в приложениях методом черного ящика. Фактически мы сами и пишем веб-приложения, и именно о них пойдет речь в статье.

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

Для написания прототипа я буду использовать FastAPIFastStream и dishka. Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах.

Ну что ж, приступим

Ближайшие события

Простые способы ускорения обучения PyTorch-моделей

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели7.2K

Не знаю — нужно ли вступление к статье, посвящённой ускорению машинного обучения (Machine Learning, ML)?

Ускорение обучения моделей — это именно то, в чём нуждаются все ML‑инженеры. Более быстрое обучение модели означает ускорение экспериментов, что, в свою очередь, ведёт к ускорению выпуска новых версий программных продуктов. Кроме того — чем выше скорость обучения — тем меньше ресурсов нужно на каждую итерацию обучения модели. Поэтому предлагаю перейти сразу к делу.

Читать далее

FastAPI: веб-разработка на Python

Время на прочтение14 мин
Охват и читатели14K
image Привет, Хаброжители!

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

Билл Любанович рассказывает о тонкостях разработки с применением FastAPI и предлагает множество рекомендаций по таким темам, как формы, доступ к базам данных, графика, карты и многое другое, что поможет освоить основы и даже пойти дальше. Кроме того, вы познакомитесь с RESTful API, приемами валидации данных, авторизации и повышения производительности. Благодаря сходству с такими фреймворками, как Flask и Django, вы легко начнете работу с FastAPI.
Читать дальше →

Автоматизация Juniper на Python

Уровень сложностиПростой
Время на прочтение29 мин
Охват и читатели3K

Добрый день, Habr! Меня зовут Сергей, я старший эксперт в компании Ростелеком. В зоне моей ответственности эксплуатация сетевого оборудования компании (в основном маршрутизаторы и коммутаторы). Когда счет устройств, с которыми необходимо работать, идет на тысячи, обойтись без автоматизации решительно невозможно.

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

Читать далее

Как маскировка данных спасает вашу приватность

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели3.5K

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

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

Данная статья нацелена на джунов и специалистов, которые только начинают погружаться в тематику.

Читать далее

Telegram Боты на Aiogram 3.x: Первые Шаги

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели83K

Привет, друзья!

За свою практику программирования я успел написать множество малых, средних и крупных проектов, преимущественно в формате Telegram-ботов. Моя история началась с популярной на то время версии aiogram 2.24 (тех, кто в теме, поймут), а сейчас я полностью перешел на версию 3.x, о чем нисколько не жалею.

В этом посте я хочу начать делиться с вами своим опытом разработки Telegram-ботов через библиотеку aiogram. Сейчас вы читаете вводный пост по этой обширной, но на самом деле не такой уж и сложной теме. Если я увижу положительный отклик, то пойму, что эта информация вам полезна, и мы будем углубляться в разработку ботов все дальше и дальше.

Сегодня мы научимся:

Читать далее

Мега-Учебник Flask Глава 13: I18n и L10n (издание 2024)

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели2.8K

Это тринадцатая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как расширить Microblog для поддержки нескольких языков. В рамках этой работы вы также узнаете о создании собственных расширений CLI для команды flask.

Начать изучение

Слушаем события в Selenium с помощью Listeners. Как реагировать на события без тонны кода

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели2.3K

Привет!

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

Читать далее

Вклад авторов