Обновить
838.49

Python *

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

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

Мы делали продукт, они — презентацию. Угадайте, кто выиграл полмиллиона

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

Мы сделали продакшен-решение под сложное ТЗ, собрали всё — от FastAPI и PostgreSQL до ELK и CI/CD. А победили ребята с презентацией в Figma и пустым сайтом.

Жюри сказало, что «всё по бизнес-требованиям».

Рассказываю, как проходил «самый масштабный хакатон страны» и почему он стал фарсом.

Читать далее

Разбираю свой фотоархив

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

Сделал поиск по личному архиву фотографий с применением трех нейросетей, векторного расширения к PostgreSQL и Django

Читать далее

Алготрейдинг на крипторынке: Реализация стратегии «Bomberman» как самостоятельного Python-бота

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

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

Этот бот прозрачен: использует открытые данные с Bybit, классические индикаторы технического анализа и строгий walk-forward бэктест, чтобы избежать смещения в будущее.

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

Читать далее

Tkinter. Размещение в окне кнопки с картинкой

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

Создадим окно, разместим на нём кнопку с картинкой и сделаем так, чтобы кнопка нажималась. Последовательно показываю как скачивать картинку из интеренета.

Читать далее

AI-драгдизайн: первая молекула прошла Фазу II

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

AI-драгдизайн: первая молекула прошла Фазу II. Разбираем, как GNN, AlphaFold 3 и $2.23 млрд на провал меняют фармакологию

Читать далее

AI-агрегатор новостных лент или как выжить в эпоху информационного изобилия

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

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

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

Читать далее

ИИ — это сон, в котором пока нет сновидца

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

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

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

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

Так начался мой эксперимент под названием AI Gaze.
Я хотел не просто создать ещё один автоматический сканер, а построить систему, в которой ИИ сам пытается понять, что он сканер.

Читать далее

Как with делает ваш Python-код безопаснее и читабельнее

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

Если вы пишете на Python хотя бы пару месяцев, вы наверняка сталкивались с конструкцией with open(...) as f:. Это как ритуал, который мы совершаем, чтобы открыть файл: удобно, понятно, и все говорят, что так надо. Мы интуитивно чувствуем, что это "правильный" способ, потому что он избавляет нас от головной боли с ручным закрытием файла через f.close().

Читать далее

Адский эксперимент: личный сайт на нищих микросервисах

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

Микросервисы тут, микросервисы там… Из каждого утюга доносится дивный сказ про прекрасный мир микросервисов. А ведь это всего лишь один вид из десятка архитектурных стилей, который имеет свои достоинства и недостатки.

В этом эксперименте мы внедрим микросервисы в личный сайт, нарушив ключевые принципы DDD. Я создам антипаттерн «бедных сервисов» (Anemic Domain Model) и покажу, чем опасен прямой доступ к данным между микросервисами.

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

Читать далее

Развитие Telegram-бота для VPS: Docker, i18n и планы на будущее

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

Telegram-бот для администрирования VPS tgbotvpscp получил модульную архитектуру, полную поддержку английского языка, возможность установки в Docker и десятки улучшений. Рассказываю, что сделано и что будет дальше: WebUI, CLI и архитектура «агент-нода».

Читать далее

Разведочный анализ текстовых данных (EDA for text data)

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

В этой статье будет рассказано про разведочный анализ текстовых данных (EDA). Рассмотрим основные методы и этапы от проверки данных и анализа частотности слов до тематического моделирования. Также разберем применение EDA для конкретных задач NLP, таких как классификация текстов и извлечение сущностей (NER/POS). Весь рассказ будет сопровождаться кодом на Python.

🔥 Начинаем 🔥

Надоело включать VPN для Zwift? История создания reZwift с серверами в России

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

Последние пару лет я регулярно слышал от знакомых велосипедистов одни и те же жалобы на Zwift: "Опять не работает Zwift", "20 евро каждый месяц дорого".

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

В статье рассказываю:

