Все потоки
Поиск
Написать публикацию
Обновить
412.29

Python *

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

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

Как я создавал Telegram-бота с помощью ChatGPT

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров22K

Не так давно мне пришла мысль попробовать создать собственного Телеграм-бота (просто из любопытства). Никаких знаний в программировании у меня нет, поэтому первого бота я создал с помощью специального конструктора для Телеграм-ботов. Довольно удобная штука, но зачастую обладает ограниченным функционалом или требуют оформления подписки. И тут мне в голову пришла идея воспользоваться популярным ChatGPT и попробовать создать бота с нуля, во всём следуя инструкциям нейронки. Устанавливать дополнительный софт на своём основном ПК мне не очень хотелось, поэтому разместить бота я решил на VDS-сервере.
Читать дальше →

Как сделать livenessProbe для Kafka-консьюмеров и перестать перезапускать их вручную

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров1.7K

Kafka-консьюмеры не всегда работают так стабильно, как хотелось бы. Иногда они просто зависают — без ошибок, без падений, но и без обработки сообщений. LivenessProbe в Kubernetes помогает автоматически перезапускать зависшие сервисы, но с Kafka-консьюмерами всё не так просто: стандартного решения для них нет. В этой статье разберём, как правильно реализовать livenessProbe для консьюмеров с помощью паттерна Heartbeat, чтобы не перезапускать их вручную.

Читать далее

Гуглить баги — это нормально. Как AI Debugger освоил этот навык и сам исправляет ошибки

Уровень сложностиСредний
Время на прочтение23 мин
Количество просмотров4.4K

Автоматический дебаг с помощью языковых моделей уже не новость, и разработчики используют LLM‑модели и среды разработки с интегрированным ИИ, чтобы анализировать код и предлагать исправления. Но что если встроить в этот процесс ещё один мощный инструмент — поиск в интернете?

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

Читать далее

DevOps нет, но вы держитесь: как разработчики запустили тесты на этапе MR

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

Со старта нашего проекта Polymatica EPM (бизнес‑платформа для автоматизации процессов стратегического планирования и бюджетирования) мы решили: код должен покрываться тестами. Проект построен на стеке FastAPI + Poetry + Pytest. Из‑за особенностей проекта тесты, в основном, функциональные. Все шло хорошо, команда росла, тесты писались, но запускались только на локальной машине перед коммитами. Наступил момент, когда нужно было внедрить автоматический прогон тестов на этапе Merge Request (MR).
На тот момент у нас был собственный GitLab и настроенный CI/CD, но ресурсы DevOps были ограничены. Поэтому задачу пришлось решать силами разработчиков. Меня зовут Дмитрий Богданов, я старший бэкенд‑разработчик, и в этой статье расскажу, как мы оптимизировали запуск тестов, с какими проблемами столкнулись и почему выбрали именно базовый образ для CI/CD.

Читать далее

Почему мы построили монолит на чистой архитектуре. И почему это взбесило системных аналитиков

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

Привет! Меня зовут Павел Лукьянов, я заместитель CTO в AGIMA. На одной из прошлых работ мы с ребятами попробовали внедрить так называемую чистую архитектуру на монолитном проекте. И это был интригующий опыт. Во-первых, мы начали намного рациональнее подходить к оценке задач. Во-вторых, заметно сократили time-to-market. А в-третьих, сильно разозлили наших аналитиков. Считаю, такими впечатляющими результатами стоит делиться.

Читать далее

LitestarCatsCV. Тренируемся на кошках. Реализация API и работа с данными. Часть 2

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров1.9K

Что вас ждёт

Если в первой части мы заложили фундамент проекта (выбор инструментов, настройка окружения и структура), то здесь мы превратим этот каркас в полноценное API для управления резюме кошек (или людей — как вам ближе). Мы подключим базу данных, добавим тесты, настроим миграции и даже проверим всё в действии. К концу статьи у вас будет рабочее API, которое можно потрогать руками (или лапками 🐾). Полный код доступен на GitHub — ссылка в конце!

