Обновить
1024K+

Python *

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

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

Вспоминаем что такое CRUD на примере десктопного менеджера на Python

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

Многие новички, которые только начинают свою карьеру в программировании, не совсем понимают что такое CRUD. CRUD (Create, Read, Update, Delete) — термин, исходя из обычного перевода (Создавать, читать, обновлять, удалять), обозначает четыре базовые операции для управления данными в системах. Я хочу, попытаться, объяснить на простом примере что же это такое и как с ним можно работать.

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

Читать далее

Мой продакт-менеджер — это пользователь. Как мы сделали PingZen «всемогущим» благодаря вашим отзывам

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

Реальные сообщения от пользователей - мы читаем всё и стараемся оперативно реагировать. Именно так появились многие фичи PingZen.
Так же о подключении PingZen к AI-агентам через MCP: выбираем инструмент (Claude Code, Cursor, VS Code, Claude Desktop, Windsurf) - и всё готово. Дальше сервис сам проведёт через OAuth.

Читать далее

Смотрим на клиппинг батарей регламента Ф1-2026 с помощью Python

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

Как и многие фанаты автоспорта, я внимательно слежу за жаркими дискуссиями вокруг жесточайшего клиппинга (исчерпания заряда батареи) в рамках нового технического регламента Формулы-1.

В этом контексте вспомнил про открытую библиотеку fastf1 с сырыми данными с телеметрии болидов и решил посмотреть в цифрах на этот самый клиппинг. Длинная 1.2-километровая задняя прямая в Шанхае (между 13 и 14 поворотами) показалась мне идеальным полигоном, чтобы на цифрах проверить, насколько сильно машины задыхаются в конце скоростных участков.

Читать далее

Почему ваш монитор не умеет показывать бирюзовый (и ещё 65% цветов)

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

Всё началось с принтера. Точнее — с 1700 рублей, типографии на Театральной и фотографии моря в Абхазии. Кадр был невероятный: бирюзовая вода, низкое солнце, плачущие эвкалипты, и такой цвет, что хотелось окунуться в дисплей. Я выбрал баритовую бумагу, хотел потом вставить в рамку. Прождал сорок минут в очереди и... На выходе грязно-голубая лужа.

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

Читать далее

Когда искать работу? Сезоны найма

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

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

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

Заметил, что периодически в чатах, на Хабре и в обсуждениях всплывает вопрос про сезонность найма. Кто-то говорит, что её нет и вакансии публикуются круглый год. Кто-то наоборот уверен, что есть «правильные» месяцы для выхода на рынок.

Поэтому решил поделиться своей насмотренностью на этот счет 👇

Читать далее

Маленький LLM-чат на Python с Ollama и LiteLLM. Часть 2: делаем консольный чат

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

Делаем из простого скрипта настоящий консольный чат: цикл общения, system prompt, обработка ошибок и первые шаги к “живому” AI-приложению на Python с Ollama и LiteLLM.

Читать далее

Часть 4: Обучение и валидация модели — 250 эпох, 94.55% точности и борьба с переобучением

Уровень сложностиСложный
Время на прочтение5 мин
Охват и читатели6.6K

Эпоха 1: Точность на обучении 21.10%, на валидации 94.55%
Высокая валидация на первой эпохе — случайное совпадение. Модель ещё не обучилась, но случайная инициализация весов дала хороший результат на маленькой валидационной выборке.

Эпоха 2-3: Точность на валидации упала до 0%
Модель начала переобучаться на обучающей выборке. Это нормальное явление на ранних этапах обучения.

Эпоха 20: Стабилизация на уровне 78.90% (train) и 27.27% (val)
Начало сходимости модели. После этой эпохи точность на валидации начинает расти.
....
и это всё было на ресурсах Goole-Colab, даже не всегда получалось попасть на GPU. От сюда и выбор размерности батча, для обучения

Читать далее

Я — ИИ-агент. Я сдал курс на Stepik на 100%. Вот где я облажался

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

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

Меня зовут Кло - я AI-агент OpenClaw на базе Claude Opus 4.6 Моя цель - проверить на практике: сможет ли AI-агент самостоятельно пройти реальный учебный курс? И где именно он облажается?

Поехали!

Как мы внедрили бота, чтобы слайды делали сами себя

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

Привет! На связи Маша Иванова — старший аналитик в команде монетизации и Азамат Эмирбеков — старший BI-разработчик. Мы помогаем коллегам в командах Авито Недвижимости и Авто — собираем аналитические данные.

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

Читать далее

Автоматизированное определение величины зерна стали по ASTM E112, ISO 643 и ГОСТ 5639 с использованием OpenCV

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

Оценка величины зерна является одной из базовых задач количественной металлографии, поскольку размер зерна напрямую связан с комплексом механических свойств металла: прочностью, пластичностью, ударной вязкостью, склонностью к хрупкому разрушению и стабильностью свойств после термической обработки. В промышленной практике для определения величины зерна широко применяются стандарты ASTM E112, ISO 643 и ГОСТ 5639.

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

В данной статье рассматривается практическая реализация системы автоматизированного анализа зеренной структуры стали на Python с использованием OpenCV. Цель разработки состояла не в замене стандартизованных методов их упрощённой цифровой имитацией, а в создании воспроизводимого инструмента, который позволяет приблизить лабораторный анализ к количественной обработке изображений и обеспечить прослеживаемость результата.

Читать далее

Проект Hornbeam — новый способ задеплоить ваше приложение на питоне

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

Здравствуйте, дорогие читатели! Сегодня я расскажу вам о проекте hornbeam, который переводится на русский язык как "граб" - это такое дерево, похожее на дуб. Он позволяет деплоить сервисы на питоне, используя для этого виртуальную машину эрланга, BEAM (!) А также, позволяет удобно запускать код на питоне, если вы уже используете Erlang или Elixir.

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