• Как реализовал серверную обработку интеграций (Garmin, Intervals.icu) для работы без VPN
• Почему выбрал Flask и как интегрировал его с протоколом Zwift
• Как организовал AES-256 шифрование учетных данных
• Какие проблемы возникли с неофициальным Garmin API
• Как сделал современный UI на чистом CSS без React
• Метрики производительности и планы развития

Технический стек: Flask, SQLite, Cryptography, Garth, Jinja2, CSS3.

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

Читать кейс полностью

Использование «ленты данных» для пред- и пост-обучения иностранным языкам

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

«Хабр» уже, явно, перегружен идеями по более эффективному изучению иностранных языков. Однако, похоже, это тема из разряда «вечных». Так что, и мы продолжим этот путь в вечность.

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

Из  древности нам пришло много мудрых фраз, например: «Пришёл, увидел, победил!». Если спроецировать её на освоение иностранного языка, то, «пришёл» это возникновение мотивации для изучения нового языка. «Победил», это выучил язык, применяя ту или иную технологию «победы», в данном случае, метод изучения. И, «увидел» это предварительное знакомство с изучаемыми данными.

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

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

Вопрос только, как именно предварительно начинать учить и каким образом повторять предыдущий материал?

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

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

Читать далее

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

Vision Lab: Сайт для удобной разметки и обучения моделей YOLO

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

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

Читать далее

Сначала логика, потом код: как писать программы для ESP на MicroPython

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

В прошлой статье  мы дали голос нашему ESP32 — научили его отправлять уведомления в Telegram и ntfy. Теперь, когда устройство умеет "говорить", пришло время научить его "думать" и работать самостоятельно, без постоянного контроля.

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

В реальном проекте недостаточно просто уметь отправлять уведомления — нужно понимать:

Когда их отправлять (чтобы не спамить).

Что делать между уведомлениями.

Как не зависнуть через неделю работы.

Куда девать ограниченную память ESP32.

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

Читать далее

Код, за который не стыдно: Практика чистописания для начинающих Python-разработчиков

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

Каждый из нас хотя бы раз в жизни писал код, который можно описать фразой: «Ну, оно как-то работает, лучше не трогать». Мы наспех добавляем костыль, чтобы успеть к дедлайну, оставляем переменную с именем data2 или пишем функцию на 200 строк, обещая себе вернуться к ней «позже». И знаете что? Это «позже» никогда не наступает.

Читать далее

BitnetEnv 2077 — через боль и бубны к новой эре DevOps для Bitrix

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

Я — Bitrix-разработчик со стажем 8+ лет.
Начинал дружить с битрой ещё с версии 12 — когда всё было максимально квадратно, можно сказать что я тот самый "проженный" битриксоид, а любой деплой превращался в ночной марафон из консоли, логов и bash-скриптов.

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

Поэтому я переписал его заново — на Python + HTML5 + Vanilla JS.
Без bash-магии запрещенной в хогвартсе и с прозрачной архитектурой собрав все года боли общения в единую точку невозврата возрождение Битрикс!

Читать далее

Как не положить API: rate limiting в Python

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

История о том, как я случайно устроил DDoS на внутренний API, обрабатывая 10 миллионов векторов. И как asyncio.Semaphore меня спас.

Читать далее

WhatsApp Web и Telegram коннектор для Bitrix24: наш опыт реализации и внедрения. Часть 3 — Подключение к Bitrix24

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

Привет, мир! Меня зовут Павел, я IT инженер и руководитель службы технической поддержки.

Эта статья - финальная третья часть инструкции по внедрению коннектора WhatsApp и Telegram для Открытых линий CRM Bitrix24. С реализации коннектора вы можете ознакомиться в первой и второй частях, а в этой статье мы рассмотрим процесс настройки коннектора со стороны Bitrix24.

Читать далее

ATOM: автоматизация сети ЦОД начинается с решения рутинных задач

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

ATOM: автоматизация сети ЦОД начинается с решения рутинных задач

Всем привет! Это наша первая статья про нашу систему автоматизации. Мы активно занимаемся разработкой системой автоматизации и визуализации АТОМ для сетей ЦОД в компании Ростелеком, о которой пойдёт речь.

Читать далее

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