Читать далее

Урок ценой $115 000: чему меня научила разработка продукта с нуля

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров17K

Последние пару лет в свободное от Настоящей Работы время я в роли CTO/соло-бэкендера участвовал в создании Stry — фитнес-стартапа с подписной моделью. Теперь, когда наша команда официально объявила о прекращении дальнейшего развития проекта, пришло время порефлексировать и поделиться полученным опытом. В этой статье я в двух словах представлю продукт, детально опишу архитектуру проекта и расскажу о наших (моих?) основных технических успехах и неудачах. Поехали!

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

Читать далее

Как я сделал RAG для своей компании (часть 2). И как начал делать AI Агента

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров7.3K

Итак, в первой части я сделал первый подход к RAG для нашей небольшой компании с большим кол-вом документов на wiki, и множеством переписок в Slack.

Стек технологий: Python, ChromaDB, простой SentenceTransformer("all-MiniLM-L6-v2"), Slack API, OpenAI API, Google Gemini API, YandexGPT API, Sber Gigachat API.

Что уже работает?

Читать далее

Анализ торговых стратегий для акций Мосбиржи на дневных интервалах с помощью Python

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров5.9K

Торговля акциями требует гибкости, особенно когда речь идет о тестировании стратегий технического анализа на прошлых данных. Я выбрал Python и библиотеки backtesting.py и aiomoex, потому что они позволяют анализировать рынок без сложных платформ и ограничений. Python дает свободу автоматизации, backtesting.py обеспечивает удобный и быстрый механизм тестирования стратегий, а aiomoex позволяет скачивать данные напрямую с Московской биржи без привязки к брокеру.

Важно, что backtesting.py получил обновление после четырех лет без обновлений, что делает его актуальным инструментом. И в отличие от MetaTrader, StockSharp, TSLab и Quik, которые работают с Московской биржей, но требуют Windows, если брокер имеет API, то можно запускать скрипт на любом сервере, включая облачные решения и Raspberry Pi.

В этой статье я протестирую самую свежую стратегию теханализа Джона Ф. Элерса (John Ehlers), направленную на устранение запаздывания скользящей средней. Разберемся, как её адаптировать к акциям Московской биржи и протестировать с помощью Python.

Исследование теханализа

Python для начинающих дата-аналитиков: как настроить виртуальное окружение?

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров18K

Привет! Меня зовут Женя и я работаю аналитиком данных. В этой статье я бы хотел рассказать начинающим аналитикам о том, как правильно настроить окружение для работы с Python. Когда я только начинал заниматься анализом данных, концепция питоновского виртуального окружения вводила меня в ступор, и здесь я постараюсь показать, что в ней нет ничего сложного.

Читать далее

От NSX к OVN: 4 года подготовки и успешная миграция облака «на лету»

Уровень сложностиСредний
Время на прочтение25 мин
Количество просмотров2.7K

Привет, Хабр! Меня зовут Владислав Одинцов, я — техлид в K2 Cloud (ex Облако КРОК) и работаю в облаке с 2013 года, администрирую Linux и сети в нём, коммичу в Open Source (Open vSwitch, OVN и другие проекты). С 2015 года занимаюсь облачными сетевыми сервисами. В этой статье по мотивам моего доклада для конференции Highload++ 2024 расскажу об истории смены SDN в публичном облаке с проприетарного VMware NSX на Open Source решение OVN. Ввиду того, что текст статьи, в отличие от выступления на конференции не ограничен по времени, я решил разобрать некоторые моменты более подробно. Таким образом, даже если вы присутствовали на конференции или смотрели доклад в записи, вы, вероятно, сможете найти для себя что-то новое.

Читать далее

Под чешуёй асинхронности: from yield to await

Уровень сложностиПростой
Время на прочтение24 мин
Количество просмотров3.9K

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

Основная цель статьи — создание собственной упрощенной реализации asyncio, включая цикл событий, задачи и примитивы синхронизации. Это позволит глубже понять внутреннее устройство асинхронной разработки в python.