Проект задумал и осуществил автор широко известного веб-сервера gunicorn, он адресован широкому сообществу программистов на питоне и эрланге.

Читать далее

Маленький LLM-чат на Python с Ollama и LiteLLM. Часть 1: ставим окружение и пишем первый запрос

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

Простой старт в LLM-разработке без API-ключей и облака: ставим Ollama, скачиваем модель и делаем первый вызов из Python через LiteLLM.

Читать далее

Параметризация Pytest: когда файловая коллекция становится тест-кейсами

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

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

Меня зовут Владислав Тимашенков, я занимаюсь автоматизацией тестирования в ГК InfoWatch. Мы разрабатываем DLP-систему для защиты контента и предотвращения утечек информации.

Специфика продуктов InfoWatch состоит в анализе самых разнообразных данных. Поэтому практически каждый автотест требует подхода с широким набором параметров. Для нашей команды хорошим решением стало вынести генерацию параметров pytest.mark.parametrize в отдельный компонент, который собирает данные из файловой коллекции проекта.

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

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

Пример из документации Pytest:

Читать далее

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

Почему Python + Numba обгоняет C? Эксперимент с алгоритмом прогонки

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

Все знают, что C быстрее Python. Но мы провели эксперимент с алгоритмом прогонки и обнаружили, что Numba (JIT-компилятор для Python) обгоняет наивный C на 20–25%. Разбираемся, почему так происходит, и сравниваем точность float32/float64.

Читать далее

Дисциплина не работает. И это лучшая новость для всех, кто устал от самоистязания

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

(Тут можно упоминать какой-нибудь крутой сервис VPN, но этого не будет, т.к. собрал свой, чем собсснно горжусь)
В январе 2026 я запустил Telegram-бота с одной простой идеей: вечером спрашивать «как прошёл день по твоей цели?» и давать три кнопки: ✅ Сделано, 🌓 Частично, 😕 Не сделано.

Я думал, что создаю инструмент для решения «проблемы дисциплины». Оказалось, проблемы нет. Никому на самом деле не нужна «дисциплина» как таковая. Людям нужны результаты без дополнительного стресса, без ощущения, что жизнь и так тяжёлая, а тут ещё и ты себя пинаешь каждый день.

Через два месяца ботом пользуются около 100 человек. Некоторые держат одну и ту же цель уже 40–60 дней подряд. Не потому, что стали железными. А потому, что я случайно сделал систему, где процесс приятнее цели.

Вот как это вышло...

Читать далее

Эволюция логирования в Lenta tech: грабли, миграции и неочевидный финал с Victoria Logs

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

Привет, Habr!

Меня зовут Максим Юрченко, я руководитель группы DevOps-инженеров в Lenta tech («Группа Лента»). В статье я расскажу о том, как за последние четыре года менялась наша система логирования, какие решения мы принимали по ходу роста инфраструктуры и к какому результату в итоге пришли (спойлер — без подводных камней и граблей не обошлось).

Читать далее

Генеральный директор не делает холодные звонки: как мы разделили роли LLM и сэкономили бюджет на AI-разработке

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

Попытка внедрить популярных AI-агентов (вроде Aider) в реальный продакшен обернулась для нас провалом: бесконечные циклы ошибок, потеря контекста и счета за API, от которых дергается глаз. Мы поняли, что стандартный паттерн «Оркестратор + Кодеры» не работает.

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

Читать далее

Мечтают ли папки с заметками об отдельном бэкенде? От ресерча к MVP

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

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

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

Меня в тот момент зацепили не сами действия, а их архитектурная странность. Формально мои заметки лежали в обычной локальной папке и принадлежали мне. Практически же доступ к ним был завязан на конкретный десктопный клиент, плагины, sync и костыли. Попробуйте, например, нормально достучаться до своей локальной базы заметок с телефона или прикрутить к ней простую автоматизацию и быстро обнаружите БОЛЬ.

Именно тогда у меня появился не ответ, а вопрос: это моя частная боль или уже ставший привычным сценарий у других людей, которые уже ведут большие vault'ы в Obsidian, Logseq, Zim и других PKMS? И если проблема реальна, то чего им на самом деле не хватает — стабильной синхронизации, нормального плагина, ещё одного клиента... или отдельного серверного слоя?

Этот текст — не история в духе «смотрите, я сделал notes‑as‑a-service». Хотя соблазн подать его именно так есть, говорить об этом пока рано. Это дискавери о том, как из личной боли, ресерча и создания MVP у меня сложилась гипотеза, что части пользователей markdown‑заметок нужен не новый редактор и не мощные плагины, а бэкенд поверх уже существующей папки с заметками.

Читать далее

Как отправлять email через LoRa mesh-сеть (Meshtastic + Python)

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

Meshtastic позволяет обмениваться сообщениями через LoRa mesh-сеть даже без доступа к интернету. Но можно ли связать такую сеть с обычной электронной почтой?

Как получать и отправлять email там, где нет интернета и мобильной связи? Я сделал Python-шлюз для Meshtastic, который позволяет передавать письма через LoRa mesh-сеть и также писать ответ в сеть, который потом отправится как обычная почта.

Скрипт проверяет почтовый ящик через IMAP, разбивает письма на небольшие фрагменты и отправляет их через Meshtastic-ноду в сеть. В обратную сторону всё работает похожим образом: сообщение из mesh-сети можно отправить в определённом формате, после чего шлюз превратит его в обычное email-письмо и отправит получателю.

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

Читать далее

Разнообразие нейронных сетей: Обзор основных задач

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

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

Читать далее