Обновить
506.96

Python *

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

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

Автоматизация миграции структуры БД с Firebird 2.5 на PostgreSQL

Время на прочтение2 мин
Количество просмотров881

Миграция с устаревающих СУБД — частая задача в ИТ. При переходе с Firebird 2.5 на PostgreSQL одной из первых становится необходимость переноса структуры базы данных. Ручной перенос сложных схем с множеством таблиц, индексов, процедур и функций — трудоёмкий и ошибко подверженный процесс. В этой статье я хочу поделиться инструментом, который берёт на себя большую часть рутинной работы.

Читать далее

Практическое руководство по атакам на IPv6 в локальной сети

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

Отключение IPv6 на шлюзе давно перестало быть надежной защитой. Протокол по умолчанию активен на большинстве клиентских машин, которые периодически отправляют в сеть служебные запросы вроде Router Solicitation. Именно эта «скрытая» активность открывает двери для целого класса атак, позволяющих перехватить трафик, подменить DNS или провести NTLM-Relay.

В этой статье мы подробно, с примерами кода на Python/Scapy и командами для настройки, рассмотрим самые распространенные векторы атак на IPv6 в локальном сегменте:

RA Spoofing: Как навязать себя в качестве шлюза по умолчанию.

RDNSS Spoofing: Как стать DNS-сервером для современных ОС без DHCPv6.

DHCPv6-атаки: Механика работы mitm6 и ее ручная реализация.

Пассивный сбор данных: Как составить карту сети, просто слушая эфир.

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

Читать далее

Anchor Optical TrackeR Update: Улучшенная система трекинга с адаптивной стабилизацией при ветре

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

Спустя время после публикации первой версии Anchor Optical TrackeR, провел значительное улучшение системы трекинга, добавив адаптивные механизмы, повышающие устойчивость к внешним воздействиям, особенно к ветровым нагрузкам. В новой версии реализована интеллектуальная система управления путевыми точками по принципу «верёвочной лестницы» и адаптивное увеличение плотности точек при обнаружении сильного ветра.

Читать далее

Меньше нагрузки — больше запросов: искусство кеширования API

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

Привет! Меня зовут Дима, я Backend-разработчик в Doubletapp. В этой статье расскажу про кеширование API (на примере Django Ninja): чем оно полезно бизнесу и когда его стоит внедрять.

Когда ваш продукт начинает расти, а пользователей становится всё больше, любой повторяющийся запрос к серверу — это лишняя нагрузка. Даже если человек просто обновил страницу или несколько пользователей задали один и тот же вопрос приложению, сервер отвечает заново — и тратит на это ресурсы.

А теперь представьте: вы можете обрабатывать одновременно в несколько раз больше запросов пользователей без расширения ресурсов и без переписывания ядра продукта. Как? С помощью кеширования — подхода, который «запоминает» одинаковые запросы и снижает нагрузку на сервер.

Содержание

Серверный кеш (хранилища «ключ-значение»)
Клиентский кеш (браузер, прокси)
Условные HTTP‑запросы
Промежуточное кеширование (CDN, reverse proxy)

Читать далее

PACS и ИИ: от внедрения до интеграции машинного обучения в российском здравоохранении

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

PACS (Picture Archiving and Communication System) — это не просто софт. Это нервная система медицинской визуализации, которая собирает, архивирует и распределяет DICOM-данные между всеми участниками медицинского процесса. А внедрение PACS в реальном здравоохранении — это смесь инженерии, логистики, дипломатии и кризис-менеджмента.

Представьте, что вы врач-радиолог. Каждый день вы просматриваете сотни медицинских изображений, ища признаки заболеваний, травм или аномалий. Но как эти изображения попадают к вам? Как они сохраняются и передаются между больницами? Ответ кроется в стандарте DICOM и системе PACS.

DICOM (Digital Imaging and Communications in Medicine) — это не просто формат файлов, это целая экосистема для медицинской визуализации. Представьте его как универсальный язык, на котором говорят все медицинские устройства: от рентгеновских аппаратов до МРТ-сканеров. Каждый DICOM файл — это не просто картинка, а целая история пациента, закодированная в цифровом виде.

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

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

Читать далее

Как я написал современный GUI для yt-dlp на Python

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

Надоело каждый раз лезть в терминал, чтобы скачать видео с YouTube? Мне тоже. Поэтому я сделал нормальный GUI для yt-dlp - без лишних кнопок, с современным интерфейсом и чтобы просто работал. Код на GitHub, готовая сборка тоже есть.

Зачем вообще это делать?

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

Посмотрел на существующие GUI - одни выглядят как из 2005 года, другие напичканы настройками, которые 99% пользователей никогда не трогают. Захотелось сделать что-то простое: вставил ссылку, выбрал качество, скачал. Всё.

Что хотел получить:

Простоту - минимум кликов от ссылки до файла

Нормальный вид - тёмная тема, без уродских кнопок из 90-х

Скорость - никаких тормозов и зависаний

Работает везде - Windows точно, остальные ОС в планах

Не требует установки - скачал exe и пользуешься

Читать далее

Когда денег нет, но мы держимся. Резервное копирование на Python

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

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

Читать далее

Пишем чат-бота для мессенджера MAX на Python

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

Рассказываю как создать эхо-бота для MAX на Python с помощью библиотеки maxapi без проблем для aiogram разработчика!