Читать далее

Работа с библиотеками, которые не установлены в Airflow

Время на прочтение3 мин
Количество просмотров2.3K

Данные библиотеки можно использовать при работе со SparkOperator:

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

2. Создание задачи в даге и установка окружения в SparkSubmit

Читать далее

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

Virtual Ads или как прорекламировать Adidas в CS:GO

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.9K

Всем привет, меня зовут Евгений Мунин. Я Senior ML Engineer в Ad Tech в платформе ставок для рекламы и автор ТГ канала ML Advertising. В данной статье мы поговорим об одном из способов повышения узнаваемости брендов в спорте, а точнее виртуальной рекламе. Разберем размещение рекламных баннеров на видео и напишем пример на Python и OpenCV, где разместим логотип Adidas с использованием алгоритма детектирования ключевых точек SIFT и гомографии для искажения баннера под перспективу.

Читать далее

Получение информации из Яндекс Метрики в телеграм-боте

Время на прочтение16 мин
Количество просмотров1.5K

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

C статье вы найдете cсылку на код проекта и инструкцию по интеграции с Яндекс Метрикой.

Читать далее

Цифровизация чувств: упаковываем эмоции в датафрейм или базу данных

Уровень сложностиПростой
Время на прочтение52 мин
Количество просмотров2.7K

Эмоций, чувств и их оттенков много, они разные, и чтобы во всём этом разобраться, соберем их... в базу данных или датафрейм. Заодно установим связи между эмоциями, а также попробуем оценить разные числовые «эмоциональные коэффициенты»... Имея такую базу данных, мы сможем научить LLM (да и самих себя!) распознавать эмоции и их оттенки, лучше понимать человека. В этой статье описываются практические моменты создания такого «датафрейма эмоций». Важно упомянуть, что такую работу автор смог проделать только благодаря нескольким LLM, работа с которыми на порядки сократила объем работы по сбору и обработке информации (но текст статьи я писал по‑старинке — руками...)

Читать далее

Цифровая карта аварийности: как технологии помогают сделать дороги безопаснее

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров1.3K

Привет, Хабр! Буквально недавно в ИЦ прошло ежегодное мероприятие «Инновационная столица-2024», где мой коллега, руководитель отдела цифровых сервисов, продемонстрировал обновленный АИС «Мониторинг аварийности».

Цифровая карта ДТП не имеет аналогов в России, поэтому в этой статье я бы хотел рассказать, чем так уникален продукт, и как он помогает снижать количество ДТП в городе.

Читать далее

Разработка DHCP-сервера на Python

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

Привет, Хабр!

Сегодня мы рассмотрим, как создать собственный DHCP‑сервер на Python. Суть сервера проста — он динамически раздаёт IP‑адреса устройствам в сети, избавляя нас от головной боли статической конфигурации.

Суть сервера будет заключаться в том, чтобы «подставлять» IP‑адреса устройствам, заходящим в сеть. Сервер будет ловить DHCP‑запросы от клиентов, выбирать свободный IP из заранее подготовленного пула и подтверждать выдачу.

Читать далее

Бизнес-сериал: формируем BI-систему в строительстве почти в прямом эфире. Часть III

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров636

Привет, Хабр!

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

Читать далее

Книга: «Excel с Python и R: раскройте потенциал расширенной обработки и визуализации данных»

Время на прочтение7 мин
Количество просмотров12K
Привет, Хаброжители!

Если вы работаете с данными, то наверняка сталкивались с ситуацией, когда Excel становится вашим лучшим другом и злейшим врагом одновременно. С одной стороны, это удобный и привычный инструмент для работы с таблицами, с другой — его ограничения могут превратить даже простую задачу в настоящий кошмар. Но что, если бы вы могли объединить мощь Excel с гибкостью и возможностями Python и R?

Именно об этом рассказывает новая книга «Excel с Python и R: раскройте потенциал расширенной обработки и визуализации данных».
Читать дальше →

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