Получить код

Парсинг российских СМИ

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

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

В данной статье мы сфокусируемся на парсинге сайтов российских СМИ, в числе которых Meduza,* как официально запрещенное в РФ и более государственно-подконтрольных RussiaToday и Коммерсанта. Разберемся какой это сделать наиболее эффективно и получим текст и метаданные статей. Как основные инструменты используем классические библиотеки в Python: requests, BeautifulSoup, Selenium.

Читать далее

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

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

Привет! Это команда курса «Python для анализа данных». Собрали для вас подборку бесплатных ресурсов для изучения Python с нуля. Здесь вы найдёте как интерактивные курсы с практическими заданиями, так и теоретические материалы с подробными объяснениями.

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

Читать далее

Фундаментальные шаблоны проектирования на Python

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

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

Читать далее

Зачем я написал очередной велосипед для работы с директориями (спойлер: не совсем велосипед)

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

Вы когда-нибудь сталкивались с плагинами, которые лезут в чужие папки, перезаписывают файлы ядра и превращают git status в ад?

Я — да. И вместо того чтобы мириться с ручным копированием, гигантскими .gitignore и вечными конфликтами, написал dmp — инструмент, который:
 Отслеживает, откуда взялся каждый файл,
 Автоматически разрешает конфликты (или даёт контроль),
 Не ломает IDE (никаких симлинков!),
 Работает с любыми языками и фреймворками.

Для кого:
— Разработчики плагинов/модулей,
— Те, кто устал от git-submodules и rsync,
— Все, кто хочет чистый workflow без монрепозитория.

Читать далее

Как тестировать качество ответов RAG системы?

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

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

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

Иными словами, если на вход LLM дан один конкретный вопрос, то есть шанс близкий к 100%, чтоб будет получен качественный ответ. И наоборот, чем больше данных (вопросов, контекста и прочего) на вход LLM вы даете, тем больше вы понижаете качества ответа.

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

При этом нужно определить качество ответов, то есть определить как мерять качество в конкретной RAG системе.

Минимальными вариантом будет следующий подход к измерению качества:

По каждому документу, который есть у нас, и который мы планируем векторизировать, нужно задать два вопроса:

Читать далее

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

Книга: «RAG и генеративный ИИ. Создаем собственные RAG-пайплайны с помощью LlamaIndex, Deep Lake и Pinecon»

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

Привет, Хаброжители! Мы представляем вам новую книгу Дэниса Ротмана — «RAG и генеративный ИИ. Создаем собственные RAG-пайплайны с помощью LlamaIndex, Deep Lake и Pinecone». Это практическое руководство для тех, кто хочет освоить передовые технологии искусственного интеллекта и научиться создавать эффективные системы на основе Retrieval-Augmented Generation (RAG).

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

Читать далее

Асинхронный Telegram бот на PyTelegramBotAPI

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

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

Читать далее

Нагрузочное тестирование на Python и Locust с запуском на CI/CD

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

Разбираемся, как организовать нагрузочное тестирование на Python с Locust — с сидинговыми сценариями, кастомными API-клиентами на HTTPX, конфигурацией через Pydantic и автоматическим запуском в GitHub Actions. Всё — на практике, с архитектурой, фреймворком и публикацией отчётов в GitHub Pages.

Читать далее

AI-бот для QA-инженеров: как я сделал Telegram-ассистента для ежедневной прокачки

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

Привет! Меня зовут Евгений. Я — Full-Stack QA Engineer в Devscribed и сегодня хочу поделиться своим экспериментом — QA Mentor Bot. Это Telegram‑бот, который отправляет в телеграмм группу случайные вопросы по тестированию и сразу же генерирует на них развёрнутые ответы с помощью AI. В этой статье я расскажу, как устроен проект и с какими «подводными камнями» столкнулся в процессе разработки.

Читать далее

Как я написал покер‑бот за 4 недели, используя Cursor + GPT

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

Мой первый опыт публикации и рассказ о том, как я за четыре недели сделал рабочую альфа-версию покер-бота. В проекте использованы методы Монте-Карло, компьютерное зрение (YOLO), Python и инструменты вроде Cursor и Roboflow.

Текст будет полезен новичкам в машинном обучении и компьютерном зрении, тем, кто хочет понять, как связать ИИ, детекцию объектов и покерную математику в одном проекте, а также всем, кто интересуется практическим применением ИИ для создания собственных инструментов.

Читать далее

Как научить нейросеть работать руками: создание полноценного ИИ-агента с MCP и LangGraph за час

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

Надоели чат‑боты, которые только болтают? Создаём настоящего ИИ‑помощника: читает файлы, ищет в сети, запоминает всё. LangGraph + MCP — пошаговый гайд для Python‑разработчиков. Меньше теории, больше работающего кода.

— Два готовых агента: классификатор вакансий + файловый помощник
— Поддержка Ollama, OpenAI, DeepSeek — выбирайте любую модель
— Асинхронная архитектура с обработкой ошибок
— Полная интеграция в Python‑проекты без no‑code конструкторов
— Код готов к продакшену: логирование, retry‑механизмы, конфигурация

От настройки окружения до рабочего агента за час.

Читать далее

Vibe Coding: Заглянем под капот Claude Code. Часть 2

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

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

Читать далее

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